Solving issues with device drivers

and programs in Windows 10

If you want to plug some old or specific hardware and the drivers are not signed, Windows 10 will not allow you to install those unsigned drivers. Other times the connection with a device fails because of "invalid device driver license" or the latest drivers (or program release) do not work properly, but older drivers (or program release) might work perfect, so you need to find and install them together with the latest ones or replace them. Below presented examples for some cases.

Devices - Programs:

  • USBasp
  • Xilinx ISE Design Suite 14.7 (Project Navigator & iMPACT)
  • Spartan-3E cable (Usb Port - USB21)
  • Prolific PL2303HX USB to RS232

 

Author: Dimitrios Porlidas

Curriculum Vitae

electronics@porlidas.gr

Facebook

Linkedin


 

 

 

 

 

If you want to plug some old or specific hardware and the Windows drivers are not signed, you might need to disable the driver signature enforcement in Windows 10 (or Windows 8/8.1) because Windows will not allow you to install those unsigned drivers. The typical solution is to reboot Windows into Advanced Startup mode and disable driver signature enforcement.

 

go to Start

hold [Shift] key and click on Restart

 

or go to Settings -> Update & Recovery -> Recovery -> Restart now

 

or go to Settings

In search option type: Advanced Startup

 

(Advanced Startup Options screen will appear.)

 

click on Troubleshoot -> Advanced options -> Startup settings -> Restart

 

(After Windows 10 restarts, you will see the Startup Settings screen.)

 

Press [F7] to activate the item Disable driver signature enforcement. Then, once Windows boots, you can install unsigned drivers. Windows will appear a message that the drivers are not signed or you are trying to install unknown software, but you can ignore it and procced with installation by selecting Install anyway option. After the installation, the hardware you are trying to connect will work without problems but if you boot into the normal mode next time, Windows may fail to recognize the drivers again and reporting are not digitally signed.

 

 

Another way to disable driver signature enforcement is through bcdedit.exe from Command Prompt. This solution supposed to disable the driver signature enforcement permanently in Windows 10 (even after rebooting several times). Unfortunately, in some cases, it is not possible to install those unsigned drivers or after a few reboots Windows 10 may fail to recognize the drivers and reporting that are not digitally signed again. Anyway, to disable driver signature enforcement through bcdedit.exe you have to do the following:

 

right click on Start

click on Command Prompt (Admin)

type: bcdedit.exe /set nointegritychecks on

press [Enter]

 

To enable again driver signature enforcement you have to do the same but this time type:

bcdedit.exe /set nointegritychecks off

 

 

 

The better way is to find digitally signed drivers and install them without messing with the driver signature enforcement in Windows 10 (or Windows 8/8.1). This is very difficult because there are specific drivers by the designer for every device, but in some cases it is possible. A typical example is the drivers for USBasp and USBtiny since are both based on libusb. If you try to install the drivers that are available for downloading in designer’s webpage (http://www.fischl.de/usbasp/) you will find out that is not possible because they are not digitally signed and of course the programmer does not recognized by Windows 10. To install digitally signed drivers you need to do the following:

 

USBasp and USBtiny

  • Download Zadig from http://zadig.akeo.ie/ (note that for Windows XP has a separate link).
  • Plug in your USBasp or USBtiny device. In case your microcontroller uses a USBasp or USBtiny bootloader, enter bootloading mode.
  • If you have already install drivers without digital sign you will see the mark  in Device Manager and you have to uninstall them.
  • Let Windows detect the device (it will report Driver not found). If a window pops up asking to search for driver, just close it or click on Cancel.
  • Run Zadig. It should detect the USBasp or USBtiny, or any other device you have connected.
  • In the selection box choose libusb-win32 (v1.2.6.0), click on Install Driver and wait for the installation to complete.

After this USBasp or USBtiny device will work perfect and Windows 10 will always recognize the drivers because they are digitally signed. You can try Zadig for other devices as well by selecting the relevant type of drivers for each one, depending on the library is based on.

 

Except with the drivers we have to solve issues with programs as well. Xilinx ISE Design Suite 14.7 faces a lot of problems in Windows 8/8.1 and Windows 10. License Manager fails to open browser to locate Xilinx.lic and so Project Navigator, Software Development Kit (SDK), Platform Studio (EDK) and iMPACT to locate a project. Sometimes iMPACT fails with cable connection giving the message: WARNING: iMPACT:923 -  Can not find cable, check cable setup! and somewhere in Console appears the message: Invalid device driver license. Hopefully all these problems can be solved.

After the installation of ISE Design Suite 14.7 you have to make changes to some files.

  • Navigate to: C:\Xilinx\14.7\ISE_DS\ISE\lib\nt64 and search for libPortability. Search query should return two results: libPortability.dll and libPortabilityNOSH.dll.
  • Navigate to: C:\Xilinx\14.7\ISE_DS\EDK\lib\nt64 and search for libPortability. Search query should return libPortability.dll.
  • Rename libPortability.dll to libPortability.dll.old in both directories (Just in case, you can always revert back.)
  • Copy and paste libPortabilityNOSH.dll into the same directories.
  • Name the copies libPortability.dll.

With these changes is possible to open the browsers in License Manager, Project Navigator, SDK, EDK and iMPACT. If iMPACT fails to connect with cable in Boundary scan when we Initialize chain and gives the message: WARNING: iMPACT:923 -  Can not find cable, check cable setup! the problem is probably with Jungo drivers and windrvr6.sys. if we search in Console we will find the message: Driver windrvr6.sys version = 11.5.0.0. WinDriver v11.5.0 Jungo Connectivity (c) 1997 - 2014 Build Date: Jan 26 2014 x86_64 64bit SYS 13:30:18, version = 1150. Invalid device driver license. To solve this problem you need to do the following:

  • Uninstall Jungo WinDriver from Device Manager.
  • Delete windrvr6.sys from c:\windows\system32\drivers.
  • Excecuted the install_driver.exe with admin permissions from c:\Xilinx\14.7\ISE_DS\ISE\bin\nt64. (To do this from Command Prompt follow the instruction bellow.)

right click on Start

click on Command Prompt (Admin)

type: cd\

press [Enter]

type: cd Xilinx\14.7\ISE_DS\ISE\bin\nt64

press [Enter]

type: install_driver.exe

press [Enter]

 

 

 

 

 

Another issue we have to face is with Prolific PL2303HX USB to RS232. We can find Prolific PL2303HX in cable converters or in modules. Normally Windows 10 (or Windows 8/8.1) can find drivers and install them automatically, but the device is not possible to work with the drivers that are installed (you will see the mark  in Device Manager). To solve this problem you need to do the following:

  • Download Prolific_3.3.11.152_v1.2.1 drivers (this is an old version).
  • Run PL2303_Prolific_DriverInstaller_v1210.exe choose Modify
  • Open Device Manager and right click on Prolific USB-to-Serial Comm Port
  • Click on Update Driver Software -> Browse my computer for driver software -> Let me pick from a list of device drivers on my computer -> Prolific USB-to-Serial Comm Port Version: 3.3.11.152 [12/3/2010]  ->  Next

After the installation the device will work perfect until you unplug it. Next time you will connect the device, Windows will not recognize it again and you have to do the same. In the mean time you can check Prolific’s web page for new drivers without problems.

     

Thank you for your support to make my website better.

© 2017 Dimitrios Porlidas