GNU/Linux >> Linux の 問題 >  >> Linux

一貫した Linux デバイスの列挙

ここでは USB デバイスについて話しているので、udev があると仮定すると、いくつかの udev ルールを設定できます。

推測ですが、これは単なる推測ですが、誰かまたは何かがデバイスのプラグを抜いたり取り外したりして、再び差し込んだりデバイスを追加したりしたため、数値が高くなりました。

まず、ベンダーと製品 ID が必要です:

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 011: ID 0403:6001 FTDI FT232 USB-Serial (UART) IC

次に、シリアル番号が必要です (複数ある場合):

# udevadm info -a -n /dev/ttyUSB1 | grep '{serial}' | head -n1
    ATTRS{serial}=="A6008isP"

それでは、udev ルールを作成しましょう:

通常、UDEV ルールは /etc/udev/rules.d の多くのファイルに分散されています . 99-usb-serial.rules という名前の新しいファイルを作成します そこに次の行を入力します。私は 3 つのデバイスを持っており、それぞれ異なるシリアル番号を持っています:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A6008isP", SYMLINK+="MySerialDevice"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A7004IXj", SYMLINK+="MyOtherSerialDevice"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTDIF46B", SYMLINK+="YetAnotherSerialDevice"

ls -l /dev/MySerialDevice
lrwxrwxrwx 1 root root 7 Nov 25 22:12 /dev/MySerialDevice -> ttyUSB1

シリアル番号が必要ない場合、同じチップを搭載したベンダーのデバイスはすべて同じシンボリック リンクを取得します。一度に接続できるのは 1 つだけです。

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="MySerialDevice"

ここから取得


Linux
  1. 組み込みデバイスにブートローダーが必要なのはなぜですか?

  2. Linux .dts デバイス ツリー ファイルをプログラムする方法は?

  3. Linux でプログラムによって ttyUSB0 を切断して再接続する

  1. Linuxにデバイスドライバーをインストールする方法

  2. Linux – Linuxにデバイスをマウントすることを意味しますか?

  3. Linux でデバイスをマウントするには?

  1. Linux – SysfsとDevtmpfs?

  2. Linux – / dev / xvde1?

  3. Linux –論理的に切断されたUSBデバイスを再接続する方法は?