Primer on Device Support and Testing for Windows 7

As most folks (finally) get the beta and start to set aside some time to install and try out Windows 7, we thought it would be a good idea to start to talk about how we support devices through testing and work across the PC ecosystem. This is a big undertaking and one that we take very seriously. As we talked about at the PDC, this is also an area where we learned some things which we want to apply to Engineering Windows 7. While this is a massive effort across the entire Windows organization, Grant George, the VP of Test for the Windows Experience, is taking the lead in authoring this post. We think this is a deep topic and I know folks want to know more so consider this a kick-off for more to come down the road. –Steven

Devices and Drivers in Windows

One of the most important responsibilities in a release of Windows is our support of, and compatibility with, all of the devices and their associated drivers that our users have. The abstraction layer in Windows to connect software and hardware is a crucial part of the operating system. That layer is surfaced through our driver model, which provides the interface for all of our partners in the multi-faceted hardware ecosystem. Windows supports a vast range of devices today – audio devices (speakers, headsets…), display devices (monitors…), print, fax and scan devices, connectivity to digital cameras, portable media devices of all shapes, sizes and functions, and more. Windows is an open platform for companies across the globe who develop and deliver these devices to the marketplace and our users – and our job is to make sure we understand that ecosystem and those choices and verify those devices and drivers work well for our customers – which includes partnering with those device providers throughout the engineering of Windows7.

Drivers provide the interface between a device and the Windows operating system – and are citizens of the WDM (Windows Driver Model). WDM was initially created as an intermediary layer of kernel mode drivers to ease the authoring of drivers for Windows. There are different types of drivers. Class drivers (which are hardware device drivers that supports an array of devices of a similar hardware class where hardware manufacturers make their products compatible with standard protocols for interaction with the operating system) and device-specific drivers (provided by the device manufacturer for a specific device and sometimes a specific version of that device) are the two most common.

Partner Support

Support for our hardware partners comes in the form of the Windows Driver Kit (WDK) and for certification, the Windows Logo Kit (WLK). The WDK enables the development of device drivers and as of Vista replaced the previous Windows Driver Development Kit (DDK). The WDK contains all of the DDK components plus Windows Driver Foundation (WDF) and the Installable File System kit (IFS). The Driver Test Manager (DTM) is another component here, but is separate from the WDK. The Windows Logo Kit (WLK) aids in certifying devices for Windows (it contains automated tests as well as a run-time framework for those tests). These tests are run and passed by our hardware vendor partners in order to use the Microsoft “Designed for Windows™” logo on devices. This certification process helps us and our hardware partners ensure a specific level of quality and compatibility for devices interacting with the Windows operating system. Hardware devices and drivers that pass the logo kits tests qualify for the Windows logo, driver distribution on Windows Update, and can be referenced in the online Windows Marketplace.

Validation and Testing

With Windows 7 we have modified driver model validation, new and legacy device testing, and driver testing. Compared to Vista, we now place much more emphasis on validating the driver platform and verifying legacy devices and their associated drivers throughout our product engineering cycle. Data based on installed base for each device represents an integral part of testing, and we gather this data from a variety of sources including the voluntary, opt-in, anonymous telemetry in addition to sources such as sales data and IHV roadmaps. We have centralized and standardized the testing mechanics of the lab approach to this area of the product in a way that yields much earlier issue/bug discovery than in past releases. We have also ramped up our efforts to communicate platform or interface changes earlier with our external hardware partners to help them ensure their test cycles align with our schedule. In addition, we draw a more robust correlation between the real-world usage data, including recent trends, and prominence of each device and the prioritization it is given in our test labs. This is especially important for new and emerging devices that will come to market right before and just after we release Windows 7 to our customers.

Another important element in bringing a high quality experience to our Windows 7 users in device and driver connectivity and capability is the staging of our overall engineering process in Windows 7. For this release all of our engineering teams have followed a well structured and staged development process. The development/coding of new features and capabilities in Windows 7 was broken out in to 3 distinct phases (milestones) with dedicated integration and stabilization time at the end of each of these three coding phases. This included ensuring our code base remained highly stable throughout the development of Windows 7 and that our device and driver test validation was a constant part of those milestones. Larry discussed this in his post as some might recall. Program Managers, Developers and Testers all worked in super close partnership throughout the coding phases. Our work with external partners – especially our device manufacturer partners – was also enhanced through early forums we provided for them to learn about the changes in Windows 7 and also work closely with us on validation. Much more focus has been put on planning and then executing - planning the work and then working the plan. Our belief is that this yields much more predictability to developing and delivering our new features in Windows 7 both from a feature content and overall schedule standpoint. We recognize that this raised the bar on how our external partners see us execute and deliver on that plan when we say we will, but we also hope it increases their confidence in how they engage with us in validating the device experience during our development and delivery of Windows 7.

Determining Which Devices to Test

Our program management team helps us drive device market share analysis. Most of their data comes from our Customer Experience Improvement Program. This gives us data on the actual hardware in use across our customer base. For example there are over 16,000 unique 4-part hardware IDs for display devices alone. Like many things, we understand that it only takes a single device not functioning well to degrade an overall Windows experience or upgrade—we definitely want to re-enforce this shared understanding.

