INF Requirements for PCI Devices

Updated: January 14, 2008

This article describes the criteria for submitting a standard/base driver Package to the Windows Logo Program for testing and provides information about driver package requirements, hardware requirements, and requirements for drivers intended for release on Windows Update.

See also Specification for Use of PCI IDs with Windows Operating Systems, which describes how PCI device identifiers are used in Microsoft Windows operating systems and defines the rules associated with assigning IDs for plug-in cards, motherboard implementations, and chipset integrations.

*
On This Page
Definition of TermsDefinition of Terms
Driver Package RequirementsDriver Package Requirements
Hardware RequirementsHardware Requirements
Windows Update RequirementsWindows Update Requirements

Definition of Terms

Device ID (DID)

16-bit value located at offset 2

PCI device

An electrical component that conforms to the PCI Local Bus Specification, Revision 2.2

Revision ID (REV)

8-bit value located at offset 8

Subsystem ID (SID)

16-bit value located at offset 2E. The SID is the ID assigned by the manufacturer to uniquely identify the device.

Subsystem Vendor ID (SVID)

16-bit value located at offset 2C.

Note: The SVID is the ID assigned to the manufacturer by the PCI Special Interest Group (PCI SIG).

Vendor ID (VID)

16-bit value located at offset 0.

The following is an example of a typical PnP ID section of an INF file, with VID/DID and VID/DID/SVID/SID entries:

[Models] ; per-Manufacturer Models section 
"device-description" = DDInstall, PCI\VEN_0002&DEV_0001 ;VID/DID example 
"device-description" = DDInstall, PCI\VEN_0002&DEV_0001&SUBSYS_11112222 ;VID/DID/SVID/SID example
Top of pageTop of page

Driver Package Requirements

Driver must be a base standard driver, that is, it must have no customizations and be able to run on all standard implementations of the device.

Known implementations that do not work with the standard driver package must be listed in the INF [Models] section, and should refer to a [DDInstall] section that loads no driver (null driver install).

Only the independent hardware vendor can submit the driver package for logo testing.

Top of pageTop of page

Hardware Requirements

An OEM or an independent hardware vendor can ship drivers logo'd with only a VID/DID entry in the INF, based on the following criteria:

Implementation is based on a reference design supplied by chip vendor.

No hardware customizations or added features are implemented.

All hardware subsystem IDs must be populated using rules in the Specification for Use of PCI IDs with Windows Operating Systems.

The following types of submissions require a VID/DID/SVID/SID entry in the INF:

Driver packages submitted by an OEM for logo (must be tested on the OEM hardware and must not contain a VID/DID entry)

Driver packages submitted by an independent hardware vendor providing customizations for an OEM (must be tested on the OEM hardware and must not contain a VID/DID entry)

Driver packages with a bug fix for a specific implementation

Drivers packages that implement custom features or applets

Driver packages for AC '97 devices The following types of updates to the base standard driver package require a full retest submission:

A driver package that implements bug fixes or features, and is based on a previously logo'd driver package that implemented a VID/DID entry in the INF and added no VID/DID/SVID/SID entries, requires a retest using the reference design. If a new reference design is supplied, the driver must be tested on the hardware used for original testing and new reference design.

An INF-only driver package with a VID/DID/SVID/SID entry added to a previously logo'd driver package that implemented a VID/DID entry in the INF requires a retest using the specific device identified by the VID/DID/SVID/SID entry.

A driver package with multiple VID/DID/SVID/SID entries with the same SVID added requires a retest for only one of the devices identified by the VID/DID/SVID/SID entries.

A driver package with multiple VID/DID/SVID/SID entries with different SVIDs added requires a retest for one device for each unique SVID added.

A driver package with the addition of a VID/DID/SVID/SID entry that references the null driver INF section requires a retest using the specific device identified by the VID/DID/SVID/SID entry.

Top of pageTop of page

Windows Update Requirements

Windows Update automatic driver detection distributes drivers only on the following PnP ID structures:

PCI\ *

IEEE 1394\

DOT4USB\

USB\

HID\

IDE\

LPTENUM\

USBPRINT\

DOT4PRT\

DOT4\

PCMCIA

*If the device is a PCI card, then the PnP ID must also contain a valid &SUBSYS_

An OEM or an independent hardware vendor can include drivers on Windows Update, based on the following criteria:

PnP ID must be in the Hardware ID section of the INF (not the Compatible ID section).

Driver must pass the HCT kit tests and complete a submission to Windows Quality Online Services.

Company must have signed a Driver Distribution Agreement.

The product must have already been announced.

The driver must have a digital signature.

The distribution settings for Windows Update must be selected on the Set Driver Distribution Options page of Windows Quality Online Services.

Driver must be installed through an INF file, and cannot be launched through a setup program.


Top of pageTop of page