WinXP WHQL Certification

March 22, 2002

National Semiconductor

1Introduction......

2WHQL Preparation......

3WHQL Set-up......

4HCT Execution......

4.1NDIS TEST (Manual)......

4.1.1NDIS......

4.1.2NDIS (Low Speed)......

4.1.3Public Import......

4.1.4Remote Boot......

4.1.5Signability......

4.2Automated......

4.2.1ACPI Stress – Device I/O (Extended)......

4.2.2CHKINF......

4.2.3Driver Verifier – NDIS......

4.2.4Enable/Disable test – Device I/O (Network)......

4.2.5LAN Device Wake-Up......

4.2.6PCI 2.2 Compliance......

4.2.7S3 Compliance......

4.2.8Z(Run Last) PCI Latency – NDIS......

4.3Collecting Logs......

Revision History

Date - Version / Author/Reviewer
3/22/02 - Version 1.0 / Author - Robert Hart
3/22/02 / Reviewer - Tim Morneau
  1. Changed to legal numbering
  2. Added header page
  3. Added table of contents

1Introduction

The WHQL process for certifying LAN driver and hardware will be outlined. The steps in successfully completing the configuration and test execution will be detailed for Windows XP. WHQL certification allows a vendor to put the Microsoft LOGO on their LAN driver and hardware for a specified operating system. Each operating system has a Hardware Compatibility Test (HCT) suite and configuration. The HCT tests must pass without any failures or warnings unless agreed upon by WHQL. The Process steps can apply to all Windows Operating systems with just the HCT test suite changing.

2WHQL Preparation

When preparing for WHQL the following documents and HCT’s need to be down loaded from WHQL:

  • Qualification Service Policy Guide
  • Windows Logo Program Qualification Service User’s Guide
  • WHQL HCT suite

Microsoft certification using the WHQL HCT tests and procedures. Use the following link for the test Process.

This is the WHQL home page and you need to select the “WHQL Test Kits and Procedures”.

After down loading the materials, a user account must be setup with WHQL. WHQL will give you a Logon ID and Password that will be needed to submit the driver with test logs.

A VeriSign ID is required to give the WHQL submittal package a Digital ID. This insures the submittal package has not been changed. To be able to sign the logs to verify that the submittal package cannot be modified.

3WHQL Set-up

The configuration needed for the certification will be outlined in the User’s Guide. Figure 1 is a typical configuration for HCT testing. The configuration is the same for both Dual and Single processor tests.

For the configuration you need the following:

  1. WHQL certified systems are required for the client. The server can be any PC that will run Windows XP. The certified systems are found on the WHQL Hardware Compatibility list. The list can be obtained from the WHQL web page along with the HCT documentation and HCT test. The HCT 10.0 and QFE5 update can be downloaded from the following WHQL web page
  1. WHQL HCT 10.0 is installed on the Server and Client using the Windows “add/remove” function from the Control Panel. Once the HCT’s are installed, run the QFE5 update by double clicking on the QFE5 application. The QFE5 update must be run on the Server and Client.
  1. Three (3) MacPhyter Demo II boards and two (2) NIC boards are used for driver and hardware testing. The client will have two MacPhyter boards used for the Test board and the Support board. The third NIC will be used for the messaging between the server and client. The server will have one MacPhyter board used for the Support NIC and one NIC to be used for messaging.
  1. A switch that has the desired speed ( 10/100, 100/1000, or any combination) is used to connect the Test NIC and the two Support NIC’s for the Test LAN. A hub, with the desired speed, will be used for the Message LAN.
  1. Five Cat 5 Ethernet cables will be used to connect the test LAN NIC’s and the message LAN NIC’s. The cables can be as long as necessary to 25’ for the test NIC’s or as short as 10’ for the message NIC’s.

Once the equipment is acquired the actual test setup will be started. The following steps should be done for each test run.

  1. Both the server and client PC’s will have freshly installed Windows XP without the test /support NIC’s being installed.
  1. Create a “Share” directory on both the Server and Client. These directories should be shared and reside on both systems. The Share directory should have at least 2MB of data. The shared directories will be used by some of the HCT’s.
  1. Use Windows Explorer to search for dp83820.sys and net83820.inf files. Delete these files before installing the new MacPhyter boards and driver.
  1. Power down the server and client. Once the PC’s are powered down, install the test/support NIC’s. Power-Up both the server and client.
  1. Use the ‘Update Driver’ function to install the MacPhyter driver for the test and support NIC’s.
  1. Install the HCT tests on the ‘C’ drive for both the server and client.

