J'ai besoin d'obtenir le titre du périphérique USB connecté. Je peux le faire avec lsusb.
udev autorise certaines substitutions lorsque j'écris des règles: disons, nous pouvons utiliser $kernelpour obtenir le nom du périphérique, ou $devpathpour obtenir le chemin vers le périphérique.
Mais le problème est que lsusbrenvoie une chaîne comme ça:
Bus 005 Device 032: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Mais le devpath d'udev est:
/devices/pci0000:00/0000:00:1d.0/usb5/5-2
Le numéro de bus est le même ( 5), mais les numéros sont différents: Device 032semble être un certain nombre logique (lorsque je reconnecte le périphérique, ce nombre augmente), et 2semble être le numéro du périphérique physique.
Donc, udev renvoie un nombre physique, et j'ai besoin d'obtenir un nombre logique. Ensuite, je peux récupérer des données comme ceci:lsusb -D /dev/bus/usb/005/032
Alors, comment puis-je obtenir le numéro de périphérique logique 032par un chemin physique comme /devices/pci0000:00/0000:00:1d.0/usb5/5-2?
udevvslsusbetsys/devices/..vs/dev/bus/usb/..et à en juger par votre réponse, vous semblez être au courant :) Peut-être pouvez-vous éclairer ces deux questions? askubuntu.com/questions/342061/power-on-off-usb-ports et askubuntu.com/questions/498950/…