Em geral, qualquer dispositivo conectado obtém alguns nós correspondentes em SYSFS /sys
, alguns adicionam outros nós em /dev
.
-
Usando o sysfs:
-
Monitore os eventos do udev
sudo udevadm monitor
-
Conecte seu dispositivo e observe a saída de comando anterior, por exemplo
monitor will print the received events for: UDEV - the event which udev sends out after rule processing KERNEL - the kernel uevent KERNEL[5797.642807] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4 (usb) KERNEL[5797.643604] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0 (usb) UDEV [5797.659463] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4 (usb) UDEV [5798.753894] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0 (usb)
Portanto, no formato
bus-port.port:config.interface
, consulte referência : ônibus: 2, porta 1 ( hub raiz), Porta: 4 (porta usb externa), Config: 1 (dispositivo conectado), Interface: 0O nome completo da porta USB é
2-1.4
. -
Para verificar seus atributos:
udevadm info -a /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4
Ou o dispositivo (essa porta é o nó pai dele)
udevadm info -a /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0
-
-
Usando
/dev
:Telefone Android como um modem, cria uma porta serial em
/dev
. Para conhecer o novo dispositivo conectado, consulte Como permitir o acesso de software a qualquer dispositivo USB?udevadm info -a /dev/ttyACM0
-
Outra maneira de obter port é
dmesg
ou:tail -f /var/log/kernel.log
Em seguida, use o número da porta para KERNELS=="2-1.4"
ou KERNELS=="2-1.4:1.[0-9]*"
Referências: