Frege Posted March 31, 2018 Share Posted March 31, 2018 I am having an issue playing 24 bit files on my audio system. I am feeding from an Odroid C2 running Armbian Ubuntu to a Schiit Yggrasil DAC, via USB. The problem is that while all 16 bit files play perfectly, all 24 bit files play with crackles and pops and are unlistenable. I am trying to figure out where the incompatibility lies in the USB interface between the units - is it a Linux issue (I've tried other distributions with the same results) or is it something in the hardware? Any thoughts on the issue would be most appreciated. Link to comment Share on other sites More sharing options...
TonyMac32 Posted March 31, 2018 Share Posted March 31, 2018 I had this on the tinker board, check/adjust your cpu governor, that may be the issue getting the (isochronous, I believe?) packets there on time, 24 bits is 50% more data per transaction. Link to comment Share on other sites More sharing options...
Frege Posted March 31, 2018 Author Share Posted March 31, 2018 8 minutes ago, TonyMac32 said: I had this on the tinker board, check/adjust your cpu governor, that may be the issue getting the (isochronous, I believe?) packets there on time, 24 bits is 50% more data per transaction. Thanks. I admit to being a newbie on these matters - could you give some explicit instructions on how to do this? Much appreciated. Link to comment Share on other sites More sharing options...
TonyMac32 Posted March 31, 2018 Share Posted March 31, 2018 try sudo cpufreq-set -g performance Link to comment Share on other sites More sharing options...
Frege Posted March 31, 2018 Author Share Posted March 31, 2018 1 hour ago, TonyMac32 said: try sudo cpufreq-set -g performance Man, you are my savior! I'n been trying to figure this out for weeks. Thanks so much!! 1 Link to comment Share on other sites More sharing options...
Frege Posted April 1, 2018 Author Share Posted April 1, 2018 21 hours ago, Frege said: Man, you are my savior! I'n been trying to figure this out for weeks. Thanks so much!! Sorry, take that back! I still have the problem. (I hadn't noticed that I had neglected to re-set a switch in Roon that forces play of 24 bit files at 16 bit resolution. So, if anyone has further suggestions, they would be most appreciated. Link to comment Share on other sites More sharing options...
TonyMac32 Posted April 1, 2018 Share Posted April 1, 2018 hmmmm, what else is on the USB? Unfortunately the USB on Amlogic devices is... interesting. I think the S905 should be fully supported, it's the s905x/d/w/omgwtfbbq that isn't completely there yet on mainline. Looking at that DAC, it has this little guy on the receiving end: Input Receiver, USB: C-Media CM6631A Can you give me the output of "lsusb -t" to verify the identity? Has this worked properly with A) another SBC or B ) Windows? The controller can handle all sorts of different transfer modes, so I have to wonder if the linux driver is choosing the "wrong one" looks like, from the vendor page for the IC: Quote Supports USB Audio Class 2.0 and high-speed mode with Cmedia vendor drivers USB Audio class 1.0 with full-speed/high-speed modes compatible with Windows® UAA driver, Mac OS X and Linux embedded USB audio drivers Going from there I found another vendor FAQ: http://rotel.com/faq/why-cant-i-play-192khz-audio-pc-usb-connection and from yet another source, showing 96 khz as maximum for USB audio 1.0: http://www.farnell.com/datasheets/1738852.pdf#subsection.3.4.2 (If the link doesn't take you to the right page, it is section 3.4.2) The DAC is most likely only capable of 192khz using a Windows master, and I would most likely question it's ability to handle 96khz with 24-bit payload in full-speed USB audio 1.0 mode. Have you tested with any 48khz 24-bit material? Link to comment Share on other sites More sharing options...
Frege Posted April 1, 2018 Author Share Posted April 1, 2018 1 hour ago, TonyMac32 said: hmmmm, what else is on the USB? Unfortunately the USB on Amlogic devices is... interesting. I think the S905 should be fully supported, it's the s905x/d/w/omgwtfbbq that isn't completely there yet on mainline. Looking at that DAC, it has this little guy on the receiving end: Input Receiver, USB: C-Media CM6631A Can you give me the output of "lsusb -t" to verify the identity? Has this worked properly with A) another SBC or B ) Windows? The controller can handle all sorts of different transfer modes, so I have to wonder if the linux driver is choosing the "wrong one" looks like, from the vendor page for the IC: Going from there I found another vendor FAQ: http://rotel.com/faq/why-cant-i-play-192khz-audio-pc-usb-connection and from yet another source, showing 96 khz as maximum for USB audio 1.0: http://www.farnell.com/datasheets/1738852.pdf#subsection.3.4.2 (If the link doesn't take you to the right page, it is section 3.4.2) The DAC is most likely only capable of 192khz using a Windows master, and I would most likely question it's ability to handle 96khz with 24-bit payload in full-speed USB audio 1.0 mode. Have you tested with any 48khz 24-bit material? Thanks for the reply. Some more information. 1) Both 16bit and 24bit files played without problem in their Gen3 USB. The upgrade to their Gen5 USB gave rise to the problem. 2) 24 bit files play fine if the USB is connected to a Mac Mini. (The Mac Mini has the RoonCore; the Odroid C2 is a RoonBridge renderer.) (No Windows machines here.) 3) The problem exists with all 24bit files, regardless of sampling rate: 48, 96 and 192. All played perfectly with the previous USB. 4) Nothing else is connected to the Odroid USB2.0 bus. DAC is 2.0 as far as I know. 5) I've attached a couple of audio clips so that you can hear the problem. The 24 bit file is 96khz Thanks! 16 Bit.m4a 24 Bit.m4a Link to comment Share on other sites More sharing options...
TonyMac32 Posted April 1, 2018 Share Posted April 1, 2018 run lsusb -t for me please Link to comment Share on other sites More sharing options...
Frege Posted April 1, 2018 Author Share Posted April 1, 2018 13 minutes ago, TonyMac32 said: run lsusb -t for me please While it is connected to the DAC? Link to comment Share on other sites More sharing options...
TonyMac32 Posted April 1, 2018 Share Posted April 1, 2018 Yes please. The issue is the DAC is USB 2.0, but if it is only running USB Audio 1.0, then it's running "full speed" (12 Mbps) Link to comment Share on other sites More sharing options...
Frege Posted April 1, 2018 Author Share Posted April 1, 2018 19 minutes ago, TonyMac32 said: Yes please. The issue is the DAC is USB 2.0, but if it is only running US Audio 1.0, then it's running "full speed" (12 Mbps) frege@odroidc2:~$ lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 1: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 2: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 2: Dev 6, If 1, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 3: Dev 4, If 0, Class=Audio, Driver=snd-usb-audio, 480M |__ Port 3: Dev 4, If 1, Class=Audio, Driver=snd-usb-audio, 480M |__ Port 3: Dev 4, If 2, Class=Human Interface Device, Driver=usbhid, 480M Link to comment Share on other sites More sharing options...
TonyMac32 Posted April 1, 2018 Share Posted April 1, 2018 https://www.head-fi.org/threads/schiit-yggdrasil-impressions-thread.766347/page-397 Alright, other than the common audiophile bickering, it is obvious the device has had a problematic past with USB. The C2 itself also seems to share in the blame with: https://volumio.org/forum/odroid-usb-audio-dac-issues-t5618.html Alright, one last thing, 'sudo armbianmonitor -u', paste the link. I doubt there are any errors since it's working with PA and such, but you never know. And it will tell us the kernel. If it's 3.14, you may see an improvement with 4.14. I don't handle the Odroid C2 builds, however mainline support should mean a better situation. @gkkpch may have something to add, at this point I'm out of ideas. Link to comment Share on other sites More sharing options...
Frege Posted April 2, 2018 Author Share Posted April 2, 2018 http://ix.io/15Ci Link to comment Share on other sites More sharing options...
TonyMac32 Posted April 2, 2018 Share Posted April 2, 2018 Linux 3.14.79-odroidc2 (odroidc2) 04/02/2018 _aarch64_ (4 CPU) OK, so you're using a default image, which seems, according to google, to be problematic with a great many USB DAC's. Nothing too crazy in there, a lot of noise about the HDMI audio system settings, but I'm not so familiar with this kernel. If you are willing to go through the work, could you configure an SD using an armbian-next image? (4.14 LTS kernel) I'm afraid I can't buy one of these DACs for testing... unless you want to donate one... Assuming this SBC is being used as nothing more than a Roon endpoint, a Stretch Server image may be best. https://dl.armbian.com/odroidc2/Debian_stretch_next_nightly.7z That will give you command line only with no extra muss, assuming you can install/configure everything from there. Link to comment Share on other sites More sharing options...
Frege Posted April 2, 2018 Author Share Posted April 2, 2018 I'll give the Stretch Server a try. All I need to do is add some terminal commands to set up the RoonBridge. Thanks for taking all the time to help. Much appreciated! Link to comment Share on other sites More sharing options...
gkkpch Posted May 6, 2018 Share Posted May 6, 2018 @TonyMac32Sorry about the delay, I don’t read the forum very often (you can contact me at volumio(at)bluewin.ch) I don’t believe we will get any improvement for the buggy usb drivers in 3.14.79, so I dropped my efforts for Odroids. We did release a newer version, which should improve support for a range of usb dacs (including dsd support). I have informed Asus about it and they did add the patches to their latest 4.4.x kernel too. As soon as Baylibre releases i2s audio drivers for amlogic, I will drop the 3.14.79 kernel for Odroid C2 and move to mainline. 1 Link to comment Share on other sites More sharing options...
TonyMac32 Posted May 6, 2018 Share Posted May 6, 2018 29 minutes ago, gkkpch said: i2s audio drivers for amlogic I haven't tried the separate I2S pins, but the patchset we are using includes HDMI audio/etc. I have a 5102A board lying around to look at it later (too nice a day to be inside right now) Link to comment Share on other sites More sharing options...
Recommended Posts