New devices typically have a small initial user base, but the driver will often be mostly new code (or the first time a code-base has seen a new device). As the device enters the mainstream, market share grows and most manufacturers continue to develop and improve their drivers. This is where for our customers, and our own testing, it’s important to always have the latest drivers for a given device.

Over a device’s lifetime, we work closely with our external device partners and represent as faithfully as possible in our test labs, a prioritized way of ensuring old and new devices continue to work well with Windows. By paying very close attention to trends in the market place across our device classes, we can make guided decisions in the context of these areas:

  • Critical and mainstream devices we must support out-of-the-box
  • Which drivers we must make available on Windows Update
  • On which devices and drivers to focus our testing

Another benefit of close market tracking is creating an equivalence-based view of a device family.

Equivalence Classes

We use the notion of equivalence classes to help us define and prioritize our hardware (device) test matrix. Creating equivalence classes involves grouping things into sets based on equivalent properties across related devices. For example, imagine if we worked for a chemical company and it was our job to test a car polish additive on actual automobiles. Given a fixed test budget, we would want to maximize the number of makes and models we test our product on. We begin by analyzing the current market space so we can make the best choices for our test matrix.

Let’s say the first test car we analyze is a blue 2003 Ford Mustang. We also know that the same blue paint is used on all of Ford’s 2003 and 2004 models and is also used on all of Mazda’s 2005 models. This means our first automobile represents several entries in our table based on equivalence:

Test ID

Make

Model

Color

Year

1

Ford

Mustang

Blue

2003

2

Ford

*

Blue

2004

3

Mazda

*

Blue

2005

 

Now let’s look at a silver 2001 Mercedes C240. We know that Mercedes and Chrysler have a relationship and upon further investigation we find Chrysler used the same silver paint on their 2006 through 2009 models. Now our equivalence class based test matrix looks like this:

Test ID

Make

Model

Color

Year

1

Ford

Mustang

Blue

2003

2

Ford

*

Blue

2004

3

Mazda

*

Blue

2005

4

Mercedes

C240

Silver

2001

5

Chrysler

*

Silver

2006

6

Chrysler

*

Silver

2007

7

Chrysler

*

Silver

2008

8

Chrysler

*

Silver

2009

By carefully analyzing each actual automobile, we have established an equivalence relationship that we can leverage to maximize implicit test coverage. Testing one make and model is theoretically equivalent to testing many. Of course we recognize in the real world different companies might use different techniques for applying paint, as one variable, so there are subtleties that require additional information to property class attributes for testing purposes.

Testing computer devices is very similar. Even though there are thousands of different devices on the market, many of them share major components, are die-shrinks of a previous revision, or differ only in terms of memory, clock-rate, pixel count, connector, or even the type of heat sink. Take for example display devices. There are over 16,000 display devices on the market. But the equivalence view reveals that 90% of the market is represented by about 60 different GPUs. By adding a few more to a carefully constructed test matrix based on equivalence it is possible to represent over 99% of all GPUs. Driver writers also leverage equivalence by targeting drivers at a range of hardware. Driver install packages indicate devices they support via hardware IDs.

All modern computer devices are assigned a unique hardware ID based on the device vendor, type, and class. Most IDs (PCI, PC Card, USB, and IEEE 1394 devices) are assigned by the industry standards body associated with that device type.

Let’s look at the device ID of my display adapter:

PCI\VEN_10DE&DEV_0611&SUBSYS_C8013842&REV_A2

If I visit PCI-SIG (the standards body associated with all PCI device ID assignment) and do a search on 10DE, I’m told I this is an NVidia PCI ID. If I look further on my system in

C:\Windows\System32\DriverStore\FileRepository

I can find NVidia drivers (folders that start with nv_lh). If I open one of the driver .INF files on my machine I see this tell-tale line:

NVIDIA_G92.DEV_0611.1 = "NVIDIA GeForce 8800 GT”

Further inspection of the driver .INF file tells me that the same G92 GPU is used for all of these devices:

  • NVIDIA GeForce 8800 GTS 512
  • NVIDIA GeForce 8800 GT
  • NVIDIA GeForce 9800 GX2
  • NVIDIA GeForce 8800 GS
  • NVIDIA GeForce 9600 GSO
  • NVIDIA GeForce 8800 GT
  • NVIDIA GeForce 9800 GTX
  • NVIDIA Quadro FX 3700

A bit of online research reveals other interesting information: “The 8800 GT, codenamed G92, was released on October 29, 2007. The card is the first to transition to 65 nm process, and supports PCI-Express 2.0.[13] It has a single-slot cooler as opposed to the double slot cooler on the 8800 GTS and GTX, and uses less power than GTS and GTX due to its 65 nm process.” -WikiPedia

So in theory, if I was to run a test on my display adapter, there’s a good chance I’d get the same results as I would on any of these other related devices.

Driver Goals for Windows 7

