Windows supports a platform for installing system and device firmware updates via driver packages that are processed by using the UEFI UpdateCapsule function. This platform provides a consistent, reliable firmware update experience, and it improves the discoverability of important system firmware updates for end-users.
The UEFI firmware update platform guidance is intended for SoC vendors and OEMs who are building hardware platforms that run Windows. The UEFI firmware update platform is supported by the following operating system versions:
There are two types of firmware that can be serviced via Windows: system firmware and device firmware. System firmware is responsible for providing critical boot and runtime services to the system as a whole, and device firmware is associated with a particular device integrated into a system. Such device firmware typically works together with a device driver, allowing the OS to expose the device to OS-level services and applications.
System firmware updates for UEFI-based systems will be deployed as device driver packages (INFs). Windows will use information provided by the platform to ensure that the update package only applies to appropriate systems. A firmware update package contains a binary file containing the system firmware image. After the firmware update package is on the end-user's system, Windows will use the UEFI UpdateCapsule function to hand-off the firmware payload to the platform firmware for processing.
Deploying the update as a driver package allows the firmware update process to align with many existing deployment and servicing tools, and ensures simple update package authoring for hardware vendors.
Although the firmware update is delivered as a driver package, it doesn't mean that the update is written as an actual driver. The driver package contains an INF file and a binary file containing the system or device firmware image.
This device firmware can be updated using a device driver package using the same mechanism as system firmware. A device firmware update is distributed as a firmware update package. After the firmware update package is on the end-user's system, Windows will use the UEFI UpdateCapsule function to hand-off the device firmware payload to the platform firmware for processing. This process is identical to how Windows hands off system firmware update payload, and is discussed below.
It's recommended that device firmware is updated using a discrete firmware update driver package. However, device firmware may also be updated with system firmware as part of a single firmware update driver package.
UEFI shouldn't be used to update peripheral devices. UEFI requires devices to be present during reboot to apply a firmware update that can't be guaranteed with (external, removable) peripheral devices.
System firmware, and some classes of device firmware, must be updatable using this process. Firmware code recognizes a firmware update payload passed to UpdateCapsule and initiates the update process. The implementation is owned by the partner.
The Firmware Resource allows Windows to surface a device instance with a Hardware ID, which will be used to target the system or device firmware update to appropriate systems and devices. It also describes the current firmware version and provides status for previous updates.
There exists a single entry for system firmware updates. All devices with updateable firmware must have a resource specified in the ESRT, unless a device's firmware is updated as part of a system firmware update.
This article describes how to update a removable or in-chassis device's firmware using the Windows Update (WU) service. For information about updating system firmware, see Windows UEFI firmware update platform.
To do this, you'll provide a device driver that includes the firmware payload. If you provide a function driver for your device, you can add the firmware update logic and payload to the existing driver, or you can provide a separate firmware update driver package. If your device uses a Microsoft-supplied driver, you must provide a separate firmware update driver package. In both cases, the firmware update driver package must be Universal.
Alternatively, if you want to update the function driver and the firmware update driver separately, create a second device node, on which you'll install the firmware update driver. The following diagram shows how one device can have two separate device nodes:
There are a couple ways to create a second device node. Certain device types have the ability to expose a second device node on one physical device, such as USB. You can use this functionality to create a device node targetable by WU, and install a firmware update driver on it. Many device types, however, don't allow a single physical device to enumerate more than one device node.
In this case, use an extension INF that specifies the AddComponent directive to create a device node that can be targeted by Windows Update and install the firmware update driver on it. The following snippet from an INF file shows how you can do this:
In the above INF sample, ComponentIDs = ComponentDeviceId indicates that the child device will have a hardware ID of SWC\ComponentDeviceId. When installed, this INF creates the following device hierarchy:
To locate another device node, the firmware driver should walk the device tree relative to itself, not by enumerating all device nodes for a match. A user may have plugged in multiple instances of the device, and the firmware driver should only update the device with which it's associated. Typically, the device node to be located is the parent or sibling of the device node on which the firmware driver is installed. For example, in the diagram above with two device nodes, the firmware update driver can look for a sibling device to find the function driver. In the diagram immediately above, the firmware driver can look for the parent device to find the primary device with which it needs to communicate.
The driver should be robust to multiple instances of the device being on the system, possibly with multiple different firmware versions. For example, there may be one instance of the device that has been connected and updated several times; a brand new device may then be plugged in which is several firmware versions old. This means that state (such as current version) must be stored against the device, and not in a global location.
There are two types of firmware that can be serviced via Windows: system firmware and device firmware. System firmware is responsible for providing critical boot and runtime services to the system as a whole, and device firmware is associated with a particular device integrated into a system.A firmware update is a software program that can be used to update the firmware in these devices. For example, a user could download a firmware update for a network router that enhances its capabilities or fixes an issue. Firmware updates are available from hardware manufacturers.ice firmware is associated with a particular device integrated into a system.
System firmware is responsible for providing critical boot and runtime services to the system as a whole, and device firmware is associated with a particular device integrated into a system. A firmware update is a software program that can be used to update the firmware in these devices. regards AiryTV
In electronic systems and computing, firmware is a tangible electronic component with embedded software instructions, such as a BIOS. Typically, those software instructions are used to tell an electronic device how to operate. ... Firmware is held in non-volatile memory devices such as ROM, EPROM, or flash memory.
Has anyone installed these? I can't find release notes for either. I have my system set to "NOT" automatically install Display drivers already but I am curious as to what this system update is and firmware update is. I already have the latest BIOS, display drivers and controller firmware updates installed. BenMyers
What version BIOS do you have and did you install it from the support site or a beta? The latest BIOS is v28. You can Windows+R -> msinfo32 and check the "BIOS Version/Date", the # before "WW" is the BIOS version. If it's
I had a unit I checked, the 1.10.0.0 firmware optional update is indeed the v28 BIOS. The BIOS updates (for some reason) will be optional until a certain amount of time/updates have passed where they will then be auto-downloaded. The unit I checked was on v22, v26 was found, downloaded, and installed through windows update, and v28 was still in "optional".
I had optional updates enabled and after installing 'Lenovo Ltd. - Firmware - 1.10.0.0' my Legion Go turns on, but the system freezes so bad that nothing can be done on it! Does anyone else have this problem???
The problem occured during the first few launches after the update. It took about 2 minutes to turn on the console, and the Legion Space kept crashing at first launch. When i touched the screen, the response was delayed and it took several minutes to open any app. The same delay occured in the bios. I tried to fix it, but at 3am I turned off the console and went to bed... and today after booting up the console it works as if nothing ever happened lol
Just saw this topic and posted in the 2/16/24 update of what I thought were amd chipset drivers but they are actually and update version of the Lenovo Ltd firmware. There is a newer recent firmware update. It's now version 1.11.0.0 under the optional updates in the windows update settings.
Has anyone installed these? I can't find release notes for either. I have my system set to "NOT" automatically install Display drivers already but I am curious as to what this system update is and firmware update is. I already have the latest BIOS, display drivers and controller firmware updates installed. [mention:604ba6c0fe684c019b89c06f25f0e1bd:e9ed411860ed4f2ba0265705b8793d05]
d3342ee215