ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1212548 Топик полностью
Nikolay_Po (30.05.2022 16:24, просмотров: 167) ответил Nikolay_Po на Нашёл официальный GIT от WCH. Причём на их сайте выложена только версия 1.5 от 2018г, без модификаций даже не собирается в моём стареньком Debian 10.
Попробовал скомпилировать свежий, январский '22 модуль ch341 от WCH в OpenWRT. Дописал инклюдов. Как ни странно, собрал без ошибок и предупреждений. Но результат аналогичный большому брату: 
root@OpenWrt:~# cat /dev/ttyCH341USB0
cat: can't open '/dev/ttyCH341USB0': I/O error
root@OpenWrt:~# dmesg -c
[  216.124702] ------------[ cut here ]------------
[  216.134029] WARNING: CPU: 0 PID: 2986 at drivers/usb/core/urb.c:479 usb_submit_urb+0x5e4/0x770 [usbcore]
[  216.152903] usb 2-1: BOGUS urb xfer, pipe 3 != type 1
[  216.162944] Modules linked in: rt2800soc rt2800mmio rt2800lib pppoe ppp_async mt76x0e mt76x0_common iptable_nat xt_state xt_nat xt_conntrack xt_REDIRECT xt_MASQUERADE xt_FLOWOFFLOAD rt2x00soc rt2x00mmio rt2x00lib pppox ppp_generic nf_nat nf_flow_table_hw nf_flow_table nf_conntrack mt76x02_lib mt76 mac80211 iptable_mangle iptable_filter ipt_REJECT ip_tables cfg80211 xt_time xt_tcpudp xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG x_tables usbserial usbmon usbip_host usbip_core slhc nf_reject_ipv4 nf_log_ipv4 nf_log_common nf_defrag_ipv4 hid_generic crc_ccitt compat ch341 hid evdev input_core ledtrig_usbport tun leds_gpio ohci_platform ohci_hcd fsl_mph_dr_of ehci_platform ehci_fsl ehci_hcd gpio_button_hotplug usbcore nls_base usb_common
[  216.295656] CPU: 0 PID: 2986 Comm: cat Not tainted 5.4.188 #0
[  216.307081] Stack : 80570000 8051a4d0 00000000 00000000 805195c8 82d99b54 83d8a040 80550703
[  216.323707]         804c9be8 00000baa 806a33bc 00000000 82d8e000 00000001 82d99b08 c9ee1cc0
[  216.340324]         00000000 00000000 806d0000 00000000 65746e69 000000df 38312e34 30232038
[  216.356942]         00000000 0000000a 00000000 000482e8 80000000 00000009 00000000 8344aa90
[  216.373558]         00000009 00000000 82d8e000 82fd2500 00000000 802a00c0 00000000 806a0000
[  216.390184]         ...
[  216.395047] Call Trace:
[  216.399933] [<80009c90>] show_stack+0x30/0x100
[  216.408783] [<80023de0>] __warn+0xc0/0x10c
[  216.416943] [<80023eb8>] warn_slowpath_fmt+0x8c/0xac
[  216.426877] [<8344aa90>] usb_submit_urb+0x5e4/0x770 [usbcore]
[  216.438349] [<8377dfd8>] 0x8377dfd8
[  216.445297] ---[ end trace 2087f368d8f600ed ]---
[  216.454490] usb_ch341 2-1:1.0: ch341_submit_read_urb - usb_submit_urb failed: -22

Вот как выглядит устройство:

root@OpenWrt:~# cat /sys/kernel/debug/usb/devices

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=00 MxPS=32 #Cfgs=  1
P:  Vendor=1a86 ProdID=7523 Rev= 2.54
S:  Manufacturer=Љ
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 96mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=02 Driver=usb_ch341
E:  Ad=82(I) Atr=03(Int.) MxPS=  32 Ivl=1ms
E:  Ad=02(O) Atr=03(Int.) MxPS=  32 Ivl=1ms
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=1ms


Даже дампы с OpenWRT намутил, есть монитор. Но без понимания работы USB - филькина грамота.

OpenWRT_USB_dump_t.txt

OpenWRT_USB_dump_dmesg_t.txt

Описание формата дампа - тут: https://www.kernel.org/doc/Documentation/usb/usbmon.txt