Parsing audio format rates from USB Audio Interface fails, causing disconnect/rediscover loop
2
votes
2
answers
1322
views
When I connect my PreSonus USB AudioBox 96 to my Ubuntu 18.04LTS desktop via USB2.0 port,
dmesg
shows the following errors in a loop:
[ 8764.468004] usb 1-11: new high-speed USB device number 61 using xhci_hcd
[ 8764.516953] usb 1-11: New USB device found, idVendor=194f, idProduct=0303, bcdDevice= 1.12
[ 8764.516955] usb 1-11: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8764.516957] usb 1-11: Product: AudioBox USB 96
[ 8764.516958] usb 1-11: Manufacturer: PreSonus
[ 8764.516959] usb 1-11: SerialNumber: 000000000000
[ 8769.723951] usb 1-11: 1:1: cannot set freq 96000 (v2/v3): err -110
[ 8774.843735] usb 1-11: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates (clock 5)
[ 8820.921855] usb 1-11: USB disconnect, device number 61
[ 8821.065655] debugfs: Directory '56' with parent 'devices' already present!
[ 8821.193535] usb 1-11: new high-speed USB device number 62 using xhci_hcd
[ 8821.242166] usb 1-11: New USB device found, idVendor=194f, idProduct=0303, bcdDevice= 1.12
[ 8821.242168] usb 1-11: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8821.242170] usb 1-11: Product: AudioBox USB 96
[ 8821.242171] usb 1-11: Manufacturer: PreSonus
[ 8821.242172] usb 1-11: SerialNumber: 000000000000
[ 8831.417276] usb 1-11: uac_clock_source_is_valid(): cannot get clock validity for id 5
[ 8836.537052] usb 1-11: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates (clock 5)
[ 8882.615203] usb 1-11: USB disconnect, device number 62
[ 8882.763151] debugfs: Directory '57' with parent 'devices' already present!
[ 8882.890909] usb 1-11: new high-speed USB device number 63 using xhci_hcd
[ 8882.919108] usb 1-11: device descriptor read/8, error -71
[ 8883.055305] usb 1-11: device descriptor read/8, error -71
[ 8883.163566] debugfs: Directory '58' with parent 'devices' already present!
[ 8883.498882] usb 1-11: new high-speed USB device number 64 using xhci_hcd
[ 8883.547227] usb 1-11: New USB device found, idVendor=194f, idProduct=0303, bcdDevice= 1.12
[ 8883.547229] usb 1-11: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8883.547231] usb 1-11: Product: AudioBox USB 96
[ 8883.547232] usb 1-11: Manufacturer: PreSonus
[ 8883.547233] usb 1-11: SerialNumber: 000000000000
[ 8883.657682] usb 1-11: USB disconnect, device number 64
I suspect the failure is at [this](https://github.com/torvalds/linux/blob/50cc09c18985eacbbd666acfd7be2391394733f5/sound/usb/format.c#L398) line of the linux kernel.
The interface is intermittently available as an input source in alsamixer
. It will be available for a few seconds, then disappear, reappear, etc. The device works fine on my Windows machine.
Does anyone have any advice for how to debug/resolve this issue?
I've included the output of lsusb -v
below.
Bus 001 Device 041: ID 194f:0303 PreSonus Audio Electronics, Inc.
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x194f PreSonus Audio Electronics, Inc.
idProduct 0x0303
bcdDevice 1.12
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 328
bNumInterfaces 6
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 3
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 16
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 8
wTotalLength 75
bmControl 0x01
Latency control Control (read-only)
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 5
bmAttributes 0x03 Internal programmable Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 0
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0603 Line Connector
bAssocTerminal 0
bCSourceID 5
bNrChannels 2
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 32
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 1
bCSourceID 5
bmControls 0x0000
iTerminal 0
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 5
bNrChannels 2
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 48
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 3
bCSourceID 5
bmControls 0x0000
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 17
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 17
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 32
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0068 1x 104 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 18
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 18
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 3
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 48
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0068 1x 104 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 16
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 9
bInCollection 1
baInterfaceNr( 0) 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
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 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 1
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 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 3
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 2
iInterface 80
Device Firmware Upgrade Interface Descriptor:
bLength 9
bDescriptorType 33
bmAttributes 13
Will Detach
Manifestation Tolerant
Upload Unsupported
Download Supported
wDetachTimeout 2000 milliseconds
wTransferSize 1024 bytes
bcdDFUVersion 1.10
Asked by khornlund
(21 rep)
Apr 19, 2020, 12:02 PM
Last activity: Nov 21, 2022, 05:06 PM
Last activity: Nov 21, 2022, 05:06 PM