Qinheng electronics hl 340 usb serial adapter linux

QinHeng Electronics HL-340 USB-Serial adapter (USB-to-COM)

Сабж на aliexpress. Удалось кому заставить работать сию поделку? Ubuntu 14.04.3 LTS. Kernel: 3.13.0-63-generic #103-Ubuntu SMP Fri Aug 14 21:42:59 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Подключил шнурок к свитчу, запустил minicom, а там кракозябры. Другой шнурок на чипе PL2303 работает без вопросов. Под Win8 после установки драйверов шнурок работает.

Собрал, загрузил ch34x, выгрузил старый модуль ch341, запустил minicom. Ситуация почти не изменилась, но добавились иероглифы в выводе. ;D Скриншот

Ну вот зачем покупать это говно вместо того, чтобы купить шнурок на уже имеющихся драйверах в Linux? Тот же PL2303. Вот и мучайся теперь с драйверами «от производителя». 🙂

Сначала соедини 2-3 и проверь.

Это говно выпускают уже лет 10, также этот чип ставят в разные клоны Arduino, но драйверов рабочих в linux похоже нет, что странно.

Ну хоть кто-то рапортовал, что у него работает? Если честно, я вообще в первый раз о таком слышу.

И правильно тебе говорят. Прежде чем ломиться куда-то по кабелю, берешь обычный джампер с любой платы и соедини 2 и 3. Получается закольцованный COM. Дальше при помощи stty настраиваешь устройство: скорость и выключить эхо:

Что-то такое. Потом в одном терминале делаешь

а в другом ставишь прослушку:

Должно быть «test».

А вот куда ты втыкаешь кабель, когда пользуешься minicom? Ты с кем обмениваешься? С каким-то новым девайсом? Если шнурок 100% работает (проверяется по кольцу), то наиболее вероятные причины:

1. Неправильная настройка порта (скорость, четность, стоп-биты и т. д.)

2. Обмен с устройством предполагает hardware flow control, то есть сигналов DTR/DSR и RTS/CTS. Такие типы соединений бывают. То есть в случае трехпроводного соединения надо соединить эти пары сигналов между собой на стороне порта: DTR с DSR или RTS с CTS (все зависит от системы). При этом в настройке minicom надо выставить hardware flow control.

3. Ну или выключить его, если hardware flow control не используется.

Похожая тема на ЛОРе. Соединил пины 2-3 COM порта джампером. Ввел команды, в ответ странные символы. Проделал тоже с pl2303, там все корректно в выводе: «test». Скриншот, два верных результата это pl2303, непонятные символы это ch341

Устройство свитч Dlink DES-3526, настройки COM: 9600, 8N1, hardware/software flow control off. Настройки minicom одинаковые, только шнурки разные, PL2303 — работает, а ch340 — выводит непонятные символы. При этом в Win8 с установленными драйверами ch340 работает как положено.

Странно как-то. Есть клон ардуино с ch340 на борту. Работает нормально со свежим gentoo-вским ядром.

Ядро какой версии? Вроде в 4. версии ядра внесли изменения в модуль ch341

Источник

blog.crox.net

Using the HL-340 USB-serial adapter with Linux (1a86:7523, driver ch341)

ch341.c implements a serial port driver for the Winchiphead CH341.

The CH341 device can be used to implement an RS232 asynchronous serial port, an IEEE-1284 parallel printer port or a memory-like interface. In all cases the CH341 supports an I2C interface as well. This driver only supports the asynchronous serial interface.

Обратные ссылки

Нет обратных ссылок

Комментарии

Показывать комментарии Как список | Древовидной структурой

crox on Saturday, 19 July. 2008 :

net blues on Monday, 13 May. 2013 :

Just compiled under centos 5.4 i386
Linux atom.home.loc 2.6.18-348.el5 #1 SMP Tue Jan 8 17:57:28 EST 2013 i686 i686 i386 GNU/Linux

Читайте также:  Pci ven 168c dev 0042 subsys 090117aa rev 31 windows 10

In addition to info above
had to comment out what is suggested here
http://softwarelivre.org/gud-ba/blog/using-a-hl-340-usb-serial-adapter-against-2.6.23-linux-kernel

