WCHSoftGroup / ch343ser_linux

USB driver for USB to serial chip ch342, ch343, ch344, ch9101, ch9102, ch9103, etc
125 stars 46 forks source link

Overflow with CH9102 #35

Open frenetic1 opened 7 months ago

frenetic1 commented 7 months ago

Hi,

I have a CH9102 chip (idVendor=1a86, idProduct=55d4) and when I get larger amounts of characters sent to the linux computer, the following errors occur with the ch343 driver:

[10670.462612] ch343: USB serial driver for ch342/ch343/ch344/ch347/ch9101/ch9102/ch9103/ch9104, etc.
[10670.462614] ch343: V1.7 On 2024.01
[10718.557344] usb_ch343 1-13:1.0: ch343_ctrl_irq - urb shutting down with status: -2
[10718.558112] usb_ch343 1-13:1.1: ch343_read_bulk_callback - non-zero urb status: -2
[10718.558806] usb_ch343 1-13:1.1: ch343_read_bulk_callback - non-zero urb status: -2
[10723.375589] usb_ch343 1-13:1.0: ch343_ctrl_irq - urb shutting down with status: -2
[10723.379119] usb_ch343 1-13:1.1: ch343_read_bulk_callback - non-zero urb status: -2
[10723.379535] usb_ch343 1-13:1.1: ch343_read_bulk_callback - non-zero urb status: -2

With the default cdc-acm driver I get

