USB-to-Serial adapter signed driver for Windows 7/Vista

Necessity is the mother of discovery, and I just needed to set up some Pololu USB-to-Serial adapters on my boss’ brand new 64-bit Windows 7 Home Premium laptop. Neither hacking at Windows registry settings to permanently suspend driver signature enforcement nor manually booting without enforcement every time were ideal solutions, but I discovered that Silicon Labs has a signed CP210x driver available on their site, and you can force Windows 7 (and I assume Vista as well) to use these drivers without changing the VID/PID of the adapter. I have only tried this with the Pololu USB-to-serial adapters so far, but it should work with any device based on a SI CP210x chip:

  1. Download and install “CP210x VCP Windows 7 Drivers” from Silicon Labs here.

  2. Plug in your Pololu USB-to-Serial Adapter (or other device that uses a SI CP210x USB-serial adapter chip). You will see an error message that the device was not properly installed.

  3. Load the device manager from the control panel, find the adapter listed under “Other Devices”, right click on it and go to “Properties”->“Update Driver”

  4. Select “Browse my computer for driver software”, then “Let me pick from a list of drivers on my computer”

  5. Select “Show All Devices” then click “Next”

  6. Follow 6A or 6B:

6A. Wait for the driver list to finish populating, then select “Silicon Laboratories” as the manufacturer and “Silicon Labs CP210x to UART Bridge” as the device, then click next.

6B. If you get tired of waiting for your computer to generate a list of drivers, click “Have Disk” then “Browse”, and select to “c:\SiLabs\MCU\CP210x\Windows_7\slabvcp.inf”, then select “Open”, “OK”, then next.

  1. Click “Yes” to get past the “Update Driver Warning”, then close the success window.

Take that Windows 7!

-Adam

1 Like

Adam,

Thanks for sharing! I just recently told someone how to change the PID number; this sounds much less inconvenient.

- Jan

Hi Adam,

This fix didn’t seem to work on my new Windows 7 machine. I got the driver to load fine, but now when connecting a device via the Pololu, it doesn’t behave the same way it did on my XP machine. Does anyone know about the possibility of Pololu getting a signed driver? Thanks!

I’m assuming you followed all the steps, can you elaborate on how it is behaving?

-Adam

We probably won’t be signing drivers any time soon.

- Jan

Hi Adam,
Using Windows 7, I had to install the driver for 16 servo controller using cp2102 from CILABS by following your instructions. They are great, thanks. Now, I got green and yellow lights come on for few seconds and they go off. I believe communication is OK. Since I can not use Pololu drivers, I do not have GUI to send data. What would be the simplest way to transmit the data and program to run the robot. I got humanoid legs with 10 servos to move.
Best Regards,

Walker,

Hi, Adam.

I tried following your guide, but the “CP210x VCP Windows 7 Drivers” file does not exist anymore. Silabs has integrated the Windows 7 drivers in with the other drivers. When I try to follow your advice using the integrated installer, the SiLabs driver does not appear in the list of drivers to choose from to install. Using have disk comes up with no drivers either. Have you managed to get it to work using the integrated installer? Do you happen to have a copy of the old driver installer?

- Ryan

Hi.

Update: I was able to follow this guide with the latest software. I had some driver software installed that was making the new driver installation process not work. I uninstalled the drivers by right clicking on the adapter’s entry in the device manager, choosing uninstall and checking the box that also uninstalls the driver software. After replugging the adapter, the installation instructions above worked great!

- Ryan

Hi

I was able to download the drivers off the silabs website but when I try to install them for the programmer i get this error message:

Windows found driver software for your device but encountered an error while attmpting to install it.
Silicon Labs CP210x USB to UART Bridge
This device cannot start. (Code 10)

Any advice on what to do next?

–Chris

Hi.

I was having all sorts of trouble until I realized that I had some other driver installed for that device which was confusing Windows. Are you sure your device had no drivers before you started? Can you try uninstalling and deleting all the drivers installed for that device and following the tutorial once more. Pay attention to exactly what nexisnet writes in his tutorial, because there are certain driver install screens that can look close to what he says but not be exactly the same.

- Ryan

I also get this error when i’m trying to install the driver.

Windows found driver software for your device but encountered an error while attmpting to install it.
Silicon Labs CP210x USB to UART Bridge
This device cannot start. (Code 10)

This is the first time I install such thing to my computer, so i dont think I have any other drivers for this device. If i have, how do i find it? Are there more tips on how to get this to work?

I found this note about turning off the Microsoft Driver signing tax. So far it seem to be legit, but my CP2102 board is back-ordered so I cannot confirm it.

[quote]Ryan Tollmann says:February 15, 2011 at 8:00 pm
try this.

run gpedit.msc

click user configuration
then administrative templates
then system
then driver installation
then ‘code signing for device drivers’

