На картинке - два одинаковых переходника. Разница угадывается только в небольшой "зеленоватости" левого переходника и более сильной "голубоватости" правого переходника. С левым переходником проблем нет, а вот с правым... Причем партия одна и та же, в системе определяются абсолютно одинаково..
Все дело в том, что у меня на работе касса работает на Linux Mint 17.3 Rosa. Сама программа кассы пашет на Net.Framework 4.0 через Wine 1.6. В Linux воткнут кассовый аппарат через такой USB-COM переходник. В Linux все вставало всегда без проблем, я просто добавлял юзера в группу dialout и tty. Затем пробрасывал в wine порт ttyUSB0 под именем com1. И все прекрасно работало. Пока не пришло это. Покупку делал я, в кол-ве 100 шт. И не пашет... Как объяснить шефу, что я купил 100 шт переходников, который не могу завести - даже не представляю себе))....
Вообщем, имею следующее:
1. Linux видит устройство: команда lsusb - "1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter"
2. Драйвер встал норм - команда dmesg | grep tty - "usb 2-1.2: ch341-uart converter now attached to ttyUSB0"
Пробрасываю его в wine - ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1
Все как обычно... но не работает...
Тестирую сей девайс на Win8 - переходник там прекрасно работает, драйвера в комплекте на Win завелись и встали норм, касса пашет норм на винде. Значит - проблема с драйверами на Linux.
Пошукав в просторах интернета, нашел такую инфу, что это, скорее всего, потому что этот переходник работает на специальном доработанном драйвере, который поддерживает асинхронные usb-com адаптеры. Нашел мануал:
Код: Выделить всё
sudo apt-get source linux-source-3.19.0 linux-headers-$(uname -r)
cd /tmp
tar -xjf /usr/src/linux-source-3.19.0.tar.bz2
cd /usr/src/linux-headers-3.19.0-32/
make oldconfig
make prepare
make scripts
cp -v /usr/src/linux-headers-$(uname -r)/Module.symvers .
cp /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko.orig
cd drivers/usb/serial
cp ch341.c ch341.c.orig
wget https://github.com/karlp/ch341-linux/raw/master/0001-usb-serial-ch341-Add-parity-support.patch
cat 0001-usb-serial-ch341-Add-parity-support.patch | patch -p4
patching file ch341.c
Hunk #1 succeeded at 349 (offset 3 lines).
Hunk #2 succeeded at 370 (offset 3 lines).
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo cp ch341.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko
sudo rmmod ch341
sudo modprobe ch341
плюнул дальше пошел вставлять строки в терминал... споткнулся на команде
cp ch341.c ch341.c.orig
- нет такого файла ch341.cвообщем нужна помощь... пока не казнили мну)
Помогите переделать скрипт для Linux mint 17.3 Rosa...
uname -a
выдает следующее Код: Выделить всё
"Linux kassa22109-8 3.19.0-32-generic #37~14.04.1-Ubuntu SMP Thu Oct 22 09:37:25 UTC 2015 i686 i686 i686 GNU/Linux"