Puisque nous parlons de périphériques USB et en supposant que vous avez udev, vous pouvez configurer certaines règles udev.
Je suppose, et ce n'est qu'une supposition folle, quelqu'un ou quelque chose a débranché/retiré l'appareil et l'a rebranché/ajouté à nouveau, ce qui augmente le nombre.
Maintenant, vous avez d'abord besoin des identifiants du fournisseur et du produit :
$ 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
Ensuite, il vous faut le numéro de série (si vous en avez plusieurs) :
# udevadm info -a -n /dev/ttyUSB1 | grep '{serial}' | head -n1
ATTRS{serial}=="A6008isP"
Maintenant, créons une règle udev :
Les règles UDEV sont généralement dispersées dans de nombreux fichiers dans /etc/udev/rules.d
. Créez un nouveau fichier nommé 99-usb-serial.rules
et insérez la ligne suivante, j'ai trois appareils, chacun avec un numéro de série différent :
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
Si vous ne voulez pas le numéro de série, tout appareil du fournisseur avec la même puce recevra alors le même lien symbolique, un seul peut être branché à la fois.
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="MySerialDevice"
Extrait d'ici