udev ignore_device ne fonctionnera pas si le périphérique est déjà connecté

StackOverflow https://stackoverflow.com/questions/1430340

  •  07-07-2019
  •  | 
  •  

Question

Je ne savais pas vraiment si c’était le bon site pour poser cette question, mais je le pose ici car c’est une question de programmation et j’imaginais que la foule de SO était la plus orientée Linux des trois sites .

Quoi qu'il en soit, j'essaie de trouver un moyen de simuler la déconnexion d'un périphérique d'un aspect logiciel, comme si un utilisateur le déconnectait physiquement. Jusqu'ici, j'ai créé une règle udev dans /etc/udev/rules.d appelée 10-nano.rules:

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

Cette règle fonctionne correctement pour ignorer les périphériques, mais uniquement après qu'ils ont été déconnectés et reconnectés. Mais ce que je veux faire, c'est pouvoir écrire la règle, puis ignorer le périphérique comme s'il était déconnecté. J'ai essayé & "; Udevadm trigger &"; avec et sans sudo, mais pour une raison quelconque, je ne peux pas appliquer cette règle tant que l'appareil est connecté. Des suggestions?

À propos, je peux reconnecter un périphérique qui a été ignoré en supprimant 10-nano.rules, puis en exécutant & "sudo udevadm trigger &"; mais comme indiqué ci-dessus, inverse. (pour une raison quelconque, mon temps système et Internet se foiré quand je lance cette commande si)

Était-ce utile?

La solution

Avez-vous essayé de rmmod choisir le module qui contrôle le périphérique?

Vous pouvez également simuler la suppression d'événements avec udevadm test, p.e:

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

Vous pouvez voir comment les devpath se tournent vers udevadm monitor lors de la connexion physique ou de la suppression d'un périphérique, ou les vérifier dans /sys/<devpath>.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top