From: Johan Hovold <johan@kernel.org>
To: Malte Di Donato <malte@neo-soft.org>
Cc: "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: Re: Possible bug in the cp210x kernel driver?
Date: Wed, 22 Sep 2021 13:28:32 +0200 [thread overview]
Message-ID: <YUsTYFOdMH/kQEyE@hovoldconsulting.com> (raw)
In-Reply-To: <zarafa.614a0e7a.4925.15cc733978d29bb6@neosoft.neo-soft.org>
On Tue, Sep 21, 2021 at 06:55:21PM +0200, Malte Di Donato wrote:
> Hi Johan,
>
> Sorry about the html crap.
> (and double excuse that I've totally forgotten to change my webmail
> account surname since wedding ;)
Heh, good that you noticed in time so I can give you proper credit in
the commit message. ;)
Unfortunately your mails won't be seen by anyone else one the list
unless you can disable that html.
> Placed the patch code into my running debian kernel version
> 5.10.0-8-amd64 and put the two invocations to the
> cp210x_init_max_speed function (cp210x_get_fw_version not existent in
> my kernel source file).
Sounds good, we need to do the same when backporting the fix.
> Here's the dmesg with the patched driver:
>
> [19089.502913] usbcore: registered new interface driver cp210x
> [19089.502951] usbserial: USB Serial support registered for cp210x
> [19096.084910] usb 3-1.2: new full-speed USB device number 9 using ehci-pci
> [19096.224973] usb 3-1.2: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
> [19096.225034] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> [19096.225037] usb 3-1.2: Product: CP2102 USB to UART Bridge Controller
> [19096.225040] usb 3-1.2: Manufacturer: Silicon Labs
> [19096.225043] usb 3-1.2: SerialNumber: 0001
> [19096.233460] cp210x 3-1.2:1.0: cp210x converter detected
> [19096.233939] cp210x 3-1.2:1.0: cp210x_init_max_speed - type = 0x02
> [19096.234458] cp210x 3-1.2:1.0: failed to get vendor val 0x370b size 8: 1
So the device returns one byte (instead of eight) as I suspected. Then
we can use this to detect these devices.
> [19096.236568] usb 3-1.2: cp210x converter now attached to ttyUSB0
>
> I also compiled the cp2102-det and run it against the chip:
> 09: Got 128 bytes: FF F0 FF FA 01 00 60 E3 16 00 FF F0 FF FA 01 00 60 E3 16 00 FF EC FF F8 01 00 80 4F 12 00 FF E6 FF F6 01 00 00 10 0E 00 FF D6 FF F0 01 00 00 CA 08 00 FF D0 FF EE 01 00 20 A1 07 00 FF CC FF EC 01 00 00 08 07 00 FF A2 FF DC 01 00 00 E8 03 00 FF A0 FF DC 01 00 90 D0 03 00 FF 98 FF D9 01 00 00 84 03 00 FF 64 FF C5 01 00 00 58 02 00 FF 44 FF B9 01 00 00 F4 01 00 FF 30 FF B2 01 00 00 C2
> 0A: Got 1 bytes: FF
> 0B: Got 1 bytes: 02
> Done.
>
> Hope this helps?
It does, thanks. The 0B request above is the part-number request. The
original CP2102 I have here returns 8 bytes if that's requested.
> As I look on the "SerialNumber: 0001" in dmesg it may be possible that
> I've got a cloned chip on the chinesium usb/ttl converter...
Mine has 0001 as serial number as well, but the lack of event-mode and
different vendor request behaviour seems to suggest it could be a
counterfeit.
I'll reply to this mail with a fix that fixes the dropped character
issue by disabling event-insertion mode (and thus parity reporting) for
devices such as yours.
I've verified it here as well as I could, but could you give it a spin
with your device as well? If you want you can reply to the patch mail
with a Tested-by tag and I'll add that to the commit message as well.
Johan
next parent reply other threads:[~2021-09-22 11:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <zarafa.614a0e7a.4925.15cc733978d29bb6@neosoft.neo-soft.org>
2021-09-22 11:28 ` Johan Hovold [this message]
2021-09-22 11:30 ` [PATCH 1/2] USB: serial: cp210x: fix dropped characters with CP2102 Johan Hovold
2021-09-22 11:31 ` [PATCH 2/2] USB: serial: cp210x: add part-number debug printk Johan Hovold
2021-09-22 20:12 ` [PATCH 1/2] USB: serial: cp210x: fix dropped characters with CP2102 Malte Di Donato
2021-09-23 8:49 ` Johan Hovold
2021-09-22 20:25 ` Possible bug in the cp210x kernel driver? Malte Di Donato
2021-09-23 8:52 ` Johan Hovold
[not found] <zarafa.6148ae0f.4d56.2bc45ad001615f69@neosoft.neo-soft.org>
2021-09-21 8:34 ` Johan Hovold
[not found] <zarafa.6145ee62.586f.6703380702229727@neosoft.neo-soft.org>
2021-09-20 8:10 ` Johan Hovold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YUsTYFOdMH/kQEyE@hovoldconsulting.com \
--to=johan@kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=malte@neo-soft.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.