So, I've read this entire thread 3 times. I can tell something INCREDIBLY
COOL has happened. But even though I'm fairly familiar with the mesh
project and general networking stuffs, the part I can't figure out is...
...WTF HAPPEN?
Can somebody have another crack at that tl;dr summary? :P
-Pete
[[User|Peteforsyth]]
On Wed, Mar 26, 2014 at 6:53 PM, mattsenate(a)gmail.com
<mattsenate(a)gmail.com>wrote;wrote:
  Thanks to this hack, we should be able to use a
noisebridge-donated lot of
 ~200 sparky routers for 
https://peoplesopen.net/
 Cheers!
 // Matt
 ----- Reply message -----
 From: "Adrian Chadd" <adrian.chadd(a)gmail.com>
 To: "mesh(a)lists.sudoroom.org" <mesh(a)lists.sudoroom.org>
 Subject: [Mesh] So, about those Meraki Sparky boards
 Date: Wed, Mar 26, 2014 18:34
 A little drinking at Noisebridge and some poking from JC got me
 thinking about the Sparky boards. So I came up to Sudo and worked with
 Marc to figure it out.
 The TL;DR version: It's an AR2317 and you have a watchdog timer, but
 it doesn't actually reset the unit. It just posts an interrupt. It
 turns out GPIO6 is the "pat to stop it resetting" line.
 So, the details:
 I first did "help" at the redboot prompt. I found "bdshow", which is
 the "Atheros board info."
 RedBoot> bdshow
 name:     Meraki Outdoor 1.0
 magic:    35333131
 cksum:    2a1b
 rev:      10
 major:    1
 minor:    0
 pciid:    0013
 wlan0:    yes 00:18:0a:50:7b:ae
 wlan1:    no  00:00:00:00:00:00
 enet0:    yes 00:18:0a:50:7b:ae
 enet1:    no  00:00:00:00:00:00
 uart0:    yes
 sysled:   no, gpio 0
 factory:  no, gpio 0
 serclk:   internal
 cpufreq:  calculated 184000000 Hz
 sysfreq:  calculated 92000000 Hz
 memcap:   disabled
 watchdg:  disabled (WARNING: for debugging only!)
 serialNo: Q2AJYS5XMYZ8
 Watchdog Gpio pin: 6
 secret number: e2f019a200ee517e30ded15cdbd27ba72f9e30c8
 .. hm. Watchdog GPIO pin 6? What's that?
 After manually checking out the watchdog registers via 'x', we
 discovered that it would count down to 0 and not reset.
 So, hm. Maybe the GPIO 6 wire is actually the right thing to pat. And
 yes, the board doesn't reset when you pat GPIO 6.
 Board: ap61
 RAM: 0x80000000-0x82000000, [0x8003ddd0-0x80fe1000] available
 FLASH: 0xa8000000 - 0xa87e0000, 128 blocks of 0x00010000 bytes each.
 == Executing boot script in 2.000 seconds - enter ^C to abort
 ^C
 RedBoot> # set direction of gpio6 to out
 RedBoot> mfill -b 0xb1000098 -l 4 -p 0x00000043
 RedBoot> x -b 0xb1000098
 B1000098: 00 00 00 43 00 00 00 00  00 00 00 00 00 00 00 03
  |...C............|
 B10000A8: FF EF F7 B9 7D DF 5F FF  00 00 00 00 00 00 00 00
  |....}._.........|
 RedBoot> # pat gpio6 - set it high, then low.
 RedBoot> mfill -b 0xb1000090 -l 4 -p 0x00000042
 RedBoot> mfill -b 0xb1000090 -l 4 -p 0x00000002
 .. then I manually did this every minute or so.
 RedBoot>
 RedBoot> mfill -b 0xb1000090 -l 4 -p 0x00000042
 RedBoot> mfill -b 0xb1000090 -l 4 -p 0x00000002
 RedBoot> mfill -b 0xb1000090 -l 4 -p 0x00000042
 RedBoot> mfill -b 0xb1000090 -l 4 -p 0x00000002
 .. so, the solution here seems to be to "set gpio6 to be output", then
 "pat it every 60 seconds."
 -a
 _______________________________________________
 mesh mailing list
 mesh(a)lists.sudoroom.org
 
https://lists.sudoroom.org/listinfo/mesh
 _______________________________________________
 sudo-discuss mailing list
 sudo-discuss(a)lists.sudoroom.org
 
https://lists.sudoroom.org/listinfo/sudo-discuss