lsusbの出力を/ dev / ttyUSB *の名前と一致させる方法を見つけたいです。

lsusbの出力を/ dev / ttyUSB *の名前と一致させる方法を見つけたいです。

向き合う:

root@conserver01:/home/owen# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 2: Dev 4, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 3: Dev 5, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 4: Dev 6, If 0, Class=Hub, Driver=hub/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
                |__ Port 3: Dev 13, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
                |__ Port 1: Dev 6, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
                |__ Port 4: Dev 15, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
                |__ Port 2: Dev 9, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
            |__ Port 2: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M
                |__ Port 4: Dev 16, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
                |__ Port 2: Dev 12, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
                |__ Port 3: Dev 14, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
                |__ Port 1: Dev 8, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
            |__ Port 3: Dev 7, If 0, Class=Hub, Driver=hub/4p, 480M
                |__ Port 1: Dev 11, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
            |__ Port 4: Dev 10, If 0, Class=Hub, Driver=hub/4p, 480M

そして:

root@conserver01:/home/owen# ls -al /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Jun 17 03:49 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 Jun 17 03:50 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 Jun 17 03:51 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 3 Jun 17 03:54 /dev/ttyUSB3
crw-rw---- 1 root dialout 188, 4 Jun 17 03:54 /dev/ttyUSB4
crw-rw---- 1 root dialout 188, 5 Jun 17 03:55 /dev/ttyUSB5
crw-rw---- 1 root dialout 188, 6 Jun 14 20:20 /dev/ttyUSB6
crw-rw---- 1 root dialout 188, 7 Jun 14 20:20 /dev/ttyUSB7
crw-rw---- 1 root dialout 188, 8 Jun 14 20:20 /dev/ttyUSB8

私は2つのことを達成したいと思います:

  1. lsusb 出力行を /dev 項目と照合する方法。
  2. USBハブのポート(または特定のFTDIアダプタの1つが許可/有用)と/ dev /エントリの間に一貫した関係を作成する方法。

どんな助けでも大変感謝します。私はこれが以前に投稿された少なくとも1つの他の質問に似ていることを知っていますが、質問はあいまいで答えが似ているように見えますが、私が望むものを完全に達成していません。私の質問がより明確になることを願っています。

また、私はこの目的のためにlsusb以外のLinuxリソースを使用する答えに反対しないことに注意してください。これは私が最もよく知っているツールです。非FTDIデバイスは完全性のために組み込まれていますが、16ポートのGenesys Logicハブに接続されており、内部で積み重ねられた5つの4ポートGenesys Logicハブとして実装されているようです。

ベストアンサー1

readlink -f /sys/class/tty/ttyUSB0/device次のものを提供する必要があります。

/sys/devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4.3/1-4.3.1/1-4.3.1:1.0/ttyUSB0

完全なハードウェアパスがあります。

ほとんどのシステムでは、次のようなudev一部も作成すると予想されます。/dev/serial/by-path/<device-hardware-path>/dev/serial/by-id/<device-id>

$ readlink -f /dev/serial/by-path/pci-0000:00:12.2-usb-0:4.3.1:1.0-port0
/dev/ttyUSB0

udevadm info --name=ttyUSB0また、パスを含む多くの情報を提供する必要があります。

おすすめ記事