Le pseudo-système de fichiers /sys contient une arborescence de répertoires renfermant des information sur votre matériel. Les données sont typiquement le nom du périphérique, le fabricant et/ou le numéro identificateur.
Notez aussi que les clefs de type SYSFS{...} peuvent être combinées avec les clefs de bases.
Si vous avez branché un appareil photo USB, un fichier sera créé dans /sys/block/sda/device/model/ contenant par exemple ``USB 2.0M DSC''. La clef SYSFS sera donc: SYSFS{model} = "USB 2.0M DSC". [Notez que tout fichier dans /sys peut être l'objet d'une correspondance selon cette méthode. Cependant, si vous établissez une correspondance sur plus d'un fichier en utilisant des clefs multiples, vous ne pourrez effectuer des correspondances que dans un même répertoire alors qu'il est fréquent que plusieurs répertoires soient dévolus à un périphérique.]
Naturellement, l'établissement de règles ne se fait pas en parcourant manuellement les fichiers de /sys. C'est ici qu'intervient l'utilitaire udevinfo associé à votre paquet udev.
La première action à mener consiste à trouver un répertoire de /sys
qui corresponde à votre périphérique (un fichier du type /dev/...).
La recherche ne doit se faire que dans /sys/block
ou /sys/class. Alors, udevinfo
suivra les liens symboliques vers d'autres répertoires. Lorsque vous
avez trouvé le répertoire adéquat, vous pouvez lancer udevinfo.
Supposons que vous venez de brancher une clé USB. Le noeud /dev/sda
est créé. Exécutez:
udevinfo -q path -n /dev/sda
|
/block/sda
|
udevinfo -a -p /sys/block/sda
|
udevinfo -a -p `udevinfo -q path -n
/dev/sda`
|
follow the class device's "device"
looking at the device chain at '/sys/devices/pci0000:00/0000:00:02.1 \ /usb3/3-3/3-3:1.0/host0/0:0:0:0': BUS="scsi" ID="0:0:0:0" SYSFS{detach_state}="0" SYSFS{type}="0" SYSFS{max_sectors}="240" SYSFS{device_blocked}="0" SYSFS{queue_depth}="1" SYSFS{scsi_level}="3" SYSFS{vendor}=" " SYSFS{model}="USB 2.0M DSC " SYSFS{rev}="1.00" SYSFS{online}="1" looking at the device chain at '/sys/devices/pci0000:00/0000:00:02.1/usb3/3-3': BUS="usb" ID="3-3" SYSFS{detach_state}="0" SYSFS{bNumInterfaces}=" 1" SYSFS{bConfigurationValue}="1" SYSFS{bmAttributes}="c0" SYSFS{bMaxPower}=" 0mA" SYSFS{idVendor}="052b" SYSFS{idProduct}="1514" SYSFS{bcdDevice}="0100" SYSFS{bDeviceClass}="00" SYSFS{bDeviceSubClass}="00" SYSFS{bDeviceProtocol}="00" SYSFS{bNumConfigurations}="1" SYSFS{speed}="12" SYSFS{manufacturer}="Tekom Technologies, Inc" SYSFS{product}="USB 2.0M DSC" |
BUS="scsi", SYSFS{manufacturer}="Tekom
Technologies, Inc", NAME="%k"
|
BUS="usb",
SYSFS{manufacturer}="Tekom Technologies,
Inc", NAME="%k"
|