This script was originally distributed as a component of the XMOS USB Audio 2.0 Reference Software Version 6.15.2, and has been modified to facilitate firmware updates via DFU mode for the following XMOS based JDS Labs, Inc. devices:
- Atom DAC(+)
- EL DAC II(+)
- Element II
- Element III
A copy of the original AS-IS License is included within this repository.
- A direct connection to a USB 2.0/3.0 port is required. USB hubs and some Type C or USB 3.1 ports may prevent DFU communication.
- This script only supports the USB devices listed above. Only connect one (1) JDS Labs DAC at a time!
- While this repository is customized for JDS Labs USB VID/PIDs, the
pidList[]
inxmosdfu.cpp
can be modiified to suit any XMOS devices with DFU capability.
This command line tool only checks for a valid JDS Labs USB Vendor and Product ID before loading firmware to your DAC. It does not check the .bin file you supply, nor can it check that the DAC matches the .bin file you provide. Thus, triple check that you are loading the right firmware for the right model!
In the event that you accidentally load firmware for the wrong JDS Labs DAC, you can normally recover by flashing the intended firmware. If not, please reach out to jdslabs.com/support
This process has been tested under Big Sur and Monterey on both Intel and M1 based Macs. For Monterey, please see #4
- Install XCode Command Line Tools from the App Store, or from a command line:
xcode-select --install
- Install Homebrew. Make sure to run commands presented towards the end of installation to add Homebrew to your PATH.
- Install libusb:
brew install libusb
- Open a terminal in the
/xmos_dfu/xmos_dfu
folder and compile the Makefile using the appropriate target for your system. Warnings may be ignored.
make -f Makefile mac
make -f Makefile mac-m1
make -f Makefile mac-sonoma
- Next, run:
chmod +x setup.sh
chmod +x xmosdfu
source setup.sh
- Make sure your DAC is connected by USB, then run the following command to verify the connection and current firmware version. Your DAC will appear as “VID = 0x20b1” or "VID = 0x152A:
./xmosdfu --listdevices
- To flash new firmware, download the desired .bin file, then run the command below. Only 1 DAC may be plugged in at a time! You will need to edit the path to reflect the full path of your downloaded firmware file (tip: select the downloaded file in Finder, then right click on its path in the bottom of the window and choose Copy as Pathname):
sudo ./xmosdfu --download "/edit/this/path/Atom_DAC_Plus-v184.bin"
- Install libusb:
sudo apt-get install libusb-1.0-0-dev
- Open a terminal in the
/xmos_dfu/xmos_dfu
folder and compile Makefile.Linux. Warnings may be ignored:
make -f Makefile linux
- Next, run:
source setup.sh
- Make sure your DAC is connected by USB, then run the following command to verify the connection and current firmware version. Your DAC will appear as “VID = 0x20b1” or "VID = 0x152A:
sudo ./xmosdfu --listdevices
- To flash new firmware, download the desired .bin file, then run the command below as
sudo
. Only 1 DAC may be plugged in at a time! You will need to edit the path to reflect the full path of your downloaded firmware file:
sudo ./xmosdfu --download "/edit/this/path/Atom_DAC_Plus-v184.bin"