USB audio on Wandboard (AOA)

This is the place for software discussions not having a dedicated subforum

USB audio on Wandboard (AOA)

Postby arv » Fri Jul 15, 2016 2:39 pm

Hi All,

I have a Wandboard Quad board running Ubuntu 14.04.
I am trying to playback audio from Android phone using USB AOAv2. (PCM audio, 16bit, 44.1 KHz, stereo).
The detection of phone and playback via alsa commands/gstreamer is successful.
But during playback, there are distortions in the sound.

dmesg prints as follows,
retire_capture_urb: x callbacks suppressed ----->[x is around 41 to 300]
retire_capture_urb: x callbacks suppressed
retire_capture_urb: x callbacks suppressed
retire_capture_urb: x callbacks suppressed

So each time, retire_capture_urb is printed, there is a distortion.
I tried the same program on different machines. Following are the results,
On Wandboard, the distortions happen each 40 seconds or so.
On a Linux server PC running Ubuntu 14.04 the audio breaks are more frequent.
On a Linux PC running Ubuntu 12.02 the audio breaks are less frequent.

Could anyone guide me on how retire_capture_urb be prevented or how can a smooth playback be achieved ? Should there be any special configurations done at USB driver ??

lsusb -v print is as follows, The synch type for the endpoint appears to be enumerated as Synchronous. Android USB Digital Audio site mentions that for audio, synchronous is not preferred. Could the synch type be modified using libusb ??

Bus 001 Device 004: ID 18d1:2d02 Google Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x18d1 Google Inc.
idProduct 0x2d02
bcdDevice ff.ff
iManufacturer 1 motorola
iProduct 2 MotoG3-TE
iSerial 3 ZY222WB7TT
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 110
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
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 10
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 40
bInCollection 2
baInterfaceNr( 0) 0
baInterfaceNr( 1) 1
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Microphone
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 3
wTerminalType 0x0101 USB Streaming
bAssocTerminal 2
bSourceID 2
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 2
bSourceID 1
bControlSize 2
bmaControls( 0) 0x00
bmaControls( 0) 0x00
iFeature 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 1
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 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 44100
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x0100 1x 256 bytes

bInterval 4
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 1 Milliseconds
wLockDelay 1 Milliseconds
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)

Thanks...
arv
 
Posts: 1
Joined: Thu Jul 14, 2016 3:26 pm

Return to Software - General

Who is online

Users browsing this forum: Must_ba and 3 guests