# КМАЗС-ОФИС на Linux: подключение конвертера USB-to-RS485 "Bolid" Эта инструкция написана для пользователей с минимальным опытом Linux. Все команды выполняйте по очереди и проверяйте результат после каждого шага. ## 1) Что важно знать заранее 1. В вашем приборе используется USB_SERIAL CH340. 2. Для CH340 в Linux обычно автоматически загружается драйвер ch341. 3. При успешном подключении обычно появляется порт /dev/ttyUSB0 (номер может быть другим). 4. На тестовом приборе определились VID=1a86 и PID=7523. ## 2) Подключите конвертер и проверьте, что Linux его видит 1. Подключите конвертер к USB-порту. 2. Выполните команду: lsusb 3. Найдите строку с VID:PID 1a86:7523. Пример строки: Bus 003 Device 005: ID 1a86:7523 QinHeng Electronics CH340 serial converter Если устройство не появилось: - переподключите USB-кабель; - попробуйте другой USB-порт; - если это виртуальная машина, проверьте проброс USB в ВМ. ## 3) Проверьте, что драйвер назначился автоматически 1. Выполните: usb-devices 2. Найдите блок вашего устройства (ориентируйтесь по Vendor=1a86 и ProdID=7523). 3. Проверьте строку I: ... Driver=... Ожидаемый результат: Driver=ch341 Если Driver=(none): - отключите и снова подключите конвертер; - проверьте сообщения ядра: dmesg | tail -n 50 - если после переподключения Driver все равно (none), сохраните вывод lsusb, usb-devices и dmesg | tail -n 80 и передайте специалисту. ## 4) Определите имя последовательного порта Выполните: ls /dev/ttyUSB* /dev/ttyACM* 2>/dev/null Обычно будет /dev/ttyUSB0. Запомните имя порта (например, /dev/ttyUSB0). Дополнительно можно проверить последние сообщения ядра: dmesg | tail -n 30 Там обычно видно строку вида: ch341-uart converter now attached to ttyUSB0 ## 5) Права доступа к порту Если при работе с портом будет ошибка Permission denied: 1. Проверьте группы пользователя: groups 2. Если нет группы dialout, добавьте пользователя: sudo usermod -aG dialout $USER 3. Выйдите из сеанса Linux и войдите снова. ## 6) Настройка serial-ports.txt для КМАЗС-ОФИС Использовать напрямую ttyUSB0 в настройках программы не рекомендуется, потому что номер порта может меняться. Лучше использовать стабильный путь из /dev/serial/by-id/. ### 6.1 Узнайте стабильное имя устройства Выполните: ls /dev/serial/by-id/ Пример: usb-XXXXX_USB_Serial-if00-port0 Вместо "XXXXX" будет указан VenderId, скорее всего 1a86. Скопируйте стабильное имя устройства в буфер обмена. ### 6.2 Откройте файл /opt/kmazs/serial-ports.txt Если файла нет, он будет создан. Пример: sudo nano /opt/kmazs/serial-ports.txt ### 6.3 Добавьте строку для конвертера Bolid Введите текст "bolid=", затем вставьте стабильное имя устройств из буфера обмена (обычно в терминале: Ctrl+Shift+V, либо Shift+Insert, либо правая кнопка мыши -> Вставить): должно получиться примерно следующее: bolid=usb-XXXXX_USB_Serial-if00-port0 Можно добавить комментарий строкой выше: # Конвертер Bolid RS-485 (CH340) Сохраните файл и закройте редактор (в nano: Ctrl+O, Enter, затем Ctrl+X). ### 6.4 Быстрый способ добавить строку одной командой Если конвертер подключен, можно добавить строку автоматически: echo "bolid=$(ls /dev/serial/by-id/ | grep -i USB_Serial)" >> /opt/kmazs/serial-ports.txt После этого проверьте содержимое файла: cat /opt/kmazs/serial-ports.txt ## 7) Настройка в программе КМАЗС-ОФИС 1. Откройте: Настройки -> Настройки программы -> RS485. 2. В поле COM-порт выберите bolid (имя из serial-ports.txt). 3. Сохраните настройки и перезапустите программу. ## 8) Краткая диагностика, если не работает Проверьте по порядку: 1. lsusb показывает устройство 1a86:7523. 2. usb-devices показывает Driver=ch341. 3. Есть порт /dev/ttyUSB0 (или другой /dev/ttyUSB*). 4. В /dev/serial/by-id/ есть usb-XXXXX_USB_Serial-if00-port0. 5. В /opt/kmazs/serial-ports.txt есть строка: bolid=usb-XXXXX_USB_Serial-if00-port0 Минимальный набор данных для передачи специалисту: - lsusb - usb-devices - dmesg | tail -n 80 - cat /opt/kmazs/serial-ports.txt