Updating the firmware
This How-to applies to:
Any version.
This How-to is intended for:
End User
All CPU's in Tux Droid have a bootloader which means you can update all firmware by using tuxup, the Tux Droid Updater application.
What you need to install
- tuxsetup
To reprogram the USB firmware, dfu-programmer is used. As dfu-programmer is not that easy to use, tuxup will be used to do the calls to dfu-programmer for you.
Testing your setup
To be sure everything works fine, don't try to bootload all CPU's simultaneously the first time. These few steps will check that dfu-programmer and tuxup are setup correctly.
- Checking tuxup and your hex files
- just type the following
$ tuxup --all --pretend /opt/tuxdroid/firmware
Programming ./fuxusb.hex in USB CPU
Programming ./tuxcore.hex in core CPU
Version 0.3.0
Programming ./tuxcore.eep in core CPU
Programming ./tuxaudio.hex in audio CPU
Version 0.3.0
Programming ./tuxaudio.eep in audio CPU
Programming ./tuxrf.hex in tux RF CPU
Version 0.1.1
Programming ./fuxrf.hex in fux (dongle) RF CPU
Version 0.1.1
- you should see the version of some of your hex files like above
- just type the following
- Checking dfu-programmer
- use a pen to push on the button located inside the hole on the belly of the dongle
- while pushing on that button, connect the USB cable to your computer (yeah, that requires some skills ;-)
- the blue eyes of the dongle should not light up, otherwise try again
- type
$ tuxup fuxusb.hex
Programming fuxusb.hex in USB CPU
Bootloader Version: 0x03 (3)
Validating...
6507 bytes used (39.72%)
[OK]
Time elapsed: 6 seconds. - if you get [OK], you just updated the dongle firmware correctly and you can continue, otherwise try again or look at the common problems
Setting Tux Droid in bootloader mode
There is a special mode that needs to be enabled to upgrade the firmware: the bootloader mode.
Follow this sequence to get in the bootloader mode:
- A clean start: disconnect the dongle, turn off Tux Droid and close any audio applications that might be running.
- Connect the AC wall adapter to be sure tux is well powered.
- Unscrew the battery door on the back of Tux (above the power switch).
- Plug the dongle again into the USB port.
- Keep the head button pushed on Tux Droid while switching him back on.
- The left eye LED will be lit, indicating Tux Droid is in the bootloader mode.
- Connect the provided white programming cable between Tux Droid and the USB dongle.
- You're ready to bootload!
Reprogramming your tux with tuxup
Notice
- Don't forget to use the wall adapter to power tux, it's safer!
- The first time you reprogram your tux, it is necessary to enter
the dongle in bootloader mode manually: on the fish dongle belly there
is small hole conceiling a button, you have to keep it pushed while
plugging the dongle in your USB port.
- You should not get any problem if you use the hex files from tuxsetup. If you compile your own firmware or want to mess up with the hex files, read the more complete update manual.
Programming
Just type the following:tuxup --all /opt/tuxdroid/firmwareWhen done, you have to remove the programming cable and cycle power on both the dongle and tux to get them to reconnect.
Common problems
Claim interface failed
As tuxdaemon is started when the dongle is plugged, it's possible that tuxup get some conflicts with tuxdaemon which will show up as:Claim interface failed: could not claim interface 3: Device or resource busyJust restart tuxup to try again.
USB DEVICE INIT ERROR