Как узнать, какое устройство USB-RS232 подключено к какому терминалу?

У меня есть два разных USB-устройства на основе те же микросхемы USB-RS232. Когда я подключаю их к USB, они подключаются к /dev/ttyUSB0...3

. Моя проблема в том, как внутри сценария я могу узнать, какой из них на каком tty?

Используя lsusb, я могу различить их:

$> lsusb | grep 0403:f850
Bus 004 Device 002: ID 0403:f850 Future Technology Devices International, Ltd
$> lsusb | grep 0403:6001
Bus 004 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

И используя dmesg, я могу сказать, где они были смонтированы:

$> dmesg | grep 'FTDI USB Serial Device converter now attached'
[36051.393350] usb 4-2: FTDI USB Serial Device converter now attached to ttyUSB1
[36061.823513] usb 4-1: FTDI USB Serial Device converter now attached to ttyUSB0

Но «usb 4-1», похоже, не соответствует «Bus 004 Device 002».

Могу ли я предположить, что «Bus 004 Device 001» всегда будет «корневым концентратором USB», и поэтому dmesg будет считать с 1 и далее, а lsusb - с 2 и далее?

Или у вас есть другое предложение, как связать устройства ID точки монтирования (внутри скрипта)?

Я использую Ubuntu 10.04 LTS.

25
задан Joe 7 February 2012 в 21:34
поделиться