Попробовал скомпилировать свежий, январский '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 - филькина грамота.
Описание формата дампа - тут: https://www.kernel.org/doc/Documentation/usb/usbmon.txt