Bonjour à tous,
J'ai réussi à détecter mon matériel par un port USB à l'aide la lib udev sous Linux.
En utilisant la fonction :
udev_monitor_filter_add_match_subsystem_devtype (struct udev_monitor *udev_monitor,
const char *subsystem,
const char *devtype);
Le souci c'est que je ne sais pas à quoi correspond "subsystem" et "devtype". J'aimerais mettre un filtre seulement pour le matériel que j'utilise et non pour tous les périphériques USB (avec "subsystem" = "usb" et "devtype" = "usb_device").
Je pensais sinon utiliser la fonction :
udev_monitor_filter_add_match_tag (struct udev_monitor *udev_monitor,
const char *tag);
J'ai cherché à quoi pouvait correspondre tag mais je n'ai pas eu de réponse bien précise.
Merci d'avance
# Doc d'udev
Posté par godzom . Évalué à 1.
As-tu pensé à regarder du côté de cette documentation : http://doc.ubuntu-fr.org/udev
C'est plutôt bien foutu, et ça explique assez simplement les concepts d'udev du genre subsystem et devtype ;-)
En particulier regarde du côté de la commande udevadm qui devrait te donner le subsystem et le devtype de ton périphérique
Bonne lecture!
[^] # Re: Doc d'udev
Posté par electro575 . Évalué à 1.
Oui j'ai lu cette page mais pas entièrement.
L'outil udevadm est bien utile.
Je connais déjà le subsystem et le devtype de mon appareil grâce à un programme, je cherche plutôt à mettre un TAG ou alors créer un groupe dans le .rules afin de noter plusieurs périphériques particuliers dont j'aimerais noter les caractéristiques dans mon interface.
Pour le TAG j'ai :
udev_monitor_filter_add_match_tag (struct udev_monitor *udev_monitor, const char *tag);
Pour Subsystem et Devtype j'ai :
udev_monitor_filter_add_match_subsystem_devtype (struct udev_monitor *udev_monitor, const char *subsystem, const char *devtype);
Avec d'autres paramètres je ne peux rien faire. Comme ajouter un groupe je ne sais pas si ça va changer Devtype par exemple…
Voila le lien de la libudev : libudev
[^] # Re: Doc d'udev
Posté par electro575 . Évalué à 1.
Je pensais peut être qu'avec la description suivante, que je puisse utiliser la fonction udev_monitor_filter_add_match_tag(struct udev_monitor *udev_monitor, const char *tag);
TAG : Attach a tag to a device. This is used to filter events for users of libudev's monitor functionality, or to enumerate a group of tagged devices. The implementation can only work efficiently if only a few tags are attached to a device. It is only meant to be used in contexts with specific device filter requirements, and not as a general-purpose flag. Excessive use might result in inefficient event handling.
Par contre, j'aurais dit comme ceci la syntaxe mais je ne suis pas sur :
ATTRS{idVendor}=="", ATTRS{idProduct}=="", SYMLINK+="", TAG:="essai", MODE:=""
Liens :
LibUdev
Syntaxe_rules
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.