【问题标题】:How can I speed up the first-time loading of a Windows device driver for an USB device?如何加快 USB 设备首次加载 Windows 设备驱动程序的速度?
【发布时间】:2011-07-07 11:16:47
【问题描述】:

我们有一些运行 Windows XP 的机器用于自动化生产过程。我(不是我个人,而是一个机器人)将新的 USB 设备连接到这些盒子。这种设备类型有一个设备驱动程序,它在连接设备并像魅力一样运行后加载。

但是...插入设备大约需要8到10秒才能访问它。当我再次连接之前已经见过的设备时,只需 3 秒。驱动程序有一个目录文件。它不是由 Microsoft WHQL 签名的,而是使用我们在机器上安装的测试证书。

只有一个 inf/pnf 文件需要考虑,所以我想知道为什么要花这么长时间来检测新设备、在注册表中创建信息并加载驱动程序。 时间就是金钱,所以我需要加快进程。

对我有什么提示吗?尤其是有人知道 WHQL 认证的驱动程序可以更快地被 Windows/设备管理器识别吗?

【问题讨论】:

  • 是的,这是相当正常的表现。为什么你不断地插入新设备?
  • 我找到的唯一方法是让驱动程序 whql'ed,但我愿意提供更好的建议。
  • @Cody Gray:这是生产过程的一部分:我将一些数据写入每个设备,读取序列号等,进行 QA 测试。性能还可以,但有其他设备(有WHQL认证驱动),2秒后可用。所以自动化专家说我们应该跟上它。
  • 因此解决方案似乎很明显:让您的驱动程序获得 WHQL 认证。无论如何,对于硬件供应商来说似乎是个好主意......
  • 也许您的问题应该表述为“有人可以确认我怀疑 WHQL 认证驱动程序的安装速度比非认证驱动程序快吗?”

标签: windows-xp driver device-driver drivers driver-signing


【解决方案1】:

这些设备有唯一的序列号,对吗?这是 Windows 用来创建每个实例数据所需的一部分,以跟踪它之前是否见过这个设备。如果您插入以前已经见过的设备,Windows 将获取旧的实例数据并加载适当的驱动程序。如果您插入 Windows 以前从未见过的设备(例如,相同的 VID/PID 但序列号不同),它需要通过创建注册表项、解析 INF 以找到正确的驱动程序等过程。

您确定那些使用 WHQL 驱动程序快速显示的设备以前从未连接到系统吗?此外,这些系统是否配置为连接到 Windows 更新以在连接新设备时查找驱动程序?确实,Windows 会更喜欢 WHQL 驱动程序而不是未签名(或自签名)包,因此 Windows 可能会在默认为您的自签名驱动程序之前努力寻找其他东西。

-斯科特

【讨论】:

  • 是的,唯一的序列号。我很确定带有 WHQL 驱动程序的设备显示得更快,但我没有自己测试过……目前我无法回答你关于 Windows 更新的问题。感谢您的回答,我会对此进行调查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-26
  • 1970-01-01
  • 1970-01-01
  • 2017-07-29
相关资源
最近更新 更多