[pulseaudio-discuss] Naming USB card sources with same vendor/product/serial id

Miguel Paolino mpaolino at gmail.com
Wed Nov 30 13:00:19 UTC 2016

I'm replying to myself for others that may have this issue in the future.

I've looked at the pulseaudio source and found a solution, It can be done
with udev, here is a complete udev rules file to make it happen.


Any comments/improvements are welcome.

On Tue, Nov 29, 2016 at 6:20 PM, Miguel Paolino <mpaolino at gmail.com> wrote:

> Hi all,
> I have several USB cards, cheap ones, all have the same vendor, product
> and serial id. The cards are all assigned different names using udev rules
> based on the usb port they are plugged in.
> $ cat /proc/asound/cards:
> ...
>  1 [MyCard1     ]: USB-Audio - USB Audio Device
>                       GeneralPlus USB Audio Device at
> usb-0000:00:1d.0-1.3.5, full speed
>  2 [MyCard2     ]: USB-Audio - USB Audio Device
>                       GeneralPlus USB Audio Device at
> usb-0000:00:1d.0-1.3.7, full speed
> The problem I'm having is that I cannot get a reliable config that allows
> me to name and use the sources of these cards with libpulseaudio. If I use
> module-udev card and source naming depends on the order they are plugged in
> like:
> alsa_input.usb-GeneralPlus_USB_Audio_Device-00.analog-mono.0
> alsa_input.usb-GeneralPlus_USB_Audio_Device-00.analog-mono.2
> The closest I could get was configuring the sources statically using
> module-alsa-source naming them with the 'name' argument and using
> device=hw:MyCard[1,2].
> This works but the problem is if I unplug one of the cards and I need to
> plug it again and restart pulseaudio because the moment the card is
> unplugged pulseaudio unloads the module. The only way to get it working
> again is restarting, and if I don't plug the card back pulseaudio refuses
> to start because the system is missing a card that's in the config. This
> of course have the additional and most important inconvenience of
> cancelling any audio capture I might be doing using the other cards.
> I tried all sorts of things with udev trying to accomplish this using only
> module-udev and I failed miserably.
> Is there a way to accomplish what I want?
> I'm using:
> pulseaudio 9.0
> udev 231
> kernel 4.8.0
> Thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20161130/1013834a/attachment.html>

More information about the pulseaudio-discuss mailing list