[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