Provided WDTF Simple I/O plug-ins

Simple I/O plug-ins are extensions to the Windows Driver Test Framework (WDTF) that implement generic device-specific I/O functionality. If a plug-in exists for the type of device being tested, the Device Fundamental tests use the WDTF Simple I/O interfaces to test I/O.

The following table shows the device types that have Simple I/O plug-ins. The table also indicates if there are specific requirements for testing the device. These are the same requirements you need to follow when you use the Windows Hardware Certification Kit (HCK).

If your device type is not listed, you can create one, see How to customize I/O for your device using the WDTF Simple I/O Action Plug-in

Provided Simple I/O plugins and device requirements for testing and tips for troubleshooting

The following section lists the device types that have Simple I/O plug-ins. The section also indicates if there are specific requirements for testing the device. These are the same requirements you need to follow when you use the Windows Hardware Certification Kit (HCK). The section also shows tips you can use to troubleshoot and triage test failures.

For a list of Device Fundamental tests that have specific requirements, see Device Fundamental tests that have specific device configuration requirements

Audio   

 

Requirements:

  • Device must have at least one render type endpoint connected (speakers, headphones, etc.).

  • If the targeted audio device has HDMI video and audio output capability, to perform audio tests, the device must be connected to an HDMI audio capable device such as an HDMI Monitor or an A/V Receiver.

Type of I/O plug-in performs:

  • Plays a sine tune on render type endpoint. Captures audio on a capture type endpoint.

How to triage test failures:

  • Look at failing HRESULT to perform initial triage.
  • If test is not responding, use the kernel debugger on the target computer to narrow down the root-cause.
  • Run traces:

    • Start kernel traces:

      xperf.exe -on LOADER+PROC_THREAD+CSWITCH+DISK_IO+HARD_FAULTS+PROFILE+INTERRUPT+NETWORKTRACE+DPC+Latency+POWER -stackwalk ProcessCreate+ProcessDelete+ImageLoad+ImageUnload+ThreadCreate+ThreadDelete+CSwitch+ReadyThread+Profile+DiskFlushInit+FileFlush+RegFlush+HardFault+VirtualAlloc+VirtualFree -BufferSize 1024 -MinBuffers 512 -MaxBuffers 1024 -f Audio_SimpleIo_Kernel.etl
      
    • Start audio traces:

      xperf.exe -start AudioSimpleIo -on Microsoft-Windows-Audio+a6a00efd-21f2-4a99-807e-9b3bf1d90285:0xffff:0x3 -BufferSize 1024 -MinBuffers 512 -MaxBuffers 1024 -f Audio_SimpleIo.etl
      
      
    • Run tests.
    • Stop traces:

      xperf.exe -stop "NT Kernel Logger" Audio_SimpleIo
      
      
    • Merge traces:

      xperf.exe -merge Audio_SimpleIo_Kernel.etl Audio_SimpleIo.etl Audio_SimpleIo _Merged.etl
      
      
    • View the merged trace file with Xperf (xperfview).

Bluetooth   

 

Requirements:

  • No special requirements.

Type of I/O plug-in performs:

CDROM

 

Requirements:

  • Drive letter is assigned.
  • Media is present in the device.
  • Files are present on the media inserted.

Type of I/O plug-in performs:

  • Finds files on the CD-ROM and performs read operation using the Win32 ReadFile API.

How to triage test failures:

  • On the test computer, navigate to the CD/DVD drive in question and confirm you can access the contents of the drives.
  • The CD-Rom Simple I/O plug-in searches for files on CD/DVD to use to perform reads from. Ensure the CD/DVD has files encoded on disk.
  • This Simple I/O plug uses the Win32 CreateFile, WriteFile, ReadFile functions. Error returned are most likely Win32 error codes from these APIs.

Disk

 

Requirements:

  • Disk has at least one associated volume Drive letter is assigned.

Type of I/O plug-in performs:

  • Uses the Simple I/O plug-in for Volumes.

Requirements:

Display Devices

 

  • No special requirements for testing.

Type of I/O plug-in performs:

  • Uses D3DX APIs to exercise graphics adapter.

How to triage test failures:

  • Look through the test logs, which report failures from the APIs that are used.

GPS devices (and GPS devices in systems)

 

Requirements:

  • The device must be tested in a location with proper GPS signals.

Type of I/O plug-in performs:

  • Uses the I/O plug-in for Sensors.

LAN

 

