Настраивал с нуля кассу и столкнулся с неудобством настройки портов оборудования. Большинство устройств (у меня все) это usb-uart мосты. Проблема обычная - при загрузке ядро произвольно назначает номера устройствам. А в диалог выбора попадают по какой-то маске устройства из /dev/ttyUSB*.
Отсюда две проблемы - определить какой ttyUSB или ttyACM принадлежит какому оборудованию и написать правила для udev, чтобы номера портов не менялись.
Между тем, ядро создает вполне читаемые симлинки на эти устройства в /dev/serial/by-id
- Код: Выделить всё
root@pava-kassa:~# ls -l /dev/serial/by-id/
итого 0
lrwxrwxrwx 1 root root 13 Июн 24 12:54 usb-058f_9720-if00 -> ../../ttyACM3
lrwxrwxrwx 1 root root 13 Июн 24 09:54 usb-ATOL_Group_ATOL_USB_device_00192957-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Июн 24 12:54 usb-Honeywell_1470g_20076B1CFC-if00 -> ../../ttyACM2
Видно, что фискальный регистратор на ACM0, сканер на ACM2, а оставшееся устройство без ID (экран покупателя) на ACM3. Эти ссылки создаются автоматически при загрузке и указывают на верные номера устройств.
Думаю было бы удобно в интерфейсе дать возможность выбирать симлинки из /dev/serial/by-id.
В этот раз было некогда ковыряться, поэтому просто при запуске создаю симлинк /dev/ttyUSB{20,21,22} на симлинк в /dev/serial/by-id.