It took me a few mins to get the exact steps figured out to upgrade the firmware of the Arduino Wifi Shield. Hope this saves you some time.
Here are the original steps: http://arduino.cc/en/Hacking/WiFiShieldFirmwareUpgrading
Here are my steps (for Windows)
1. Download and Install Flip: http://www.atmel.com/tools/FLIP.aspx
2. Check if you have the WiFi Shield Drivers here: “C:\Program Files (x86)\Arduino\hardware\arduino\firmwares\wifishield”. If you don’t then download and install the Arduino IDE : http://arduino.cc/en/main/software
3. Connect the J3 Jumper – It’s the only jumper on the shield. I have circled it in the image below:
4. Disconnect the Wifi Shield from any Arduino and connect the shield to your computer via the mini-usb port.
5. Go to device manager and find the shield. Manually install the drivers for it from here: C:\Program Files (x86)\Atmel\Flip 3.4.7\usb
6. Open command prompt (as admin)
7. Navigate to Flip/bin here: C:\Program Files (x86)\Atmel\Flip 3.4.7\bin
8. Execute this command and let it finish
batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer "C:\Program Files (x86)\Arduino\hardware\arduino\firmwares\wifishield\binary\wifi_dnld.elf" program verify start reset 0
If you get this error: “atlibusbdfu.dll not found” then go back up to Step 5 and install the drivers.
9. Execute this command and let it finish
batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer "C:\Program Files (x86)\Arduino\hardware\arduino\firmwares\wifishield\binary\wifiHD.elf" program verify start reset 0
10. Remove the J3 Jumper and unplug the mini-usb cable.
11. Connect the shield to an Arduino. Connect the Arduino to your computer.
12. See if you can scan Wifi networks using scripts from here: http://arduino.cc/en/Guide/ArduinoWiFiShield
Jon