man Опубликовано 5 октября, 2022 Поделиться Опубликовано 5 октября, 2022 Добрый день. Есть оборудование (сканер ШК) на ch340 китайский, не назначается ttyUSB. lsusb: Bus 002 Device 004: ID 1a86:7523 QinHeng Electronics CH340 serial converter dmesg: [ 1355.038051] ch341-uart ttyUSB0: failed to read break control: -110 [ 1355.038064] ch341-uart: probe of ttyUSB0 failed with error -110 пробовал прописать пид и вид, не помогло modprobe usbserial vendor=0x1a86 product=0x7523 Подсказали инфу по драйверам https://www.programmersought.com/article/64338953162/ скомпилировал под свое ядро, но все равно ошибка ch341-uart ttyUSB0: failed to read break control: -110 Цитата Ссылка на комментарий
Евгений Долматов Опубликовано 5 октября, 2022 Поделиться Опубликовано 5 октября, 2022 Пожалуйста, запустите sudo usermod -a -G dialout username && sudo chmod a+rw /dev/ttyUSB0 && sudo chown root:dialout -R /dev/ и проверьте еще раз ls -al /dev/tty* Цитата Ссылка на комментарий
man Опубликовано 6 октября, 2022 Автор Поделиться Опубликовано 6 октября, 2022 У меня телетайп USB0 не создается, chmod для /dev/ttyUSB0 выдаст ошибку, что нет такого файла Проблема в том и есть, что ttyUSB0 НЕ СОЗДАЕТСЯ с ошибкой ch341-uart: probe of ttyUSB0 failed with error -110 Цитата Ссылка на комментарий
Евгений Долматов Опубликовано 6 октября, 2022 Поделиться Опубликовано 6 октября, 2022 sudo rmmod ch341 Добавьте исходный репозиторий, соответствующий /etc/apt/sources.list Обновите список источников: apt-get update Создать пустой каталог и получить исходники: sudo apt-get source linux-source-$(uname -r) linux-headers-$(uname -r) Загрузите и примените патч cd linux-[34]* wget https://github.com/karlp/ch341-linux/raw/master/0001-usb-serial-ch341-Add-parity-support.patch patch -p1 <0001-usb-serial-ch341-Add-parity-support.patch Скомпилировать модуль и заменить системный make -C /lib/modules/`uname -r`/build M=$(pwd) drivers/usb/serial/ch341.ko sudo cp drivers/usb/serial/ch341.ko /lib/modules/`uname -r`/kernel/drivers/usb/serial/ch341.ko Теперь вы можете подключить устройство Цитата Ссылка на комментарий
Евгений Долматов Опубликовано 6 октября, 2022 Поделиться Опубликовано 6 октября, 2022 Скажу честно, сам не проверял, так как нет устройства, но должно помочь Цитата Ссылка на комментарий
man Опубликовано 7 октября, 2022 Автор Поделиться Опубликовано 7 октября, 2022 Да я видел эту инструкцию, как я понял, он пишет, что, независимо от версии вашего ядра, качать соурс надо от 4.2.0, оттуда берем исходник ch34x.c его патчим и компилим, но вот проблема, я его пропатчил, но при компиляции ошибка: /home/user/tmp/ch34x.c:570:30: error: initialization of ‘void (*)(struct usb_serial_port *)’ from incompatible pointer type ‘int (*)(struct usb_serial_port *)’ [-Werror=incompatible-pointer-types] 570 | .port_remove = ch341_port_remove, Что-то в коде ему не нравится, а если я качаю с https://elixir.bootlin.com/linux/v4.2/source/drivers/usb/serial/ch341.c драйвер для версии своего ядра (5.15.0), то файл не патчится.. Цитата Ссылка на комментарий
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.