Now reboot the server and the client in preparation to execute the HCT tests.

4HCT Execution

Select the Test Manager icon on the server and client systems. When the icon is double-clicked, the Test Manager will scan the system for all installed devices. This information is stored in a configuration file in the HCT directory. Each time an HCT test is ran, the system configuration is compared with the configuration file in the HCT Directory.

As you step through the Test Manager setup, the server will be designated along with the test and support boards. The Server will have one support board and one message board. The client will have the test board, a support board, and a message board.

If a mismatch occurs, the Test Manager will tell you that the configuration has changed and the logs will be erased. If you want to save the logs, you can copy them to another directory before continuing testing. The test manager will start from the beginning with a system scan before any tests can be run. ask if you want to save the logs will scan the PCI bus for devices on the PCI bus.

4.1NDIS TEST (Manual)

Developed from Microsoft’s certification test. It is a required predecessor to submission for Windows’ driver certification. When this test is selected from the menu, select the add button and then the start button. The tests should be ran in order.

4.1.1NDIS

The TCP protocol is bound by checking all of the boxes. Enable the Power Management by checking the appropriate boxes in the configuration on the Power Management tab.

Start the NDIS Server before running the Client NDIS test. There is two test that need operator intervention. The 1c_mediatest and 1c_inittest will need the test board unplugged and plugged when requested by the test.

Select the NDIS test and perform “add selection” function and start the test. The test will take about 4 hours to complete. When the test has completed you can view the logs for failures. If the test has successfully completed, the next test can be run. start the next test. The “Server NDIS” does not need to be stopped before running the next test.

4.1.2NDIS (Low Speed)

A half duplex 10BaseT switch needs to be used for this test. Unplug the 100BaseT switch and plug in the 10BaseT switch. Use ping to verify the connections.

If the NDIS Server is not running, start the NDIS Server. On the client select the “NDIS (Low Speed) and perform “add selection” function and Start the test. The 1c_mediatest is the first test to run and will need the test board unplugged and plugged when requested by the test. The test will take about 2 hours to complete. . When the test has completed you can view the logs for failures. If the test completed successfully, disconnect the 10BaseT Half Duplex switch and reconnect the original 1000BaseT switch. Use ping to verify the connection. Once this is complete you can view the logs and stop the “NDIS Server”. If the test has successfully completed, the next test can be run.

4.1.3Public Import

Before running this test, locate the directory containing the driver files or create a directory (checked) and copy the driver files (dp83815.sys, net83815.inf) and ndis.sys file into that directory. The driver file will be used for Public Import test and the Signability test.

To start the test select the “Public Import” test and perform “add selection” function and Start the test. A dialog box will be displayed containing this question “Does your driver install itself”. Answer “Yes” and another dialog box is displayed with a list of drive letters. Select the drive letter containing the driver file and continue selecting the folders until the complete path to the MacPhyter driver is displayed. Once Complete this dialog box, select “ok”. This test takes about 5 minutes to complete. When completed view the logs for failures. If the test has successfully completed, the next test can be run.

4.1.4Remote Boot

The MacPhyter does not support this function.

4.1.5Signability

Before running this test, locate the directory containing the driver files or create a directory and copy the driver files into that directory. To start the test select the “Signability” test and perform “add selection” function and Start the test. A dialog box will be displayed containing this question “Does your driver install itself”. Answer “Yes” and another dialog box is displayed with a list of drive letters. Select the drive letter containing the driver file and continue selecting the folders until the complete path to the MacPhyter driver is displayed. Once Complete this dialog box, select “ok”. This test takes about 5 minutes to complete. When completed view the logs for failures. If the test has successfully completed, the next test can be run.

4.2Automated

4.2.1ACPI Stress – Device I/O (Extended)

To start the test, select the “ACPI Stress- Device I/O (Extended NIC)” test and perform “add selection” function. Right click the test and edit the parameters. Change parameter 2 “\\server_id\share” parameter to the shared director and file on the server. To verify the server share path, open Explorer and type “\\computer_name\share” and the share folder should be displayed. The server_id is the IP address or the server (i.e.. \\10.0.0.2\share, \\192.168.0.5\share). Once this parameter is changed, start the test. This test takes about 2-3 hours to complete.

When completed view the logs for failures. If the test has successfully completed, display the driver information by selecting “Network Places” with a right click. Select Properties” and select the NIC boards one at a time to check the “Power Management” box. Make sure the “Power Management” is enabled on all NIC’s for the server and client. Once this is complete, Reboot the systems and the next test can be ran.

