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@gmail.com <mattsenate@gmail.com> 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@gmail.com>
To: "mesh@lists.sudoroom.org" <mesh@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@lists.sudoroom.org
https://lists.sudoroom.org/listinfo/mesh

_______________________________________________
sudo-discuss mailing list
sudo-discuss@lists.sudoroom.org
https://lists.sudoroom.org/listinfo/sudo-discuss