2

USB ハブに複数の USB シリアル コンバータ (Prolific) を接続しています。接続されている物理ポートに応じてこれらのコンバーターを区別できるudev 情報が見つかりません。

デバイスパスがその情報を提供してくれることを願っています...

/devices/pci0000:00/0000:00:0f.5/usb1/1-3/1-3.1/1-3.1:1.0/ttyUSB0

...しかし、数字の意味を説明するドキュメントは見つかりませんでした (うまくいけば、そのうちの 1 つが物理ポートを正確に識別します)。誰かがこれらの番号を説明して、物理ポートを明確に識別できるかどうか教えてもらえますか?

4

2 に答える 2

2

私はこの分野の専門家ではありませんが、これらの数字の私の解釈は次のとおりです。

  • pci0000:00:これはPCIコントローラーです。
  • 0000:00:0f.5:これは、USBコントローラーのPCI識別子です。
  • usb1:USBコントローラー自体。
  • 1-3:USBハブの識別子。内部ハブの場合もあれば、存在しない場合もあります。
  • 1-3.1:そのハブの最初のポートに接続されているデバイス。
  • 1-3.1:1.0:そのデバイスの構成#1、インターフェース#0。

したがって、私の推測では、物理ポートは1-3.1で識別されます。これは、デバイスパスの最後の部分のコロンの左側にある文字列です。

私は周りにハブを持っていませんが、ハブを介して接続すると、次のようなものが得られると思います。

/devices/pci0000:00/0000:00:0f.5/usb1/1-3/1-3.1/1-3.1.1/1-3.1.1:1.0/ttyUSB0

物理ポートはになり1-3.1.1、最後の1つはそのハブで使用されるポートになります。

于 2011-10-10T12:42:33.393 に答える
1

このサイト: http://hackaday.com/2009/09/18/how-to-write-udev-rules/ は次のコマンドを参照しています: udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB0 ) (わかりました、少し違いますが、そのコマンドは機能します)

次のような情報が表示されます。

KERNELS=="3-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"

過去にこの情報を使用して、次のようなルールをまとめました。

KERNELS=="3-1", SUBSYSTEMS=="usb", DRIVERS=="usb", SYMLINK+="USBPORT1"

そのため、デバイスが USB ポート 1 に接続されるたびに、接続されている順序に関係なく、一貫性のある /dev フォルダーに simlink が作成されます。

于 2012-02-21T02:32:20.803 に答える