# prepare c
which cc || sudo apt-get install build-essential
# prepare libusb
sudo apt-get install libusb-1.0-0-dev
# prepare udev rules
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="3748", MODE="0666"' | sudo tee /etc/udev/rules.d/stm.rules
# reconnect your tone2 pro
mkdir tone_upgrade
cd tone_upgrade
git clone https://github.com/vdudouyt/stm8flash.git
make -C stm8flash
wget https://dl.khadas.com/Hardware/Tone2/MCU/Tone2_Pro_MCU_Firmware_210417.zip
unzip *.zip
./stm8flash/stm8flash -cstlinkv2 -pstm8s003?3 -s flash \
-w Tone2_Pro_MCU_Firmware_210417/Tone2_Pro_MCU_BOOT_APP_210417.hex
You should get this output …
Determine FLASH area
Due to its file extension (or lack thereof), "Tone2_Pro_MCU_Firmware_210417/Tone2_Pro_MCU_BOOT_APP_210417.hex" is considered as INTEL HEX format!
8192 bytes at 0x8000... OK
Bytes written: 8192
Hi Mac people, you’re welcome to try this out and let us know if you run into any issues!
Mac OS: Upgrade MCU Firmware for Tone2 Pro
#make the tone_upgrade directory and cd into it
mkdir tone_upgrade
cd tone_upgrade
#install homebrew for mac os
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#install supporting packages
brew install libusb make automake mk-configure install-sh libtool pkg-config wget
echo 'export PATH="/usr/local/opt/m4/bin:$PATH"' >> ~/.zshrc
#clone into the libusb package and install it
git clone https://github.com/libusb/libusb.git
cd libusb
./autogen.sh
./configure
make
make install
cd ..
pkg-config --libs libusb-1.0
#clone into the stm8flash tool and build it
git clone https://github.com/vdudouyt/stm8flash.git
make -C stm8flash
#download new mcu firmware for tone2 pro
wget https://dl.khadas.com/Hardware/Tone2/MCU/Tone2_Pro_MCU_Firmware_210417.zip
unzip *.zip
#flash new firmware into the tone2 pro mcu
./stm8flash/stm8flash -cstlinkv2 -pstm8s003\?3 -s flash \
-w Tone2_Pro_MCU_Firmware_210417/Tone2_Pro_MCU_BOOT_APP_210417.hex
Example of a successful output:
tone_upgrade % ./stm8flash/stm8flash -cstlinkv2 -pstm8s003\?3 -s flash \
-w Tone2_Pro_MCU_Firmware_210417/Tone2_Pro_MCU_BOOT_APP_210417.hex
Determine FLASH area
Due to its file extension (or lack thereof), "Tone2_Pro_MCU_Firmware_210417/Tone2_Pro_MCU_BOOT_APP_210417.hex" is considered as INTEL HEX format!
8192 bytes at 0x8000... OK
Bytes written: 8192
You can now just use these fully-automated upgrade scripts for Mac OS or Linux! Just open a Terminal app and copy either of these commands, sudo is not required. Let us know if you run into any issues.
Check that the cables are in the correct order and orientation for both your Tone2 Pro and the ST-link v2 tool:
You can peak inside the three holes on your Tone2 Pro’s underside, and use some feels to figure out if the metal pins are making contact with the gold pads. When flashing, apply gentle but firm pressure and don’t move the Tone2 Pro or the cable.
Thanks. I eventually realized that the problem was caused by my not having the Tone2 getting power from the USB port. I didn’t appreciate that the board had to be powered in order for the upgrade to happen.
In fact I thought that having it powered might cause damage.
So after plugging in a USB cable and applying pressure to the pins, I was able to flash the board correctly.
Archive: Tone2_Pro_Firmware_V1.20_210408.zip
creating: Tone2_Pro_Firmware_V1.20_210408/
inflating: Tone2_Pro_Firmware_V1.20_210408/Tone2_Pro_XMOS_V1.20_210408.bin
[i] please connect your Tone Board and PRESS ANY KEY
…/tone_dfu_tool --download Tone2_Pro_Firmware_V1.20_210408/Tone2_Pro_XMOS_V1.20_210408.bin
/bin/bash: line 87: USB-Audio-2.0-Software-v6.1/sc_usb_audio/module_dfu/host/xmos_dfu_linux/tone_dfu_tool: No such file or directory
[i] UPGRADE ERROR (1) - check previous error messages - and try to resolve it
or submit some message to us about this issue plz!
can you guys publish new measurements with the update applied? im very curious to see if sinad improves in the slightest. Also the multitone im guessing should improve slightly in the high frequencies. On the asr review theres a little tiny spike that im guessing was caused from this issue?