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. > > 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.
Attachment:
cp2102 get firmware version.pcapng
Description: Binary data