none
WHCK DeviceStatusCheck job fails due to AthenaT0 test card not inserted only under Windows 8.1? RRS feed

  • Question

  • I am working on certifying the second version of a virtual smart card driver and surprisingly almost every HCK test fails under Windows 8.1 x64.  The resulting error is always:

    WDTF_SIMPLE_IO : SMARTCARDREADERSimpleIO.SmartCardReader.1 SetTarget() ERROR : SmartCardReaderPlugin: SetTarget() - Failed to find a smart card reader with AthenaT0 test card inserted HRESULT=0x80040200 HRESULT=0x80040200

    Thus far I have been able to successfully certify this version under Windows 7 x64 and Windows 10 x64 without issue.  Testing under Server 2016/2019 is currently under way.

    It seems the assumption by the test in question only occurs under Windows 8.1 (possibly just x64 as I have not testing x86 yet).

    I know that under this scenario I don't technically qualify for WHQL, which is fine.  I am not looking for WHQL logo use.  What I desire is that the driver be cross signed by MS.

    I have considered skipping Windows 8.1 all together, but it does make up approximately 2% of my user base and having the install prompt the user to accept the driver installation for one platform is not really a consistent user experience; not to mention it breaks any mass deployment option.

    What I would like to know is if there is a way to modify this behavior and still have the test results accepted?


    Monday, July 15, 2019 9:20 PM

All replies

  • Follow up to my post with what I have found.

    After digging through HCK tests I was able to find this file: Utility_DeviceStatusCheck.wsc, located under the amd64, arm, x86 directories under C:\Program Files (x86)\Windows Kits\8.1\Hardware Certification Kit\Tests.  This "script" is called by many of the published tests, usually just after all necessary files have been copied to the test client.

    On line 252 of Uitility_DeviceStatusCheck.wsc it is calling the SimpleIOStressEx interface for each root device and its children.  On line 246, the same occurs for Sys Fun Mode or Software Device Mode with the condition "Is Device AND Class!=SmartCardReader".  Though there are a thousand ways to fix this, I applied the least impact approach and simply add the addition condition to line 252, thereby side stepping this smart card reader "pre-check"

    Thus far all required tests are passing, excluding the IFSD tests which do not apply in my specific case.

    Tuesday, July 16, 2019 9:08 PM
  • Should have known that would have been too easy...

    Certain additional tests failed as a result of the same error.  It seems that the underlying issue is with the WDTF simple I/O action plug-in for Smart Card Reader devices.  Still not sure why this seems to only occur for Windows 8.

    Can this WDTF plug-in be overwritten with a custom one?  Though I am still trying to figure out how to get VS setup to create a custom WDTF simple I/O plugin per these instructions: https://docs.microsoft.com/en-us/windows-hardware/drivers/wdtf/to-customize-i-o-for-your-device-using-the-wdtf-simple-i-o-action-plug-in

    Wednesday, July 17, 2019 2:56 PM