Я работаю над настройкой системы, в которой я хочу, чтобы определенные устройства всегда назывались одинаково, когда они подключены к определенным портам. Первоначально я установил файл правил udev с устройствами, подключенными непосредственно к компьютеру. Поэтому у меня были такие правила, как:
ACTION=="add", KERNEL=="<namePattern>", KERNELS=="7-3", SYMLINK+="<newName>"
, где 7-3
указывал определенный порт USB на карте PCI в компьютере (я вычислил номера для каждого порта, используя dmesg
или udevadm info -q path -n <deviceName>
).
Однако теперь мне нужно подключить устройства к USB-концентратору, чтобы они были дальше от компьютера. Когда я подключаю USB-концентратор к тому же порту, он отображается под номером 4-5
вместо 7-3
, что меня смущает. Таким образом, устройства, подключенные к концентратору, заканчиваются номерами, такими как 4-5.2
вместо 7-3.2
, как я и ожидал.
Как я понимаю, первое число перед тире указывает, к какой шине USB подключено устройство, в то время как строка цифр после тире указывает номер порта для каждого последующего концентратора, к которому подключено устройство. Поэтому для меня не имеет смысла, почему эти цифры внезапно меняются на 4-5
, когда я подключаю концентратор, когда они всегда были 7-3
для всего остального, что я подключил к этому порту. Я ожидаю, что прежние числа останутся прежними, но с дополнительным номером порта, прикрепленным к концу, чтобы указать, что он проходит через другой USB-концентратор.
Учитывая, что первый концентратор пронумерован 4-5
, нумерация действительно соответствует моим ожиданиям, когда я подключаю последовательно второй концентратор. Я получаю устройства с номерами, такими как 4-5.2.x
или 4-5.3.x
, в зависимости от того, какой порт на Первый концентратор, в который я подключаю второй. Таким образом, часть 4-5
остается прежней, а номера портов на первом и втором концентраторах привязываются.
Мне интересно, почему первый концентратор отображается с номером 4-5
вместо 7-3
, как и все остальные, подключенные к этому порту? Очевидно, мне не хватает понимания того, как работает нумерация в разных ситуациях.
Обновление: Я немного поигрался с системой, и оказалось, что странное перенумерация происходит только тогда, когда я подключаю USB-концентратор к одному из портов на PCI-карте ]. Когда я подключаю его к портам на материнской плате (или на передней панели компьютера, который в любом случае просто переходит к mobo), он сохраняет те же цифры, что и ожидал. Я до сих пор не понимаю, почему это происходит даже с картой PCI, но, по крайней мере, перенумерация выглядит последовательной. Таким образом, я все еще могу установить правила, которые будут работать. Если у кого-то есть хорошая интуиция в отношении того, что происходит, мне все равно любопытно понять, что происходит.