1

У меня есть несколько веб-камер USB, но, к сожалению, у них нет серийных номеров. Поэтому при загрузке они имеют тенденцию переключать имена файлов устройств.

Так как они всегда будут в одном и том же порту usb, я хочу создать правило, основанное на этом. Но это с треском проваливается.

Вот что я попробовал до сих пор:

# /sys/bus/usb/devices/2-5.1:1.1/uevent
#SUBSYSTEM=="usb", SYSFS{idVendor}=="05e1", SYSFS{idProduct}=="0408", PLACE=="2-5.1", NAME="video98"
#SUBSYSTEM=="usb", PLACE=="2-5.1", NAME="video98"
#SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devnum}="009", ATTR{idVendor}="05e1", NAME="video98"
SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devpath}="/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1", ATTR{idVendor}="05e1", NAME="video98"

# /sys/bus/usb/devices/2-5.3:1.1/uevent
#SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devnum}="010", ATTR{idVendor}="05e1", NAME="video99"
SUBSYSTEM=="usb", ATTR{busnum}="002", ATTR{devpath}="/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.3", ATTR{idVendor}="05e1", NAME="video99"

Так что да, я сделал несколько попыток. Я видел, что devnum также изменяется при загрузке, поэтому я не хочу использовать это.

На самом деле я просто хочу использовать «2-5.3» и «2-5.1». Это всегда одно и то же. Но как?

1 ответ1

0

Я сделал почти точно это раньше, как ни странно. У меня были внешние жесткие диски, но они не должны отличаться для USB-камер. Я использовал адреса шины SCSI для портов, которые работали хорошо.

Я получил свою информацию, используя lsscsi , которая напишет что-то вроде следующего для USB-устройства:

[2:0:0:0] disk <descriptor> <dev name>

Тогда что-то подобное следующее правило должно делать то, что вы хотите:

SUBSYSTEM=="usb", KERNEL=="sd*1", KERNELS=="2:0:0:0", SYMLINK+="<label_1>"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .