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

Любое устройство не попавшее под категории выше - сюда.
Правила форума
Общая рекомендация по составлению тем: 1. Версия ОС вместе с разрядностью. Пример: LM 18.1 x64, LM Sarah x32 2. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 3. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) 4. Суть. Желательно с выводом консоли, логами. 5. Скрин. Просьба указывать 1, 2 и 3 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах
sulpakneo
Сообщения: 1
Зарегистрирован: 02 окт 2016, 08:55

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

Сообщение sulpakneo » 02 окт 2016, 09: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"
Последний раз редактировалось di_mok 02 окт 2016, 11:25, всего редактировалось 1 раз.

Аватара пользователя
zuzabrik
Сообщения: 759
Зарегистрирован: 29 авг 2016, 09:08
Решено: 15
Благодарил (а): 48 раз
Поблагодарили: 218 раз

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

Сообщение zuzabrik » 02 окт 2016, 10:52

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


это скорее описание того что надо сделать, а не точный набор команд и путей имхо )
Имею желание иметь всех желающих, но не имею желающих.

Аватара пользователя
di_mok
Сообщения: 1835
Зарегистрирован: 27 авг 2016, 16:06
Решено: 15
Откуда: Арзамас
Благодарил (а): 527 раз
Поблагодарили: 301 раз

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

Сообщение di_mok » 02 окт 2016, 11:40

sulpakneo писал(а):Источник цитаты linux-source-3.19.0

Сразу наводит на подозрение. Почему 3.19.0?

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

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

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

Аватара пользователя
Chocobo
Сообщения: 4599
Зарегистрирован: 27 авг 2016, 19:57
Решено: 110
Откуда: НН
Благодарил (а): 374 раза
Поблагодарили: 1234 раза

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

Сообщение Chocobo » 02 окт 2016, 13: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
Сообщения: 1835
Зарегистрирован: 27 авг 2016, 16:06
Решено: 15
Откуда: Арзамас
Благодарил (а): 527 раз
Поблагодарили: 301 раз

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

Сообщение di_mok » 02 окт 2016, 14:43

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

edward2005
Сообщения: 1
Зарегистрирован: 08 ноя 2016, 20:59

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

Сообщение edward2005 » 08 ноя 2016, 21: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

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


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

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

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