Created attachment 298411 [details]
Several users reported their USB-Serial Adapter based on ch341 driver does not communicate correctly anymore with kernels somewhere above 5.10.56-1.
The problem is that flashing an ESP8266 board is not possible anymore with Arduino IDE resulting in a
"/dev/ttyUSB0 failed to connect: Failed to connect to ESP8266: Timed out waiting for packet header"
I can confirm this issue up to kernel 5.14-rc5.
Downgrading my kernel to 5.10.52 also solves the problem.
I attached two communication samples from github user jypma.
The issue is was discussed here:
What if you revert 3c18e9baee0ef97510dcda78c82285f52626764b
which was back-ported to 5.10-58 and 5.13.10?
I believe it is the same bug as discussed here https://bugs.archlinux.org/task/71830
.bulk_in_size = 512,
and recompiling my 5.13.10 kernel solved the issue.
Thanks for reporting and tracking down the commit that caused the
Could you be a bit more specific about the symptoms here? Judging from a
quick look at the github thread, it appears that the device is still
working although timing may have changes slightly. The arch thread
indicates that the device doesn't even enumerate, which does not seem to
be the case here.
Also please provide the output of "lsusb -v" for this device.
Created attachment 298433 [details]
I agree, I couldn't find any enumerate related symptoms here:
[ 7572.641499] usb 3-3.4: new full-speed USB device number 7 using xhci_hcd
[ 7572.731906] usb 3-3.4: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.63
[ 7572.731910] usb 3-3.4: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 7572.731912] usb 3-3.4: Product: USB2.0-Serial
[ 7572.788929] ch341 3-3.4:1.0: ch341-uart converter detected
[ 7572.802958] usb 3-3.4: ch341-uart converter now attached to ttyUSB0
lsusb -v see attachment above
Sorry, I have no idea how I could tackle down to more specific symptoms. I do not own a protocol analyzer nor I am a coder.
On Mon, Aug 23, 2021 at 09:14:49AM +0000, firstname.lastname@example.org wrote:
> --- Comment #5 from Paul Größel (email@example.com) ---
> I agree, I couldn't find any enumerate related symptoms here:
I was able to reproduce the problem here. The device doesn't send a
zero-length package in case the received data is a multiple of the
endpoint size so that the bulk transfer doesn't complete (e.g. your
flashing application may not receive replies).
We need to revert the offending commit until we can figure out how to
configure the device to send ZLPs.
Thanks again for reporting this, and sorry about the breakage.
For the record, I've applied the revert now and it should be backported
to the stable trees shortly:
5.4.0-88-generic #99-Ubuntu SMP Thu Sep 23 17:29:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Ubuntu 20.04.3 LTS
problem with ch341 driver re-appeared while in 5.4.0.-86 is working fine.
This version probably has the same or similar problem:
Linux home 5.11.0-37-generic #41~20.04.2-Ubuntu
On Mon, Oct 04, 2021 at 09:21:09AM +0000, firstname.lastname@example.org wrote:
> --- Comment #9 from Bogusław Brandys (email@example.com) ---
> 5.4.0-88-generic #99-Ubuntu SMP Thu Sep 23 17:29:00 UTC 2021 x86_64 x86_64
> x86_64 GNU/Linux
> Ubuntu 20.04.3 LTS
> problem with ch341 driver re-appeared while in 5.4.0.-86 is working fine.
This issue has been fixed in mainline (and stable), but we have no idea
what Ubuntu puts in their kernels. Please report it them.
(In reply to Johan Hovold from comment #11)
> On Mon, Oct 04, 2021 at 09:21:09AM +0000,
> firstname.lastname@example.org wrote:
> This issue has been fixed in mainline (and stable), but we have no idea
> what Ubuntu puts in their kernels. Please report it them.
Thank you very much. Sorry for the inconvenience.