Requirements:

  • Device has an IPv6 address.

  • Device has an IPv6 gateway address (otherwise the WDTFREMOTESYSTEM parameter should be passed to the test with an IPv6 address that the test NIC can ping).

  • The network operation status of the device is IfOperStatusUp.

  • Network device is not a WWAN or a WLAN device.

Type of I/O plug-in performs:

  • Pings IPv6 network gateway address.

How to triage test failures:

  • Confirm that there is an existing IP address.
  • Confirm that there is a gateway IPv6 IP Address.
  • Confirm the IP gateway address manually (use ping.exe).

Mobile Broadband

 

Requirements:

  • No special requirements for testing.

Type of I/O plug-in performs:

How to triage test failures:

  • The MobileBroadbandPlugin has limited areas it can fail.

    • "MobileBroadbandPlugin: Getting all Mobile Broadband interfaces returned failure."
    • "MobileBroadbandPlugin: Getting the interface returned failure."
    • "MobileBroadbandPlugin: Getting the DeviceId returned."
    • "MobileBroadbandPlugin: Getting the interface capabilities returned failure"
    • "MobileBroadbandPlugin: Getting the ReadyState returned failure."

  • The best place to investigate the failure is starting from the device and determine if it was unable to indicate Ready Information or Device Capabilities. To debug further OS Trace file need to be collected.

    • Run the command: netsh trace start wwan_dbg
    • Reproduce the issue.
    • Run the command: netsh trace stop

Portable Devices

 

Requirements:

  • Device has a storage component where folders and files can be created.

Type of I/O plug-in performs:

  • Reads and writes a file to the storage component on WPD device using WPD APIs.

Smart Card Readers

 

Requirements:

  • Device has Athena T0 test card inserted.

Type of I/O plug-in performs:

  • Reads and writes data to Athena T0 card inserted in the card reader.

Sensors

 

Requirements:

  • The GPS device must be tested in a location with proper GPS signals.

Volume

 

Requirements:

  • Volume has a drive letter assigned.
  • Volume has 5MB of free space.
  • Volume is not write-protected.
  • Media is present in the device.

Type of I/O plug-in performs:

  • Creates a directory called WDTF_Volume_IO and creates a file called SimpleIO.tmp. The I/O is performed by calling ReadFile and WriteFile APIs to this file.

How to triage test failures:

  • On the test computer, navigate to the drive in question and confirm you can access the contents of the drive.
  • Attempt to save a file to the drive. Ensure you can save and access it readily.
  • This Simple I/O plug uses the Win32 CreateFile, WriteFile, ReadFile functions. Error returned are most likely Win32 error codes from these APIs.

Webcam

 

Requirements:

  • No special requirements for testing.

    Note  The Simple I/O plug-in for webcam devices has a dependency on the MFPlat.dll file, which is not available on versions of Windows that do not include Media Player and related technologies, for example Windows 7 N or Windows 7 KN. On these version of Windows, the Media Feature Pack must be installed. You can download the Media Feature Pack from MSDN. For more information, see KB Article 968211.

Type of I/O plug-in performs:

  • Uses Media Foundation interfaces to capture video.

WLAN

 

Requirements:

Type of I/O plug-in performs:

How to triage test failures:

USB Controller and HUB with Mutt

 

Requirements:

  • No special requirements for testing.

    Device has a Symbolic link.

Type of I/O plug-in performs:

  • USB transfer tests using the Microsoft USB Test Tool (MUTT) device. Transfer types covered are control, bulk, isochronous, interrupt, and streams (only if SuperMUTT is plugged into USB 3.0 controller)

How to triage test failures:

Device Fundamental tests that have specific device configuration requirements

Before you run the following Device Fundamental tests, the devices on the test computer must be configured according to the requirements described for the specific device types. See the list of the provided Simple I/O plug-ins and device requirements.

  • PCI Root Port Surprise Remove Test (PCI devices only)
  • Device Path Exerciser Test (Certification)
  • Sleep and PNP (disable and enable) with IO Before and After (Certification)
  • Plug and Play Driver Test (Certification)
  • Concurrent Hardware And Operating System (CHAOS) Test (Certification)
  • Reinstall with IO Before and After (Certification)
  • Device Install Check For File System Consistency (Certification)
  • Device Install Check For Other Device Stability (Certification)

Related topics

Device Fundamentals Tests
How to How to test a driver at runtime using Visual Studio
How to How to test a driver at runtime from a Command Prompt
How to select and configure the Device Fundamentals tests
Troubleshooting the Device Fundamentals tests

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.