How To Upgrade Firmware

Upgrade On Windows

Preparation:

  • Download the USB Upgrade Tool and extract it.
  • Download the firmware .bin files from this directory and extract them.
  • Connect your Tone Board to your PC using a USB-C data cable.

Tone Board With USB-C Cable

Installation:

  • Run setup_eval.exe to install the tool to upgrade your Tone Board’s firmware.

Tone Board USB Upgrade Tool Installation

  • Press Yes, then disconnect and reconnect your Tone Board.

Disconnect and Reconnect Tone Board

Upgrading:

  • Open the TUSBAudio Firmware Upgrade tool, from your Start Menu.

TUSBAudio Firmware Upgrade Tool

  • It should show Device Opened, which means your Tone Board is connected and ready for upgrading. (If not, disconnect and reconnect your Tone Board)

Tone Board Ready For Upgrade

  • Click Browse and load the firmware .bin file you extracted, into the tool.

Tone Board USB Upgrade Tool Browse For .img

  • Click Start to begin the upgrade process.

Tone Board USB Upgrade Tool Click Start

  • Once firmware has upgraded, click Exit.

Tone Board USB Upgrade Tool Finished And Exit

  • Uninstall the EVAL driver that you used for upgrading firmware, and re-install the v224 driver.

  • Alternatively, if you’re on Windows 10, uninstall all Khadas-supplied drivers and use the native Win10 UAC2 driver supplied with the OS.

Upgrade On Ubuntu

Preparation:

$ sudo apt-get update
$ sudo apt-get install git libusb-1.0-0 libusb-1.0-0-dev

Download Burning Tool:

ToneBoard DFU burning tool on Ubuntu is in utils repository.

$ git clone https://github.com/khadas/utils

Or just pull it (if you have already cloned this repository).

$ cd /path/to/utils
$ git pull

Install Burning Tool:
You need to install USB rules and create some links.

$ cd /path/to/utils/toneboard-dfu-tool
$ sudo ./INSTALL

You will see this print-out if it was successful.

[sudo] password for nick: 

===============================================

Host PC: Ubuntu 16.04

===============================================

Installing USB rules...
Installing toneboard-burn-tool...
Done!

Note: Root privilege required.

Upgrading:

  • Download the firmware files from this directory and extract them to somewhere like your Home folder.

  • Open a Terminal window, and cd into your Home folder.

$ cd /home/*
  • Connect your Tone Board using a USB-C data cable to your PC. Check that it is recognised by Ubuntu.
$ lsusb
  • If your Tone Board is recognised, you should see this (else, restart Ubuntu).
Bus 001 Device 005: ID 20b1:0008 XMOS Ltd
  • Finally, run the tool with your firmware file of choice (drag and drop your .bin file to replace /path/to/firmware.bin).
$ toneboard-burn-tool -i /path/to/firmware.bin

Note: Upgrading will stuck at Waiting for device to restart and enter DFU mode for about 20 seconds, please wait patiently.

  • If upgrading was done successfully, you should see:
Upgrading ToneBoard firmware...
VID = 0xbda, PID = 0x411
VID = 0x1d6b, PID = 0x3
VID = 0x1a86, PID = 0x7523
VID = 0x2207, PID = 0x330c
VID = 0x4ca, PID = 0xa8
VID = 0x20b1, PID = 0x8
ToneBoard DFU application started - Interface 2 claimed
Detaching device from application mode.
Waiting for device to restart and enter DFU mode...
VID = 0x20b1, PID = 0x8
... DFU firmware upgrade device opened
... Downloading image (firmware.bin) to device
... Download complete
... Returning device to application mode

Uninstall Burning Tool:

$ cd /path/to/utils/toneboard-dfu-tool 
$ sudo ./UNINSTALL

Upgrade On Mac OS

Preparation:

  • Visit our Github and download the Mac OS X - USB Upgrade Tool.
    • Click the green Clone or download button.
    • Then press the Download ZIP option.
    • Afterwards, extract the .zip file to a directory of your choosing.

Installation:

  • Open a Terminal window, by pressing Command-Space on your keyboard, then type terminal into Spotlight.
  • From within Terminal type cd your_directory/sc_usb_audio/module_dfu/host/xmos_dfu_osx.
    • Replace your_directory with the directory that you’ve unzipped the USB Upgrade Tool to.
  • Alternatively, navigate to /sc_usb_audio/module_dfu/host/ from within the Finder.
    • Then type cd, followed by space, into Terminal.
    • And drag the xmos_dfu_osx folder into Terminal, and hit your Enter key.
  • Build the tool by typing: make -f Makefile.OSX all into your Terminal window, original instructions are here.
  • If build was successful, you should see the following:

    make -f Makefile.OSX all
    g++ -g -o xmosdfu xmosdfu.cpp -I. -IOSX libusb-1.0.0-x86_64.dylib -m64
    xmosdfu.cpp:96:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
    xmosdfu.cpp:100:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
    xmosdfu.cpp:104:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
    xmosdfu.cpp:108:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
    xmosdfu.cpp:256:1: warning: control may reach end of non-void function [-Wreturn-type]
    }
    ^
    xmosdfu.cpp:417:3: warning: bool literal returned from 'main' [-Wmain]
    return true;
    ^ ~~~~
    6 warnings generated.
  • Finally, type source setup.sh into Terminal, original instructions are here.

    • If successful, Terminal will be silent.

Upgrading:

  • Download a firmware file from https://dl.khadas.com/Firmware/ToneBoard/, then extract the .zip file.
  • Connect your Tone Board to your Macbook / iMac via a USB-C data cable.
  • Return to Terminal and type ./xmosdfu --download, followed by space, and drag the firmware.bin you just downloaded, from the Finder into Terminal. Then hit Enter.
  • If successful, you should see the following Terminal output:
    ./xmosdfu --download /Users/ossyx/Documents/Wesion/TONEBOARD\ FIRMWARE\ UPGRADE\ TOOL/Khadas_Tone_Board_dfu-2018-1226-Upgrade-Firmware/Khadas_Tone_Board_dfu_1226.bin 
    VID = 0x20b1, PID = 0x8
    XMOS DFU application started - Interface 2 claimed
    Detaching device from application mode.
    Waiting for device to restart and enter DFU mode...
    VID = 0x20b1, PID = 0x8
    ... DFU firmware upgrade device opened
    ... Downloading image (/Users/ossyx/Documents/Wesion/TONEBOARD FIRMWARE UPGRADE TOOL/Khadas_Tone_Board_dfu-2018-1226-Upgrade-Firmware/Khadas_Tone_Board_dfu_1226.bin) to device
    ... Download complete
    ... Returning device to application mode

Notes:

  • If you get the following output when attempting to upgrade the firmware on Mac OS X:

    ./xmosdfu --download /Users/ossyx/Downloads/USB-Audio-2.0-Software-v6.1-master/sc_usb_audio/module_dfu/host/xmos_dfu_osx/Khadas_Tone_Board_dfu_1226.bin 
    dyld: Library not loaded: /usr/local/lib/libusb-1.0.0.dylib
    Referenced from: /Users/ossyx/Downloads/USB-Audio-2.0-Software-v6.1-master/sc_usb_audio/module_dfu/host/xmos_dfu_osx/./xmosdfu
    Reason: image not found
    Abort trap: 6
  • It means you need to upgrade libusb. You can do this by typing brew install libusb.

  • If typing brew install libusb didn’t work, it means that you need to install HomeBrew.
  • If HomeBrew fails, you need to install Xcode Command Line Tools, type xcode-select --install into Terminal.

See Also: