I have a Audient id44 audio interface connected by USB to an Ubuntu computer with low-latency kernel. It basically works (sound goes in and out), but is unusable because I'm getting lost samples in my output waveforms. There are perhaps three or so audible errors every ten seconds. I do not know if there are errors in the input yet. It's stock Ubuntu Studio, so should be optimised for sound, interrupt latencies and so on. The id44 generally gets pretty good reviews, here's Sound on Sound link
My question: does this look like some kind of buffer size parameter error which I could adjust? Or does this look like some kind of bug? My guess is this is somewhere in ALSA, I believe snd_usb_audio, but I am grateful for any pointers for where to look more precisely and how to characterise the problem.
I have a lot of experience with Unix/Linux, including device drivers, but not really any experience with the sound system. Please let me know if the information below needs adding to in any way.
While playing a 440 Hz sinewave, these are what I was able to see on the oscilloscope:
aplay, VLC, or ardour
Bus 002 Device 003: ID 2708:0005
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x2708
idProduct 0x0005
bcdDevice 1.04
iManufacturer 1 Audient
iProduct 3 Audient iD44
iSerial 0
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 727
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
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 1
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 3 Audient iD44
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 8
wTotalLength 502
bmControl 0x00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 41
bmAttributes 0x03 Internal programmable Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 9 Audient Internal Clock
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 44
bmAttributes 0x00 External Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 10 Audient Optical Input 1 Clock
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 45
bmAttributes 0x00 External Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 11 Audient Optical Input 2 Clock
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 11 (CLOCK_SELECTOR)
bUnitID 40
bNrInPins 3
baCSourceID( 0) 41
baCSourceID( 1) 44
baCSourceID( 2) 45
bmControls 0x03
Clock Selector Control (read/write)
iClockSelector 8 Audient Clock Selector
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 40
bNrChannels 24
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 13 Analogue 1
iTerminal 6 Audient iD44
AudioControl Interface Descriptor:
bLength 106
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 10
bSourceID 51
bmaControls( 0) 0x00000000
bmaControls( 1) 0x00000000
bmaControls( 2) 0x00000000
bmaControls( 3) 0x00000000
bmaControls( 4) 0x00000000
bmaControls( 5) 0x00000000
bmaControls( 6) 0x00000000
bmaControls( 7) 0x00000000
bmaControls( 8) 0x00000000
bmaControls( 9) 0x00000000
bmaControls(10) 0x00000000
bmaControls(11) 0x00000000
bmaControls(12) 0x00000000
bmaControls(13) 0x00000000
bmaControls(14) 0x00000000
bmaControls(15) 0x00000000
bmaControls(16) 0x00000000
bmaControls(17) 0x00000000
bmaControls(18) 0x00000000
bmaControls(19) 0x00000000
bmaControls(20) 0x00000000
bmaControls(21) 0x00000000
bmaControls(22) 0x00000000
bmaControls(23) 0x00000000
bmaControls(24) 0x00000000
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 20
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 10
bCSourceID 40
bmControls 0x0000
iTerminal 0
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Microphone
bAssocTerminal 0
bCSourceID 40
bNrChannels 20
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 37 Analogue 1
iTerminal 0
AudioControl Interface Descriptor:
bLength 21
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
Warning: Descriptor too short
bUnitID 51
wExtensionCode 0
bNrPins 6
baSourceID( 0) 2
baSourceID( 1) 1
baSourceID( 2) 12
baSourceID( 3) 13
baSourceID( 4) 54
baSourceID( 5) 55
bNrChannels 24
wChannelConfig 0
iChannelNames 0
bmControls 0x00
iExtension 90 (error)
AudioControl Interface Descriptor:
bLength 90
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 11
bSourceID 1
bmaControls( 0) 0x00000000
bmaControls( 1) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls( 2) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls( 3) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls( 4) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls( 5) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls( 6) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls( 7) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls( 8) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls( 9) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(10) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(11) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(12) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(13) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(14) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(15) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(16) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(17) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(18) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(19) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
bmaControls(20) 0x03300000
Input gain Control (read/write)
Phase inverter Control (read/write)
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 22
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 11
bCSourceID 40
bmControls 0x0000
iTerminal 7 Audient iD44
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
Warning: Descriptor too short
bUnitID 50
wExtensionCode 0
bNrPins 2
baSourceID( 0) 2
baSourceID( 1) 1
bNrChannels 30
wChannelConfig 0
iChannelNames 0
bmControls 0x00
iExtension 44 ADAT-4
AudioControl Interface Descriptor:
bLength 44
bDescriptorType 36
bDescriptorSubtype 4 (MIXER_UNIT)
bUnitID 60
bNrPins 1
baSourceID( 0) 50
bNrChannels 8
bmChannelConfig 0x00000000
iChannelNames 57 Mix 1
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
bmControls 00
iMixer 0
AudioControl Interface Descriptor:
bLength 22
bDescriptorType 36
bDescriptorSubtype 4 (MIXER_UNIT)
bUnitID 61
bNrPins 1
baSourceID( 0) 50
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 65 Mix 9
ff ff ff ff ff ff ff ff
bmControls 00
iMixer 0
AudioControl Interface Descriptor:
bLength 42
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 12
bSourceID 60
bmaControls( 0) 0x00000000
bmaControls( 1) 0x0000000c
Volume Control (read/write)
...
bmaControls( 8) 0x0000000c
Volume Control (read/write)
iFeature 0
AudioControl Interface Descriptor:
bLength 18
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 13
bSourceID 61
bmaControls( 0) 0x00000000
bmaControls( 1) 0x0000000c
Volume Control (read/write)
bmaControls( 2) 0x0000000c
Volume Control (read/write)
iFeature 0
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
Warning: Descriptor too short
bUnitID 55
wExtensionCode 2
bNrPins 2
baSourceID( 0) 12
baSourceID( 1) 13
bNrChannels 5
wChannelConfig 0
iChannelNames 0
bmControls 0x00
iExtension 17 Analogue 5
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
Warning: Descriptor too short
bUnitID 54
wExtensionCode 1
bNrPins 2
baSourceID( 0) 12
baSourceID( 1) 13
bNrChannels 6
wChannelConfig 0
iChannelNames 0
bmControls 0x00
iExtension 8 Audient Clock Selector
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0006 1x 6 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 Audient iD44
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 Audient iD44
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 24
bmChannelConfig 0x00000000
iChannelNames 13 Analogue 1
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 3
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 0x03a8 1x 936 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 Audient iD44
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 24
bmChannelConfig 0x00000000
iChannelNames 13 Analogue 1
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 2
bBitResolution 16
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0270 1x 624 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 5 Audient iD44
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 5 Audient iD44
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 22
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 20
bmChannelConfig 0x00000000
iChannelNames 37 Analogue 1
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 3
bBitResolution 24
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 37
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Implicit feedback Data
wMaxPacketSize 0x030c 1x 780 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 1
iInterface 12 Audient DFU
Device Firmware Upgrade Interface Descriptor:
bLength 9
bDescriptorType 33
bmAttributes 7
Will Not Detach
Manifestation Tolerant
Upload Supported
Download Supported
wDetachTimeout 250 milliseconds
wTransferSize 64 bytes
bcdDFUVersion 1.10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 52
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 8
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 727
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
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 1
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 3 Audient iD44
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 8
wTotalLength 502
bmControl 0x00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 41
bmAttributes 0x03 Internal programmable Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 9 Audient Internal Clock
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 44
bmAttributes 0x00 External Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 10 Audient Optical Input 1 Clock
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 45
bmAttributes 0x00 External Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 11 Audient Optical Input 2 Clock
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 11 (CLOCK_SELECTOR)
bUnitID 40
bNrInPins 3
baCSourceID( 0) 41
baCSourceID( 1) 44
baCSourceID( 2) 45
bmControls 0x03
Clock Selector Control (read/write)
iClockSelector 8 Audient Clock Selector
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 40
bNrChannels 24
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 13 Analogue 1
iTerminal 6 Audient iD44
AudioControl Interface Descriptor:
bLength 106
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 10
bSourceID 51
bmaControls( 0) 0x00000000
... truncated per stackoverflow limits
User contributions licensed under CC BY-SA 3.0