Hardware Certification Step by Step Guide
Hardware Certification Step by Step Guide
Microsoft Corp.
Published: October 2012
Version 2.0
Applies To:
This information applies to Windows 8
Abstract
The Windows Hardware Certification Kit (Windows HCK) enables developers, ISVs, IHVs, and
OEMs to certify their hardware devices for Windows 8.
Copyright Information
This document is provided as-is. Information and views expressed in this document, including
URL and other Internet Web site references, may change without notice. You bear the risk of
using it.
This document does not provide you with any legal rights to any intellectual property in any
Microsoft product. You may copy and use this document for your internal, reference purposes.
2012 Microsoft. All rights reserved.
Microsoft, Windows, and Windows Media are trademarks of the Microsoft group of companies.
All other trademarks are property of their respective owners.
Contents
Windows Hardware Certification Step-by-Step Guide....................................................................4
Testing concepts.......................................................................................................................... 4
Windows HCK test process......................................................................................................... 6
Prerequisites............................................................................................................................... 6
Step 1: Install Controller and Studio on the test server..............................................................12
Step 2: Install Client on the test computer(s).............................................................................13
Step 3: Create a project............................................................................................................. 17
Step 4: Create a machine pool.................................................................................................. 18
Step 5: Select target to certify................................................................................................... 20
Step 6: Select and run tests...................................................................................................... 21
Step 7: View test results and log files........................................................................................ 22
Step 8: Create a submission package.......................................................................................23
Step 9: Submit a package for certification.................................................................................25
Appendix................................................................................................................................... 25
Windows 8
Windows 7
The Windows Certification Program is the successor to the Windows Logo Program. The
Windows HCK is the successor to the Windows Logo Kit (WLK).
Testing concepts
Windows HCK testing is based on feature detection. Unlike previous kits, Windows HCK
determines what parts of a device can be certified.
Terminology
Feature. A feature is a Windows capability exposed by a device. When you connect a device to a
Windows HCK environment, the kit searches for features on the device using a mechanism called
gatherers. Starting with Windows 8, features are organized using a namespace style, for example,
Device.Graphics.WDDM12, System.Client.BluetoothController.Base, and Filter.Driver.Network.LWF.
Requirement. A requirement is the official specification that defines what a feature must do to qualify
for Windows hardware certification. Starting with Windows 8, requirements are organized using a
namespace style. For exampleDevice.Imaging.Scanner.Base.RawFileFormat is a requirement for the
Device.Imaging.Scanner.Basefeature.
Tests. Tests validate that features are implemented on a device in accordance with requirements. Each
test has a pointer to the requirement(s) it validates.
Product type. A product that contains a predefined list of testable features. A Product type replaces the
previous self-selection category system in Windows Logo Kit. To receive Windows Hardware
Certification, a product must implement all of the features of at least one product type.
How it works
In the following example, a multi-function printer device contains several features: It's a scanner,
an Ethernet network port, a storage reader, and a printer. Windows HCK detects each feature,
2012 Microsoft Corporation. All rights reserved.
Best practices
In addition to understanding the new terminology and logic, consider these best practices:
Design your hardware using the Windows Hardware Requirements. If you fail to meet any of them,
your device fails the testing process, which wastes valuable time.
Review the Certification Test Reference for your device before testing. Any Windows HCK test may
require a specific configuration. The more complex the device, the more complex the test
configuration.
Manual tests require more time and preparation. You should run manual steps separately from
automated tests. When you connect a device to Windows HCK, you can sort detected test by
automated and manual. To learn more about any test, select the test from Windows HCK Studio and
press F1 for Help.
Ensure that your test server contains the latest QFE and filters. We periodically release updated tests.
For more info, see Windows Hardware Certification in the Windows Dev Center.
Testing strategy
The complexity of a device determines the complexity of a test. It can be as simple as connecting
the device and running the test, or it can require additional hardware resources, extensive
configuration, and/or active use. Considering your knowledge of the device and previous versions
of this kit, you can approach testing two ways:
Connect the device to a Windows HCK environment. Let the kit detect features and the corresponding
tests to run against the device. Press F1 on each identified test to review any prerequisites for it.
2012 Microsoft Corporation. All rights reserved.
Review prerequisites
2.
3.
4.
Create project
5.
6.
7.
8.
View results
9.
Prerequisites
Before you begin testing, make sure that the test environment meets the necessary requirements.
Windows HCK is comprised of two components: a test server and one or more test computers.
Test server. Often referred to as the controller, a test server has two parts: Windows HCK Controller
and Windows HCK Studio. The Controller software is the engine that manages tests that are run on test
computers. The Studio software is the management tool that lets you select and schedule tests against
any test computer connected to the test server. Controller and Studio are installed from the Windows
HCK installation source. Once established, the test server contains separate installers to install a
remote Windows HCK Studio and Windows HCK Client.
One controller governs a collection of client computers. Controllers can manage and access
only the client computers that they govern.
Test computer. Also referred to as a client computer, each one can have a different configuration that's
appropriate for various testing scenarios, including different hardware, operating systems, service
packs, and drivers. Each test computer can only be associated with one test server. You configure each
test computer by running the Windows HCK Client software installer directly from a shared network
location on the test server.
Deployment scenarios
There are two deployment scenarios for Windows HCK:
Workgroup environment. A workgroup environment has no domain controller. If you plan to deploy
Windows HCK in a workgroup, you need at least two computers: a test server and a test computer.
Don't use the Default Administrator account.
In addition, consider how you want to organize lab resources to best use the Windows HCK. You
need to determine the number of test servers and the number of test computers connecting to
them. These decisions are partly influenced by the type of devices or systems that you want to
certify.
To test systems and filter drivers, you need at least 1 test server and 1 test computer.
To test external devices, you need at least 1 test server, 1 test computer, and the external
device(s) to be tested.
You can choose to allocate fewer controllers, each with multiple clients connected to them, if you
want less overhead administering the controllers and clients. A maximum of 150 clients can be
connected to a single controller. Alternately, you can allocate more controllers and connect fewer
clients to them. This allows any given controller to be more responsive because it has fewer
clients communicating with it.
The following image shows an example test environment.
System Requirements
Test server
Component
Minimum
Optimum
Processor
Multicore or mu
running in x64
GHz or faster
System memory
2 GB main memory
4 GB main mem
RAID or JBOD
Network connection
Operating system
Test computer
Component
Minimum
Processor
System memory
Network connection
100 Mbps
Operating system
Additional requirements
Filters.
Test-sign drivers.
Component
Minimum
Processor
System memory
100 Mbps
Operating system
Windows Vista
Windows 7
Windows 8
Additional requirements
You might need to configure additional hardware for the device or system that you're testing. For
more info, see the Prerequisites section for each feature that you're testing:
Systems
System.Client Testing
System.Fundamentals Tests
System.Server Testing
Devices
Device.Audio Testing
Device,Buscontroller Testing
Device.Connectivity Tests
Device.Fundamental Tests
Device.Graphics Testing
Device.Imaging Testing
Device.Input Testing
Device.Network Testing
Device.Media Testing
Device.Portable Testing
Device.Storage Testing
Device.Streaming Testing
Filter Drivers
2012 Microsoft Corporation. All rights reserved. 13
Filter.Driver Testing
1.
Download the Windows HCK from the Windows Hardware Dev Center
2.
3.
4.
Install option Select Install the Windows HCK to this computer, and then click Install .
b.
Download option Select Download Windows HCK for installation on a separate computer,
and then click Next.
5.
When the Join the Customer Experience Improvement Program (CEIP) screen appears, select Yes
or No, and then click Next.
Note
If your network isn't connected to the Internet, select No.
6.
7.
If you selected the install option, installation takes about 45 minutes. If Microsoft .NET Framework 4
isn't already installed on the computer, follow the prompts to install it. After the computer restarts, you
must repeat the installation instructions from Step 1 for installing to this computer.
If you selected the download option, copy your download to your test server. Run
HCKSetup.exe and repeat the installation instructions from Step 3 for installing to this
computer.
2.
3.
The Windows HCK Hardware Certification Kit Client Setup wizard appears. To start the wizard,
click Next.
4.
On the Internet Connection Firewall Agreement page, select Yes I will allow a port to be opened,
and then click Next.
Note
If the Internet Connection Firewall Agreement page doesn't appear, Windows
Software Firewall isn't installed, or another software firewall or hardware firewall is
installed on the computer. If another firewall is installed, you must manually open
TCP port 1771 to proceed with installation. Refer to the instructions that came with
your firewall product to manually open a TCP port. Otherwise, the installation may fail
or the Client software might not function properly.
2012 Microsoft Corporation. All rights reserved. 15
5.
6.
7.
When installation completes, confirm its success by clicking Start > Control Panel> Uninstall a
program. Confirm that Windows Hardware Certification Kit Client appears in the program list.
8.
1.
For x86/x64, enter your BIOS configuration and disable Secure Boot.
For Windows RT, install the Windows Debug Policy; you don't need to disable Secure Boot.
Note
This can only be done by OEMs and Microsoft.
2.
3.
Run the following tests (whichever is applicable from the list for your platform)
Enter your BIOS configuration, enable Secure Boot, and restore Secure Boot to the Default
configuration. For Windows RT devices, remove the secure boot debug policy.
5.
6.
Enter the BIOS configuration and clear the Secure Boot configuration. This restores the system to
Setup Mode by deleting PK and other keys.
1.
2.
For Client troubleshooting information, see HCK Troubleshooting in the Windows Dev Center.
To learn more about client computers, see Manage Clients and Machine Pools in the HCK Users
Guide.
1.
On the server computer, click Start > All Programs > Windows Kits > Hardware Certification Kit
> HCK Studio.
2.
3.
Replace the default project name with the name of your project, and then press Enter.
Note
A project should have a meaningful name that indicates its contents, for example,
"Fabrikam Multi-function Device Model Z".
When the project name appears on the page, the project is loaded.
1.
2.
Under Machine Pools, right-click $ (Root), and then click Create Machine Pool.
The new pool is named "New Pool 1" by default. You can change that by typing a different
name and then pressing Enter.
3.
Click Default Pool, and then confirm that each test computer appears in the main pane. If you've
installed the Client software on multiple test computers, you can add any of them to the pool.
Note
A computer can't be in more than one pool at a time.
4.
Select the test computer, and then drag it to the newly created pool.
5.
Under Machines, right-click the test computer, click Change Machine Status, and then click Ready.
The Status column changes to Ready.
Warning
Tests don't run if the computer status isn't Ready.
6.
Repeat for each test computer that you want to include in the pool.
7.
Click the Back arrow to return to the main area of Windows HCK Studio.
2012 Microsoft Corporation. All rights reserved. 21
Devices and printers. To certify an external device that's connected to a test computer. This device
typically appears in Start > Devices and Printers on the test computer.
Device manager. To certify a component of a test computer or external device, for example, a network
card. This is the most detailed view.
Software devices. To certify filter drivers, firewalls, and antivirus software that's installed on the test
computer.
1.
Click the Selection tab. From the machine pool list (upper-left drop-down list), select the pool that
2012 Microsoft Corporation. All rights reserved. 22
From the left-pane, select the view based on the device you want to certify: systems, device and
printers, device manager, or software device.
A list of available targets is displayed in the center detailed view. If you select device
manager, you can choose to show inbox and hidden features.
3.
From center detailed view, select the check box next to each item that you want to test.
Note
You must select all of the features for a device to receive certification.
If you're testing a Web Services on Devices (WSD) device, there may be a delay before required
WSD features are automatically selected.
The show selected option displays the targets that you select in the other views. This view
allows you to see just the areas you're testing. You also can filter a machine pool by category by
using the category list. You can search for specific targets/features by using the search box.
To learn more about targets, see Work with Targets and Selection Tab in the HCK Users Guide.
1.
Select the check box next to each test that you want to run.
Important
A device must pass all of the tests displayed in the list to receive a certification.
2.
As tests complete, the outcome of each one is displayed in the Status column. A green
checkmark means that it passed; a red X means that it failed. The right pane displays project
summary information, including target(s) selected, operating systems being tested, product types
you qualify for, and status of all tests.
To learn more about managing tests, see Manage Tests using Test Tab in the HCK Users Guide.
If a test fails, you can expand the test details to review the associated log file.
1.
2.
Expand the Test Name node, expand the Logs node, and then double-click the log file.
You can review these log files:
.xml file. Change file name extension to .wtl to view error reports.
Task logs.
Additional files.
Applied filters.
Errors.
To learn more about test results, see Manage Test Results using Result Tab in the HCK Users
Guide.
2012 Microsoft Corporation. All rights reserved. 25
1.
2.
If you used a special driver for a device (optional), submit it by doing this:
a.
Click Add Driver Folder > Browse to select the folder, and then click OK.
b.
In the Driver Properties dialog box, select the appropriate Products and Locales, and then click
OK.
3.
To add symbols (optional), right-click the driver folder, click Add Symbols > Browse to select the
folder, and then click OK.
4.
To add a supplemental folder (optional), such as a Readme file, contingency message, errata, or manual
filter, click Add Supplemental Folder > Browse to select the folder, and then click OK.
5.
6.
Do not sign to create an unsigned package, for example, to send to Support for debugging or to
later merge with other packages into a single submission package.
Use the certificate store to create a digitally signed packagethe most common scenario. This
option requires an X509 certificatefor example a VeriSign certificate to be installed on the
computer running Windows HCK Studio. From the Windows Security dialog box, select the
appropriate code signing certificate.
Use a certificate file to create a digitally signed package by using a portable security file. This
option asks you for an X509 certificate file (.cer file).
When the submission package is ready, the end-to-end testing of the device is complete.
To learn more about packages, see Work with HCK Packages (.hckx) in the HCK Users Guide.
Appendix
For more information, how-to's, and troubleshooting, see the Windows HCK Users Guide, which
is added to the test server during the kit installation.
On the test server, click Start > All Programs > Windows Kits > Hardware Certification Kit >
HCK Users Guide.
For the latest Windows HCK information, see Windows Hardware Certification in the Windows
Dev Center.