One of our primary goals for Windows 7 is compatibility with all Vista certified drivers and to ensure that people have a seamless upgrade experience. This breaks down into several requirements that guide how we test:

  • Drivers for basic functionality are in-box (by in-box we mean available as part of the installation of Windows). This includes drivers for mainstream storage, network, input, and display devices so the OS can be installed and user can get online where, if needed, additional drivers can be acquire from Windows Update.
  • Drivers update and/or install with minimal end user effort.
  • When drivers are upgraded, there aren’t problems with the new drivers.
  • Drivers are reliable.

One question we are asked about quite a bit is the availability of drivers. There are three primary reasons drivers end up looking for folks: clean installation of Windows, attaching device to a new computer, wanting the updated driver. We definitely recognize that for the readers of this blog, both as enthusiasts and often the support/IT infrastructure for corporations, friends, and families, that the ability to acquire drivers and reliably update machines is something of a “hobby” we all love to hate. We all want the latest and greatest—no more and no less.

A clean installation is one we are all definitely valuing during the beta phase of Windows 7. It should be clear that a clean install, as important as it is to many of us, is not a routine/mainstream experience. Nevertheless, the combination of in-box drivers and those available via Windows Update will serve a very broad set of PCs (for example, you should see most of the drivers installed for the new Atom-based machines if you do a clean install). On the other hand, some drivers for PCs are only available from the PC maker and for a variety of reasons are not available for download from Windows Update or even the device manufacturer’s site. For example, mobile graphics drivers are generally available only from the PC maker and not from the graphics component maker—this is a decision they make because of the way these chipsets are delivered for each PC maker.

Obviously attaching an existing device to a new PC is a common occurrence. In this case you may have long ago lost the CD/DVD that came with a device and you just plug it in (because you ignored the warning saying “please run the setup program first”). Again, our goal is to provide these via Windows Update. Often IHVs have updates or significantly large downloads that for a number of reasons are not appropriate to deliver via Windows Update. In that case we can also alert you, with a link many times, to seek the driver from the vendor of the device.

Updating drivers is something we are all familiar with as we often read “get the latest driver” to address issues. We all see this particularly in the enthusiast gamer space where newer drivers also improve performance or offer more features, in addition to improving overall. The primary way to get updated drivers is generally through optional updates in Windows Update, though again many times the latest and greatest must be downloaded directly from an IHV (independent hardware vendor) site.

Our goal is clearly to make sure that drivers for the broadest set of devices are available and high quality. There are many equal partners that contribute to delivering a PC and all the associated devices and we work hard to develop a systematic way to reach the broadest set of customers with high quality software and support.

Scale of Device and Driver Testing in Windows 7

The table below provides examples of some of the explicit devices we have directly tested thus far during the development of Windows 7. This is just a sampling of that direct testing - many more devices have been directly tested that are not shown here or are covered through equivalence classing.

This information is available in many sources, such as the WHQL web site that lists all qualified devices. For the purposes of this blog we thought it would be fun to provide a list here which we think will most certainly serve as the basis for discussion.

Manufacturer

Description

Family

Altec Lansing

T515

Audio

AMD (ATI)

Radeon 9200

Display

AMD (ATI)

FireGL 3100

Display

AMD (ATI)

Radeon X300/X550/X1050 Series

Display

AMD (ATI)

Radeon 9800 Pro

Display

AMD (ATI)

FireGL V3100

Display

AMD (ATI)

Radeon Xpress Series

Display

AMD (ATI)

Radeon Xpress Series

Display

AMD (ATI)

Radeon Xpress 1200

Display

AMD (ATI)

Radeon X700 PRO

Display

AMD (ATI)

Radeon X1200

Display

AMD (ATI)

Radeon X800 CrossFire Edition

Display

AMD (ATI)

Mobility Radeon X300

Display

AMD (ATI)

Radeon X850 CrossFire Edition

Display

AMD (ATI)

Radeon X1550

Display

AMD (ATI)

Radeon X1950 Series

Display

AMD (ATI)

Mobility Radeon X1300

Display

AMD (ATI)

Mobility Radeon X1400

Display

AMD (ATI)

Mobility Radeon HD3200

Display

AMD (ATI)

Radeon HD 2600 XT

Display

AMD (ATI)

Radeon HD 3850

Display

AMD (ATI)

Radeon HD 3870

Display

AMD (ATI)

Radeon HD 3200

Display

AMD (ATI)

Radeon HD 2400

Display

AMD (ATI)

FireGL 6000

Display

AMD (ATI)

FireGL 8200

Display

AMD (ATI)

Radeon HD 2900 XT

Display

AMD (ATI)

Radeon HD 2600

Display

AMD (ATI)

Radeon HD 4850

Display

AMD (ATI)

Radeon HD4670

Display

AMD (ATI)

ATI Technologies, Inc. RAGE XL PCI

Display

AMD (ATI)

RADEON 7000 Series

Display

Analog Devices

AD1884

Audio

Analog Devices

AD1984

Audio

Analog Devices

AD1981

Audio

Analog Devices

ADI1986A

Audio

Analog Devices

