Preciso obter o título do dispositivo USB conectado. Eu posso fazer isso com lsusb.
O udev permite algumas substituições quando escrevo regras: digamos, podemos usar $kernelpara obter o nome do dispositivo ou $devpathpara encontrar o caminho para o dispositivo.
Mas o problema é que lsusbretorna uma string assim:
Bus 005 Device 032: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Mas o devpath do udev é:
/devices/pci0000:00/0000:00:1d.0/usb5/5-2
O número do barramento é o mesmo ( 5), mas os números são diferentes: Device 032parece ser um número lógico (quando reconecto o dispositivo, esse número aumenta) e 2parece ser o número físico do dispositivo.
Então o udev retorna o número físico e preciso obter o número lógico. Então, eu posso recuperar dados como este:lsusb -D /dev/bus/usb/005/032
Então, como posso obter o número do dispositivo lógico 032por caminho físico /devices/pci0000:00/0000:00:1d.0/usb5/5-2?
udevvs.lsusbesys/devices/..vs./dev/bus/usb/..e, a julgar pela sua resposta, você parece ter conhecimento :) Talvez você possa lançar alguma luz sobre essas duas perguntas? askubuntu.com/questions/342061/power-on-off-usb-ports e askubuntu.com/questions/498950/...