Я писал правило udev, которое использует ID_PATH, просто чтобы сделать устройство устойчивым к порту, в который оно вставлено.

Так вот что у меня есть

  KERNEL=="ttyUSB?",SUBSYSTEM=="tty",ENV{ID_BUS}=="usb",ENV{ID_PATH}=="pci-0000:00:12.0-usb-0:1:1.0",SYMLINK="bla"

Первоначально файл называется 52-foo.rules, и он не работает. Я переименовал его в 81-foo.rules и он отлично работает.

Это как значения ENV {} действительны только в том случае, если число достаточно велико. Может кто-нибудь объяснить, почему это так?

Спасибо,

1 ответ1

2

Возможно, ваше правило перезаписывается другим правилом. Так как правила с более высоким номером выполняются последними, они не перезаписываются при использовании большего числа.

< 60  most user rules; if you want to prevent an assignment being
overriden by default rules, use the := operator.

these cannot access persistent information such as that from
vol_id

< 70  rules that run helpers such as vol_id to populate the udev db

< 90  rules that run other programs (often using information in the
udev db)

>=90  rules that should run last

Проверьте это

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