AND
everything after
EXPORT_SYMBOL_GPL(tty_encode_baud_rate);
in tty_ioctl.c
and also remove the
.usb_driver line
in ch341.c (circa line 320).
after compiling and insterting
I got
drivers/usb/serial/usb-serial.c: USB Serial support registered for ch341-uart
ch341 4-1:1.0: ch341-uart converter detected
usb 4-1: ch341-uart converter now attached to ttyUSB3
usbcore: registered new driver ch341

Haven’t tried connecting anything yet, but it seems it will work.

Carlos on Friday, 16 January. 2015 :

if anyone have problems with ch341 drivers on Ubuntu 14.04 I have a patched driver and it works with 3.13.X kernel:

Автор не разрешил комментировать эту запись

Источник

Qinheng electronics hl 340 usb serial adapter linux

$ lsusb
Bus 001 Device 006: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 005: ID 046d:c077 Logitech, Inc.
Bus 001 Device 004: ID 413c:2107 Dell Computer Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ ls -l /dev/ttyUSB*
crwxrwxrwx 1 root dialout 188, 0 Dec 2 05:32 /dev/ttyUSB0

$ python -m serial.tools.list_ports
/dev/ttyS0
/dev/ttyUSB0
2 ports found

Re: How Configure HL-340 USB-Serial adapter

This is a very late posting and perhaps this is not any issue anymore. However for anyone that cares.

The HL-340 USB-to-RS232 adaptors I have seen (& purchased on eBay) seem to be all *defective*.

More specifically, they do not generate the correct voltage swings on the RS232 TxD pin. I know this because I bought some and could not get them to work. I plugged in an alternative adaptor (using the PL2303 chip) and there was no problem. I then checked the RS232 data pins on an oscilloscope.

The HL-340 voltages on TxD were no good. RS232 requires a -5 to +5 volt swing. The HL-340s gave about 0 to +3v.

But voltages are good from the PL2303 adaptors I have used. I have had no problem with the PL2303 USB to Rs232 adaptors.

It is possible I just had a bad batch. The RS232 voltages are generated by a transceiver chip after the HL-340. So I am not saying every HL-340 based adaptor eve3ry produced will fail. Just the ones I have seen to date.

Also — FYI — I have had no issue with the MCS7840 adaptors (USB to 4-port RS232). They are commonly available on eBay for about US$20-$30. They work straight off on current Raspbian «stretch». I presume the 2-port variant MCS7820 would also work seamlessly.

The MCS7840 is an easy and cheap way to add 4,8,12. ports to a Pi.

Источник

Qinheng electronics hl 340 usb serial adapter linux

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»

Читайте также:  Visual studio 2012 нет windows forms

Пробрасываю его в wine — ln -s /dev/ttyUSB0

/.wine/dosdevices/com1
Все как обычно. но не работает.
Тестирую сей девайс на Win8 — переходник там прекрасно работает, драйвера в комплекте на Win завелись и встали норм, касса пашет норм на винде. Значит — проблема с драйверами на Linux.
Пошукав в просторах интернета, нашел такую инфу, что это, скорее всего, потому что этот переходник работает на специальном доработанном драйвере, который поддерживает асинхронные usb-com адаптеры. Нашел мануал:

Источник

QinHeng Electronics HL-340 USB-Serial adapter

Affects Status Importance Assigned to Milestone
linux (Ubuntu) Edit

Bug Description

USB serial adapter detected but not working.

$ lsusb
Bus 001 Device 125: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

$ ls /dev/ttyU*
/dev/ttyUSB0

From syslog
Dec 18 09:35:23 pieter-ThinkPad kernel: [487228.018937] usb 1-1: new full-speed USB device number 126 using xhci_hcd
Dec 18 09:35:23 pieter-ThinkPad kernel: [487228.183954] usb 1-1: New USB device found, idVendor=1a86, idProduct=7523
Dec 18 09:35:23 pieter-ThinkPad kernel: [487228.183959] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
Dec 18 09:35:23 pieter-ThinkPad kernel: [487228.183962] usb 1-1: Product: USB2.0-Ser!
Dec 18 09:35:23 pieter-ThinkPad kernel: [487228.184731] ch341 1-1:1.0: ch341-uart converter detected
Dec 18 09:35:23 pieter-ThinkPad kernel: [487228.185569] usb 1-1: ch341-uart converter now attached to ttyUSB0
Dec 18 09:35:23 pieter-ThinkPad mtp-probe: checking bus 1, device 126: «/sys/devices/ pci0000: 00/0000: 00:14.0/ usb1/1- 1»
Dec 18 09:35:23 pieter-ThinkPad mtp-probe: bus: 1, device: 126 was not an MTP device

