赞
踩
windows驱动想要在非测试模式下安装,需要通过微软的数字签名认证,认证的前期准备网上有很多文章。
经过两个月的 环境搭建,bug修改,测试认证,终于通过了微软官方的认证。
1.1 如果是使用VHLK官方配置好的Hyper-v虚拟机测试,注意不要将虚拟机安装在测试系统(目标机)上,因为开启Hyper-v后物理机的混合睡眠无法支持,测试睡眠唤醒case可能会失败。VHLK下载速度非常慢,且很大概率下载失败,建议使用物理机当测试服务器。
1.2 可以在启用关闭功能中,打开hyper-v所有功能;
运行Hyper-V管理器启动 server 2016 时出现Hyper-V虚拟机监控程序未运行问题解决办法:
管理员power-shell中执行:
bcdedit /set hypervisorlaunchtype auto
然后重启;
1.3 测试服务器上安装windows server 2016 英文版;
1.4 环境部署参考: Windows Hardware Lab Kit | Microsoft Learn
1.5 HLK服务器安装流程
在测试服务器上安装HLKSetup.exe,选择第一个:
1.6 HLK 客户端安装:
在测试系统上,浏览到以下位置:
\\<ControllerName>\HLKInstall\Client\Setup.cmd
(将 <ControllerName> 替换为测试服务器的名称如 WIN-8I52R015B4E,或者ip地址)可通过电脑--属性查看设备名称;
\\WIN-8I52R015B4E\HLKInstall\Client
\\192.168.11.22\HLKInstall\Client
查看到的共享文件,
客户端dos下执行echo %PROCESSOR_ARCHITECTURE% 查看测试系统架构,选择相应的setupxxx.exe安装。
安装完成后去控制面板--卸载程序下确认WHLK Client安装成功。
如下命令安装测试客户端 InstallWTTClient ,使用管理员权限,不要使用powershell。
\\WIN-8I52R015B4E\HLKInstall\CoreSystemClient\InstallWTTClient.cmd ICFAGREE:1
将打开一个防火墙端口以与 HLK 控制器进行通信
安装完成后,任务管理器下可以看到hlksvc正在运行。
官网文档描述如下:
下图是蓝屏后在客户端使用windbg 分析的dump文件,使用winDbg分析如下,根据Arg1 、Arg2提示可知timeout参数不为0,应该运行在APC级别下。现在运行在DISPATCH级别导致测试出死锁蓝屏问题。
注:使用Windows 10 内置的verifier诊断工具,可以在任何测试机上测出IRQL的问题,而不必使用HLK测试环境,verifier默认是关闭的。 如下运行verifier命令后在gui界面自定义测试选项,IRQL对应的是死锁检测测试项,下一步选择被测驱动,完成后重启,不用做任何操作,verifier将会自动扫描测驱动。
测试时可以在客户端打开DebugView,查看HLK测试的log如下,主要问题是KeGetCurrentIrql接口找不到。即使去掉KeGetCurrentIrql的调用,别的系统接口还是会有调用到,放弃该方法。
按照官网说法需要在VS下添加通用Api的依赖库:
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64\OneCoreUAP.Lib
添加后我们的设备都识别不到,该方法弃用;
直接修改测试服务器上的amd64_UniversalDDIs.xml文件,添加KeGetCurrentIrql接口使用,即可测试通过。
Reinstall with IO before an after (开发和集成)
客户端下开启debugView 看到错误: [4704] Error: WDTF_TARGET : "DriverSetup" is not a registered WDTF system interface name. Win32=2 - 系统找不到指定的文件。
客户端下执行:
C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\WDTF\RunTime\RegisterWDTF.exe
参考:"DriverSetup" is not a registered WDTF system interface name - Microsoft Q&A
a) 注册微软硬件开发账户,注册前先准备好EV证书,注册过程中会验证。
注册 Microsoft Windows 硬件开发人员计划 - Windows drivers | Microsoft Learn
b)提交.hlkx测试结果文件
创建新硬件提交 - Windows drivers | Microsoft Learn
当前测试的win10系统环境:
Win10 x64专业版 版本号:22H2
操作系统内部版本:19045.3930
Win10认证可以申请包含如下WHQL签名的版本:
c)人工审核完成后,下载signed files在正常模式下安装验证。
测试中遇到的问题很多,在此记录一部分。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。