<div>Hello,<br></div><div><br></div><div>I am using ubuntu studio 19.04 and I have a 16 port powered usb hub and 16 usb sound cards.<br></div><div><br></div><div>This much works fine - they are all listed when i type 'aplay -l' and i can get sound out of each of them. <br></div><div><br></div><div>The issue is that the usb devices don't always load in the same order so following instructions from this site (<a href="https://alsa.opensrc.org/Udev">https://alsa.opensrc.org/Udev</a>) I am attempting to write a UDEV rule to give them a unique / static ID based on which port (DEVPATH) they are plugged into.   My udev rule looks like this:</div><div><br></div><div><div>SUBSYSTEM!="sound", GOTO="my_usb_audio_end"<br></div><div>ACTION!="add", GOTO="my_usb_audio_end"<br></div><div><div><br></div></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.4/1-1.2.3.4:1.0/sound/card?", ATTR{id}="USB_1"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.3/1-1.2.3.3:1.0/sound/card?", ATTR{id}="USB_2"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.2/1-1.2.3.2:1.0/sound/card?", ATTR{id}="USB_3"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.1/1-1.2.3.1:1.0/sound/card?", ATTR{id}="USB_4"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.1/1-1.2.4.1:1.0/sound/card?", ATTR{id}="USB_5"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.2/1-1.2.4.2:1.0/sound/card?", ATTR{id}="USB_6"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.3/1-1.2.4.3:1.0/sound/card?", ATTR{id}="USB_7"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4:1.0/sound/card?", ATTR{id}="USB_8"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.2/1-1.2.1.2:1.0/sound/card?", ATTR{id}="USB_9"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.1/1-1.2.1.1:1.0/sound/card?", ATTR{id}="USB_10"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.3/1-1.2.1.3:1.0/sound/card?", ATTR{id}="USB_11"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.3/1-1.2.4.3:1.0/sound/card?", ATTR{id}="USB_12"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4:1.0/sound/card?", ATTR{id}="USB_13"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.2/1-1.2.1.2:1.0/sound/card?", ATTR{id}="USB_14"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.1/1-1.2.1.1:1.0/sound/card?", ATTR{id}="USB_15"<br></div><div>DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1.3/1-1.2.1.3:1.0/sound/card?", ATTR{id}="USB_16"<br></div><div><div><br></div></div><div>LABEL="my_usb_audio_end"<br></div><div><div><br></div></div><div>and this sort of works, but only for the first 9 usb devices I plug in. <br></div></div><div><br></div><div>The strange thing is that it doesn't matter which 9 - I can plug any of the 16 cards into any of the 16 ports and the first 9 will always follow the udev naming rule, but after that it reverts to the default naming scheme.<br></div><div><br></div><div>Can anyone help me understand why this might be happening?<br></div><div><br></div><div>Many thanks<br></div><div><br></div><div><br></div><div><br></div>