AN807 R ECERTIFYING A C U S TO M IZ E D W IN DOWS H C K D RIVER P ACKAGE 1. Introduction This application note discusses the Windows Hardware Quality Labs (WHQL) or WinQual process for recertifying a customized HCK driver package. Driver recertification is required any time a certified driver is modified, which includes the modified VCP or USBXpress driver output from AN220: C8051F32x and CP210x USB Driver Customization. There are several fees to Microsoft and VeriSign associated with the WHQL recertification process. Silicon Labs itself does not charge or collect any fee for this process. The driver recertification process is always changing. To ensure proper certification, refer to the latest documentation on the WinQual website: http://sysdev.microsoft.com. Silicon Labs is not responsible for failing submissions due to changes in Microsoft’s submission process. Note: Microsoft may require acceptance of multiple agreements before enabling the submission process. The required agreements must all be signed to fully certify the driver. These agreements are specific to Microsoft, so questions on them should be directed to sysdev@microsoft.com. Note: This process may require adding http://sysdev.microsoft.com as a trusted website in a browser in order to upload the submission package. Note: This document assumes that the customized driver package is already created using the AN220 Driver Customization Wizard and tested on the desired operating systems. 2. Relevant Documentation For additional information on drivers or the recertification process: AN220: C8051F32x and CP210x USB Driver Customization—Available on www.silabs.com/interfaceappnotes. This document and the accompanying software enable customization of the VCP and USBXpress drivers, which can be found at www.silabs.com/interface-software. WinQual website—Provides the latest information and portal for driver recertification: http://sysdev.microsoft.com. 3. Recertifying a Customized Driver To recertify a customized driver: 1. Purchase a code signing certificate from VeriSign (http://www.verisign.com) and create a Windows Live account. It is also possible to link an existing live account to the Windows Dev Center. 2. Contact Silicon Labs technical support (www.silabs.com/support/pages/contacttechnicalsupport.aspx) for reseller status. Please provide the driver used (VCP or USBXpress), driver version, and the WHQL registered company name. 3. Accept the reseller submission of the original device driver. There is a single flat fee from Microsoft for accepting this. 4. Download the Hardware Certification Kit tools needed to create and submit the updated driver package. 5. Once this tool is installed, download the HCKX file from the reseller submission. This HCKX file contains a description of the driver set. 6. Use the Hardware Certification Kit Studio to modify the HCKX file to point to the updated submission package, which then can be submitted to the Windows Dev Center as a Driver Update Acceptable. Driver Update Acceptable is a term used by Microsoft to describe a driver update in which binaries do not change. In this case, the customized submission only includes an INF change and changes to the Driver Installer Rev. 0.1 11/13 Copyright © 2013 by Silicon Laboratories AN807 AN807 INI file. The driver installer is optional and does not affect the submission. Note: There is a fee for each recertification operating system. For the latest fees see http://sysdev.microsoft.com or email whqlbill@microsoft.com. After the submission is complete and reviewed, download the signed catalog files and include them in the custom driver installation. 3.1. Obtain a VeriSign Certificate and Windows Live Login The first step requires buying a code signing certificate from VeriSign, which can be purchased at www.verisign.com. The specific certificate required is the Code Signing Certificate for Microsoft Authenticode. Then, create an account with Windows Live by visiting http://sysdev.microsoft.com and applying for an account. An existing Windows Live account can also be linked. After obtaining the VeriSign certificate, notify Dev Center of the certificate by signing a simple executable file from the Dev Center. To do this, go to AdministrationUpload a New Digital Certificate and follow the instructions. 2 1 Figure 1. Uploading a New Digital Certificate 3.2. Contact Silicon Labs to Become a Reseller Contact Silicon Labs technical support (www.silabs.com/support/pages/contacttechnicalsupport.aspx) to become a reseller. Please specify: The type of driver (VCP or USBXpress). driver version. The name of the company registered to the Windows Live and Windows Dev Center account. The 2 Rev. 0.1 AN807 3.3. Accept the Reseller Submission Log in to the Windows Live Account at the Windows Dev Center and go to Hardware CertificationManage Submissions to view and accept the reseller submission. The current pricing for the reseller submission can be found on the Dev Center (http://sysdev.microsoft.com) or the Windows Hardware Developer Central (www.microsoft.com/whdc/default.mspx) sites. 1. Go to Hardware CertificationManage Submissions. 2. Change the Submitted By section to Entire Company. 3. Change the Period section to More Than 1 Year. 4. Select HCK from the Kit drop-down menu. 5. Click the Apply button. 6. Click on the driver submission ID in the list. 7. Accept the reseller submission. 1 2 3 4 5 Figure 2. Accepting Reseller Status—Step 1 Rev. 0.1 3 AN807 6 Figure 3. Accepting Reseller Status—Step 2 4 Rev. 0.1 AN807 3.4. Download the WinQual Tools and Windows Updates Download and install the Windows Hardware Certification Kit (Studio only) tool by logging in to the Windows Dev Center and going to Hardware CertificationCreate HCK Submission. Then, click on the Windows Hardware Certification Kit (Windows HCK) link. 2 1 Figure 4. Downloading the Tools Install the tool with the Studio Only option checked. This will be the only option available if the tools are installed on any operating system other than Server 2008. Rev. 0.1 5 AN807 3.5. Download the HCKX File Login to Windows Dev Center and go to the newly-accepted reseller submission by following the navigation steps in "3.3. Accept the Reseller Submission" on page 3. To download the HCKX file: 1. Click on the Summary and Tasks tab at the top of the driver submission ID page. 2. Click the Dua Shell Package link under the Download section and save the file. This file will be used with the WinQual Submission Tool to create the updated driver submission package. 1 2 Figure 5. Downloading the HCKX File 6 Rev. 0.1 AN807 3.6. Create the Updated Driver Submission Package To create the updated driver submission package: 1. Launch the HCK Studio downloaded and installed in "3.4. Download the WinQual Tools and Windows Updates" on page 5. 2. Click Connect at the top left of the window. 2 Figure 6. Launching the HCK Studio Rev. 0.1 7 AN807 3. Under Choose Connection, click the Browse button and navigate to the HCKX file downloaded in "3.5. Download the HCKX File" on page 6. 4. Under Packaging Options, select Driver Update. 5. Click OK. 3 4 5 Figure 7. Selecting the Connection Options 8 Rev. 0.1 AN807 6. Click on the Package tab. 7. Right-click on the Driver Folder listed for the existing submission and select Replace Driver. 8. Browse to the location of the customized driver and select it. 6 7 Figure 8. Selecting the Customized Driver Rev. 0.1 9 AN807 9. Click the Create Package button. 10. When the Signing Options dialog opens, select: a. Use the certificate store if the signing certificate is already installed on the machine. b. Use a certificate file to browse to the certificate location. 11. Click Ok. 10 11 9 Figure 9. Creating the Driver Package 10 Rev. 0.1 AN807 3.7. Submit the Created Package To submit the package created by the tools: 1. Login to Windows Dev Center and go to Hardware CertificationManage Submissions. 2. Click on the previously-accepted reseller submission. 3. Click Upload driver update (DUA). 2 1 3 Figure 10. Navigating to the Package Upload Page Rev. 0.1 11 AN807 4. Click the Choose File button. 5. Browse to the location of the HCKX file. 6. Click Next. 4 6 Figure 11. Selecting the HCKX File 7. Fill out the form: a. Select the billing group and provide the Purchase Order number (optional). b. Check Signature only for operating systems that should be signed but don’t necessarily require testing. Any operating system that was tested and specified in the WinQual Submission Tool will already be checked by default. c. Supply the customized Product Name. d. Firmware version is customizable as desired. 8. The next page allows for accepting any required WHQL exhibits and policies. Sign and click Next. Microsoft requires that they be signed in order to continue with the submission. 9. Review the submission and click Submit. Microsoft SilverLight may be required to upload the submission. Note: If there are problems uploading the file, ensure that http://sysdev.microsoft.com is listed as a trusted site in the browser. 12 Rev. 0.1 AN807 3.8. Downloading the Signed Catalog Files Notifications are sent upon approval of the submission. When this occurs, log in to Dev Center to download the signed CAT (catalog) files to include with the driver package. 1. Log in to Dev Center and go to Hardware CertificationManage Submissions. 2. Click on the customized submission. Note that this is not the original reseller submission. 3. Click on the Summary and Tasks tab. 4. Click Signed Catalog File on the right to download the CAB file that contains signed CAT files. 3 1 4 Figure 12. Downloading the Catalog Files 5. Extract the CAT files from this CAB file to the customized driver package. The driver is now signed and ready for distribution. Note: The CAT files are needed by the driver installation to remove Windows Hardware Warnings. The CAT files are required by 64-bit operating systems or the drivers will not install, even with a warning. Rev. 0.1 13 Simplicity Studio One-click access to MCU and wireless tools, documentation, software, source code libraries & more. Available for Windows, Mac and Linux! IoT Portfolio www.silabs.com/IoT SW/HW Quality Support and Community www.silabs.com/simplicity www.silabs.com/quality community.silabs.com Disclaimer Silicon Labs intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Silicon Labs shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any Life Support System without the specific written consent of Silicon Labs. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon Labs products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Trademark Information Silicon Laboratories Inc.® , Silicon Laboratories®, Silicon Labs®, SiLabs® and the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, "the world’s most energy friendly microcontrollers", Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY®, Telegesis, the Telegesis Logo®, USBXpress® and others are trademarks or registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand names mentioned herein are trademarks of their respective holders. Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 USA http://www.silabs.com