How can I force my pci card usb bus numbers to stay the same after reboot?












1















I have a few identical usb sound cards and wrote a udev rule so they each get a persistent name matching the specific port they are attached to. Now I added a pci usb 3.0 card and that is playing around with usb bus numbers. sometimes the pci usb gets loaded before the built-in usb and has a lower bus number and sometimes after and gets a higher bus number.



What can I do to force the bus numbers of the built-in and pci card?



If that can't work what can I do to get persistent device names for identical (and without serial numbers) usb devices where the only difference is the port they are attached to?



~ $ uname -srvmpio
Linux 4.19.0-0.bpo.1-amd64 #1 SMP Debian 4.19.12-1~bpo9+1 (2018-12-30) x86_64 unknown unknown GNU/Linux


Edit (added different outputs of lsusb -t)
buses 9 and 10 can swap with 5 and 6 seemingly randomly.
added pci usb3.0 card shows up as 5 and 6 in the first output and 9 and 10 in the second.
Sometimes the setup is:



/:  Bus 10.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 3, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M


And othertimes, without hardware change, after reboot it can be:



/:  Bus 10.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M









share|improve this question















migrated from unix.stackexchange.com Jan 20 at 13:25


This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.



















  • Adding your operating system would help you get an answer. Please edit the question and add the correct tag.

    – DavidPostill
    Jan 20 at 13:27











  • First idea is to modify the udev rules to identify built-in USB root hubs, and use the USB port structure (lsusb -t) once you matched the hub. udevadm helps to identify attributes you want to match against.

    – dirkt
    Jan 20 at 17:11











  • I don't understand what you want me to do. I was (am) asking how to use udev to give permanent structure to the usb hubs and ports.

    – FoxSam12
    Jan 22 at 2:05











  • superuser.com/q/360336/192715

    – Alex P.
    Jan 22 at 4:04











  • @AlexP. That is different. I am having an issue because the devices are getting different paths after reboot even without hardware changes. I will update my question with different lsusb -t output.

    – FoxSam12
    Jan 22 at 4:13
















1















I have a few identical usb sound cards and wrote a udev rule so they each get a persistent name matching the specific port they are attached to. Now I added a pci usb 3.0 card and that is playing around with usb bus numbers. sometimes the pci usb gets loaded before the built-in usb and has a lower bus number and sometimes after and gets a higher bus number.



What can I do to force the bus numbers of the built-in and pci card?



If that can't work what can I do to get persistent device names for identical (and without serial numbers) usb devices where the only difference is the port they are attached to?



~ $ uname -srvmpio
Linux 4.19.0-0.bpo.1-amd64 #1 SMP Debian 4.19.12-1~bpo9+1 (2018-12-30) x86_64 unknown unknown GNU/Linux


Edit (added different outputs of lsusb -t)
buses 9 and 10 can swap with 5 and 6 seemingly randomly.
added pci usb3.0 card shows up as 5 and 6 in the first output and 9 and 10 in the second.
Sometimes the setup is:



/:  Bus 10.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 3, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M


And othertimes, without hardware change, after reboot it can be:



/:  Bus 10.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M









share|improve this question















migrated from unix.stackexchange.com Jan 20 at 13:25


This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.



















  • Adding your operating system would help you get an answer. Please edit the question and add the correct tag.

    – DavidPostill
    Jan 20 at 13:27











  • First idea is to modify the udev rules to identify built-in USB root hubs, and use the USB port structure (lsusb -t) once you matched the hub. udevadm helps to identify attributes you want to match against.

    – dirkt
    Jan 20 at 17:11











  • I don't understand what you want me to do. I was (am) asking how to use udev to give permanent structure to the usb hubs and ports.

    – FoxSam12
    Jan 22 at 2:05











  • superuser.com/q/360336/192715

    – Alex P.
    Jan 22 at 4:04











  • @AlexP. That is different. I am having an issue because the devices are getting different paths after reboot even without hardware changes. I will update my question with different lsusb -t output.

    – FoxSam12
    Jan 22 at 4:13














1












1








1


0






I have a few identical usb sound cards and wrote a udev rule so they each get a persistent name matching the specific port they are attached to. Now I added a pci usb 3.0 card and that is playing around with usb bus numbers. sometimes the pci usb gets loaded before the built-in usb and has a lower bus number and sometimes after and gets a higher bus number.



What can I do to force the bus numbers of the built-in and pci card?



If that can't work what can I do to get persistent device names for identical (and without serial numbers) usb devices where the only difference is the port they are attached to?



~ $ uname -srvmpio
Linux 4.19.0-0.bpo.1-amd64 #1 SMP Debian 4.19.12-1~bpo9+1 (2018-12-30) x86_64 unknown unknown GNU/Linux


Edit (added different outputs of lsusb -t)
buses 9 and 10 can swap with 5 and 6 seemingly randomly.
added pci usb3.0 card shows up as 5 and 6 in the first output and 9 and 10 in the second.
Sometimes the setup is:



/:  Bus 10.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 3, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M


