[pulseaudio-tickets] [PulseAudio] #926: usb soundcard does not work reliably in pulseaudio, but works otherwise

PulseAudio trac-noreply at tango.0pointer.de
Wed Mar 30 01:41:05 PDT 2011


#926: usb soundcard does not work reliably in pulseaudio, but works otherwise
---------------------+------------------------------------------------------
  Reporter:  martin  |       Owner:  lennart
      Type:  defect  |      Status:  new    
 Milestone:          |   Component:  daemon 
Resolution:          |    Keywords:         
---------------------+------------------------------------------------------

Comment(by coling):

 For really large output please attach rather than paste inline (tho'
 thanks for getting the right WikiFormatting :)) as it makes the body of
 the bug easier to read.

 OK, so here is the important bit (/me ignores own advice above):

 {{{
 3 card(s) available.
     index: 0
         name: <alsa_card.usb-M-Audio_Sonica_Theater-00-Theater>
         driver: <module-alsa-card.c>
         owner module: 4
         properties:
                 alsa.card = "2"
                 alsa.card_name = "Sonica Theater"
                 alsa.long_card_name = "M-Audio Sonica Theater at
 usb-0000:00:1d.1-1, full speed"
                 alsa.driver_name = "snd_usb_audio"
                 device.bus_path = "pci-0000:00:1d.1-usb-0:1:1.0"
                 sysfs.path =
 "/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/sound/card2"
                 udev.id = "usb-M-Audio_Sonica_Theater-00-Theater"
                 device.bus = "usb"
                 device.vendor.id = "0763"
                 device.vendor.name = "Midiman"
                 device.product.id = "2007"
                 device.product.name = "M-Audio Sonica Theater"
                 device.serial = "M-Audio_Sonica_Theater"
                 device.string = "2"
                 device.description = "M-Audio Sonica Theater"
                 module-udev-detect.discovered = "1"
                 device.icon_name = "audio-card-usb"
         profiles:
                 output:analog-stereo: Analog Stereo Output (priority 6000)
                 output:analog-stereo+input:analog-stereo: Analog Stereo
 Duplex (priority 6060)
                 output:analog-stereo+input:iec958-stereo: Analog Stereo
 Output + Digital Stereo (IEC958) Input (priority 6055)
                 output:analog-surround-40: Analog Surround 4.0 Output
 (priority 700)
                 output:analog-surround-40+input:analog-stereo: Analog
 Surround 4.0 Output + Analog Stereo Input (priority 760)
                 output:analog-surround-40+input:iec958-stereo: Analog
 Surround 4.0 Output + Digital Stereo (IEC958) Input (priority 755)
                 output:analog-surround-41: Analog Surround 4.1 Output
 (priority 800)
                 output:analog-surround-41+input:analog-stereo: Analog
 Surround 4.1 Output + Analog Stereo Input (priority 860)
                 output:analog-surround-41+input:iec958-stereo: Analog
 Surround 4.1 Output + Digital Stereo (IEC958) Input (priority 855)
                 off: Aus (priority 0)
         active profile: <output:analog-stereo+input:analog-stereo>
     index: 1
         name: <alsa_card.pci-0000_00_1f.5>
         driver: <module-alsa-card.c>
         owner module: 5
         properties:
                 alsa.card = "0"
                 alsa.card_name = "Intel 82801DB-ICH4"
                 alsa.long_card_name = "Intel 82801DB-ICH4 with AD1981B at
 irq 11"
                 alsa.driver_name = "snd_intel8x0"
                 device.bus_path = "pci-0000:00:1f.5"
                 sysfs.path =
 "/devices/pci0000:00/0000:00:1f.5/sound/card0"
                 device.bus = "pci"
                 device.vendor.id = "8086"
                 device.vendor.name = "Intel Corporation"
                 device.product.id = "24c5"
                 device.product.name = "82801DB/DBL/DBM
 (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller"
                 device.form_factor = "internal"
                 device.string = "0"
                 device.description = "Internes Audio"
                 module-udev-detect.discovered = "1"
                 device.icon_name = "audio-card-pci"
         profiles:
                 output:analog-stereo: Analog Stereo Output (priority 6000)
                 output:analog-stereo+input:analog-stereo: Analog Stereo
 Duplex (priority 6060)
                 input:analog-stereo: Analog Stereo Input (priority 60)
                 off: Aus (priority 0)
         active profile: <output:analog-stereo+input:analog-stereo>
         sinks:
                 alsa_output.pci-0000_00_1f.5.analog-stereo/#0: Internes
 Audio Analog Stereo
         sources:
                 alsa_output.pci-0000_00_1f.5.analog-stereo.monitor/#0:
 Monitor of Internes Audio Analog Stereo
                 alsa_input.pci-0000_00_1f.5.analog-stereo/#1: Internes
 Audio Analog Stereo
     index: 2
         name: <alsa_card.pci-0000_00_1f.6>
         driver: <module-alsa-card.c>
         owner module: 6
         properties:
                 alsa.card = "1"
                 alsa.card_name = "Intel 82801DB-ICH4 Modem"
                 alsa.long_card_name = "Intel 82801DB-ICH4 Modem at irq 11"
                 alsa.driver_name = "snd_intel8x0m"
                 device.bus_path = "pci-0000:00:1f.6"
                 sysfs.path =
 "/devices/pci0000:00/0000:00:1f.6/sound/card1"
                 device.bus = "pci"
                 device.vendor.id = "8086"
                 device.vendor.name = "Intel Corporation"
                 device.product.id = "24c6"
                 device.product.name = "82801DB/DBL/DBM
 (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller"
                 device.class = "modem"
                 device.string = "1"
                 device.description = "Modem"
                 module-udev-detect.discovered = "1"
                 device.icon_name = "modem-pci"
         profiles:
                 output:analog-mono: Analog Mono Output (priority 100)
                 output:analog-mono+input:analog-mono: Analog Mono Duplex
 (priority 101)
                 input:analog-mono: Analog Mono Input (priority 1)
                 off: Aus (priority 0)
         active profile: <output:analog-mono+input:analog-mono>
 }}}

 As you can see we have detected 3 "cards". One is your USB, the other is
 your internal card and third appears to be a modem of some kind.

 The internal card appears to be working correctly, as you can see from the
 output above, it has selected and active profile as follows:
 {{{
         active profile: <output:analog-stereo+input:analog-stereo>
         sinks:
                 alsa_output.pci-0000_00_1f.5.analog-stereo/#0: Internes
 Audio Analog Stereo
         sources:
                 alsa_output.pci-0000_00_1f.5.analog-stereo.monitor/#0:
 Monitor of Internes Audio Analog Stereo
                 alsa_input.pci-0000_00_1f.5.analog-stereo/#1: Internes
 Audio Analog Stereo
 }}}

 So this profile enables the following sinks/sources.

 However, if you look at both your other cards you'll see that neither of
 them has any sinks/sources, despite you choosing a profile that should
 enable them.

 For the modem this is not super surprising. Some lower level daemon on
 your system may be hogging the modem device for good reason, so we should
 likely discount that.

 But for the USB there are essentially only a handful of reasons that this
 can go wrong.

  1. Some other application was hogging the USB device when the profile was
 activated (i.e. when it was plugged in). You can check this via "fuser -v
 /dev/snd/*"
  1. There is a race condition on your system and the sound card announced
 itself via udev before it was actually ready. Thus PA tried to open it
 before things were really stable. You can test this by changing the active
 profile to Off then back to the one you want (use the Configuration tab of
 pavucontrol). If this makes the Sinks/Sources appear, then this is a
 candidate for the problem. You can check the output above via "pacmd list-
 cards" for a slightly shorter dump, but you can also just look on
 pavucontrol's Output Devices tab.
  1. There is a problem connection to DBus. This will only happen when PA
 has somehow lost it's connection to DBus and you subsequently plug in the
 device. If this happens, then the device reservation protocol cannot
 operate and we cannot "claim" the device. This is a mechanism for us to be
 a nice citizen and play with other applications that want direct h/w
 access (e.g. JACK). You can test this quite easily. Just change your
 Internal card's profile to Off and then back again. If it's sinks/sources
 suddenly disappear, then this is a likely cause. You can also run
 qdbusviewer (or similar) and make sure that pulseaudio appears on the
 session bus. If it does not then this is likely the problem.

 I hope I've given you a few things to check on and it will help identify
 which component has the problem.

-- 
Ticket URL: <http://pulseaudio.org/ticket/926#comment:6>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list