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/20161129/4df29f38/attachment-0001.html>