USB-COM переходник, 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
no avatar

Автор темы
sulpakneo
Сообщения: 1
Зарегистрирован: 02 окт 2016, 11:55
Контактная информация:

USB-COM переходник, 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

#1

02 окт 2016, 12:19

Всем доброго времени суток. Вообщем, попался мне USB-COM переходник

На картинке - два одинаковых переходника. Разница угадывается только в небольшой "зеленоватости" левого переходника и более сильной "голубоватости" правого переходника. С левым переходником проблем нет, а вот с правым... Причем партия одна и та же, в системе определяются абсолютно одинаково..
Все дело в том, что у меня на работе касса работает на 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"
Последний раз редактировалось пользователем 1 di_mok; всего редактировалось раз: 2

Аватара пользователя

zuzabrik
Сообщения: 1744
Зарегистрирован: 29 авг 2016, 12:08
Решено: 20
Благодарил (а): 108 раз
Поблагодарили: 521 раз
Контактная информация:

Re: USB-COM переходник, 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

#2

02 окт 2016, 13:52

sulpakneo писал(а): Однако на первой же команде споткнулся, т.к. в указанной в команде папке нету такого архива...
это скорее описание того что надо сделать, а не точный набор команд и путей имхо )
А мог бы стать нормальным человеком...

Аватара пользователя

di_mok
Сообщения: 5469
Зарегистрирован: 27 авг 2016, 19:06
Решено: 32
Откуда: Арзамас
Благодарил (а): 1593 раза
Поблагодарили: 1276 раз
Контактная информация:

Re: USB-COM переходник, 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

#3

02 окт 2016, 14:40

sulpakneo писал(а): linux-source-3.19.0
Сразу наводит на подозрение. Почему 3.19.0?

Ни когда ни чем подобным не занимался, но по логике сначало нужно посмотреть

Код: Выделить всё

apt-cache search linux-source
Настоящая водка — это не пьянство, а ключ к своей совести, с нее-то и начинается настоящая мудрость. (c)
Изображение

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Re: USB-COM переходник, 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

#4

02 окт 2016, 16:52

sulpakneo писал(а): sudo apt-get source linux-source-3.19.0 linux-headers-$(uname -r)
Вообще да, притянуть source от определенной версии и хидеры для текущего ядра - первый глупый поступок, по остальному - надо бы попробовать.
sulpakneo писал(а): Тестирую сей девайс на Win8 - переходник там прекрасно работает, драйвера в комплекте на Win завелись и встали норм, касса пашет норм на винде. Значит - проблема с драйверами на Linux.
проверить бы сначала как он работает на линукс - попробуй опросить какуюнибудь железку через него без wine

У меня ситауция с usb2com девайсом была обратной в свое время, чтоб завести его под виндой надо было как-то вкрутить некий чудо-драйвер, который отказывался работать на системах выше xp, а в 11-м минте досточно было воткнуть его в usb и все работало искаропки :smile:
Изображение
   
Изображение

Аватара пользователя

di_mok
Сообщения: 5469
Зарегистрирован: 27 авг 2016, 19:06
Решено: 32
Откуда: Арзамас
Благодарил (а): 1593 раза
Поблагодарили: 1276 раз
Контактная информация:

Re: USB-COM переходник, 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

#5

02 окт 2016, 17:43

У меня валяется ch-340. Заводится без проблем. В wine не пробрасывал.
Настоящая водка — это не пьянство, а ключ к своей совести, с нее-то и начинается настоящая мудрость. (c)
Изображение

no avatar

edward2005
Сообщения: 1
Зарегистрирован: 08 ноя 2016, 23:59
Контактная информация:

Re: USB-COM переходник, 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

#6

09 ноя 2016, 00:47

sulpakneo писал(а): Всем доброго времени суток. Вообщем, попался мне USB-COM переходник

На картинке - два одинаковых переходника. Разница угадывается только в небольшой "зеленоватости" левого переходника и более сильной "голубоватости" правого переходника. С левым переходником проблем нет, а вот с правым... Причем партия одна и та же, в системе определяются абсолютно одинаково..
Все дело в том, что у меня на работе касса работает на 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"
команда cp ch341.c ch341.c.orig подразумевает что вы делаете копию файла ch341.с с другим названием ch341.c.orig что бы если при компиляции с ним что нибудь произойдет
также логика подразумевает что вы находитесь в папке
/usr/src/linux-source-3.19.0/drivers/usb/serial


аналогично только в папке /lib/modules/$(uname -r)/kernel/drivers/usb/serial/

cp /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko.origr

так подстраховочка что бы была возможность откатить

Закрыто

Вернуться в «Прочие устройства»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей