I’ve been working in a software device driver, similar to the “echo” sample available at MS github (https://github.com/microsoft/Windows-driver-samples/tree/main/general/echo/kmdf/driver/AutoSync). The driver is working fine. However, it is currently using not properly signed, needing to use “test signatures” and turn off secure boot.
I’m trying to get driver signed and need to submit a request to MS, after running succesfully the tests in Windows Hardware Lab Kit (WHLK). As I was struggling with WHLK with my driver, I decided to try with the exact code of the github sample. However, the signature process behavior is the same…
When I install the driver in the machine running WHLK, WHLK lists my driver in the category “device manager”.
Then, it enforces me to run 58 tests, including some related to hardware such as ARM stuff, as figure below shows. My driver is not able to pass through all those tests, failing 6 of them. I’ve already tried to update the WHLK filters. Besides that, running these 58 tests take a long time.
As the driver has no direct iteraction with a specific hardware device, I would like that my driver was listed in “software device” category. In this case, the tests are related to what my driver really does. Also, the amount of tests needed to run is reduced and take a reasonable time. I’d like to know what may I do to achieve that or if anyone know how this classification is done in WHLK. I’ve already tried to switch the class (and classguid) in INF file, but the result is always the same (my driver in the category “device manager”).
My current guess is that this behavior (always be considered as a “device manager” driver) is related to the way that I install the driver in the machine where WHLK runs. I’m using devcon to do that. Is it possible to achieve my driver as a “software device” using devcon ? Or, in this case, should I install my driver of another way ?
Appreciate any tips or comments.
Best regards