Today, I tried installing windows drivers for a Lolin32 after the Windows 10 build 1803 update.

It appears that there is a problem with the CP210x Driver v10.1.1. When I tried to install the driver that I downloaded from the Silicon Labs official site Windows that states “A service installation section in this INF is invalid.”

Indeed, INF requirements on new windows build changed once again and therefore many old win drivers will not be compatible.

Workaround

I found a workaround to force install the driver by changing inf file attributes. I followed these steps:

  1. I downloaded the official driver from Silicon Labs, CP210x USB to UART Bridge VCP Drivers 
  2. I extracted the files and edited the INF file as follows:
    1. Line 118 change from a to b: 
      1. ServiceBinary  = %13%\silabser.sys
      2. ServiceBinary = %12%\silabser.sys
    2. Line 160 change from a to b:
      1. Silabser_CopyFiles_FileListSection = 13 ; Driver package's Driver Store directory (%WINDIR%\System32\DriverStore\FileRepository ) (was 12 Drivers directory (%SystemRoot%\system32\drivers))
      2. Silabser_CopyFiles_FileListSection = 12 ; Driver package's Driver Store directory (%WINDIR%\System32\DriverStore\FileRepository ) (was 12 Drivers directory (%SystemRoot%\system32\drivers))

Unfortunately, this change will make driver appear unsigned and thus make Windows complain and possibly refuse driver installation. To change this later behaviour I needed to disable driver signing enforcement by enabling test mode for windows and/or disabling integrity checks.

Install Unsigned Drivers by Enabling Test Mode or by Disabling Integrity Checks

In order to install unsigned windows drivers I enabled Test Mode:

Winkey+x and then “Command Prompt (Admin)”

 

typed in: bcdedit /set testsigning on  

 

Also disabled integrity tests:
bcdedit /set nointegritychecks off

After rebooting the desktop watermark indicating Test Mode was active:

When in Test Mode, I installed the unsigned drivers. To do so I opened the Device Manager (Win+X -> Device Manager) and plugged in my eps32 device. The new device appears either as  Unknown device or as a COM port with an exclamation mark.

I right clicked on it and updated the driver.

Then selected: Browse my computer for driver software and pointed to the directory I extracted the driver files with the altered inf file.

It will possibly warn you that you are about to install an unsigned driver. Accept and continue.

Driver was installed. This in what I saw on my device manager:

Finally, to revert my system back to default settings I set both Test Mode and Integrity tests to:

bcdedit /set testsigning off
bcdedit /set nointegritychecks on