Альтернатива использованию команды udevadm

У меня есть скрипт, который использует команду udevadm чтобы получить информацию об устройстве / dev, необходима информация для моего скрипта ID_SERIAL значение, потому что я хочу отфильтровать tty's устройства, представляющие определенный продукт, подключенный к порту USB. Проблема в том, что версия udevadm для udevm, присутствующего в среде, 128 и эта версия udevadm нет запроса property доклад доступны. Как я могу фильтровать устройство, подключенное к USB-портам другим способом?

РЕДАКТИРОВАТЬ 1Command.sh

#!/bin/bash

for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev);do
    (syspath="${sysdevpath%/dev}";
     echo "syspath = $syspath";
     devname="$(udevadm info -q name -p $syspath)";
     [[ "$devname" == "bus/"* ]]&& continue;
     echo "Passou";
     eval "$(udevadm info -q property --export -p $syspath)";
     [[ -z "$ID_SERIAL" ]] && continue;
     temporario=${ID_SERIAL,,};
     if [[ $temporario == *"ManufacturerName"* ]];
     then 
        echo "/dev/$devname";
     fi);
done;

1 ответ

Не проще ли использовать вывод dmesg? Когда я подключаю свой последовательный порт, я получаю этот вывод:

[332144.226566] usb 1-2.1.2: new full-speed USB device number 6 using ehci-pci
[332144.302766] usb 1-2.1.2: New USB device found, idVendor=067b, idProduct=2303
[332144.302770] usb 1-2.1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[332144.512664] usbcore: registered new interface driver usbserial
[332144.512679] usbcore: registered new interface driver usbserial_generic
[332144.512691] usbserial: USB Serial support registered for generic
[332144.522042] usbcore: registered new interface driver pl2303
[332144.522060] usbserial: USB Serial support registered for pl2303
[332144.522090] pl2303 1-2.1.2:1.0: pl2303 converter detected
[332144.523681] usb 1-2.1.2: pl2303 converter now attached to ttyUSB0

Последняя строка упоминает ttyUSB0и вы можете связать это с 1-2.1.2 если вы хотите идентифицировать событие удаления тоже:

[332342.342682] usb 1-2.1.2: USB disconnect, device number 6
[332342.342891] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[332342.342903] pl2303 1-2.1.2:1.0: device disconnected

Другой возможностью было бы использовать inotify Система, где вы можете получить уведомление, когда диск подключен. Ознакомьтесь с этой статьей о том, как использовать систему.

Другие вопросы по тегам