Raspberry Pi USB-Seriell permanenten Namen
Dem USB-Gerät über die Seriennummer einen dauerhaften Namen wie zum Beispiel ttyArduino statt ttyUSB0 zuordnen.
Seriennummer
Abfragen der USB Geräte:
lsusb
Ausgabe:
Bus 001 Device 005: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO) Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC Bus 001 Device 003: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Abfrage UDEV:
udevadm info -a -n /dev/ttyUSB1 | grep '{serial}' | head -n1
Ausgabe:
ATTRS{serial}=="DK63AFAT"
Log-Abfrage USB:
cat /var/log/messages |grep "usb 1-1."
Ausgabe:
usb 1-1.3: new full-speed USB device number 4 using xhci_hcd usb 1-1.3: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00 usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-1.3: Product: TTL232R-3V3 usb 1-1.3: Manufacturer: FTDI usb 1-1.3: SerialNumber: FTA3QOS3 usb 1-1.3: Detected FT232RL usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0
UDEV Regel
Erstellen einer neuen Datei 99-usb-serial.rules unter /etc/udev/rules.d
vim /etc/udev/rules.d/99-usb-serial.rules
Mit dem Inhalt der USB IDs, Seriennummern und der Zuordnung zum Seriell-Gerät:
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTA3QOS3", SYMLINK+="ttyISK"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="DK63AFAT", SYMLINK+="ttyEBUS"
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="ttyEBZA"
Der SYMLINK+= ist frei wählbar und kann dann als Gerät eingebunden werden.
Problemlösungen
Sollte es dazu kommen das im den log messages (/var/log/messages) keine SerialNumber angegeben ist, kann ATTRS{serial}== weg gelassen werden.