[14020.692269] cdc_acm 1-13:1.1: submitted urb 4
[14022.733813] cdc_acm 1-13:1.1: got urb 5, len 26, status 0
[14022.733858] cdc_acm 1-13:1.1: submitted urb 5
[14023.528237] cdc_acm 1-13:1.1: got urb 6, len 706, status 0
[14023.528262] cdc_acm 1-13:1.1: submitted urb 6
[14024.771681] cdc_acm 1-13:1.1: got urb 7, len 26, status 0
[14024.771707] cdc_acm 1-13:1.1: submitted urb 7
[14026.813679] cdc_acm 1-13:1.1: got urb 8, len 26, status 0
[14026.813704] cdc_acm 1-13:1.1: submitted urb 8
[14028.328237] cdc_acm 1-13:1.1: got urb 9, len 706, status 0
[14028.328283] cdc_acm 1-13:1.1: submitted urb 9
[14028.852691] cdc_acm 1-13:1.1: got urb 10, len 26, status 0
[14028.852718] cdc_acm 1-13:1.1: submitted urb 10
[14030.894689] cdc_acm 1-13:1.1: got urb 11, len 26, status 0
[14030.894713] cdc_acm 1-13:1.1: submitted urb 11
[14032.911662] cdc_acm 1-13:1.0: acm_ctrl_irq - urb shutting down with status: -2
[14032.911855] cdc_acm 1-13:1.1: got urb 0, len 0, status -2
[14032.911862] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.912131] cdc_acm 1-13:1.1: got urb 1, len 0, status -2
[14032.912138] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.912409] cdc_acm 1-13:1.1: got urb 2, len 0, status -2
[14032.912415] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.912687] cdc_acm 1-13:1.1: got urb 3, len 0, status -2
[14032.912693] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.912965] cdc_acm 1-13:1.1: got urb 4, len 0, status -2
[14032.912971] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.913258] cdc_acm 1-13:1.1: got urb 5, len 0, status -2
[14032.913264] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.913531] cdc_acm 1-13:1.1: got urb 6, len 0, status -2
[14032.913537] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.913809] cdc_acm 1-13:1.1: got urb 7, len 0, status -2
[14032.913815] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.914087] cdc_acm 1-13:1.1: got urb 8, len 0, status -2
[14032.914092] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.914364] cdc_acm 1-13:1.1: got urb 9, len 0, status -2
[14032.914369] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.914643] cdc_acm 1-13:1.1: got urb 10, len 0, status -2
[14032.914648] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.914920] cdc_acm 1-13:1.1: got urb 11, len 0, status -2
[14032.914926] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.915342] cdc_acm 1-13:1.1: got urb 12, len 0, status -2
[14032.915348] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.915758] cdc_acm 1-13:1.1: got urb 13, len 0, status -2
[14032.915763] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.916177] cdc_acm 1-13:1.1: got urb 14, len 0, status -2
[14032.916180] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14032.916595] cdc_acm 1-13:1.1: got urb 15, len 0, status -2
[14032.916599] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14033.011672] cdc_acm 1-13:1.1: submitted urb 0
[14033.011680] cdc_acm 1-13:1.1: submitted urb 1
[14033.011686] cdc_acm 1-13:1.1: submitted urb 2
[14033.011691] cdc_acm 1-13:1.1: submitted urb 3
[14033.011696] cdc_acm 1-13:1.1: submitted urb 4
[14033.011702] cdc_acm 1-13:1.1: submitted urb 5
[14033.011707] cdc_acm 1-13:1.1: submitted urb 6
[14033.011712] cdc_acm 1-13:1.1: submitted urb 7
[14033.011717] cdc_acm 1-13:1.1: submitted urb 8
[14033.011722] cdc_acm 1-13:1.1: submitted urb 9
[14033.011727] cdc_acm 1-13:1.1: submitted urb 10
[14033.011733] cdc_acm 1-13:1.1: submitted urb 11
[14033.011738] cdc_acm 1-13:1.1: submitted urb 12
[14033.011743] cdc_acm 1-13:1.1: submitted urb 13
[14033.011748] cdc_acm 1-13:1.1: submitted urb 14
[14033.011753] cdc_acm 1-13:1.1: submitted urb 15
[14033.011762] cdc_acm 1-13:1.1: got urb 0, len 26, status 0
[14033.011772] cdc_acm 1-13:1.1: submitted urb 0
[14033.127666] cdc_acm 1-13:1.1: got urb 1, len 706, status 0
[14033.127689] cdc_acm 1-13:1.1: submitted urb 1
[14034.971270] cdc_acm 1-13:1.1: got urb 2, len 26, status 0
[14034.971317] cdc_acm 1-13:1.1: submitted urb 2
[14037.013241] cdc_acm 1-13:1.1: got urb 3, len 26, status 0
[14037.013262] cdc_acm 1-13:1.1: submitted urb 3
[14037.934255] cdc_acm 1-13:1.1: got urb 4, len 784, status 0
[14037.934283] cdc_acm 1-13:1.1: submitted urb 4
[14039.092274] cdc_acm 1-13:1.1: got urb 5, len 26, status 0
[14039.092295] cdc_acm 1-13:1.1: submitted urb 5
[14041.592532] cdc_acm 1-13:1.0: acm_ctrl_irq - urb shutting down with status: -2
[14041.592715] cdc_acm 1-13:1.1: got urb 0, len 0, status -2
[14041.592721] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.592992] cdc_acm 1-13:1.1: got urb 1, len 0, status -2
[14041.592997] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.593280] cdc_acm 1-13:1.1: got urb 2, len 0, status -2
[14041.593284] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.593553] cdc_acm 1-13:1.1: got urb 3, len 0, status -2
[14041.593556] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.593830] cdc_acm 1-13:1.1: got urb 4, len 0, status -2
[14041.593834] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.594108] cdc_acm 1-13:1.1: got urb 5, len 0, status -2
[14041.594112] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.594554] cdc_acm 1-13:1.1: got urb 6, len 0, status -2
[14041.594559] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.594969] cdc_acm 1-13:1.1: got urb 7, len 0, status -2
[14041.594974] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.595387] cdc_acm 1-13:1.1: got urb 8, len 0, status -2
[14041.595391] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.595806] cdc_acm 1-13:1.1: got urb 9, len 0, status -2
[14041.595810] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.596226] cdc_acm 1-13:1.1: got urb 10, len 0, status -2
[14041.596231] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.596646] cdc_acm 1-13:1.1: got urb 11, len 0, status -2
[14041.596650] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.597065] cdc_acm 1-13:1.1: got urb 12, len 0, status -2
[14041.597069] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.597484] cdc_acm 1-13:1.1: got urb 13, len 0, status -2
[14041.597488] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.597904] cdc_acm 1-13:1.1: got urb 14, len 0, status -2
[14041.597908] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14041.598322] cdc_acm 1-13:1.1: got urb 15, len 0, status -2
[14041.598326] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14042.744691] cdc_acm 1-13:1.1: submitted urb 0
[14042.744702] cdc_acm 1-13:1.1: submitted urb 1
[14042.744707] cdc_acm 1-13:1.1: submitted urb 2
[14042.744713] cdc_acm 1-13:1.1: submitted urb 3
[14042.744718] cdc_acm 1-13:1.1: submitted urb 4
[14042.744724] cdc_acm 1-13:1.1: submitted urb 5
[14042.744729] cdc_acm 1-13:1.1: submitted urb 6
[14042.744734] cdc_acm 1-13:1.1: submitted urb 7
[14042.744739] cdc_acm 1-13:1.1: submitted urb 8
[14042.744744] cdc_acm 1-13:1.1: submitted urb 9
[14042.744749] cdc_acm 1-13:1.1: submitted urb 10
[14042.744755] cdc_acm 1-13:1.1: submitted urb 11
[14042.744760] cdc_acm 1-13:1.1: submitted urb 12
[14042.744766] cdc_acm 1-13:1.1: submitted urb 13
[14042.744771] cdc_acm 1-13:1.1: submitted urb 14
[14042.744776] cdc_acm 1-13:1.1: submitted urb 15
[14042.745688] cdc_acm 1-13:1.0: acm_process_notification - serial state: 0x40
[14042.745704] cdc_acm 1-13:1.0: control resubmission terminated 0
[14042.745709] cdc_acm 1-13:1.1: got urb 0, len 354, status 0
[14042.745722] cdc_acm 1-13:1.1: submitted urb 0
[14042.746687] cdc_acm 1-13:1.0: acm_process_notification - serial state: 0x40
[14042.746697] cdc_acm 1-13:1.0: control resubmission terminated 0
[14045.111207] cdc_acm 1-13:1.0: acm_ctrl_irq - urb shutting down with status: -2
[14045.111390] cdc_acm 1-13:1.1: got urb 0, len 0, status -2
[14045.111397] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14045.111809] cdc_acm 1-13:1.1: got urb 1, len 0, status -2
[14045.111815] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14045.112227] cdc_acm 1-13:1.1: got urb 2, len 0, status -2
[14045.112231] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2
[14045.112647] cdc_acm 1-13:1.1: got urb 3, len 0, status -2
[14045.112651] cdc_acm 1-13:1.1: acm_read_bulk_callback - urb shutting down with status: -2

I guess serial state 0x40 means an overflow occured. Kernel version is 6.6.10, however 5.4.x have the same problem.

When I use Windows on the same machine everything works. Apparently other people have this issue too: https://github.com/espressif/arduino-esp32/issues/8317

So it should be reproduceable. If you need more logs you can provide an updated driver with more output which i can run.