$ uname -a
Linux pieter-ThinkPad 4.3.0-040300- lowlatency #201511020949 SMP PREEMPT Mon Nov 2 14:55:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Google search
http:// comments. gmane.org/ gmane.linux. usb.general/ 121851
https:/ /bugzilla. redhat. com/show_ bug.cgi? id=1235715
http:// unix.stackexcha nge.com/ questions/ 189896/ testing- if-hl-340- works

ApportVersion: 2.19.1-0ubuntu5
Architecture: amd64
CurrentDesktop: Unity
DistroRelease: Ubuntu 15.10
InstallationDate: Installed on 2015-01-23 (331 days ago)
InstallationMedia: Ubuntu 14.04.1 LTS «Trusty Tahr» — Release amd64 (20140722.2)
Package: linux (not installed)
Tags: wily
Uname: Linux 4.3.0-040300- lowlatency x86_64
UnreportableReason: The running kernel is not an Ubuntu kernel
UpgradeStatus: Upgraded to wily on 2015-11-11 (39 days ago)
UserGroups: adm btsync cdrom dialout dip kismet kvm libvirtd lpadmin plugdev sambashare sudo wireshark
_MarkForUpload: True

affects: btrfs (Ubuntu) → linux-meta (Ubuntu)
affects: linux-meta (Ubuntu) → linux (Ubuntu)

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

and then change the status of the bug to ‘Confirmed’.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to ‘Confirmed’.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete

2012 ubuntuforum, same device, worked and then stopped after a upgrade.
http:// ubuntuforums. org/archive/ index.php/ t-1923883. html

tags: added: apport-collected wily
description: updated

Also affects 14.04 LTS with 3.19 kernel

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → Medium

OS: Linux 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
fresh install.

modinfo i2c-ch341
filename: /lib/modules/ 4.4.0-31- generic/ kernel/ drivers/ i2c/i2c- ch341.ko
license: GPL
description: i2c-ch341-u2c driver
author: Marco Gittler
srcversion: 793AECF7CF0745E 30FD20F9
alias: usb:v1A86p5512d *dc*dsc* dp*ic*isc* ip*in*
depends:
vermagic: 4.4.0-31-generic SMP mod_unload modversions
parm: frequency:I2C clock frequency in hertz (uint)

I try to run Arduino Nano with ch341, but nothing work. Something between USB2.0 or USB3.0 ? or kernel compilation anyways ?
And if so, why on old kernel 3.18 work it snoothly ?

dmesg
[ 1431.007315] usbcore: registered new interface driver usbserial
[ 1431.007323] usbcore: registered new interface driver usbserial_generic
[ 1431.007330] usbserial: USB Serial support registered for generic
[ 1431.008619] usbcore: registered new interface driver ch341
[ 1431.008629] usbserial: USB Serial support registered for ch341-uart

— its very nice that Serial support is registered, but not attached for example: to the BUS 003 Device 001: ID 1A86. (and this is important)

ls /dev/tty*
/dev/tty /dev/ttyS22 /dev/tty0 /dev/tty24 /dev/tty4 /dev/tty55
/dev/ttyprintk /dev/ttyS23 /dev/tty1 /dev/tty25 /dev/tty40 /dev/tty56
/dev/ttyS0 /dev/ttyS24 /dev/tty10 /dev/tty26 /dev/tty41 /dev/tty57
/dev/ttyS1 /dev/ttyS25 /dev/tty11 /dev/tty27 /dev/tty42 /dev/tty58
. and so on. but nothing with ttyUSB0, ttyUSB1, or ttyACM0, ttyACM1.

Please Is here some competent person to FIX this ISUE ?

I have these adapters