ADI1988B

Audio

Analog Devices Inc.

ADI AC97

Audio

Apple

iPhone headset

Audio

Apple

iSight 640x480 Firewire

VidCap

Archos

Archos605(WiFi)

Portable Device

ATI

ATI HDMI

Audio

BlueAnt

X5 Stereo BT Headset

Audio

Brother

HL-5140

Print / Scan

Brother

HL-2070

Print / Scan

Brother

MFC-8440

Print / Scan

Brother

MFC-5840c

Print / Scan

Brother

HL-5150

Print / Scan

Brother

MFC-8840

Print / Scan

Brother

HL-6050D

Print / Scan

Brother

IntelliFax-5750e

Print / Scan

Brother

IntelliFax-5750

Print / Scan

Canon

Canon A720IS

Portable Device

Canon

Digital Rebel XT

Portable Device

Canon

A420\410

Portable Device

Canon

SD430

Portable Device

Canon

Pixma MP140

Print / Scan

Canon

Pixma iP1800

Print / Scan

Canon

Pixma iP1700

Print / Scan

Canon

Pixma iP2500

Print / Scan

Canon

Pixma MP210

Print / Scan

Canon

Pixma MP160

Print / Scan

Canon

Pixma iP1500

Print / Scan

Canon

Pixma iP1600

Print / Scan

Canon

Pixma iP4200

Print / Scan

Canon

Pixma iP3500

Print / Scan

Canon

Pixma iP4500

Print / Scan

Canon

Pixma MP180

Print / Scan

Canon

Pixma iP2000

Print / Scan

Canon

i475D

Print / Scan

Canon

Pixma MP150

Print / Scan

Canon

i250

Print / Scan

Canon

Pixma MP520

Print / Scan

Canon

S450

Print / Scan

Canon

MultiPass MP390

Print / Scan

Canon

Pixma MP500

Print / Scan

Canon

Pixma MX300

Print / Scan

Canon

Pixma iP1000

Print / Scan

Canon

Pixma MP610

Print / Scan

Canon

MultiPass MP190

Print / Scan

Canon

Pixma iP6210D

Print / Scan

Canon

Pixma iP5200

Print / Scan

Canon

Pixma iP3300

Print / Scan

Canon

Pixma iP3000

Print / Scan

Canon

Pixma MP510

Print / Scan

Canon

Pixma iP90

Print / Scan

Canon

i350

Print / Scan

Canon

Pixma iP6600D

Print / Scan

Canon

Pixma MP830

Print / Scan

Canon

BJC-6000

Print / Scan

Canon

i550

Print / Scan

Canon

Pixma MP170

Print / Scan

Canon

Pixma MP460

Print / Scan

Canon

Pixma MP600

Print / Scan

Canon

Pixma iP4300

Print / Scan

Canon

i860

Print / Scan

Canon

Pixma MP110

Print / Scan

Canon

i320

Print / Scan

Canon

Pixma iP6220D

Print / Scan

Canon

Pixma MP130

Print / Scan

Canon

Pixma iP6310D

Print / Scan

Canon

i960/i965

Print / Scan

Canon

Pixma MP950

Print / Scan

Canon

Selphy Series

Print / Scan

Canon

i560

Print / Scan

Canon

Pixma iP8500

Print / Scan

Canon

MultiPass MP370

Print / Scan

Canon

Pixma iP4000

Print / Scan

Canon

i9900

Print / Scan

Canon

Pixma iX4000

Print / Scan

Canon

i865

Print / Scan

Canon

Pixma mini260

Print / Scan

Canon

Pixma iX5000

Print / Scan

Canon

i850

Print / Scan

Canon

S530D

Print / Scan

Canon

Pixma MP800R

Print / Scan

Canon

Pixma iP5200R

Print / Scan

Canon

i470D Photo Printer

Print / Scan

Canon

S600

Print / Scan

Canon

BJC-85

Print / Scan

Canon

Pixma iP6000

Print / Scan

Canon

S9000

Print / Scan

Canon

Pixma MP750

Print / Scan

Canon

Pixma MP780

Print / Scan

Canon

S630

Print / Scan

Canon

MultiPass MP1000

Print / Scan

Canon

S520

Print / Scan

Canon

Pixma MP810

Print / Scan

Canon

Pixma iP5000

Print / Scan

Canon

Pixma iP6700D

Print / Scan

Canon

Pixma iP80

Print / Scan

Canon

SD600

Portable Device

Canon Inc.

PowerShot A720 IS

Portable Device

CASIO COMPUTER CO.,LTD.

EX-Z1200

Portable Device

Chrontel

Chrontel HDMI

Audio

Conexant

Venice

Audio

Creative

MP3+ (SB0270)

Audio

Creative

Xmod

Audio

Creative

Live! Cam Optia AF

VidCap

Creative

WebCam Live! USB

VidCap

Creative

Webcam NoteBook 640x480 USB

VidCap

Creative

WebCam Instant 352x288 USB

VidCap

Creative

WebCam NX Pro 640x480 USB

VidCap

Creative

WEBCAM NX

