When a CP210x device is connected to the USB host, the host will send a reset signal to the USB device to start the enumeration process. After reset, the host will read the USB device’s information and assign a unique address. If USB host has the driver for the device, the driver will be loaded after enumeration done.
Sometimes the USB enumeration may fail because of bad USB signal quality, incorrect USB driver for the specified VID/PID device, etc. So, it is important to check if the CP210x device is enumerated successfully.
This KBA introduces two methods for checking this.
a) Connect the CP210x device to USB host on Linux.
b) Start a terminal on Linux, type “lsusb” and press Enter. There will be one more USB devices, take the CP2104EK as an example, it named CP210x UART Bridge / myAVR mySmartUSB light (it's a wrong name because of Ubuntu OS, it should be "Silicon Labs CP210x USB to UART Bridge") in my case. The hex value 10c4:ea60 represents VID and PID as shown below. The PID and product name may different if the device is customized.
c) Typing“lsusb -d VID:PID -v” and press Enter, it is “lsusb -d 10c4:ea60 -v” in my case. Then the CP210x device descriptor will be printed out on the screen. By checking the descriptor information we should know if the device has been correctly enumerated. However, if all the data is zeroes (0x0000, for example) or if an error is reported, the device did not properly enumerated.
I have CentOS 7.6 with kernel 3.10. What CP210x driver should I use? Thank you.