then rest is self explanitory.
Have fun.[/quote]

Other way: chande de PID to EA60 - using the software utility in the USBXpress package. Download it from SIlabs site - CP2102 products folder. Find the software CP210xSetIDs.exe on the instalation folder. Run it, check the PID, and set the number EA60 (original PID for this chip - now you can use Silab drivers without selecting drivers on folder). Use the original Silab driver for CP2102 product (look for VCP driver, silabs.com/products/mcu/Page … ivers.aspx).

Now windows will detect it as Silab hardware, not Pololu anymore.

I gave up. … it would never recognize under win7 x64 for me, even after removing stuff, reapplying, trying the test mode, etc.

There must be a chip out there with a good windows 7 driver?

[quote=“nexisnet”]I think any Los Angeles attorney should be able to help. Necessity is the mother of discovery, and I just needed to set up some Pololu USB-to-Serial adapters on my boss’ brand new 64-bit Windows 7 Home Premium laptop. Neither hacking at Windows registry settings to permanently suspend driver signature enforcement nor manually booting without enforcement every time were ideal solutions, but I discovered that Silicon Labs has a signed CP210x driver available on their site, and you can force Windows 7 (and I assume Vista as well) to use these drivers without changing the VID/PID of the adapter. I have only tried this with the Pololu USB-to-serial adapters so far, but it should work with any device based on a SI CP210x chip:

  1. Download and install “CP210x VCP Windows 7 Drivers” from Silicon Labs here.

  2. Plug in your Pololu USB-to-Serial Adapter (or other device that uses a SI CP210x USB-serial adapter chip). You will see an error message that the device was not properly installed.

  3. Load the device manager from the control panel, find the adapter listed under “Other Devices”, right click on it and go to “Properties”->“Update Driver”

  4. Select “Browse my computer for driver software”, then “Let me pick from a list of drivers on my computer”

  5. Select “Show All Devices” then click “Next”

  6. Follow 6A or 6B:

6A. Wait for the driver list to finish populating, then select “Silicon Laboratories” as the manufacturer and “Silicon Labs CP210x to UART Bridge” as the device, then click next.

6B. If you get tired of waiting for your computer to generate a list of drivers, click “Have Disk” then “Browse”, and select to “c:\SiLabs\MCU\CP210x\Windows_7\slabvcp.inf”, then select “Open”, “OK”, then next.

  1. Click “Yes” to get past the “Update Driver Warning”, then close the success window.

Take that Windows 7!

-Adam[/quote]

Hey mate, I’m stuck on 6B, since I can’t get 6A I skipped it and decided to do 6B instead. Where can I see “Hard Disk” man? I’ve been searching for it for almost an hour now. Help me please? I am getting really frustrated here. :frowning:

[quote=“jan”]We probably won’t be signing drivers any time soon.

  • Jan[/quote]

Why not? Signing drivers is a matter of buying the appropriate code signing certificate, and then applying some readily available tools.
The code signing certificate may cost as much as $400 per year, which is a bummer, but the convenience of signed drivers for customers might be something that sets Pololu apart from the competition… :wink:

Also: Please never use NSIS for an installer ever again! WiX is pretty much where it’s at for free Windows installer makers, and it builds packages that work very, very well with all versions of windows and all levels of patching/updating/user access control.

Hello, ihanna.

Sorry to hear you are having trouble with your drivers.

Nexisnet’s guide does not say “Hard Disk”, it says “Have Disk”. On Windows 7 on my computer, there is a button that says “Have Disk” right above the “Next” and “Cancel” buttons on the dialog with the title “Select the device driver you want to install for this hardware”. What version of Windows are you using? Can you post some screenshots of the dialogs you see?

- Ryan

Hello, jwatte.

Thanks for the feedback. Actually, we have been looking into this and we will probably start signing our drivers soon.

What about NSIS do you dislike? Have you had any specific trouble with one of our installers?

–David

It doesn’t build proper MSI packages, it doesn’t support merge modules, it doesn’t register proper removal instructions, it doesn’t support Windows Installer advertising, … I could go on :slight_smile: (There’s even still an option to put in that nightmare: the “uninst.exe” executable, from 16-bit Windows days !)

On Windows, an “installer” is something very different from “a zip archive which puts files in specific locations,” and this has been the case since at least Windows XP (11 years ago.) NSIS does nothing that WiX doesn’t do better, and WiX is free. I left NSIS for my own stuff many years ago and have never looked back. And each time I see an NSIS installer, I cringe a little bit, and wish to bring enlightenment to the world! (This is a pun, because a two tools from WiX are called “light” and “candle” :wink:

Hello! We now provide signed CP2102 drivers that should work without any hassle on Windows 8, Windows 7, Windows Vista, and Windows XP. You can get them here:

pololu.com/docs/0J7

–David