/* expect two bytes 0x56 0x00 */
r = ch341_control_ in(dev, 0x95, 0x2518, 0, buffer, size);
if (r out(dev, 0x9a, 0x2518, 0x0050);
if (r

Thank you wlarsong! Work nice!

Hello, same problem to me. Wlarsong, how to fix step by step?

You can rebuild the kernel by following these steps

the file you will need to edit is here

drivers/ usb/serial/ ch341.c

I’m sure you can recompile things by module but from memory the process is lengthy and difficult. This is the easiest option — although re-compiling the kernel will take a while. Hopefully a patch will come soon.

26 Jan 2017; same problem

Jan 26 08:36:17 USSMLTRDLinux02 kernel: [259338.868105] usb 2-1.1: new full-speed USB device number 38 using ehci-pci
Jan 26 08:36:17 USSMLTRDLinux02 kernel: [259338.961091] usb 2-1.1: New USB device found, idVendor=1a86, idProduct=7523
Jan 26 08:36:17 USSMLTRDLinux02 kernel: [259338.961097] usb 2-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
Jan 26 08:36:17 USSMLTRDLinux02 kernel: [259338.961099] usb 2-1.1: Product: USB2.0-Ser!
Jan 26 08:36:17 USSMLTRDLinux02 kernel: [259338.961389] ch341 2-1.1:1.0: ch341-uart converter detected
Jan 26 08:36:17 USSMLTRDLinux02 kernel: [259338.963275] usb 2-1.1: ch341-uart converter now attached to ttyUSB1
Jan 26 08:36:17 USSMLTRDLinux02 mtp-probe: checking bus 2, device 38: «/sys/devices/ pci0000: 00/0000: 00:1d.0/ usb2/2- 1/2-1.1»
Jan 26 08:36:17 USSMLTRDLinux02 mtp-probe: bus: 2, device: 38 was not an MTP device

$ uname -a
Linux USSMLTRDLinux02 3.13.0-107-generic #154

precise1- Ubuntu SMP Tue Dec 20 10:37:27 UTC 2016 i686 i686 i386 GNU/Linux

I do observe the associated access is ehci-pci, whereas the original post access was xhci_hcd

Also I have some CH341 bases RS485 interfaces, they work just fine, same VID:PID. The device having problems is RS232. These have a driver CD for Windows, works fine there.

sys;log for the RS485 device

Jan 26 08:48:04 USSMLTRDLinux02 kernel: [260046.435291] usb 2-1.4: USB disconnect, device number 37
Jan 26 08:48:07 USSMLTRDLinux02 kernel: [260049.195120] usb 2-1.4: new full-speed USB device number 39 using ehci-pci
Jan 26 08:48:07 USSMLTRDLinux02 kernel: [260049.288782] usb 2-1.4: New USB device found, idVendor=1a86, idProduct=7523
Jan 26 08:48:07 USSMLTRDLinux02 kernel: [260049.288788] usb 2-1.4: New USB device strings: Mfr=0, Product=2, SerialNumber=0
Jan 26 08:48:07 USSMLTRDLinux02 kernel: [260049.288791] usb 2-1.4: Product: USB2.0-Serial
Jan 26 08:48:07 USSMLTRDLinux02 kernel: [260049.289149] ch341 2-1.4:1.0: ch341-uart converter detected
Jan 26 08:48:07 USSMLTRDLinux02 kernel: [260049.291092] usb 2-1.4: ch341-uart converter now attached to ttyUSB2
Jan 26 08:48:07 USSMLTRDLinux02 mtp-probe: checking bus 2, device 39: «/sys/devices/ pci0000: 00/0000: 00:1d.0/ usb2/2- 1/2-1.4»
Jan 26 08:48:07 USSMLTRDLinux02 mtp-probe: bus: 2, device: 39 was not an MTP device

I note in RS232 description:
Jan 26 08:36:17 USSMLTRDLinux02 kernel: [259338.961099] usb 2-1.1: Product: USB2.0-Ser!

and in RS485 description:
Jan 26 08:48:07 USSMLTRDLinux02 kernel: [260049.288791] usb 2-1.4: Product: USB2.0-Serial

interesting how the description in syslog also corrupts

Источник

Читайте также:  Imagenomic portraiture для lightroom windows
Оцените статью