udev ignore_device не будет работать, если устройство уже подключено - PullRequest
3 голосов
/ 16 сентября 2009

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

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

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

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

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

1 Ответ

1 голос
/ 07 октября 2009

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

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

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

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

...