joelha Posted November 22, 2015 Share Posted November 22, 2015 Well, I'm prepared to learn that what I'm asking for can't be done, is crazy expensive, or something else equally disappointing. Having said that, I have a PUC2 Lite USB converter which, from what I've experienced in my system and what I've read from other users, in Linux, will only run at 16/48. That's it. There are Windows and Mac drivers, but nothing for Linux. I know that I can submit the related computer logs to the folks who work on Linux kernels, etc. But my experience so far is that process can take a long time if it ever gets resolved at all. If I wanted to investigate the price of having someone custom write a driver for me, is such a thing doable? Has anyone done anything like that before? If so, what can the costs run? And where would I look to investigate? Thanks, Joel Link to comment
iago Posted November 22, 2015 Share Posted November 22, 2015 Having said that, I have a PUC2 Lite USB converter which, from what I've experienced in my system and what I've read from other users, in Linux, will only run at 16/48. That's it. There are Windows and Mac drivers, but nothing for Linux. This is snd-usb-audio, I presume? The maintainer of the code is Takashi Iwai; he keeps a web site stub here. Second option, you could post your proposal to one of the alsa mailing lists (alsa-devel); it's not unusual to donate hardware in exchange for getting functionality into driver code. Third option, if you can read C code, you might take a look yourself. Sometimes device initialization is aborted simply because the response to a function call is unexpected. Just out of curiosity: could you post USB audio driver related logs? If it runs at 16/48, it seems that it does not get recognized as UAC-2 device and uses UAC-1 as fall-back ... Primary ::= Nabla music server | Mutec MC-3+USB w/ Temex LPFRS-01 RB clock | WLM Gamma Reference DAC; Secondary ::= Nabla music server | WaveIO | PrismSound Lyra Link to comment
Richard Dale Posted November 22, 2015 Share Posted November 22, 2015 Well, I'm prepared to learn that what I'm asking for can't be done, is crazy expensive, or something else equally disappointing. Having said that, I have a PUC2 Lite USB converter which, from what I've experienced in my system and what I've read from other users, in Linux, will only run at 16/48. That's it. There are Windows and Mac drivers, but nothing for Linux. I know that I can submit the related computer logs to the folks who work on Linux kernels, etc. But my experience so far is that process can take a long time if it ever gets resolved at all. If I wanted to investigate the price of having someone custom write a driver for me, is such a thing doable? Has anyone done anything like that before? If so, what can the costs run? And where would I look to investigate? Thanks, Joel Your USB converter should just need a standard USB Audio class 2 driver and that is a standard part of Linux. Writing one of those from scratch would cost a lot of time and money if it was needed. You haven't given any details of your Linux setup - what hardware and software are you using and how it is configured? If the converter appears to top out at 48k I would think it is most likely that dmix in ALSA is resampling everything to 48k, and you need to configure ALSA to talk directly to the converter and not go via dmix. System (i): Stack Audio Link > Denafrips Iris 12th/Ares 12th-1; Gyrodec/SME V/Hana SL/EAT E-Glo Petit/Magnum Dynalab FT101A) > PrimaLuna Evo 100 amp > Klipsch RP-600M/REL T5x subs System (ii): Allo USB Signature > Bel Canto uLink+AQVOX psu > Chord Hugo > APPJ EL34 > Tandy LX5/REL Tzero v3 subs System (iii) KEF LS50W/KEF R400b subs System (iv) Technics 1210GR > Leak 230 > Tannoy Cheviot Link to comment
mansr Posted November 22, 2015 Share Posted November 22, 2015 Your USB converter should just need a standard USB Audio class 2 driver and that is a standard part of Linux. Writing one of those from scratch would cost a lot of time and money if it was needed. You haven't given any details of your Linux setup - what hardware and software are you using and how it is configured? If the converter appears to top out at 48k I would think it is most likely that dmix in ALSA is resampling everything to 48k, and you need to configure ALSA to talk directly to the converter and not go via dmix. To the OP, please post the output of these Linux commands: 1. aplay -l (that's a lower-case L) 2. aplay -L 3. lsusb -v -s <bus>:<device> with bus and device numbers as reported by plain "lsusb" Link to comment
joelha Posted November 22, 2015 Author Share Posted November 22, 2015 Thanks so much to everyone for your messages. I'm very grateful. So, in answer to mansr's message, here's what I have aplay -l got me the following: **** List of PLAYBACK Hardware Devices **** card 1: PUC2 [YELLOWTEC PUC2], device 0: USB Audio [uSB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 aplay -L got me the following: default Playback/recording through the PulseAudio sound server null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server sysdefault:CARD=PUC2 YELLOWTEC PUC2, USB Audio Default Audio Device front:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Front speakers surround40:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 4.0 Surround output to Front and Rear speakers surround41:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers iec958:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio IEC958 (S/PDIF) Digital Audio Output dmix:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Direct sample mixing device dsnoop:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Direct sample snooping device hw:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Direct hardware device without any conversions plughw:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Hardware device with all software conversions And lsusb got me the following: Bus 001 Device 004: ID 058f:6254 Alcor Micro Corp. USB Hub Bus 001 Device 003: ID 8564:1000 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 002: ID 17ef:6009 Lenovo ThinkPad Keyboard with TrackPoint Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 006 Device 003: ID 0a4a:6a02 Bus 006 Device 002: ID 0424:2412 Standard Microsystems Corp. Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Based on the lsusb command, I'm not sure which are the bus and device numbers. Please let me know and I'll enter (hopefully) the appropriate commands. Also, please know I tried alsa, or least believe I did and got the same response. I actually thought I had deleted Pulse Audio but apparently, if I'm reading the above report correctly, I didn't get that done. I also thought I had installed alsa, but there too, maybe not. Thanks again for the above replies. Joel Link to comment
joelha Posted November 22, 2015 Author Share Posted November 22, 2015 Your USB converter should just need a standard USB Audio class 2 driver and that is a standard part of Linux. Writing one of those from scratch would cost a lot of time and money if it was needed. You haven't given any details of your Linux setup - what hardware and software are you using and how it is configured? If the converter appears to top out at 48k I would think it is most likely that dmix in ALSA is resampling everything to 48k, and you need to configure ALSA to talk directly to the converter and not go via dmix. Hi Richard, For low power purposes, I'm running Daphile off of a dn2800mt motherboard with 4GB of RAM. I connect to an Adnaco board via an optical cable then run USB to the PUC2 Lite converter although I have the same issue if I try to run USB directly out of my PC to the PUC2 Lite. For the purposes of running the logs I've listed in my message below, I ran Ubuntu 14.04. As I'm close to knowing absolutely nothing about Linux, I'll be happy to take any advice you have about getting alsa to talk to my converter as you suggest. Ideally, if it's possible to correct this issue, I'd like to be able to resolve this issue in both Ubuntu and Daphile. If I'm not giving you enough information about my configuration, please let me know what else you'd like to know. Thanks a lot for your help. Joel Link to comment
mansr Posted November 22, 2015 Share Posted November 22, 2015 Thanks so much to everyone for your messages. I'm very grateful. So, in answer to mansr's message, here's what I have aplay -l got me the following: **** List of PLAYBACK Hardware Devices **** card 1: PUC2 [YELLOWTEC PUC2], device 0: USB Audio [uSB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 aplay -L got me the following: default Playback/recording through the PulseAudio sound server That's likely to be at least part of the problem. PulseAudio is a rather nasty software mixer/resampler that allows simultaneous playback from multiple applications. For any serious listening, I'd recommend getting rid of it entirely, although it can be configured to use a higher sample rate. null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server sysdefault:CARD=PUC2 YELLOWTEC PUC2, USB Audio Default Audio Device front:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Front speakers surround40:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 4.0 Surround output to Front and Rear speakers surround41:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers iec958:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio IEC958 (S/PDIF) Digital Audio Output dmix:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Direct sample mixing device dsnoop:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Direct sample snooping device hw:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Direct hardware device without any conversions plughw:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Hardware device with all software conversions The command "aplay -D hw:CARD=PUC2 --dump-hw-params /dev/zero" will print what ALSA thinks the device is capable of. You might need to stop PulseAudio first. And lsusb got me the following: Bus 001 Device 004: ID 058f:6254 Alcor Micro Corp. USB Hub Bus 001 Device 003: ID 8564:1000 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 002: ID 17ef:6009 Lenovo ThinkPad Keyboard with TrackPoint Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 006 Device 003: ID 0a4a:6a02 Bus 006 Device 002: ID 0424:2412 Standard Microsystems Corp. Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Based on the lsusb command, I'm not sure which are the bus and device numbers. Please let me know and I'll enter (hopefully) the appropriate commands. Try the second unnamed device, that is "lsusb -v -s 6:3" That ID belongs to Ploytec GmbH, a vendor of USB audio devices. Also, please know I tried alsa, or least believe I did and got the same response. I actually thought I had deleted Pulse Audio but apparently, if I'm reading the above report correctly, I didn't get that done. I also thought I had installed alsa, but there too, maybe not. ALSA is the low-level sound card drivers in Linux, so you always have that. PulseAudio sits on top and generally gets in the way of things. Link to comment
joelha Posted November 22, 2015 Author Share Posted November 22, 2015 Thanks a lot, mansr. How do I get rid of PulseAudio? I'll get you the reports you mention. Joel Link to comment
joelha Posted November 22, 2015 Author Share Posted November 22, 2015 OK Mansr, The lsusb -v -s 6:3 command returned nothing . . . just my linux prompt. The aplay -D hw:CARD=PUC2 --dump-hw-params /dev/zero command returned: Playing raw data '/dev/zero' : Unsigned 8 bit, Rate 8000 Hz, Mono HW Params of device "hw:CARD=PUC2": -------------------- ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED FORMAT: S24_3LE SUBFORMAT: STD SAMPLE_BITS: 24 FRAME_BITS: 48 CHANNELS: 2 RATE: 48000 PERIOD_TIME: [1000 1820438) PERIOD_SIZE: [48 87381] PERIOD_BYTES: [288 524286] PERIODS: [2 1024] BUFFER_TIME: [2000 3640875] BUFFER_SIZE: [96 174762] BUFFER_BYTES: [576 1048572] TICK_TIME: ALL -------------------- aplay: set_params:1233: Sample format non available Available formats: - S24_3LE What do you think? Thanks again. Joel Link to comment
Richard Dale Posted November 22, 2015 Share Posted November 22, 2015 Hi Richard, For low power purposes, I'm running Daphile off of a dn2800mt motherboard with 4GB of RAM. I connect to an Adnaco board via an optical cable then run USB to the PUC2 Lite converter although I have the same issue if I try to run USB directly out of my PC to the PUC2 Lite. For the purposes of running the logs I've listed in my message below, I ran Ubuntu 14.04. As I'm close to knowing absolutely nothing about Linux, I'll be happy to take any advice you have about getting alsa to talk to my converter as you suggest. Ideally, if it's possible to correct this issue, I'd like to be able to resolve this issue in both Ubuntu and Daphile. If I'm not giving you enough information about my configuration, please let me know what else you'd like to know. Thanks a lot for your help. Joel I think mansr has done a great job telling what commands to run in order to debug the problem. I had suspected that resampling to 48khz was going on and thought it was dmix (an ALSA) plugin, but as mansr points out the culprit is PulseAudio which also resamples. The good news is that there is probably nothing wrong with your USB converter's Linux support and you won't need to get any sort of custom driver written. The solution is still to get your USB converter to talk to ALSA directly rather than going through something like PulseAudio or dmix. However, I think that configuring a general purpose Linux OS like Ubuntu to do that might be quite hard. If you can find a canned recipe out on the internet to do that, then you might be OK. I use a Raspberry Pi 2 running a music server OS 'Volumio' with the MPD music server software, and that worked with my Bel Canto uLink USB converter 'out of the box'. I think Linux is best with dedicated music server devices and accompanying OSs like that. If you are going to use a general purpose like Ubuntu to drive an audiophile USB device, there is less advantage in using Linux over Mac OS X or Windows. System (i): Stack Audio Link > Denafrips Iris 12th/Ares 12th-1; Gyrodec/SME V/Hana SL/EAT E-Glo Petit/Magnum Dynalab FT101A) > PrimaLuna Evo 100 amp > Klipsch RP-600M/REL T5x subs System (ii): Allo USB Signature > Bel Canto uLink+AQVOX psu > Chord Hugo > APPJ EL34 > Tandy LX5/REL Tzero v3 subs System (iii) KEF LS50W/KEF R400b subs System (iv) Technics 1210GR > Leak 230 > Tannoy Cheviot Link to comment
joelha Posted November 22, 2015 Author Share Posted November 22, 2015 Thanks for the message, Richard. My daily player is Daphile . . . considerably slimmer than Ubuntu. I'm only using Ubuntu to develop the logs I need as I'm not sure how to do it or even if can be done in Daphile. I've used both Windows and Mac OS's with many of the associated third party software packages. Daphile to this point, has worked out best for me. I'll keep pursuing this issue and hope for the best. Thanks again. Joel Link to comment
joelha Posted November 22, 2015 Author Share Posted November 22, 2015 I just found this on-line as regards disabling PulseAudio. Does it look like what I want to do?: You can tell Pulseaudio not to respawn itself by issuing this command: echo "autospawn = no" > $HOME/.config/pulse/client.conf You can now kill pulseaudio: jorge@den:~$ pkill -f pulseaudio jorge@den:~$ ps aux | grep pulse jorge 6310 0.0 0.0 23900 916 pts/1 S+ 18:11 0:00 grep --color=auto pulse Pulseaudio should be restarted on session startup, but it might be terminated if there is no sound activity, so after you are done, remember to remove the file you have created before, so Pulseaudio can be respawned when needed. rm $HOME/.config/pulse/client.conf Link to comment
Richard Dale Posted November 22, 2015 Share Posted November 22, 2015 Thanks for the message, Richard. My daily player is Daphile . . . considerably slimmer than Ubuntu. I'm only using Ubuntu to develop the logs I need as I'm not sure how to do it or even if can be done in Daphile. I've used both Windows and Mac OS's with many of the associated third party software packages. Daphile to this point, has worked out best for me. I'll keep pursuing this issue and hope for the best. Thanks again. Joel Ah I see, I didn't realise that Daphile was a Linux Music OS based in Squeezebox that you were actually using to drive your DAC for music. I just saw 'Ubuntu' and thought that was what you were wanting to use. I strongly suspect that Daphile doesn't run Pulse Audio and so disabling Pulse Audio is probably a bit of a red herring. Not all Linux audio environments are the same for debugging purposes! As a start you could run the commands given by mansr on Daphile by ssh'ing onto the server. You will need to ask on the Daphile forums about how to ssh onto the server in order to run the commands perhaps. System (i): Stack Audio Link > Denafrips Iris 12th/Ares 12th-1; Gyrodec/SME V/Hana SL/EAT E-Glo Petit/Magnum Dynalab FT101A) > PrimaLuna Evo 100 amp > Klipsch RP-600M/REL T5x subs System (ii): Allo USB Signature > Bel Canto uLink+AQVOX psu > Chord Hugo > APPJ EL34 > Tandy LX5/REL Tzero v3 subs System (iii) KEF LS50W/KEF R400b subs System (iv) Technics 1210GR > Leak 230 > Tannoy Cheviot Link to comment
joelha Posted November 22, 2015 Author Share Posted November 22, 2015 Good idea, Richard. Thanks for the suggestion. I'll check it out. Thanks, Joel Link to comment
mansr Posted November 22, 2015 Share Posted November 22, 2015 The lsusb -v -s 6:3 command returned nothing . . . just my linux prompt. That's odd. Did you run the command as root? If not, try it in case it's a permission thing. The aplay -D hw:CARD=PUC2 --dump-hw-params /dev/zero command returned: Playing raw data '/dev/zero' : Unsigned 8 bit, Rate 8000 Hz, Mono HW Params of device "hw:CARD=PUC2": -------------------- ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED FORMAT: S24_3LE SUBFORMAT: STD SAMPLE_BITS: 24 FRAME_BITS: 48 CHANNELS: 2 RATE: 48000 PERIOD_TIME: [1000 1820438) PERIOD_SIZE: [48 87381] PERIOD_BYTES: [288 524286] PERIODS: [2 1024] BUFFER_TIME: [2000 3640875] BUFFER_SIZE: [96 174762] BUFFER_BYTES: [576 1048572] TICK_TIME: ALL -------------------- aplay: set_params:1233: Sample format non available Available formats: - S24_3LE What do you think? Not good. Something thinks it can only do 48kHz. Typically you get something like "RATE: [44100 192000]" with the min and max supported rates. There might also be something in the kernel log (display it with the "dmesg" command), either when connecting the device or when playing something. Link to comment
joelha Posted November 23, 2015 Author Share Posted November 23, 2015 I did run it from my root directory, mansr. I'm going to switch my strategy here. Daphile has never allowed anyone to ssh into their program, but now it will for certain so called non-public builds. As this is my primary player, I'm going to see how to ssh into it and run some of the reports you've asked for and see if I get any more promising information. Thanks, Joel Link to comment
mansr Posted November 23, 2015 Share Posted November 23, 2015 I did run it from my root directory, mansr. I meant as root user, the directory is unimportant. Link to comment
joelha Posted November 23, 2015 Author Share Posted November 23, 2015 Thanks mansr. I'm going to move over to Daphile for my research as I understand it's possible to ssh into it although I'm trying to learn the command for making that happen. As soon as I do, I'm going to run the commands you've recommended and report back. Thanks again for all of your help. Joel Link to comment
joelha Posted November 24, 2015 Author Share Posted November 24, 2015 Well, for the first time, I've been able to ssh into Daphile. While I'll show what got in the reports below, the bottom line seems to be this: aplay -D hw:CARD=PUC2 --dump-hw-params /dev/zero aplay: main:722: audio open error: Device or resource busy Was my command incorrect? Copy of related logs follow. Thanks a lot in advance for your help. Joel aplay -l Subdevices: 8/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 card 1: PUC2 [YELLOWTEC PUC2], device 0: USB Audio [uSB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0 aplay –L null Discard all samples (playback) or generate zero samples (capture) default:CARD=Dummy Dummy, Dummy PCM Default Audio Device sysdefault:CARD=Dummy Dummy, Dummy PCM Default Audio Device default:CARD=PUC2 YELLOWTEC PUC2, USB Audio Default Audio Device sysdefault:CARD=PUC2 YELLOWTEC PUC2, USB Audio Default Audio Device front:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio Front speakers surround21:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 2.1 Surround output to Front and Subwoofer speakers surround40:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 4.0 Surround output to Front and Rear speakers surround41:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers iec958:CARD=PUC2,DEV=0 YELLOWTEC PUC2, USB Audio IEC958 (S/PDIF) Digital Audio Output daphile ~ # lsusb Bus 003 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 0a4a:6a02 Ploytec GmbH Bus 001 Device 002: ID 0424:2412 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub aplay -D hw:CARD=PUC2 --dump-hw-params /dev/zero aplay: main:722: audio open error: Device or resource busy Link to comment
mansr Posted November 24, 2015 Share Posted November 24, 2015 Well, for the first time, I've been able to ssh into Daphile. While I'll show what got in the reports below, the bottom line seems to be this: aplay -D hw:CARD=PUC2 --dump-hw-params /dev/zero aplay: main:722: audio open error: Device or resource busy Was my command incorrect? That means some process has the sound device open which prevents aplay accessing it. lsusb Bus 003 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 0a4a:6a02 Ploytec GmbH Bus 001 Device 002: ID 0424:2412 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Try "lsusb -v -s 1:3" Link to comment
joelha Posted November 24, 2015 Author Share Posted November 24, 2015 Thanks so much for the very quick reply mansr. Here's what I got in response to your suggested command: daphile ~ # lsusb -v -s 1:3 Bus 001 Device 003: ID 0a4a:6a02 Ploytec GmbH Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x0a4a Ploytec GmbH idProduct 0x6a02 bcdDevice 2.00 iManufacturer 1 Yellowtec iProduct 2 YELLOWTEC PUC2 iSerial 3 no serial number bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 294 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 498mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 53 bInCollection 3 baInterfaceNr( 0) 1 baInterfaceNr( 1) 2 baInterfaceNr( 2) 3 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front ® iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0602 Digital Audio Interface bAssocTerminal 0 bSourceID 1 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0602 Digital Audio Interface bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front ® iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 4 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 3 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 1 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0126 1x 294 bytes bInterval 4 bRefresh 0 bSynchAddress 133 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 2 Decoded PCM samples wLockDelay 0 Decoded PCM samples Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0003 1x 3 bytes bInterval 4 bRefresh 5 bSynchAddress 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 bRefresh 0 bSynchAddress 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 4 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0126 1x 294 bytes bInterval 4 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 2 Decoded PCM samples wLockDelay 0 Decoded PCM samples Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 bRefresh 0 bSynchAddress 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 1 Audio bInterfaceSubClass 3 MIDI Streaming bInterfaceProtocol 0 iInterface 0 MIDIStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 65 MIDIStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 2 (MIDI_IN_JACK) bJackType 1 Embedded bJackID 1 iJack 0 MIDIStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 2 (MIDI_IN_JACK) bJackType 2 External bJackID 2 iJack 0 MIDIStreaming Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (MIDI_OUT_JACK) bJackType 1 Embedded bJackID 3 bNrInputPins 1 baSourceID( 0) 2 BaSourcePin( 0) 1 iJack 0 MIDIStreaming Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (MIDI_OUT_JACK) bJackType 2 External bJackID 4 bNrInputPins 1 baSourceID( 0) 1 BaSourcePin( 0) 1 iJack 0 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 bRefresh 0 bSynchAddress 0 MIDIStreaming Endpoint Descriptor: bLength 5 bDescriptorType 37 bDescriptorSubtype 1 (GENERAL) bNumEmbMIDIJack 1 baAssocJackID( 0) 3 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 4 bRefresh 0 bSynchAddress 0 MIDIStreaming Endpoint Descriptor: bLength 5 bDescriptorType 37 bDescriptorSubtype 1 (GENERAL) bNumEmbMIDIJack 1 baAssocJackID( 0) 1 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) Link to comment
joelha Posted November 24, 2015 Author Share Posted November 24, 2015 You know what? I just noticed a process is running. Let me stop it and run the commands again. Sorry about that. Joel Link to comment
joelha Posted November 24, 2015 Author Share Posted November 24, 2015 No difference. Both commands the same results. Joel Link to comment
mansr Posted November 24, 2015 Share Posted November 24, 2015 Thanks so much for the very quick reply mansr. Here's what I got in response to your suggested command: daphile ~ # lsusb -v -s 1:3 OK, let's see what we've got here: Bus 001 Device 003: ID 0a4a:6a02 Ploytec GmbH Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x0a4a Ploytec GmbH idProduct 0x6a02 bcdDevice 2.00 iManufacturer 1 Yellowtec iProduct 2 YELLOWTEC PUC2 iSerial 3 no serial number bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 294 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 498mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 53 bInCollection 3 baInterfaceNr( 0) 1 baInterfaceNr( 1) 2 baInterfaceNr( 2) 3 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0602 Digital Audio Interface bAssocTerminal 0 bSourceID 1 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 3 wTerminalType 0x0602 Digital Audio Interface bAssocTerminal 0 bNrChannels 2 wChannelConfig 0x0003 Left Front (L) Right Front (R) iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 4 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bSourceID 3 iTerminal 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 1 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0126 1x 294 bytes bInterval 4 bRefresh 0 bSynchAddress 133 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 2 Decoded PCM samples wLockDelay 0 Decoded PCM samples Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0003 1x 3 bytes bInterval 4 bRefresh 5 bSynchAddress 0 This part defines a USB Audio 1.0 output device with 2 channels, 24-bit, 48 kHz. That's what the --dump-hw-params output you posted earlier said as well. Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 bRefresh 0 bSynchAddress 0 This defines a vendor-specific (non-standard) interface with the same endpoint but a higher data rate. My guess is this is where support for higher sample rates is hiding, and you need a special driver to access it. Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0 AudioStreaming Interface Descriptor: bLength 7 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 4 bDelay 1 frames wFormatTag 1 PCM AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 3 bBitResolution 24 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0126 1x 294 bytes bInterval 4 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 2 Decoded PCM samples wLockDelay 0 Decoded PCM samples This is a standard USB Audio 1.0 input. Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 bRefresh 0 bSynchAddress 0 Again a non-standard interface, probably high sample rate input. To get a proper driver for this, you'd either need to convince them to hand over the specs or reverse engineer the Windows/Mac drivers. Link to comment
joelha Posted November 24, 2015 Author Share Posted November 24, 2015 I'm doubting they're going to give me the specs, mansr, although I could ask. What do you think it would take in money and/or in time to get the driver I needed if they handed over the specs? And what do you think it would take in money and/or in time to reverse engineer the driver from the Windows/Mac driver? Thanks so much for all your help. Joel Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now