VidCap

Creative

Live! Cam Notebook Pro 640K USB 2.0

VidCap

Creative

Live! Cam Video IM Pro VGA USB 2.0

VidCap

Creative

Webcam Live Ultra 640x480 USB 2.0 Manual Focus Ring

VidCap

Creative Labs, Inc.

Live! Series

Audio

Creative Labs, Inc.

Audigy Series

Audio

Creative Labs, Inc.

X-Fi Series

Audio

Creative Technology Ltd

Nano Plus

Portable Device

Creative Technology Ltd

NOMAD MuVo TX

Portable Device

Creative Technology Ltd

Zen Vision M

Portable Device

Creative Technology Ltd

Vision W

Portable Device

Creative Technology Ltd

Sleek

Portable Device

Creative Technology Ltd

PMC v2

Portable Device

Dell

Axim X51v

Portable Device

Dell

AiO 810

Print / Scan

Dell

A924

Print / Scan

Dell

J740

Print / Scan

Dell

1600n

Print / Scan

Dell

A922

Print / Scan

Dell

A940

Print / Scan

Dell

LP 1720dn

Print / Scan

Dell

3100cn

Print / Scan

Dell

W5300N

Print / Scan

Denon

S-52

Media Sharing

Dixim

media server

Media Sharing

Dlink

DSM-210

Media Sharing

Dlink

DSM - 520

Media Sharing

Dlink

DSM - 510

Media Sharing

Drobo

Drobo NAS

Media Sharing

Epson

Stylus Color C88+

Print / Scan

Epson

Stylus Color C84/C85

Print / Scan

Epson

Stylus Color C86/C87

Print / Scan

Epson

Stylus Color C64

Print / Scan

Epson

Stylus Photo R265

Print / Scan

Epson

LQ-570/670

Print / Scan

Epson

FX-880

Print / Scan

Epson

Stylus Photo R220

Print / Scan

Epson

LQ-300

Print / Scan

Epson

Stylus Photo R320

Print / Scan

Epson

Stylus CX6600/6500/6900

Print / Scan

Epson

Stylus CX5400

Print / Scan

Epson

Stylus Photo 1270

Print / Scan

Epson

LQ-1070+

Print / Scan

Epson

Stylus Photo R200

Print / Scan

Epson

Stylus Photo 1280/1290

Print / Scan

Epson

Stylus Color 900/N

Print / Scan

Epson

Stylus Color C62

Print / Scan

Epson

ActionPrinter 5000+

Print / Scan

Epson

Stylus Photo 820

Print / Scan

Epson

Stylus Color 660

Print / Scan

Epson

Stylus Color 640

Print / Scan

Epson

AcuLaser 2600N

Print / Scan

Epson

FX-2170

Print / Scan

Epson

FX-2190

Print / Scan

FujiFilm

F30

Portable Device

General Electric

EasyCam USB PC Camera 640x480

VidCap

GN\Jabra

GN9330

Audio

GN\Jabra

GN9350

Audio

GN\Jabra

GN2000USB

Audio

HP

HD TV

Media Sharing

HP

Photosmart R717

Portable Device

HP

Deskjet D1400 series

Print / Scan

HP

Deskjet F380

Print / Scan

HP

Deskjet F4100

Print / Scan

HP

LaserJet 1018

Print / Scan

HP

LaserJet 1020

Print / Scan

HP

Photosmart C3180

Print / Scan

HP

Deskjet D2400 Series

Print / Scan

HP

LaserJet P2015

Print / Scan

HP

Officejet K550

Print / Scan

HP

PSC 1410

Print / Scan

HP

Deskjet F2100 series

Print / Scan

HP

PSC 1315

Print / Scan

HP

Deskjet 5440

Print / Scan

HP

Color LaserJet 2600

Print / Scan

HP

Officejet 5700

Print / Scan

HP

PSC 1510

Print / Scan

HP

Photosmart C4200

Print / Scan

HP

Deskjet 5150

Print / Scan

HP

Deskjet 930C/935C

Print / Scan

HP

Deskjet 5940

Print / Scan

HP

Photosmart C4180

Print / Scan

HP

Deskjet D2330

Print / Scan

HP

LaserJet 1022

Print / Scan

HP

Deskjet 3745

Print / Scan

HP

Deskjet 5550

Print / Scan

HP

Photosmart C5200

Print / Scan

HP

Officejet 5610

Print / Scan

HP

Deskjet D2360

Print / Scan

HP

Deskjet 3900 Series

Print / Scan

HP

Photosmart C5180

Print / Scan

HP

Deskjet 5740

Print / Scan

HP

Deskjet D4200 Series

Print / Scan

HP

Deskjet 6122

Print / Scan

HP

Deskjet 950C

Print / Scan

HP

Deskjet 940C

Print / Scan

HP

PSC 1610

Print / Scan

HP

Photosmart D5160

Print / Scan

HP

Officejet 6200 Series

Print / Scan

HP

Deskjet 3845

Print / Scan

HP

Deskjet 3650

Print / Scan

HP

PSC 2355

Print / Scan