And othertimes, without hardware change, after reboot it can be:



/:  Bus 10.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M









share|improve this question
















I have a few identical usb sound cards and wrote a udev rule so they each get a persistent name matching the specific port they are attached to. Now I added a pci usb 3.0 card and that is playing around with usb bus numbers. sometimes the pci usb gets loaded before the built-in usb and has a lower bus number and sometimes after and gets a higher bus number.



What can I do to force the bus numbers of the built-in and pci card?



If that can't work what can I do to get persistent device names for identical (and without serial numbers) usb devices where the only difference is the port they are attached to?



~ $ uname -srvmpio
Linux 4.19.0-0.bpo.1-amd64 #1 SMP Debian 4.19.12-1~bpo9+1 (2018-12-30) x86_64 unknown unknown GNU/Linux


Edit (added different outputs of lsusb -t)
buses 9 and 10 can swap with 5 and 6 seemingly randomly.
added pci usb3.0 card shows up as 5 and 6 in the first output and 9 and 10 in the second.
Sometimes the setup is:



/:  Bus 10.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 3, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M


And othertimes, without hardware change, after reboot it can be:



/:  Bus 10.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 3: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 1: Dev 2, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 2: Dev 3, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M






linux usb udev






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 22 at 4:22







FoxSam12

















asked Jan 13 at 22:12









FoxSam12FoxSam12

63




63




migrated from unix.stackexchange.com Jan 20 at 13:25


This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.









migrated from unix.stackexchange.com Jan 20 at 13:25


This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.















  • Adding your operating system would help you get an answer. Please edit the question and add the correct tag.

    – DavidPostill
    Jan 20 at 13:27











  • First idea is to modify the udev rules to identify built-in USB root hubs, and use the USB port structure (lsusb -t) once you matched the hub. udevadm helps to identify attributes you want to match against.

    – dirkt
    Jan 20 at 17:11











  • I don't understand what you want me to do. I was (am) asking how to use udev to give permanent structure to the usb hubs and ports.

    – FoxSam12
    Jan 22 at 2:05











  • superuser.com/q/360336/192715

    – Alex P.
    Jan 22 at 4:04











  • @AlexP. That is different. I am having an issue because the devices are getting different paths after reboot even without hardware changes. I will update my question with different lsusb -t output.

    – FoxSam12
    Jan 22 at 4:13



















  • Adding your operating system would help you get an answer. Please edit the question and add the correct tag.

    – DavidPostill
    Jan 20 at 13:27











  • First idea is to modify the udev rules to identify built-in USB root hubs, and use the USB port structure (lsusb -t) once you matched the hub. udevadm helps to identify attributes you want to match against.

    – dirkt
    Jan 20 at 17:11











  • I don't understand what you want me to do. I was (am) asking how to use udev to give permanent structure to the usb hubs and ports.

    – FoxSam12
    Jan 22 at 2:05











  • superuser.com/q/360336/192715

    – Alex P.
    Jan 22 at 4:04











  • @AlexP. That is different. I am having an issue because the devices are getting different paths after reboot even without hardware changes. I will update my question with different lsusb -t output.

    – FoxSam12
    Jan 22 at 4:13

















Adding your operating system would help you get an answer. Please edit the question and add the correct tag.

– DavidPostill
Jan 20 at 13:27





Adding your operating system would help you get an answer. Please edit the question and add the correct tag.

– DavidPostill
Jan 20 at 13:27













First idea is to modify the udev rules to identify built-in USB root hubs, and use the USB port structure (lsusb -t) once you matched the hub. udevadm helps to identify attributes you want to match against.

– dirkt
Jan 20 at 17:11





First idea is to modify the udev rules to identify built-in USB root hubs, and use the USB port structure (lsusb -t) once you matched the hub. udevadm helps to identify attributes you want to match against.

– dirkt
Jan 20 at 17:11













I don't understand what you want me to do. I was (am) asking how to use udev to give permanent structure to the usb hubs and ports.

– FoxSam12
Jan 22 at 2:05





I don't understand what you want me to do. I was (am) asking how to use udev to give permanent structure to the usb hubs and ports.

– FoxSam12
Jan 22 at 2:05













superuser.com/q/360336/192715

– Alex P.
Jan 22 at 4:04





superuser.com/q/360336/192715

– Alex P.
Jan 22 at 4:04













@AlexP. That is different. I am having an issue because the devices are getting different paths after reboot even without hardware changes. I will update my question with different lsusb -t output.

– FoxSam12
Jan 22 at 4:13





@AlexP. That is different. I am having an issue because the devices are getting different paths after reboot even without hardware changes. I will update my question with different lsusb -t output.

– FoxSam12
Jan 22 at 4:13










0






active

oldest

votes











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1396303%2fhow-can-i-force-my-pci-card-usb-bus-numbers-to-stay-the-same-after-reboot%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Super User!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1396303%2fhow-can-i-force-my-pci-card-usb-bus-numbers-to-stay-the-same-after-reboot%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Plaza Victoria

In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...