4.2.2CHKINF

To start the test select the “chkinf” test and perform “add selection” function and Start the test.

This test takes about 2 minutes to complete. When completed view the logs for failures. If the test has successfully completed, the next test can be run.

4.2.3Driver Verifier – NDIS

The Driver Verifier test runs ACPI stress, NDIS and the Enable/Disable tests. The Driver Verifier runs a program in the background that collects test results and stresses the driver. The NDIS test MUST be ran and passed before the Driver Verifier can be ran without errors. The Driver Verifier test uses the share directory on the server as well as the “checked” directory that contains the NIC driver and NDIS.sys file

To start the test, start the NDIS server before selecting the Driver Verifier test on the client. Start the test by selecting the “Driver Verifier - NDIS” test and perform the “add selection” function. Right click the test and edit the parameters. Change parameter 4 “\\server_id\share” parameter to the shared director and file on the server. To verify the server share path, open Network Places and the shared directory and folder should be displayed. The server_id can be either the IP address or the server name (i.e.. \\10.0.0.2\share or \\hctserver1\share). Change parameter 6 to the “checked” directory path that contains the NIC driver and NDIS.sys files. Once the parameters are changed, start the test.

The ACPI stress is the first test to run. When ACPI stress has completed. with HCT 10.0 and QFE5 installed, the client system will halt and wait for operator intervention. The operator Must enable “Power Management” on all of the NIC boards before continuing. Once Power Management is enabled, start the NDIS test. When the NDIS test completes the client system will halt and wait for operator intervention. If the NDIS test completes successfully, close the NDIS test window and the system will start the Enable/Disable test. The NDIS test only needs to run one time. This test takes about 4-6 hours to complete.

When completed view the logs for failures. If the test has successfully completed, display the driver information by selecting “Network Places” with a right click. Select “Properties” and select the NIC boards one at a time to check the “Power Management” box. Make sure the “Power Management” is enabled on all NIC’s for the server and client. Once this is complete, Reboot the systems and the next test can be ran.

4.2.4Enable/Disable test – Device I/O (Network)

This test will also utilize the share directory that was created on the server. Select the “Enable/Disable” test and perform the add function. Right click the test and open the parameter list. Change the “\\server_id\share\” parameter to the shared director and file on the server. Be sure to put a Backslash “\” after share for this test only. The test will fail without the Backslash.

Once this parameter is changed, start the test. This test takes about 5-10 minutes to complete. When completed view the logs for failures. If the test has successfully completed, the next test can be run.

4.2.5LAN Device Wake-Up

The LAN device wake up test verifies that the test device supports the wake up command while the test system is in the D3 state. This test will fail the dual processor system because it has no Foxfire II card installed. This failure is covered by WHQL erratum 576. Before starting this test verify the Power Management is enabled for all NIC’s in the server and client.

Select the “LAN Device Wake-up” test and perform the add function. Right click the test and open the parameter list. Change parameter 2 “\\server_id”(i.e..10.0.0.1) to the shared director and file on the server. Once parameter 2 has been changed, start the test. This test takes about 10 minutes to complete. When completed view the logs for failures. If the test has successfully completed, the next test can be run.

4.2.6PCI 2.2 Compliance

This test examines each PCI device in the system, and verifies compliance to the PCI 2.2 specification. To start the test select the “PCI 2.2 Compliance” test, perform “add selection” function, and Start the test. This test takes about 5 minutes to complete. When completed view the logs for failures. If the test has successfully completed, the next test can be run.

4.2.7S3 Compliance

This test examines the PCI power management interface assertions required to implement PCI-based, power-managed systems and device functions. This test will fail the dual processor system because it has no Foxfire II card installed. This failure is covered by WHQL erratum 576. . To start the test select the “PCI 2.2 Compliance” test, perform “add selection” function, and Start the test. This test takes about 5 minutes to complete. When completed view the logs for failures. If the test has successfully completed, the next test can be run.

4.2.8Z(Run Last) PCI Latency – NDIS

This is the last test to run. This test examines device/driver combinations for compliance with the PCI Local Bus Specification revision 2.2. It checks that all the tests have been ran. If all of the test have not been ran, this test will fail. . To start the test select the “Z(Run Last) PCI Latency” test, perform “add selection” function, and Start the test. This test takes about 5 seconds to complete. When completed view the logs for failures. If the test has successfully completed, the WHQL test suite is complete and ready to collect the logs for submission.