HP

Officejet 6300 Series

Print / Scan

HP

LaserJet P2014

Print / Scan

HP

LaserJet 1300

Print / Scan

HP

Officejet Pro L7500

Print / Scan

HP

Officejet Pro L7600

Print / Scan

HP

PSC 1350

Print / Scan

HP

Deskjet 9800

Print / Scan

HP

Photosmart 2575

Print / Scan

HP

Deskjet 450ci

Print / Scan

HP

Officejet 4215

Print / Scan

HP

LaserJet 1160

Print / Scan

HP

Deskjet 5650

Print / Scan

HP

Officejet 7400 Series

Print / Scan

HP

Deskjet 3740

Print / Scan

HP

Officejet 5510 Series

Print / Scan

HP

Photosmart 3210

Print / Scan

HP

Officejet 7300 Series

Print / Scan

HP

Photosmart 7850

Print / Scan

HP

Deskjet 832C

Print / Scan

HP

Deskjet 1220C

Print / Scan

HP

LaserJet 3030 MFP

Print / Scan

HP

Photosmart A616

Print / Scan

HP

LaserJet 3055

Print / Scan

HP

Deskjet 720C

Print / Scan

HP

Photosmart 7260

Print / Scan

HP

Deskjet 3320

Print / Scan

HP

Deskjet 970C

Print / Scan

HP

Photosmart A440

Print / Scan

HP

Deskjet 695C/697C

Print / Scan

HP

Photosmart A516

Print / Scan

HP

Deskjet 6540

Print / Scan

HP

Deskjet 6940

Print / Scan

HP

PSC 2510

Print / Scan

HP

Officejet 6100 Series

Print / Scan

HP

Deskjet 6840

Print / Scan

HP

Photosmart A430

Print / Scan

HP

Photosmart 7450

Print / Scan

HP

Deskjet 812C/815C

Print / Scan

HP

Photosmart 375

Print / Scan

HP

Officejet V40 Series

Print / Scan

HP

Deskjet 840/843/845

Print / Scan

HP

Photosmart D7400 Series

Print / Scan

HP

PSC 950 Series

Print / Scan

HP

Officejet G Series

Print / Scan

HP

LaserJet 1015

Print / Scan

HP

Photosmart 7960

Print / Scan

HP

Deskjet 895C

Print / Scan

HP

Photosmart 8450

Print / Scan

HP

Photosmart Pro B8350

Print / Scan

HP

Deskjet 1180c

Print / Scan

HP

LaserJet 4345 MFP

Print / Scan

HP

LaserJet 4250

Print / Scan

HP

LaserJet P3005

Print / Scan

HP

LaserJet 5200

Print / Scan

HP

LaserJet 4350n

Print / Scan

HP

Color LaserJet 4700

Print / Scan

HP

LaserJet 2300

Print / Scan

HP

LaserJet 4000

Print / Scan

HP

Color LaserJet 5550

Print / Scan

HP

Color LaserJet 3800

Print / Scan

HP

LaserJet 4050

Print / Scan

HP

Color LaserJet 3600

Print / Scan

HP

LaserJet 9050

Print / Scan

HP

LaserJet 2100

Print / Scan

HP

LaserJet 4240

Print / Scan

HP

LaserJet 2200

Print / Scan

HP

Color LaserJet 3000

Print / Scan

HP

LaserJet 4100

Print / Scan

HP

LaserJet 5000

Print / Scan

HP

Business Inkjet 1200D

Print / Scan

HP

Color LaserJet 4550

Print / Scan

HP

Color LaserJet 4600

Print / Scan

HP

Color LaserJet CP4005

Print / Scan

HP

Color LaserJet 3700

Print / Scan

HP

Color LaserJet 3500

Print / Scan

HP

LaserJet 9000 MFP

Print / Scan

HP

LaserJet 4 Plus

Print / Scan

HP

LaserJet III

Print / Scan

HP

LaserJet 6MP

Print / Scan

HP

Color LaserJet 1500L

Print / Scan

HP

PSC 1315

Print / Scan

HP

Officejet 5610

Print / Scan

HP

PSC 1350

Print / Scan

HP

LaserJet 4345 MFP

Print / Scan

HTC

TyTN II

Portable Device

IDT

STAC9220(9223)7680

Audio

IDT

STAC9220(9223)7681

Audio

IDT

STAC9227X(D)7618

Audio

IDT

STAC9227X(D)7619

Audio

IDT

STAC9225(Sony)7662

Audio

IDT

STAC9225(Sony)7664

Audio

IDT

STAC9225(Sony)7661

Audio

IDT

STAC9200

Audio

IDT

STAC9228

Audio

IDT

STAC9205

Audio

IDT

STAC9250

Audio

Insignia

NS-BTHDP

Audio

Insignia

NS-DV4G

Portable Device

Insignia

NS-DA2G

Portable Device

Intel

Intel HDMI

Audio

Intel

i965GX/G35

Display

Intel

G3x

Display

Intel

i4G

Display

Intel

i45GM

Display

Intel

i915GM

Display

Intel

