RE: cp210x module broken in 5.12.5 and 5.12.6, works in 5.11.21 (with bisection)
From: Tung Pham <hidden>
Date: 2021-06-08 09:10:56
Dear Johan Hovold.
On Linux you can use manufacturing library to check firmware version.
cd manufacturing/lib/manufacturing/linux
make preinstall
make install
sudo make install
cd manufacturing/lib/manufacturing/test/BasicTestApp/linux
make
./CP210xManufacturingBasicTestApp
Then it display some information of device:
Found 1 CP210x devices
Device 0:
Product String - serial number: "a0d16702d2a3e81187d86c93f375b2a8"
Product String - Description: "CP2102N USB to UART Bridge Controller"
Error: CP210x_GetProductString() failed to return Full Path, status = 0x2
Product String (unsafe) - CP210x_GETPRODUCTSTRING_SERIAL_NUMBER: "a0d16702d2a3e81187d86c93f375b2a8"
Product String (unsafe) - CP210x_GETPRODUCTSTRING_DESCRIPTION: "CP2102N USB to UART Bridge Controller"
Error: CP210x_GetProductString(CP210x_GETPRODUCTSTRING_FULL_PATH) failed, status = 0x2
Part Number = 0x20
Firmware version = 0.1.1
Vendor ID = 0x10C4
Product ID = 0xEA60
The Firmware version is field that we need to looking for, it is formatted as major version; minor version; and patch.
The A01 have range <= 1.0.4 version. It have error "3.6 CP2102N_E104 – IO Exception in .NET Applications when Manually Controlling RTS" as the cp2102n-errata.pdf have mentioned.
Our recommend is you can chose 2 options:
- option 1: remove the set xon_limit and xoff_limit lines in driver, because our firmware automatically set these value to some default values (usually very small values) in its memory if it detect these values are zeros.
- option 2: archive Part Number and Firmware version,
check if ( (PART_NUMBER == CP2102N_QFN28) \
|| (PART_NUMBER == CP2102N_QFN24) \
|| (PART_NUMBER == CP2102N_QFN20))
and Firmware version <=1.0.4 set the xon_limit and xoff_limit to zeros, other while set to other values. This option are more suitable.
#define CP2102N_QFN28 0x20
#define CP2102N_QFN24 0x21
#define CP2102N_QFN20 0x22
Thanks. Attachments
- manufacturing.zip [application/x-zip-compressed] 89111 bytes