Windows Update 更新设备固件
2022-11-01
71
0
Windows Update 更新设备固件是指通过Windows Update更新设备固件,例如USB设备的固件程序。这些设备一般指Windows外部设备。
Windows Update根据按更新固件在系统中的驱动来源可分为两类:
第一种是固件被Windows识别使用Windows系统自带的兼容驱动,这些设备通常是符合标准规范的设备,如UVC摄像头,HID键盘设备。这些设备也是我们通常意义上的免驱动设备。
第二种是设备被驱动需要厂商提供的驱动程序。像主板自速的INTER声卡(符合PORTCLASS标准),但硬件上的差异无法做到通用。还有就是我们是显卡,是需要硬件厂商提供的驱动程序来驱动设备。
但无论是第一种,还是第二种,都得提供通用的固件更新驱动程序包。
重要说明:Windows Update无法执行软件,固件更新驱动程序必须将固件交给即插即用 (PnP) 进行安装。
第一种的更新驱动方法
固件更新驱动程序更新固件流程
这里的固件更新驱动程序并非是真正的设备驱动,而是设备更新固件时的临时驱动程序,所以它是一个轻量经的驱动程序。
固件更新驱动程序更新固件流程如下:
- 识别自己连接的设备。
- 系统安装此驱动到设备。
- 驱动程序识别固件版本号,并新版本号对比,判断出驱动程序的固件版本是否比设备硬件上当前刷新的固件版本更新
- 如果更新,set an event timer to schedule the update
- 如果不是,即不需要更新,那么驱动程序什么也不做。等待设备重启。
更新时:
- 如果更新需要排队,新的设备请排队等待条件满足。
- 等待中的队列满足条件后,开始进行设备的固件更新。
固件更新驱动程序前提条件
- 如果是通用驱动程序,提供INF文件。
- 驱动的cat文件(Driver catalog)
- 功能驱动(sys或者DLL(UMDF))
- 固件文件
注意:固件更新包需要以单独的驱动程序提交给微软。
第二种的更新驱动方法
第二种只适用于由硬件厂商提供的第三方法驱动程序,即将原来设备的功能驱动程序和更新驱动程序逻辑结合起来,形成一个自带设备本身的驱动和固件更新的组合驱动程序。
这种情况按是否创建更新固件的设备节点又分为两种,分别为:
不创建更新设备节点
红色为WinowsUpdate逻辑,黑色为正常的设备逻辑。创建更新设备节点,在这种情况下,功能和固件设备节点必须具有不同的硬件ID才能独立定位。
红色为WinowsUpdate逻辑,黑色为正常的设备逻辑。