Re: cp210x module broken in 5.12.5 and 5.12.6, works in 5.11.21 (with bisection)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 07, 2021 at 01:44:03PM -0700, David Frey wrote:
> On Mon, Jun 7, 2021 at 11:02 AM David Frey <dpfrey@xxxxxxxxx> wrote:
> >
> > I made a bit of progress.  I found that CP210xManufacturing.dll was
> > bundled with Simplicity Studio and in the same folder as the DLL was
> > inspect_usbxpress.exe.  It looks like that tool is able to report the
> > firmware version of the device.  In the output below, the first run is
> > against the device that I am able to program successfully on any
> > kernel and that shows firmware 1.0.6.  The second run is against a
> > device that I can't program and it shows firmware version 1.0.4.  I
> > recall reading some information that 1.0.6 is A02 and that 1.0.4 is
> > A01, but I think there might have been another firmware revision
> > that's also A01 (maybe 1.0.2?).  I can't find the source of this
> > information anymore.  I'm going to try to figure out how to use
> > wireshark to capture USB traffic now.

The firmware revisions were listed here:

	https://www.silabs.com/community/interface/knowledge-base.entry.html/2020/03/31/how_to_determinecp2102nrevisiona01vsa02-DCJI

Apparently both 1.0.2 and 1.0.4 is A01, while 1.0.8 is A2.

Not sure what to make of 1.0.6, but at least it works.

> > C:\SiliconLabs\SimplicityStudio\v5\developer\adapter_packs\inspect_usbxpress>.\inspect_usbxpress.exe
> > -slist
> > serial_no =
> > deviceCount = 1
> > device (0) {
> >   SoftIndex = 0
> >   adapterLabel = CP2102N USB to UART Bridge Controller (ID:0)
> >   SerialNo = 1017bfe99d98e8118ea47540c3e5cfbd
> >   Vid = 0
> >   Pid = 0
> >   PartNumber = 32
> >   BoardID =
> >   BoardCount = 0
> >   FirmwareVersion = 1.0.6
> >   Name = cp2102N version 1.0.6
> >   Type = CP210x
> >   Family = USBXpress
> >   Locked = 1
> > }
> >
> > C:\SiliconLabs\SimplicityStudio\v5\developer\adapter_packs\inspect_usbxpress>.\inspect_usbxpress.exe
> > -slist
> > serial_no =
> > deviceCount = 1
> > device (0) {
> >   SoftIndex = 0
> >   adapterLabel = CP2102N USB to UART Bridge Controller (ID:0)
> >   SerialNo = f06e721e74e1ea11bd9ddc2d9a583cc7
> >   Vid = 0
> >   Pid = 0
> >   PartNumber = 32
> >   BoardID =
> >   BoardCount = 0
> >   FirmwareVersion = 1.0.4
> >   Name = cp2102N version 1.0.4
> >   Type = CP210x
> >   Family = USBXpress
> >   Locked = 1
> > }
> 
> I configured wireshark on Windows to capture the USB traffic and I ran
> the inspect_usbxpress.exe.  I believe the request/response where the
> firmware version is provided is in packets 38/39 in the attached
> trace.  Perhaps the mailing list will strip the trace, so I will
> describe it a bit.
> 
> Setup packet:
>   bmRequestType: 0xC0 (device-to-host, vendor, device recipient)
>   bRequest: 255
>   wValue: 0x0010
>   wIndex: 0
>   wLength: 3
> 
> Response Data: {0x01, 0x00, 0x04}
> 
> When I captured the trace for the other device, the response data was
> {0x01, 0x00, 0x06} indicating firmware version 1.0.6.
> 
> Let me know if there is any other information I can provide.

Excellent, nice job! That's the missing piece we needed. I'll cook up a
patch.

Johan



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux