Personal tools
Document Actions

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
Tuxsetup includes tuxup, the tux droid updater software, dfu-programmer and all firmware hex files. Tuxup is necessary to update the firmware of all AVR CPU's, which means all CPU's inside Tux and the RF CPU of the dongle.

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.

  1. 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
  2. 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/firmware
When 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 busy
USB DEVICE INIT ERROR
Just restart tuxup to try again.
by David Bourgeois last modified 2007-06-25 19:03
You are here: Home Documentation How-tos Updating the firmware

Powered by Plone CMS, the Open Source Content Management System