Pulseaudio not detecting all connected soundcards

Discussion in 'Troubleshooting' started by norweeg, Sep 2, 2014.

  1. norweeg

    norweeg New Member

    Joined:
    Sep 1, 2014
    Messages:
    1
    Likes Received:
    0
    I have been trying to replace an overwhelmed raspberry pi with a Udoo to run a home audio system. The Pi is able to use 8 usb sound cards corresponding to 8 rooms, but is quickly overwhelmed. Plugging the Udoo into the same hubs, Pulseaudio was only able to recognize 6 of the 8 cards despite all 8 of them being listed when running `lsusb`

    I have now taken the Udoo and have it connected to a different hub with 5 sound cards on it. Here's what ALSA sees (aplay -l):
    Code:
    card 0: vt1613audio [vt1613-audio], device 0: HiFi vt1613-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: imxhdmisoc [imx-hdmi-soc], device 0: IMX HDMI TX mxc-hdmi-soc-0 []
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 2: Device [Generic USB Audio Device], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 3: Device_1 [USB PnP Sound Device], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 4: Device_2 [USB PnP Sound Device], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 5: Device_3 [USB PnP Sound Device], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 6: Device_4 [USB PnP Sound Device], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    and here's what Pulseaudio autodetects (pactl list sinks):
    Code:
    Sink #0
    	State: SUSPENDED
    	Name: alsa_output.usb-0d8c_Generic_USB_Audio_Device-00-Device.analog-stereo
    	Description: Audio Adapter (Planet UP-100, Genius G-Talk) Analog Stereo
    	Driver: module-alsa-card.c
    	Sample Specification: s16le 2ch 48000Hz
    	Channel Map: front-left,front-right
    	Owner Module: 0
    	Mute: no
    	Volume: 0:  46% 1:  46%
    	        0: -20.25 dB 1: -20.25 dB
    	        balance 0.00
    	Base Volume: 100%
    	             0.06 dB
    	Monitor Source: alsa_output.usb-0d8c_Generic_USB_Audio_Device-00-Device.analog-stereo.monitor
    	Latency: 0 usec, configured 0 usec
    	Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
    	Properties:
    		alsa.resolution_bits = "16"
    		device.api = "alsa"
    		device.class = "sound"
    		alsa.class = "generic"
    		alsa.subclass = "generic-mix"
    		alsa.name = "USB Audio"
    		alsa.id = "USB Audio"
    		alsa.subdevice = "0"
    		alsa.subdevice_name = "subdevice #0"
    		alsa.device = "0"
    		alsa.card = "2"
    		alsa.card_name = "Generic USB Audio Device"
    		alsa.long_card_name = "Generic USB Audio Device at usb-fsl-ehci.1-1.1, full speed"
    		alsa.driver_name = "snd_usb_audio"
    		device.bus_path = "platform-fsl-ehci.1-usb-0:1.1:1.0"
    		sysfs.path = "/devices/platform/fsl-ehci.1/usb2/2-1/2-1.1/2-1.1:1.0/sound/card2"
    		udev.id = "usb-0d8c_Generic_USB_Audio_Device-00-Device"
    		device.bus = "usb"
    		device.vendor.id = "0d8c"
    		device.vendor.name = "C-Media Electronics, Inc."
    		device.product.id = "000e"
    		device.product.name = "Audio Adapter (Planet UP-100, Genius G-Talk)"
    		device.serial = "0d8c_Generic_USB_Audio_Device"
    		device.string = "front:2"
    		device.buffering.buffer_size = "384000"
    		device.buffering.fragment_size = "192000"
    		device.access_mode = "mmap+timer"
    		device.profile.name = "analog-stereo"
    		device.profile.description = "Analog Stereo"
    		device.description = "Audio Adapter (Planet UP-100, Genius G-Talk) Analog Stereo"
    		alsa.mixer_name = "USB Mixer"
    		alsa.components = "USB0d8c:000e"
    		module-udev-detect.discovered = "1"
    		device.icon_name = "audio-card-usb"
    	Ports:
    		analog-output-speaker: Speakers (priority: 10000)
    	Active Port: analog-output-speaker
    	Formats:
    		pcm
    
    Sink #1
    	State: SUSPENDED
    	Name: alsa_output.platform-soc-audio.analog-stereo
    	Description: vt1613-audio Analog Stereo
    	Driver: module-alsa-card.c
    	Sample Specification: s16le 2ch 48000Hz
    	Channel Map: front-left,front-right
    	Owner Module: 5
    	Mute: no
    	Volume: 0:  50% 1:  50%
    	        0: -18.00 dB 1: -18.00 dB
    	        balance 0.00
    	Base Volume:  63%
    	             -12.00 dB
    	Monitor Source: alsa_output.platform-soc-audio.analog-stereo.monitor
    	Latency: 0 usec, configured 0 usec
    	Flags: HARDWARE HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
    	Properties:
    		alsa.resolution_bits = "16"
    		device.api = "alsa"
    		device.class = "sound"
    		alsa.class = "generic"
    		alsa.subclass = "generic-mix"
    		alsa.name = ""
    		alsa.id = "HiFi vt1613-0"
    		alsa.subdevice = "0"
    		alsa.subdevice_name = "subdevice #0"
    		alsa.device = "0"
    		alsa.card = "0"
    		alsa.card_name = "vt1613-audio"
    		alsa.long_card_name = "vt1613-audio"
    		device.bus_path = "platform-soc-audio"
    		sysfs.path = "/devices/platform/soc-audio/sound/card0"
    		device.string = "hw:0"
    		device.buffering.buffer_size = "65536"
    		device.buffering.fragment_size = "16384"
    		device.access_mode = "mmap+timer"
    		device.profile.name = "analog-stereo"
    		device.profile.description = "Analog Stereo"
    		device.description = "vt1613-audio Analog Stereo"
    		module-udev-detect.discovered = "1"
    		device.icon_name = "audio-card"
    	Ports:
    		analog-output: Analog Output (priority: 9900)
    	Active Port: analog-output
    	Formats:
    		pcm
    
    Where's the rest of them? Why do I only get 2 sinks this time? How can I get it to detect ALL 8 usb cards (I do not wish to use the built in audio, so I'd like to prevent it from loading, if possible. The Pi has a built-in limit of 8 ALSA devices, so pulse cannot detect more than 8. I think this is standard on all systems unless you recompile ALSA)

    Pulseaudio is running as a system daemon (system is headless). Here is the /etc/pulse/system.pa file I use on my Pi that I also tried to use on the Udoo. Works on the pi, does not work on udoo.

    Code:
    #!/usr/bin/pulseaudio -nF
    #
    # This file is part of PulseAudio.
    #
    # PulseAudio is free software; you can redistribute it and/or modify it
    # under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    #
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    # General Public License for more details.
    #
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, write to the Free Software Foundation,
    # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
    
    # This startup script is used only if PulseAudio is started in system
    # mode.
    
    ### Automatically load driver modules depending on the hardware available
    .ifexists module-udev-detect.so
    load-module module-udev-detect
    .else
    ## Use the static hardware detection module (for systems that lack udev/hal support)
    load-module module-detect
    .endif
    
    
    ### Load several protocols
    .ifexists module-esound-protocol-unix.so
    load-module module-esound-protocol-unix
    .endif
    load-module module-native-protocol-unix
    
    ### Automatically restore the volume of streams and devices
    load-module module-stream-restore
    load-module module-device-restore
    load-module module-card-restore
    
    
    ### Automatically augment property information from .desktop files
    ### stored in /usr/share/application
    load-module module-augment-properties
    
    
    ### Automatically restore the default sink/source when changed by the user
    ### during runtime
    ### NOTE: This should be loaded as early as possible so that subsequent modules
    ### that look up the default sink/source get the right value
    load-module module-default-device-restore
    
    .ifexists module-dbus-protocol.so
    ### If you want to allow TCP connections, set access to "remote" or "local,remote".
    load-module module-dbus-protocol access=local,remote
    #load-module module-dbus-protocol
    .endif
    
    ### Automatically move streams to the default sink if the sink they are
    ### connected to dies, similar for sources
    load-module module-rescue-streams
    
    ### Make sure we always have a sink around, even if it is a null sink.
    load-module module-always-sink
    
    ### Automatically suspend sinks/sources that become idle for too long
    load-module module-suspend-on-idle
    
    ### Enable positioned event sounds
    load-module module-position-event-sounds
    
    ### Network access 
    load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/24 auth-anonymous=1
    load-module module-zeroconf-publish
    
    ### Modules to allow autoloading of filters (such as echo cancellation)
    ### on demand. module-filter-heuristics tries to determine what filters
    ### make sense, and module-filter-apply does the heavy-lifting of
    ### loading modules and rerouting streams.
    load-module module-filter-heuristics
    load-module module-filter-apply
    
     

Share This Page