i915G

Display

Intel

i945G

Display

Intel

i945GM

Display

Intel

Q3x

Display

Intel

i965G

Display

Intel

i965GM

Display

Iriver

ClixGen2

Portable Device

Iriver

IriverClix2_FWv1.14

Portable Device

Iriver

U10 Series

Portable Device

Iriver

Clix 

Portable Device

Jabra

BT620S

Audio

Jabra

BT8010

Audio

Jabra

BT3030

Audio

Jasco

Minicam Pro

VidCap

Kodak

Easyshare LS420

Portable Device

Konica Minolta

magicolor 5450

Print / Scan

Kyocera Mita

FS-6900

Print / Scan

LABTEC

LABTEC WEBCAM PRO 961358

VidCap

LABTEC

Web Cam Plus 352x288 USB 2.0 Manual Focus Motion Detection

VidCap

Lexmark

Z845

Print / Scan

Lexmark

Z1300

Print / Scan

Lexmark

X2550

Print / Scan

Lexmark

X1270

Print / Scan

Lexmark

X2470

Print / Scan

Lexmark

Z735

Print / Scan

Lexmark

E120n

Print / Scan

Lexmark

X3550

Print / Scan

Lexmark

Z715

Print / Scan

Lexmark

Z42 Color JetPrinter

Print / Scan

Lexmark

X5470

Print / Scan

Lexmark

Z816

Print / Scan

Lexmark

Z615

Print / Scan

Lexmark

X2250

Print / Scan

Lexmark

P915

Print / Scan

Lexmark

X7170

Print / Scan

Lexmark

X4550

Print / Scan

Lexmark

X6170

Print / Scan

Lexmark

X6150

Print / Scan

Lexmark

E232

Print / Scan

Lexmark

2490

Print / Scan

Lexmark

P3150

Print / Scan

Lexmark

X5150

Print / Scan

Lexmark

E323

Print / Scan

Lexmark

P315

Print / Scan

Lexmark

Z25 Color JetPrinter

Print / Scan

Lexmark

2491

Print / Scan

Lexmark

X215

Print / Scan

Lexmark

X4250

Print / Scan

Lexmark

E321

Print / Scan

Lexmark

Z45 Color JetPrinter

Print / Scan

Lexmark

X83

Print / Scan

Lexmark

C524

Print / Scan

Lexmark

E450D

Print / Scan

Lexmark

T640

Print / Scan

Lexmark

X634

Print / Scan

Lexmark

W840

Print / Scan

Lexmark

X632

Print / Scan

Lexmark

X620

Print / Scan

Lexmark

X630

Print / Scan

Lexmark

T642

Print / Scan

Lexmark

W812

Print / Scan

Lexmark

X1270

Print / Scan

LG

HBS-200

Audio

Logitech

QuickCam Pro 9000

Audio

Logitech

QuickCam Pro 9000

VidCap

Logitech

Quickcam Communicate STX VGA Fixed Focus USB 2.0

VidCap

Logitech

QuickCam Chat VGA w/Image Capture USB 2.0

VidCap

Logitech

961400-0403 QuickCam Notebook Deluxe 1.3MP MF USB 2.0

VidCap

Logitech

QuickCam Pro 4000 640x480 USB 2.0

VidCap

Logitech

QuickCam Pro 5000 640x480 USB 2.0

VidCap

Logitech

Quickcam Vision Pro1

VidCap

Logitech

Quickcam Vision Pro2

VidCap

Logitech

961403 QuickCam Fusion 1.3MP USB 2.0

VidCap

Logitech

QuickCam Messenger 640x480 USB

VidCap

Logitech

QuickCam Messenger Refresh 640x480 USB

VidCap

Logitech

QuickCam Notebooks Pro 1.3MP USB 2.0

VidCap

Logitech

QuickCam Zoom 640x480 USB

VidCap

Logitech

QuickCam Communicate 640x480 USB 2.0

VidCap

Logitech

QuickCam Orbit MP 1.3MP USB 2.0

VidCap

Logitech

QUICKCAMFORNB

VidCap

Logitech

QuickCam Orbit 640x480 USB 2.0

VidCap

Logitech

QuickCam for Notebooks Pro

VidCap

Lubix

UBHS-LC1

Audio

Matrox

M9120

Display

Microsoft

NX-3000

Audio

Microsoft

VX-7000

Audio

Microsoft

NX-6000

Audio

Microsoft

VX-6000

Audio

Microsoft

VX-3000

Audio

Microsoft

VX-1000

Audio

Microsoft

LX-3000

Audio

Microsoft

ZX-6000

Audio

Microsoft

Mic Array

Audio

Microsoft

XBox 360

Media Sharing

Microsoft

LifeCam VX-1000 VGA USB 2.0

VidCap

Microsoft

Lifecam NX-6000

VidCap

Microsoft

LifeCam VX-6000 1.3MP USB 2.0

VidCap

Microsoft

LifeCam VX-3000 1.3MP USB 2.0

VidCap

Microsoft

Xbox Live Vision (Xbox 360)

VidCap

Microsoft

