No sound after firmware upgrading

I use Ubuntu 18 and and follow instruction on website to upgrade firmware of my new Khadas Tone. Using bin file in Khadas_Tone_Board_dfu-2018-1226-Upgrade-Firmware.zip
The upgrade process been successful, but no sound output.
Tried reset compter and performed upgrade again, still no sound.

Before it, every thing was OK.
I can’t find previous version of firmware.

Please help !

1 Like

Hi @thetien2k2, I’m noticing the same issue on our end. We’re still working on a solution.

In the meantime, you can try out this older firmware .bin file and see how it goes.

This solves the issue when you re-flash with the Windows Updater. If that doesn’t work, try Mac or Ubuntu.

Do let us know how it goes.

Thanks @tsangyoujun.
I tried new firmware on MacOS, same issue (no sound) at first try, but when I changed volume, has sound.

I flashed your file on Ubuntu. Has sound.
But this firmware accepts only 32bit format. It cause MPD to upsampling all files to 32bit.

1 Like

Alright, glad to know your Tone Board is at least back to working condition.

@Terry is working on the issue now.

@Terry issue with this old firmware.
@thetien2k2 were there any other issues with this old firmware?

messi@music-server:~$ cat /proc/asound/card1/stream0
Khadas tone control Khadas tone control at usb-0000:00:1d.7-1, high speed : USB Audio

Playback:
Status: Stop
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 1
Altset 2
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 1
Altset 3
Format: SPECIAL
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us

Some issues with codec in this firmware:

  • No 16bit and 24bit length support, it will affect bit-perfect playing
  • Bitrate is limited at 384000, half of ES9038Q2M capability
  • No Native DSD support

And I can’t find how to change filter.

1 Like

@thetien2k2 new firmware is here: Tone Board v1.02 Firmware Update

Do give it a whirl and see if it improves things.

@tsangyoujun I have no issue with new firmware. Everything work as expected.

On Ubuntu, 24 bit format does not supported (only 16 and 32). So all hi-res files (24/48 or 24/192) be converted to 32 bit automatically on computer before sending to Tone Board. It affects bit-perfect playing. Audiophiles may worry about it.

2 Likes

@thetien2k2 according to the firmware engineer: “The XMOS output is in 32-bit word length, however the transmitted raw data is still encoded in 16, 24, 32, bits. Because the original data is not re-sampled by the XMOS chip, it is bit-perfect.”

@tsangyoujun I checked another USB sound card, it lacked support of 24 bit format too. May be it is issue of Linux built-in driver for USB Audio.

How I check supported codec:
cat /proc/asound/card1/stream0
XMOS Khadas Tone Control at usb-0000:00:1d.7-1, high speed : USB Audio

Playback:
Status: Running
Interface = 1
Altset = 1
Packet Size = 72
Momentary freq = 44101 Hz (0x5.8338)
Feedback Format = 16.16
Interface 1
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
Data packet interval: 125 us
Interface 1
Altset 2
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
Data packet interval: 125 us
Interface 1
Altset 3
Format: SPECIAL DSD_U32_BE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
Data packet interval: 125 us

How to see computer converting when playing (while playing a 24/44.1 file)
In MPD log
Mar 19 18:41 : playlist: queue song 1:“Foreign/US UK/Dua Lipa - Dua Lipa (Deluxe) (2017)(24-44)/02. Lost In Your Light (feat. Miguel).flac”
Mar 19 18:41 : decoder: audio_format=44100:24:2, seekable=true
Mar 19 18:41 : client: [0] process command “idle”
Mar 19 18:41 : client: [0] command returned 1
Mar 19 18:41 : alsa_output: opened hw:CARD=Control,DEV=0 type=HW
Mar 19 18:41 : alsa_output: buffer: size=16…131072 time=362…2972155
Mar 19 18:41 : alsa_output: period: size=8…65536 time=181…1486078
Mar 19 18:41 : alsa_output: default period_time = buffer_time/4 = 500000/4 = 125000
Mar 19 18:41 : alsa_output: format=S32_LE (Signed 32 bit Little Endian)
Mar 19 18:41 : alsa_output: buffer_size=22050 period_size=5513
Mar 19 18:41 : output: opened “My ALSA Device” (alsa) audio_format=44100:32:2
Mar 19 18:41 : output: converting in=44100:24:2 -> f=44100:24:2 -> out=44100:32:2

cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 5513
buffer_size: 22050

1 Like