Оскільки ми говоримо про USB-пристрої та припускаючи, що у вас є udev, ви можете встановити деякі правила udev.
Я здогадуюсь, і це лише дика здогадка, хтось чи щось відключив / вилучив пристрій і знову підключив / додав пристрій, що збільшило число.
Тепер спочатку вам потрібні ідентифікатори продавця та продукту:
$ 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
і вставте наступний рядок, у мене є три пристрої, кожен з яким має інший серійний номер:
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
Якщо ви не хочете серійного номера, будь-який пристрій від постачальника з тим же мікросхемою отримає те саме символьне посилання, тільки один може бути підключений у будь-який момент часу.
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="MySerialDevice"
Взято звідси
/dev/serial/by-id/usb-XXXX_USB2.0-Serial-if00-port0
. Це може бути достатньо для вас без спеціальних правил udev.