Cypress supplies a digitally signed driver with its reference designs and development kits. The signature on the driver files is invalidated when customer-specific information (VID, PID, strings, and so on) are added to the driver files. The following steps allow customers to obtain the ‘Certified for Windows’ logo digital signature by passing Microsoft’s Windows® Hardware Quality Labs (WHQL) testing for customer-modified Cypress USB driver files. More information on the logo programs offered by Microsoft (including cost, debug procedure etc.) is available at http://msdn.microsoft.com/en-us/windows/hardware/gg463010 and http://msdn.microsoft.com/en-us/windows/hardware/gg487530
Driver Signing for Windows Hardware Certification
A complete beginning-to-end walkthrough of how to digitally sign drivers is provided by Microsoft and is available at http://www.microsoft.com/whdc/winlogo/drvsign/kmcs_walkthrough.mspx
Question 1: I get the following error while binding my device to CyUSB.sys in Windows 7/Vista 64-bit environment, “Windows encountered a problem installing the driver software for your device” or usage of CyUSB.sys in Vista 64-bit operating system gives Code 39 error (Code 52 in the case of Windows 7). What do these errors mean? How can they be resolved?
Answer: CyUSB.sys downloaded through our website is an unsigned driver. This error reported while an unsigned driver used in 64-bit operating systems in normal mode. Following are the steps to disable driver signature enforcement in 64-bit operating system:
a) During boot-up press F8.
b) In the list of options that appear select “Disable driver signature enforcement”.
This should resolve the issues.
Note: In the case of Windows Vista 64-bit operating system the error message is “Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)”. In the case of Windows 7 64-bit operating system it is "Windows cannot verify the digital signature for the drivers required for this device. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source. (Code 52)".
Question 2: What is the signing procedure when script files are used?
When script files are used, the Inf file should contain both VID/PID combinations while signing the driver. The procedure for signing the procedure is the same as that for regular drivers. The script file (.spt file) will need to be shipped along with the Inf/Sys files.