Lifecam VX-7000

VidCap

Microsoft

Lifecam NX-3000

VidCap

Momento

Wireless Picture Frame

Media Sharing

Motorola

S9

Audio

Motorola

HT820

Audio

Motorola

H670

Audio

Motorola

HS850

Audio

Motorola

H500

Audio

Motorola

DJ S805

Audio

NEC

UTR-UC-1

Audio

Nero8 Home Media

media server

Media Sharing

Nikon

CoolPix S1

Portable Device

Nokia

BH800

Audio

Nokia

N95

Media Sharing

Nokia

N95

Portable Device

Nokia

5300

Portable Device

nVidia

nVidia HDMI

Audio

Nvidia

GeForce 7600GT

Display

Nvidia

GeForce 7800GT

Display

Nvidia

Geforce 8200

Display

Nvidia

GeForce 7400 Go

Display

Nvidia

Geforce 7950 GX2

Display

Nvidia

Geforce 8800GTS

Display

Nvidia

Geforce 8800GTX

Display

Nvidia

Geforce 8400 GS

Display

Nvidia

GeForce 8400M GS

Display

Nvidia

Geforce 8600 GT

Display

Nvidia

Quador NVS 130m

Display

Nvidia

Quadro 570

Display

Nvidia

Quadro 570m

Display

Nvidia

GeForce 9600 GT

Display

Nvidia

GeForce 8800 GT

Display

Nvidia

Geforce 8400GS (G98)

Display

Nvidia

Geforce 9800 X2

Display

Nvidia

Geforce GTX 260

Display

Nvidia

GeForce4 MX 420

Display

Nvidia

GeForce FX 5200

Display

Nvidia

Geforce FX 5900

Display

Nvidia

GeForce 6150

Display

Nvidia

GeForce 6100

Display

Nvidia

GeForce 6200

Display

Nvidia

GeForce 7050

Display

Nvidia

GeForce 6800

Display

Nvidia

GeForce Go 6150

Display

Oki

Microline 320/Turbo

Print / Scan

Oki

Microline 184 Turbo

Print / Scan

Oki

Microline 391/Turbo

Print / Scan

Oki

Microline 321/Turbo

Print / Scan

Oki

Microline 590

Print / Scan

Panasonic

KX-P2130

Print / Scan

Panasonic

KX-P2023

Print / Scan

Parrot

Boombox

Audio

Philips

Stereo Mic

Audio

Philips

GoGear 30GB

Portable Device

Plantronics

Pulsar 590A/E

Audio

Plantronics

Pulsar 260

Audio

Plantronics

Discovery 655 or 665

Audio

Plantronics

SupraPluc DA45

Audio

Polycom

CX400

Audio

Realtek

Realtek 262 HD Audio codec

Audio

Realtek

Realtek 268 HD Audio codec

Audio

Realtek

Realtek 660 HD Audio codec

Audio

Realtek

Realtek 862 HD Audio codec

Audio

Realtek

Realtek 883 HD Audio codec

Audio

Realtek

Realtek 888 HD Audio codec

Audio

Realtek

Realtek 885 HD Audio codec

Audio

Realtek

Realtek 882 HD Audio codec

Audio

Realtek

Realtek 861 HD Audio codec

Audio

Realtek

Realtek 662 HD Audio codec

Audio

Realtek Semiconductor Corp

Realtek AC97

Audio

Rhapsody

music Jukebox

Media Sharing

RIO

Rio Carbon

Portable Device

Roku

Radio Soundbridge

Media Sharing

Roku

SoundbridgeM1000

Media Sharing

S3

GammaChrome G700

Display

S3

GammaChrome G700

Display

S3

S3 Graphics Chrome 440/430 Series

Display

S3

S3 Graphics Chrome 440/430 Series

Display

Samsung

WEP-210

Audio

Samsung

YP-Z5

Portable Device

Samsung

ML-1610

Print / Scan

Samsung

SF-5100

Print / Scan

Samsung

ML-1710

Print / Scan

SanDisk Corporation

Sansa E260

Portable Device

SanDisk Corporation

Sansa View Mp3 Player

Portable Device

SanDisk Corporation

Sansa m250

Portable Device

SI

1392 HDMI

Audio

SigmaTel, Inc.

Sigmatel AC97

Audio

SiS

Xabre

Display

SiS

Mirage3

Display

Sonos

Zone player ZP80

Media Sharing

Sony

DR-BT22

Audio

Sony

PS3

Media Sharing

Sony

DSC-T200

Portable Device

Sony Corporation

WALKMAN NWZ-A816

Portable Device

Sony Ericsson

W910i

Portable Device

Toshiba

Gigabeat

Portable Device

Toshiba

Gigabeat V2 PMC

Portable Device

Turtle Beach

Audio Advantage Micro

Audio

Tversity Inc

media server

Media Sharing

Twonky Media

media server

Media Sharing

Via

DeltaChrome G700

Display

Western Digital

External harddrive

Media Sharing

Xerox

Phaser 6120

Print / Scan

Xerox

Phaser 4510

Print / Scan