Sorry for the slow response, the communications were trapped by Yahoo's spam filter. More details to follow.
First, I switched to a more powerful platform (slightly) the Intel Atom D945GSEJT. I have managed to get Win & to run on this and it allowed me to test the same hardware doing the same task (as much as Windows permits). I can using adjacent USB ports boot Win & and play 192 KHz content through to the Wavelink 192 KHz USB audio interface without problems. This suggests (but isn't absolute proof) that the hardware is not a restriction.
Second, trying the suggestions below I noticed an error making this more difficult. When connecting the Wavelink I see its accessible from ALSA: auraliti-player:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 1: SPDIF [WaveLink HS SPDIF], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0
But invisible to lsusb. Its device 009 below: auraliti-player:~# lsusb Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 006: ID 413c:3012 Dell Computer Corp. Optical Wheel Mouse Bus 002 Device 005: ID 413c:2006 Dell Computer Corp. Bus 002 Device 004: ID 10d5:000d Uni Class Technology Co., Ltd Bus 002 Device 003: ID 413c:1004 Dell Computer Corp. Bus 002 Device 002: ID 058f:9254 Alcor Micro Corp. Hub Bus 002 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 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 009: ID 21b4:0210 Bus 001 Device 003: ID 1307:0163 Transcend Information, Inc. 256MB/512MB/1GB Flash Drive Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Here is the message when its installed: Sep 6 17:22:29 localhost vmunix: [ 1537.716042] usb 1-7: new high speed USB device using ehci_hcd and address 9 Sep 6 17:22:29 localhost vmunix: [ 1537.830436] usb 1-7: config 1 has an invalid interface number: 3 but max is 2 Sep 6 17:22:29 localhost vmunix: [ 1537.830518] usb 1-7: config 1 has no interface number 2 Sep 6 17:22:29 localhost vmunix: [ 1537.830804] usb 1-7: config 1 has an invalid interface number: 3 but max is 2 Sep 6 17:22:29 localhost vmunix: [ 1537.830884] usb 1-7: config 1 has no interface number 2 Sep 6 17:22:29 localhost vmunix: [ 1537.833069] usb 1-7: configuration #1 chosen from 2 choices
Here is the detailed output from lsusb -v -s 001:009 | tee usb.txt
Bus 001 Device 009: ID 21b4:0210 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x21b4 idProduct 0x0210 bcdDevice 1.51 iManufacturer 1 Wavelength Audio, ltd. iProduct 2 WaveLink HS SPDIF iSerial 3 (C) 2010 XMOS/Wavelength Audio bNumConfigurations 2 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 168 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 1 Audio bFunctionSubClass 0 bFunctionProtocol 32 iFunction 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 32 iInterface 7 WaveLink HS SPDIF AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 2.00 wTotalLength 31496 bInCollection 0 junk at descriptor end: 00 AudioControl Interface Descriptor: bLength 8 bDescriptorType 36 bDescriptorSubtype 10 (unknown) Invalid desc subtype: 28 01 07 00 01 AudioControl Interface Descriptor: bLength 17 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bNrChannels 40 wChannelConfig 0x0302 Right Front (R) Surround (S) Side Left (SL) iChannelNames 0 iTerminal 0 junk at descriptor end: 00 00 00 00 02 AudioControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 10 bSourceID 2 bControlSize 0 iFeature 0 junk at descriptor end: 00 00 00 00 00 00 00 00 00 00 0f AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 20 wTerminalType 0x0301 Speaker bAssocTerminal 0 bSourceID 10 iTerminal 40 ËÌ junk at descriptor end: 00 00 05 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 32 iInterface 8 WaveLink HS SPDIF Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 32 iInterface 9 WaveLink HS SPDIF AudioStreaming Interface Descriptor: bLength 16 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 2 bDelay 0 frames wFormatTag 257 undefined junk at descriptor end: 00 00 00 02 03 00 00 00 00 AudioStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) Warning: Descriptor too short bFormatType 1 (FORMAT_TYPE_I) Warning: Descriptor too short bNrChannels 4 bSubframeSize 24 bBitResolution 0 bSamFreqType 0 Continuous tLowerSamFreq 0 tUpperSamFreq 12544 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 1 AudioControl Endpoint Descriptor: bLength 8 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bLockDelayUnits 0 Undefined wLockDelay 2050 Undefined junk at descriptor end: 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 17 Transfer Type Isochronous Synch Type None Usage Type Feedback wMaxPacketSize 0x0004 1x 4 bytes bInterval 8 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 254 Application Specific Interface bInterfaceSubClass 1 Device Firmware Update bInterfaceProtocol 0 iInterface 0 Device Firmware Upgrade Interface Descriptor: bLength 7 bDescriptorType 33 bmAttributes 7 Will Not Detach Manifestation Tolerant Upload Supported Download Supported wDetachTimeout 250 milliseconds wTransferSize 64 bytes Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 168 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 1 Audio bFunctionSubClass 0 bFunctionProtocol 32 iFunction 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 32 iInterface 7 WaveLink HS SPDIF AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 2.00 wTotalLength 31496 bInCollection 0 junk at descriptor end: 00 AudioControl Interface Descriptor: bLength 8 bDescriptorType 36 bDescriptorSubtype 10 (unknown) Invalid desc subtype: 28 01 07 00 01 AudioControl Interface Descriptor: bLength 17 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bNrChannels 40 wChannelConfig 0x0302 Right Front (R) Surround (S) Side Left (SL) iChannelNames 0 iTerminal 0 junk at descriptor end: 00 00 00 00 02 AudioControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 10 bSourceID 2 bControlSize 0 iFeature 0 junk at descriptor end: 00 00 00 00 00 00 00 00 00 00 0f AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 20 wTerminalType 0x0301 Speaker bAssocTerminal 0 bSourceID 10 iTerminal 40 ËÌ junk at descriptor end: 00 00 05 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 32 iInterface 8 WaveLink HS SPDIF Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 32 iInterface 9 WaveLink HS SPDIF AudioStreaming Interface Descriptor: bLength 16 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 2 bDelay 0 frames wFormatTag 257 undefined junk at descriptor end: 00 00 00 02 03 00 00 00 00 AudioStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) Warning: Descriptor too short bFormatType 1 (FORMAT_TYPE_I) Warning: Descriptor too short bNrChannels 4 bSubframeSize 24 bBitResolution 0 bSamFreqType 0 Continuous tLowerSamFreq 0 tUpperSamFreq 12544 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 5 Transfer Type Isochronous Synch Type Asynchronous Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 1 AudioControl Endpoint Descriptor: bLength 8 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bLockDelayUnits 0 Undefined wLockDelay 2050 Undefined junk at descriptor end: 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 17 Transfer Type Isochronous Synch Type None Usage Type Feedback wMaxPacketSize 0x0004 1x 4 bytes bInterval 8 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 254 Application Specific Interface bInterfaceSubClass 1 Device Firmware Update bInterfaceProtocol 0 iInterface 0 Device Firmware Upgrade Interface Descriptor: bLength 7 bDescriptorType 33 bmAttributes 7 Will Not Detach Manifestation Tolerant Upload Supported Download Supported wDetachTimeout 250 milliseconds wTransferSize 64 bytes Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered)
I need to figure out how to install usbmon on this debian platform before I can get a trace. I may be able to borrow a USB sniffer if that helps. -Demian
-----Original Message----- From: Alan Stern [mailto:stern@rowland.harvard.edu] Sent: Tuesday, August 24, 2010 7:56 AM To: Daniel Mack Cc: Demian Martin; alsa-devel@alsa-project.org; 'J. Gordon Rankin'; linux-usb@vger.kernel.org Subject: Re: Problem with USB Class 2 Audio Driver
On Mon, 23 Aug 2010, Daniel Mack wrote:
Hi,
FWIW, I currently have no clue what could be the reason for this issue. I copied the linux-usb mailing list, maybe anyone over there has an idea.
Summary is: Demian is trying to play back an audio file over an USB connected soundcard, and the file itself is also stored on a media connected via USB. The transfer alone seems to be reasonably fast (tested with 'dd'), and the card itself also works fine (tested with a file stored on a different media), but the combination of them both fails. At least for high sample rates - iow, high data throughput.
Could there be anything wrong with the isochronous bandwith reservation?
I doubt it. But we have seen reports of problems before from people trying to do high-bandwidth transfers to multiple devices concurrently.
To start, let's see the "lsusb -v" output for the audio card and the storage device, together with the dmesg log showing the two devices being plugged in.
For tracking down the exact problem, it will help to have a usbmon trace showing what happens during playback. (Stop the playback after the first underrun occurs.) Instructions are in Documentation/usb/usbmon.txt.
Alan Stern