GNU/Linux >> Znalost Linux >  >> Linux

Konzistentní výčet zařízení Linux

Protože mluvíme o zařízeních USB a za předpokladu, že máte udev, můžete nastavit některá pravidla udev.

Myslím, a to je jen divoký odhad, někdo nebo něco odpojilo/odpojilo zařízení a znovu ho zapojilo/přidalo zařízení, což číslo zvýšilo.

Nyní nejprve potřebujete ID dodavatele a produktu:

$ 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

Dále potřebujete sériové číslo (v případě, že jich máte několik):

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

Nyní vytvoříme pravidlo udev:

Pravidla UDEV jsou v /etc/udev/rules.d obvykle rozptýlena do mnoha souborů . Vytvořte nový soubor s názvem 99-usb-serial.rules a vložte tam následující řádek, mám tři zařízení, každé s jiným sériovým číslem:

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

Pokud sériové číslo nechcete, každé zařízení od dodavatele se stejným čipem pak dostane stejný symbolický odkaz, v daný okamžik lze připojit pouze jedno.

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

Převzato odtud


Linux
  1. Jak nainstalovat ovladač zařízení v systému Linux

  2. Linuxový výstup lsblk

  3. Jak připojit zařízení v Linuxu?

  1. Linux – myšleno montáží zařízení v Linuxu?

  2. Linux – Sysfs a Devtmpfs?

  3. Linux – /dev/xvde1?

  1. Linux – Jak znovu připojit logicky odpojené USB zařízení?

  2. Jak vytvořit virtuální blokové zařízení (smyčkové zařízení/systém souborů) v Linuxu

  3. Proč potřebujeme bootloader ve vestavěném zařízení?