udev ignore_device не будет работать, если устройство уже подключено

Я не был уверен, что это правильный сайт для размещения этого вопроса, но я разместил его здесь, поскольку это своего рода вопрос по программированию, и я полагал, что толпа SO была наиболее ориентированной на Linux из трех сайтов.

В любом случае, я пытаюсь найти способ имитировать отключение устройства с точки зрения программного обеспечения, как если бы пользователь физически отключил его. До сих пор я создал правило udev в файле /etc/udev/rules.d под названием 10-nano.rules:

SYSFS{idVendor}=="05ac", OPTIONS+="ignore_device"

Это правило отлично работает для игнорирования устройств, но только после их отключения и повторного подключения. Но я хочу иметь возможность написать правило, а затем игнорировать устройство, как если бы оно было отключено. Я пробовал «udevadm trigger» с sudo и без него, но по какой-то причине я не могу применить это правило, пока устройство подключено. Какие-либо предложения?

Кстати, я могу повторно подключить устройство, которое было проигнорировано, удалив 10-nano.rules, а затем запустив «sudo udevadm trigger», но, как сказано выше, не наоборот. (по какой-то причине мое системное время и интернет сбиваются, когда я запускаю эту команду)


person Cory Walker    schedule 16.09.2009    source источник
comment
ignore_device больше не поддерживается   -  person sphakka    schedule 29.11.2017


Ответы (1)


Вы пробовали rmmod модуль, управляющий устройством?

Вы также можете имитировать события удаления с помощью udevadm test, p.e:

sudo udevadm test --action="remove" <devpath>

Вы можете увидеть, как пути разработки обращаются к udevadm monitor при физическом подключении или удалении устройства, или проверить их в /sys/<devpath>.

person Jaime Soriano    schedule 07.10.2009