We've recently become aware of an issue with a new update to Windows 10 and our CP210x VCP "Universal" Driver for Windows 10, driver version v10.1.1. When attempting to install the driver, an error is given by Windows that states "A service installation section in this INF is invalid." This occurs because Windows has changed drive INF requirements slightly, and our current driver's INF file does not meet these requirements.
We currently are working to fix this issue, although due to testing and recertification requirements, we do not expect the fixed driver to be available until mid-June.
A work-around exists currently, but it involves manually editing the .INF file for the driver. This causes another issue - the driver is no longer signed in this case, so the driver must be forced to install, and Windows will show a warning that the driver is unsigned.
Firstly, the work-around is as follows:
Download the Windows 10 Universal driver from here: https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
Edit the .inf file with this driver, performing the following modifications:
On or around line 118, change/edit
ServiceBinary = %13%\silabser.sys
ServiceBinary = %12%\silabser.sys
And on or around line 160, change/edit
Silabser_CopyFiles_FileListSection = 13 ; Driver package's Driver Store directory (%WINDIR%\System32\DriverStore\FileRepository ) (was 12 Drivers directory (%SystemRoot%\system32\drivers))
Silabser_CopyFiles_FileListSection = 12 ; Driver package's Driver Store directory (%WINDIR%\System32\DriverStore\FileRepository ) (was 12 Drivers directory (%SystemRoot%\system32\drivers))
I.e. replace every 13 in the file with 12.
Once these changes are made, attempt to re-install the driver. A warning will be shown that the driver is unsigned, but you can ignore this for now. If you do not receive a warning issue, or if Windows refuses to install the unsigned driver (you may get an error about the hash being invalid), you can disable driver signing enforcement by following these instructions: https://www.maketecheasier.com/install-unsigned-drivers-windows10/
Alternatively, rolling back to a previous build of Windows also resolves the issue.
Before posting a question
When posting a question, make sure to include the following:
Note: If you are not the manufacturer of the device you are troubleshooting, note that Silicon Labs does not support end users directly. Please contact your product manufacturer for support. For more information, please see the following knowledge base article: http://community.silabs.com/t5/Silicon-Labs-Knowledge-Base/Troubleshooting-a-Product-Using-a-CP210x-USB-to-UART-Bridge/ta-p/131318
For general community usage please refer to the Silicon Labs Community Guidelines
I am a new user to use C# to implement UI on Win10 to communicate with MCU by USB port.
I use DllImport("SiUSBXp.dll") to use the SiUSBXp.dll v220.127.116.11 file in my bottom layer function code.
And install the USBXpress Device driver 18.104.22.168 on my OS.
The problem which I met is as follows,
I get two SiUSBXp.dll files from internet (as the picture below),
File date of left side is 2016, and of right side is 2015.
but they have the same file-name and both of their version are 22.214.171.124.
# when I use the file of 2016: every thing is OK, SI_GetNumDevices / SI_Open / SI_Close / SI_Read / SI_Write / ..., all functions work normally.
# if I use the file of 2015: every time I use UI button to trigger a function to call SI_Write, it always return the fail result to me.
the fail value it always give me is SI_INVALID_HANDLE (0x01)
I have checked the Programmer's Guide and get this error_code mean that it consider the HANDLE variable I input is invalid.
But I confirmed this HANDLE is returned by SI_Open() function. And I use exactly the same program codes to test the file_2016 and file_2015.
Do you have any idea of this symptom.. or What can I modify my code to solve this problem ?
Thanks for your help.
I got a problem when use SI_GetDLLVersion() function of SiUSBXp.dll v126.96.36.199
Use my C# program which import the v188.8.131.52 DLL file and send SI_GetDLLVersion() command to get its version.
As this image, a strange version string (0.3.0.13) shown on my UI.
Than I set break point in my code to see what happen.
As this image show, the return values are : HighVerValue = 3 / LowVerValue = 13
So, VerA = 0 and VerB = 3 were got from HighVerValue and VerC = 0 and VerD = 13 were got from LowVerValue.
According to the Programmer's Guide(AN169),
The HighVersion contains the top 32 bits of the DLL version;
the LowVersion contains the bottom 32 bits of the DLL version.
Thus I expect to get the HighVerValue = 196621 / LowVerValue = 0
Is this a known issue?
or It is just because the SI_GetDLLVersion parameters specification is changed on this version DLL?
I have installed the latest drivers from the web page https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
after the installation when I tried to connect to the serial device by selecting SLAB_USBtoUART at 9600 baud rate my program stops working and nothing works
I tried different programs CoolTerm, Arduino, ESplorer each and every program stops working after I try to connect to the device(NodeMCU - esp8266). Can anyone please tell me where I did wrong
Here is my system specification:
macOS Sierra v10.12.6
MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)
3.5 GHz Intel Core i7
Hi i bought chip CP2102 from China, after assembly. device shown as Verifone to Modem.
and i try to use tool (CP21x Set IDs) but it shown Custom Data Locked.
so how to reset it to original firmware ?
After installing the different drivers in a different way following the troubleshooting instructions: I can't manage to get my device recognised.
The device is an USBwave12 with a product ID 0xf002 and a vendor ID 0x10c4 (Silicon Laboratories, Inc.).
I tried load the driver manually as :
But nothing appears in the /dev/* while my device appears in the detected USB devices.
(Yes, I also accepted Silicon Lab Inc. as allowed developer)
What can I do?
I made a custom PCB which uses the same circuitry as the development board HUZZAH32 by Adafruit. Its core component is an ESP32 microcontroller and there is a CP2104 USB to UART bridge IC so it can be hooked up to a PC via USB to program it. The complete schematics can be found here: https://learn.adafruit.com/assets/41630
These are the modifications I made to the original design:
- connected some peripherals to the GPIOs of the ESP32 and added a stronger voltage regulator to handle the current consumption of those devices
- connected the NC pin of the CP2104 to GND (this was necessary for my PCB layout)
Here is a picture ot what the wiring looks like:
I first installed the Windows 10 Universal CP210x USB to UART Bridge VCP Driver and the tools for the Arduino IDE. This is what happens:
When I connect my board to my Windows 10 PC mostly the COM port does not show up nor Windows notifies me that an unknown device has been connected. But sometimes it does show this message or shows up as serial interface and I can upload my code. This occurs randomly and I cant figure out what triggers whether it functions or not.
The board does always get powered up though, as the on-board LED lights up.
I already tried the following:
- use another USB cable (in total, I tried three different ones)
- use another PC (also Windows 10)
- check the VID and PID using UVCView to find out whether my chip can actually work properly with the drivers I installed
- re-solder the chip and USB connector to improve the PCB connections
- reinstall the drivers
- clean the pins around the chip with some isopropanol
- check the connections of the CP2104 using a multimeter
- temporarely add a 4.7kOhm resistor between VIO and the #RST pin of the chip to ensure that it does not reset itself due to static noise
But nothing fixed the problem.
I even made a copy of my board which had the same problem, so I assume it has nothing to do with faulty solder joints.
The datasheet of the CP2104 says about the NC pin:
This pin should be left unconnected or tied to VIO.
Could this be the explanation to the strange behaviour of the board? As the the Pin is not connected internally, I guess not, right?
Or is this a software issue?
I am a student who makes stuff with microcontrollers as a hobby and sadly, what is happening seems to be beyond my current knowledge.
I highly appreciate any help, suggestions or tips.
I'm currently using the CP2615 Bridge to interconnect it to the Cypress CYBT-353027-02 Bluetooth module. This Bluetooth module can work as a I2S Slave but it can deal only with SCLK lower than 3.072 MHz.
Considering a LRCLK of 44,1 kHz, the time of the half period is 11,34 µs. This is the time to transfer 24 bits. This would be 472ns per bit or result in a bit rate of 2,117 MHz which would be well acceptable for the I2S Slave. Even with 48 kHz sampling rate it would be possible to have the SCLK at 2,304 MHz.
Would it be possible to get the SCLK below 3 MHz by configuring the I2S Master (the I2S USB Bridge)?
Is there another solution to this, like using the CP2114 with an oscillator connected to the EXTCLK? (but the CP2114 is NRND - not recommended for new designs)
I would like to work with the CP2104-MINIEK (already bought 5 units) using self powered mode, in order to communicate with +5V on board powered AVR MCU.
What should i do please?
My product is used in home automation and I am facing issue while uploading Touch configuration to CPT112S IC. I am using Conf. Clock, Conf. Data, 3.3V and GND port doing same through jumper wires, but now it takes error while uploading configuration.
Can you suggest any board for doing the same?
Where can I find the Standalone Manufacturing Tool for CP2615?
I have downloaded and installed AN721SW and USBXpress SDK (found here: https://www.silabs.com/community/interface/forum.topic.html/an721_-_cp21xxcustom-xVcM) but none of those contain the CP2615SMT.exe tool.