Pages: [1]   Go Down
Author Topic: Wifi shield seems a bit buggy  (Read 612 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm using a Wifi shield (https://www.sparkfun.com/products/11287) on a weather station. I've noticed a problem.

As part of a test, I unplugged the power from the wireless router it was talking to. As expected, the Arduino application noticed a dropped TCP connection and started trying to reconnect. When that failed enough times, it used the watchdog timer to reboot the Arduino, on the grounds that it needed to reset everything to get a connection going again.

That worked fine, but after the reset, the Arduino diagnosed a missing Wifi shield. I'm guessing the watchdog reset did something bad to the shield, and it stopped responding.

The fix was to hike out and power cycle everything. That's not a great solution for a weather station in the middle of winter; people looking for a very high reliability, recover-from-anything wifi solution may need to consider other options.
Logged

Global Moderator
Offline Offline
Brattain Member
*****
Karma: 502
Posts: 19080
Lua rocks!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

By resetting with the watchdog, it is possible that the shield is in some sort of incomplete state. Doing a watchdog reset won't actually assert the /RESET line which is sent to the shield. This is probably the problem. In other words, the Arduino resets but the shield doesn't. It's probably doing whatever it was doing when the watchdog kicked in.

Also see this thread: http://arduino.cc/forum/index.php?topic=128424.0

Judging by the schematic, possibly A5 on the Arduino is linked to "reset" on the WiFi shield. I'm not sure, but that's what it looks like. Possibly bringing that low will reset the WiFi shield. If so, you could do that inside setup, so that after a watchdog reset, the shield resets. If not, you could make up something that has a similar effect. You may want to check with Sparkfun in case I am wrong and it has a totally different function.

Logged


Pages: [1]   Go Up
Jump to: