Flashing the USB IR Toy v2
I finally had some time to work on my temperature project and the first step was to make sure my 2 USB IR Toys worked (they finally arrived about 2 weeks ago).
One seemed to work fine (meaning my Raspberry Pi recognised it and enabled the device /dev/ttyACM0), but the other wasn’t being recognised. (In fact the LED was constantly on). I thought I got a faulty one.
I decided to try reflashing it.
Dangerous Prototypes had a howto on how to flash it, but I found it slightly confusing, so here are my instructions (that are for flashing the v2 board with a v22 firmware) on the Raspberry Pi:
Short pins PGC and PGD
First, need to short the PGC and PGD pins. This is simple enough - I just used simple jumper wire.
Get latest Firmware
Downloaded from http://code.google.com/p/dangerous-prototypes-open-hardware/downloads/detail?name=USBIRToy.package.v22.zip
wget http://dangerous-prototypes-open-hardware.googlecode.com/files/USBIRToy.package.v22.zip
unzip USBIRToy.package.v22.zip
Get latest IRToy-specific Firmware Update Utility
wget http://jesshaas.com/software/IRToy-fw_update.tar.gz
This apparently is a patched utility from the board maker at Diolan.
Compile
Note, I had to do all of us sudo - kept getting errors while running these as user pi.
export LIBS=-lusb
sudo apt-get install libusb-dev
sudo ./configure (I got g++ errors if I run as pi)
sudo make
cd ..
Flash!
sudo IRToy-fw_update/fw_update -e -w -v -m all -vid 0x04D8 -pid 0xFD0B -ix USBIRToy.package.v22/firmware/USBIRToy.v22.hex
Make sure your paths are correct in the above command.
The successful output should look like:
U2IO flash erasing: DONE.
U2IO id programming: DONE.
U2IO eeprom programming: DONE.
U2IO flash programming: DONE.
U2IO id programming: DONE.
U2IO eeprom programming: DONE.
U2IO flash verifying: DONE.
U2IO id verifying: DONE.
U2IO eeprom verifying: DONE.
RESET Device
Operation successfully completed.
I was lucky. The IR Toy I thought was bad now seems to work fine!