Notes About Working with Various Arduino & Netduino Microcontroller Boards

Monday, May 19, 2014

Resolving a Connectivity Problem with the Arduino WiFi Shield: Wireless Network Joined but Cannot Send or Receive Data

I had used the Arduino WiFi shield with an Arduino Uno successfully in the past, but a few months have gone by since I last did so.  It came as a surprise yesterday when I couldn't get the shield to work.  It connected to my wireless network without any problems, but I couldn't get it to connect to any other device or computer over the network or accept any connections.  Even the WiFi examples included in the IDE wouldn't work.  I had previously updated the shield's firmware (to version 1.1.0), so I didn't think that could be the issue.  I tried several versions of the Arduino IDE, but that didn't help either.

After downloading the latest version of the Arduino IDE (ver. 1.5.6 beta r2) and installing the firmware that comes with it, I have gotten the Arduino WiFi shield to work again.   Here are some notes on the process that worked for me (under Windows 8).

  1. Download the  AVR32 USB driver from http://www.dfrobot.com/image/data/TEL0064/AVR32%20USB%20Driver.zip.
  2. With the WiFi shield connected to the computer via USB and the J3 jumper in place (see the Arduino instructions for flashing the firmware to the WiFi shield), update the driver for the Atmel USB Device/AT32UC3A in the Device Manager (using the one downloaded in the previous step).
  3. When running the commands in the Arduino document to update the firmware, edit the paths for wifi_dnld.elf and  wifiHD.elf to point to the files in the Arduino IDE 1.5.6 installation.  The commands should look something like this -
    • batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer D:/Arduino/hardware/arduino/avr/firmwares/wifishield/binary/wifi_dnld.elf program verify start reset 0
    • batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer D:/Arduino/hardware/arduino/avr/firmwares/wifishield/binary/wifiHD.elf program verify start reset 0
    • Of course, your exact paths will most likely be different.  Just be sure to use slashes (/) rather than backslashes in the paths to the .elf files.


No comments:

Post a Comment