Thread (4 messages) 4 messages, 2 authors, 2021-08-24

Re: [PATCH] Revert "USB: serial: ch341: fix character loss at high transfer rates"

From: Willy Tarreau <w@1wt.eu>
Date: 2021-08-24 15:07:00
Also in: lkml

[ removed Cc stable for the rest of the discussion ]

On Tue, Aug 24, 2021 at 03:25:16PM +0200, Johan Hovold wrote:
Zero-length packets are used to indicate completion of bulk transfers
that are multiples of the endpoint max-packet size (as per the USB
spec). Without those the host controller driver doesn't now that the
transfer is complete and that it should call the driver completion
callback (and instead waits for the other completion conditions).
Thanks for the explanation. I guess that in my case, given that the
serial port would emit lots of continuous data (e.g. "find /" or "dmesg"),
there's always something pending and the risk that it ends exactly on a
64-byte boundary remained low and never happened in practice.
It may be possible to configure the device to send ZLPs somehow but
since there's no public documentation for the protocol that may require
some reverse engineering.
I totally understand. I'll drop my CH34x adapters and try to figure more
suitable ones (i.e. some which work *by default* under Linux). Their
small footprint was nice but without doc they're only usable for low
speeds :-/

Thanks!
Willy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help