[pulseaudio-discuss] USB Audio: Output only works while mixer is active
Takashi Sakamoto
o-takashi at sakamocchi.jp
Fri Aug 24 09:28:56 UTC 2018
Hi,
On Aug 24 2018 16:24, Andreas Böhler wrote:
> I've got a Phonix Helix Board 12 Universal mixer with integrated
> USB/FireWire interface. Using FireWire, it works properly, but using USB
> I'm experiencing strange issues which I'm trying to sort out (it should
> be UAC2 compliant).
>
> I tested the device with PulseAudio and I observed the following:
> Playback through the device only works as long as pavucontrol is
> running. If I close pavucontrol, sound output (not playback!) stops
> about five seconds later. The player (tested with Audacious) still
> plays. As soon as I open pavucontrol, sound output is restored.
>
> I'm not sure whether this is a pulseaudio or ALSA issue, but I'm pretty
> certain that, using the list, I can get a clue on what pavucontrol is
> doing that keeps my device outputting sound? Does it maybe poll or
> output any values on a regular basis? Note that according to alsamixer,
> there are no controls available.
I think you can also regain sound by using 'arecord' instead of
'pavucontrol'.
Your Phonix Helix Board 12 is an application of BridgeCo DM1500 ASIC and
BeBoB interface. I have Behringer FCA610, which is an application of
DM1500 ASIC as well and I can regenerate your situation.
When opening 'pavucontrol' or execute 'arecord', PCM substream is opened
for capturing direction. Endpoint of the device is configured to tranmit
data packet. Then, you can hear sound. This means that the device has a
quirk in a point of generating sound.
However, I can also see no quirk in a situation that:
1. stop any PCM substream relevant to the device at first
2. then start playback PCM substream
3. start no capture PCM substream
This situation transits by starting/stopping capture PCM substream
4. start capture PCM substream
(still hear sound)
5. stopping capture PCM substream
(hear no sound even if playback PCM substream runs)
6. start capture PCM substream
(hear sound again)
Anyway, this is an issue of snd-usb-audio driver and a quirk of your
device, irrelevant to pulseaudio. It's better to post to alsa-devel
instead of pulseaudio-discuss.
Regards
Takashi Sakamoto
======== 8< --------
$ lsusb -vs 001:005
Bus 001 Device 005: ID 1397:0003 BEHRINGER International GmbH
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1397 BEHRINGER International GmbH
idProduct 0x0003
bcdDevice 20.9c
iManufacturer 29 BEHRINGER
iProduct 30 FCA610
iSerial 31 0x1564002ad73
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 380
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 32 Standard Configuration
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 5
bFunctionClass 1 Audio
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 33 Standard USB Audio 2.0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 10
wTotalLength 156
bmControl 0x00
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 121
bCSourceID 211
bmControls 0x0000
iTerminal 2 Line & Digi In
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 31
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 211
bNrChannels 10
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 12 Line O 1
iTerminal 1 Line & Digi Out
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 61
wTerminalType 0x0300 Output Undefined
bAssocTerminal 0
bSourceID 31
bCSourceID 211
bmControls 0x0000
iTerminal 6 AV Out 1to10
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 91
wTerminalType 0x0200 Input Undefined
bAssocTerminal 0
bCSourceID 211
bNrChannels 2
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 22 Mic I 1
iTerminal 3 AV In 1/2
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 92
wTerminalType 0x0200 Input Undefined
bAssocTerminal 0
bCSourceID 211
bNrChannels 2
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 24 Line I 3
iTerminal 4 AV In 3/4
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 93
wTerminalType 0x0200 Input Undefined
bAssocTerminal 0
bCSourceID 211
bNrChannels 2
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 26 SPDIF I L
iTerminal 5 AV In SPDIF
AudioControl Interface Descriptor:
bLength 21
bDescriptorType 36
bDescriptorSubtype 4 (MIXER_UNIT)
bUnitID 121
bNrPins 3
baSourceID( 0) 91
baSourceID( 1) 92
baSourceID( 2) 93
bNrChannels 6
bmChannelConfig 0x00000000
iChannelNames 22 Mic I 1
00 00 00 00 00
bmControls 01
Cluster Control (read-only)
iMixer 11 Line&Digi Mixer
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 11 (CLOCK_SELECTOR)
bUnitID 211
bNrInPins 3
baCSourceID( 0) 212
baCSourceID( 1) 214
baCSourceID( 2) 213
bmControls 0x03
Clock Selector Control (read/write)
iClockSelector 7 Clock Selector
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 212
bmAttributes 0x07 Internal programmable Clock (synced
to SOF)
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 9 Device Internal Clock
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 213
bmAttributes 0x00 External Clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 10 SPDIF Input
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 214
bmAttributes 0x07 Internal programmable Clock (synced
to SOF)
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 8 USB-Bus (SOF)
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 0
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 6
bmChannelConfig 0x00000000
iChannelNames 22 Mic I 1
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 0x0400 1x 1024 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
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 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 0
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 31
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 10
bmChannelConfig 0x00000000
iChannelNames 12 Line O 1
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 0x02 EP 2 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 0x01
bmControls 0x00
bLockDelayUnits 0 Undefined
wLockDelay 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 37
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 2
bNrInputPins 1
baSourceID( 0) 18
BaSourcePin( 0) 1
iJack 28 MIDI
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 18
iJack 28 MIDI
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 2
iJack 28 MIDI
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 18
bNrInputPins 1
baSourceID( 0) 2
BaSourcePin( 0) 1
iJack 28 MIDI
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 2
Endpoint Descriptor:
bLength 7
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
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 2
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 1
iInterface 34 USB DFU IF
Device Firmware Upgrade Interface Descriptor:
bLength 9
bDescriptorType 33
bmAttributes 5
Will Not Detach
Manifestation Tolerant
Upload Unsupported
Download Supported
wDetachTimeout 10000 milliseconds
wTransferSize 512 bytes
bcdDFUVersion 1.01
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 241
bNumInterfaces 5
bConfigurationValue 2
iConfiguration 35 BCo Configuration
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 5
bFunctionClass 1 Audio
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 36 BridgeCo USB Audio 2.0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 37 USB Audio Control IF
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 10
wTotalLength 9
bmControl 0x00
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 38 USB Audio Reset Streaming IF
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 39 USB Audio BCo Streaming IF
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 0
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 0
bmChannelConfig 0x00000000
iChannelNames 0
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
AudioStreaming Interface Descriptor:
bLength 4
bDescriptorType 36
bDescriptorSubtype 240 Invalid desc subtype: 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x0c00 2x 1024 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
bmControls 0x00
bLockDelayUnits 0 Undefined
wLockDelay 25601
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 38 USB Audio Reset Streaming IF
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 39 USB Audio BCo Streaming IF
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 0
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 0
bmChannelConfig 0x00000000
iChannelNames 0
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
AudioStreaming Interface Descriptor:
bLength 4
bDescriptorType 36
bDescriptorSubtype 240 Invalid desc subtype: 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x0c00 2x 1024 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
bmControls 0x00
bLockDelayUnits 0 Undefined
wLockDelay 25601
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 MIDI Streaming
bInterfaceProtocol 0
iInterface 40 USB MIDI Streaming IF
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 37
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 2
bNrInputPins 1
baSourceID( 0) 18
BaSourcePin( 0) 1
iJack 28 MIDI
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 18
iJack 28 MIDI
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 2
iJack 28 MIDI
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 18
bNrInputPins 1
baSourceID( 0) 2
BaSourcePin( 0) 1
iJack 28 MIDI
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 2
Endpoint Descriptor:
bLength 7
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
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 2
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 1
iInterface 34 USB DFU IF
Device Firmware Upgrade Interface Descriptor:
bLength 9
bDescriptorType 33
bmAttributes 5
Will Not Detach
Manifestation Tolerant
Upload Unsupported
Download Supported
wDetachTimeout 10000 milliseconds
wTransferSize 512 bytes
bcdDFUVersion 1.01
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 0
Device Status: 0x0001
Self Powered
More information about the pulseaudio-discuss
mailing list