Staging External Device Firmware via Virtual Driver
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing firmware update mechanisms for external devices in information handling systems are inefficient, as they often fail to update firmware when the external device is unavailable during system boot or reboot, leading to firmware version mismatches and are restricted by operating system limitations, such as in Microsoft Windows 10 S, which prohibits standalone desktop applications for updating firmware.
Innovation Solution
A firmware management system utilizing a virtual device driver and the unified extensible firmware interface (UEFI) to stage and deliver external device firmware, allowing updates to be scheduled based on administrator policies and independent of the extensible firmware interface system resource table (ESRT) state, ensuring updates occur when the device is available.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If firmware update mechanisms attempt to update external device firmware during system boot or reboot, then firmware updates can be performed, but the external device may be unavailable during this process leading to update failure
Solution Approach 1:
The system stages the firmware update package in advance during system boot or reboot, preparing the update before the external device becomes available. The virtual device driver stores the firmware package locally, and only applies the update when the external device is detected as available, thus ensuring update success while maintaining productivity.
Solution Approach 2:
A virtual device driver is introduced as an intermediary between the operating system and the external device. This virtual driver manages the firmware update process by staging packages locally and coordinating the actual update application, bridging the gap between system boot processes and external device availability.
2Ease of operation
If standalone desktop applications are used to update firmware, then firmware updates can be performed, but operating system limitations such as Microsoft Windows 10 S prohibit such applications
Solution Approach 1:
The virtual device driver is designed to function within the constraints of the operating system while providing firmware update capabilities. It leverages existing operating system mechanisms (such as Windows Update infrastructure) to achieve firmware updates without requiring standalone applications, thus maintaining compatibility across different operating system environments including Windows 10 S.
Solution Approach 2:
The patent replaces the traditional mechanical approach of using standalone desktop applications with a software-based virtual device driver mechanism. This substitution allows firmware updates to be performed through the operating system's native device driver interface, bypassing restrictions on standalone applications while maintaining ease of operation.
3Reliability
If firmware updates are performed immediately when available, then the latest firmware is applied, but updates may occur when the external device is unavailable causing version mismatches
Solution Approach 1:
The firmware update mechanism dynamically adjusts its behavior based on the availability of the external device. The virtual device driver continuously monitors device availability and dynamically switches between staging the firmware package (when device is unavailable) and applying the update (when device is available), ensuring both reliability and minimal delay.
Solution Approach 2:
The system implements feedback mechanisms where the virtual device driver detects the availability status of the external device and adjusts the update process accordingly. When the device is unavailable, the system provides feedback to delay the update application; when the device becomes available, feedback triggers the update application, ensuring version compatibility while minimizing delays.
Data Source
AI summary
Systems and methods to stage firmware capsule package for an external device in a firmware client system. The firmware client system may include a basic input/output system (BIOS) and an operating system (OS). The BIOS may create a virtual device. The OS may download a virtual device driver package associated with the virtual device from an update service. The virtual device driver package may include a first virtual device driver and a first external device firmware. The OS may also install the first virtual device driver of the virtual device driver package, stage the first external device firmware on a storage device, and execute the first virtual device driver. The first virtual device driver may, when a first external device associated with the first external device firmware is available, deliver the first external device firmware to the first external device using an update firmware mechanism.


