XU-316 USB device disappearing on input switch

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
rotel75
New User
Posts: 3
Joined: Sat Dec 28, 2024 2:39 pm

XU-316 USB device disappearing on input switch

Post by rotel75 »

I've been using a SMSL SU-1 DAC with XU-316 for a few months.

I thing that annoys me is that the USB device completely disappears in windows/linux when you switch to opt/coax input.
Is this something that can be fixed/disabled?
Do all XMOS behave like this?

here a demo of the strange behaviour:
https://youtu.be/Q5PIk0GCtOs

I want a reliable PC+USB DAC solution!
My streaming software does not start if the ASIO device is missing.
So have to make sure that the DAC is on USB setting every time when the app/PC starts.
Last edited by rotel75 on Tue Dec 31, 2024 9:45 am, edited 1 time in total.
User avatar
fabriceo
XCore Addict
Posts: 244
Joined: Mon Jan 08, 2018 4:14 pm

Post by fabriceo »

Hi
Most (not to say 99%) of the DAC manufacturer are using the standard XMOS USB AUDIO application in their products.
The way it is designed is considering exclusively the USB host as a master of the application in term of sampling rate and modes changes.
Integrating SPDIF data flow in the USB driven application is very difficult and then the manufacturers choose another way which is to simply switch the I2S lines from xmos-dac to spdif-dac (in hardware) and then all the music flow goes from spdif to dac without never passing through the xmos engine. But this still create a massive problem with the master clock if the spdif sample rate is different from the usb selected one. instead of solving this (which is possible) they just find a way to kill the USB task during spdif play, and reboot the xmos when mode is back to USB.
For cheaper DAC without external SPDIF decoder (may be su-1) they can also reboot the xmos with a specific boot image providing SPDIF decoding and asrc which is provided as a turnkey solution by xmos, but without the USB stack.

So this not really a problem with xmos based devices but a problem that the manufacturer does not take the time to adapt the software stack to this specific case. I know one product handling that correctly, okto research dac8pro.

this is the same reason why some dacs are able to provide EQ correction on USB flow but not on SPDIF flow

cheers
fabriceo
rotel75
New User
Posts: 3
Joined: Sat Dec 28, 2024 2:39 pm

Post by rotel75 »

Thanks for the detailed reply.

This all makes sense, turning off the whole USB part when using SPDIF... a clearly definded state I guess.
But from a PC perspective.. USB devices coming and going.. yikes.
As someone being in IT for 30+ years, it's quite disappointing to see such poor solutions.
I could even imagine $1000+ DAC behaving like this... and the funny thing is that I haven't heard anyone complain about it.

Hmm, I guess the only robust solution (in my case) is to get two DACs, one for USB only and one for everything else, plus analog preamp/switch.

I've checked the Windows drivers of Topping, SMSL and Fosi DAC. They're all almost identical. https://www.thesycon.de/usbaudio/TUSBAudio_history.txt
But since the USB device disappears with or without the driver, I guess the logic is in firmware.
MaximLiadov
XCore Addict
Posts: 166
Joined: Mon Apr 16, 2018 9:14 am

Post by MaximLiadov »

The XMOS MCU is simply a masterpiece IC. It's fully programmable and the reference design has nothing to do with this behavior. So don't blame the XMOS hardware or their sample code. It's just a decision of the DAC manufacturer. I am 100% sure. They thought that customers would hardly use the SPDIF input, so it seems not to be a bad design. But if they advertize it to you as "the same eggs inside as brand names but for lower price" that's really a BS.

In my commercial products with a street price of €1500 (where no any single part of it was made in China) it's even possible to use USB + SPDIF inputs together. No need to select the input at all, no standard mixer used in the code. We use the same high quality clock, not SPDIF reciever PLL. If there is no SPDIF signal on the input, the whole path is automatically disabled and USB playback is bit perfect. No any device disappearing from OS. It's our proprietary and complicated enough hardware. We made our own R&D and our firmware has nothing in common with that. That's why the price is not like a budget DAC. Though we also use XMOS MCU and very happy with it.

Don't blame the Thesycon guys either. They provide excellent UAC2.0 driver package and everything to customize driver and panel. It's just not for everyone. Definitely not for the low end market with almost zero price. You are asking too much. Be happy with the feature set you have. It does work. Right?
MaximLiadov
XCore Addict
Posts: 166
Joined: Mon Apr 16, 2018 9:14 am

Post by MaximLiadov »

rotel75 wrote: Sat Dec 28, 2024 3:04 pm I want a reliable PC+USB DAC solution!
Fair enough. If you need a Bentley, don't look at those no-name cars. No matter what the ads say.
rotel75
New User
Posts: 3
Joined: Sat Dec 28, 2024 2:39 pm

Post by rotel75 »

Sorry for my previous reaction... got a bit too emotional !
Of course, I shouldn't expect perfection from budget products.

I'll try to gather more infos by comparing the behaviour of other impementations.
Currently I only know about 2 DACs (SMSL SU-1, Fosi Audio ZD3) that both turn off USB when switching inputs.

I have one more issue that I found using squeezelite as a music renderer.
On start it seems to cycle through all sample rates to check the audio devices capabilities.
This also makes the USB device disapppear/crash quite reproducibly. I'll try to make a video of it.
But today I finally found a workaround. If you start squeezelite with param "-r 768000" you can set the max rate manually. No crash yet :)
Last edited by rotel75 on Mon Dec 30, 2024 9:58 pm, edited 1 time in total.
rotel75
New User
Posts: 3
Joined: Sat Dec 28, 2024 2:39 pm

Post by rotel75 »

So here the two videos:
1) https://youtu.be/Q5PIk0GCtOs (input switch)
2) https://youtu.be/KrHiXR0K37c (squeezelite crash)

What do you think the problem is in case 2? Driver issue, USB bug? Should I contact Thesycon?
MaximLiadov
XCore Addict
Posts: 166
Joined: Mon Apr 16, 2018 9:14 am

Post by MaximLiadov »

rotel75 wrote: Tue Dec 31, 2024 9:44 am https://youtu.be/KrHiXR0K37c (squeezelite crash)

What do you think the problem is in case 2? Driver issue, USB bug? Should I contact Thesycon?
In my opinion, as their customer who paid them, you should first contact your DAC manufacturer's support and the Squeezelite software company to open a ticket in the tech support service. Sorry, but I see no connection to XMOS or Thesycon. Customers of these companies are not end-users. Also, this forum is for developers/engineers only. You are welcome to develop firmware for your own DAC. Screw all that noname nonsense! :)