Feste Portzuordnungen

Die USB-Seriell-Adapter können unter Linux nach einem Neustart anders zugeordnet werden. Wenn mehrere USB-Adpater verwendet werden kann nicht garantiert werden dass der selbe Adapter wieder unter /dev/ttyUSB0 angesprochen werden kann.

Als erstes alle USB-Seriell-Adapter einstecken und nachsehen ob und unter wechem Namen sie erkannt werden:

pi@raspberrypi:~ $ dmesg | grep ttyUSB
[ 4.769458] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0
[ 4.776933] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB1

Dann muss noch festgestellt was die beiden Adapter unterscheidet:
udevadm info --name=/dev/ttyUSB0 --attribute-walk
und
udevadm info --name=/dev/ttyUSB1 --attribute-walk

Dort dann durch die Einträge zu den Einträgen der USB-Adpater gehen und dort die PID,VID und Seriennummer suchen. Bei mir waren es diese Werte:

ATTRS{idVendor}=="0403"
ATTRS{idProduct}=="6001"
ATTRS{serial}=="AL0123MH"

jetzt muss noch die Datei /etc/udev/rules.d/99-usb-serial.rules erstellt werden. Wenn dieser Ordner nicht vorhanden ist evtl hier: /usr/lib/udev/rules.d/99-usb-serial.rules Für jeden USB-Adapter muss dann eine entsprechende Zeile eingefügt werden. Bei mir waren es diese zwei Zeilen

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AL0123MH" , SYMLINK+="ttySWB0"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="FTVB965T" , SYMLINK+="ttySMI0"

Eventuell kann man auch an die Seriennummern auf anderen Wege kommen:

ls -la /dev/serial/by-id|grep ttyUSB
...
lrwxrwxrwx 1 root root 13 Jan 14 22:09 usb-FTDI_FT232R_USB_UART_AL0123MH-if00-port0 -> ../../ttyUSB0
lrwxrwxrwx 1 root root 13 Jan 14 22:09 usb-FTDI_TTL232RG-VSW5V0_FTVB965T-if00-port0 -> ../../ttyUSB1

Jetzt können die Einstellungen auch getestet werden:
sudo udevadm trigger

Bei Erfolg sieht es dann so aus:

ls -la /dev |grep ttyUSB
lrwxrwxrwx 1 root root 7 Jan 14 22:09 ttySMI0 -> ttyUSB1
lrwxrwxrwx 1 root root 7 Jan 14 22:09 ttySWB0 -> ttyUSB0
crw-rw---- 1 root dialout 188, 0 Jan 14 22:09 ttyUSB0
crw-rw---- 1 root dialout 188, 1 Jan 14 22:15 ttyUSB1

Jetzt haben wir zwei neue Links auf die ttyUSB0 und ttyUSB1. Wenn sich jetzt nach dem Neustart diese Zuordnungen ändern bleiben die Links die selben.