Trouble updating Wifi Shield firmware (dfu-programmer: no device present)

Good afternoon!

I'm brand new to the forums, so I really appreciate everyone's help and patience.

I ordered a brand new Uno R3 and Wifi shield (rev 3). Using it, I'm able to connect via Wifi and get an IP address, but it just doesn't seem to connect to anything. Reading many of the posts, I see suggestions to update the firmware.

I've been trying but have run into some trouble, I was hoping for some help on.

Laptop: MacBook Pro 13"
OS: Mac OS X 10.10 with Xcode tools installed
Arduino UNO R3
Arduino IDE: 1.0.6
Wifi Shield: Arduino R3 firmware 1.00
dfu-programmer: 0.6.2

Below are the steps I took.

  1. Got the mac dfu-programmer (after first getting MacPorts installed successfully):
sudo port install dfu-programmer
  1. I downloaded the latest firmware from github and placed them here:
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/firmwares/wifishield/binary

hostname:binary jake$ ls -1
wifiHD.elf
wifiHD.hex
wifiHD_2_1.elf
wifi_dnld.elf
wifi_dnld.hex
wifi_dnld_2_1.elf

I disconnect everything from the shield, set the J3 jump, and connected with via the mini-USB cable. The L9 light seems to blink / go on / off in a random fashion (doesn't stay lit or off).

When I run the update command, it gives me the dfu-programmer error:

hostname:scripts jake$ sudo ./ArduinoWifiShield_upgrade_mac.sh -a /Applications/Arduino.app/Contents/Resources/Java -f shield
Password:

       Arduino WiFi Shield upgrade
=========================================
Disclaimer: to access to the USB devices correctly, the dfu-programmer needs to be used as root. Run this script as root.

****Upgrade WiFi Shield firmware****

dfu-programmer: no device present.
dfu-programmer: no device present.
dfu-programmer: no device present.

Done. Remove the J3 jumper and press the RESET button on the shield.
Thank you!

Is there anyway to check to check the usb connections, such as linux "lsusb"? I'm really stumped.

I downloaded and compiled / installed the libusb library:

hostname:scripts jake$ ls -l /usr/local/include/libusb-1.0/
total 96
-rw-r--r--  1 root  wheel  48837 Oct 30 16:55 libusb.h

Tried to download and compile my own copy of dfu-programmer, but that just fails during "make"

Although ./configure goes alright, I notice some items that "might" be important?

checking for LIBUSB_1_0... no
checking usb.h usability... no
checking usb.h presence... no
checking for usb.h... no

Really appreciate anyone's thoughts here....

Well, I fixed it. This was solved by using a higher quality USB cable. Wow, wouldn't have thought it was this simple.

:smiley:

for others, make sure you connect a jumper on the J3 connector. By default the jumper is pinned to one of the J3 connector pins, so the connection is broken. this will result in the same error as above: dfu-programmer: no device present.