# US 12,761,891 B2 · Automated firmware updates based on device driver version in a server device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,761,891 B2
- Document ID: US12761891B2
- Status: Granted
- Kind: B2
- Application number: 17/564,698
- Filed: 2021-12-29
- Published: 2023-06-29
- Granted: 2026-10-13
- Earliest claimed: 2021-12-29
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Rajeev Arakkal; Santosh Gore; Abhijeet Bhattacharya
- Web page: https://patentgrep.com/patent/US12761891B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques are provided for automatically updating one or more firmware versions based on corresponding device driver versions of a server device. One method comprises, in response to an update of a device driver of a server device: obtaining, by the server device, a driver version of the device driver; identifying, using firmware mapping data structures, a firmware version of firmware of the server device associated with (e.g., compatible with) the obtained driver version; and updating the firmware to correspond to the identified firmware version from the firmware mapping data structures. The driver version may be obtained from: (i) a host agent associated with an operating system of the server device, and/or (ii) a memory of the server device, after being stored in the memory in response to: a loading of the device driver from the operating system and/or the update of the device driver.

## Claims

### Claim 1

A method, comprising:
automatically performing the following steps in response to an occurrence of a designated event, wherein the designated event comprises an update of at least one device driver of a server device:
obtaining, by the server device, a driver version of the at least one updated device driver of the server device;
obtaining, by the server device, one or more firmware mapping data structures;
identifying, by at least one management controller of the server device, using the one or more firmware mapping data structures, at least one firmware version of firmware of the server device associated with the obtained driver version, wherein the one or more firmware mapping data structures comprise a mapping of the driver version of the at least one updated device driver to at least one corresponding version of the firmware associated with the obtained driver version; and
updating, by at least one processing device of the server device, the firmware of the server device to correspond to at least one of the identified at least one firmware version from the one or more firmware mapping data structures;
wherein the at least one processing device comprises a processor coupled to a memory.

### Claim 2 (depends on 1)

The method of claim 1, wherein the identifying the at least one firmware version associated with the obtained driver version further comprises obtaining the at least one firmware version that is compatible with the obtained driver version.

### Claim 3 (depends on 1)

The method of claim 1, wherein the obtained driver version is obtained from a host agent associated with an operating system of the server device.

### Claim 4 (depends on 3)

The method of claim 3, wherein the host agent subscribes to operating system events related to updates of the at least one device driver.

### Claim 5 (depends on 3)

The method of claim 3, wherein the update of the at least one device driver generates a notification of the update to the host agent.

### Claim 6 (depends on 1)

The method of claim 1, wherein the obtained driver version is obtained from a memory of the server device, and wherein the obtained driver version is stored in the memory of the server device in response to one or more of a loading of the at least one updated device driver from an operating system and the update of the at least one device driver.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one or more firmware mapping data structures comprise at least a portion of an electronically accessible firmware catalog provided by a provider of the server device.

### Claim 8 (depends on 1)

The method of claim 1, wherein the obtaining is performed by the management controller of the server device.

### Claim 9

An apparatus comprising:
at least one processing device comprising a processor coupled to a memory;
the at least one processing device being configured to implement the following steps:
automatically performing the following steps in response to an occurrence of a designated event, wherein the designated event comprises an update of at least one device driver of a server device:
obtaining, by the server device, a driver version of the at least one updated device driver of the server device;
obtaining, by the server device, one or more firmware mapping data structures;
identifying, by at least one management controller of the server device, using the one or more firmware mapping data structures, at least one firmware version of firmware of the server device associated with the obtained driver version, wherein the one or more firmware mapping data structures comprise a mapping of the driver version of the at least one updated device driver to at least one corresponding version of the firmware associated with the obtained driver version; and
updating, by at least one processing device of the server device, the firmware of the server device to correspond to at least one of the identified at least one firmware version from the one or more firmware mapping data structures.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the identifying the at least one firmware version associated with the obtained driver version further comprises obtaining the at least one firmware version that is compatible with the obtained driver version.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the obtained driver version is obtained from a host agent associated with an operating system of the server device.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the host agent subscribes to operating system events related to updates of the at least one device driver, and wherein the update of the at least one device driver generates a notification of the update to the host agent.

### Claim 13 (depends on 9)

The apparatus of claim 9, wherein the obtained driver version is obtained from a memory of the server device, and wherein the obtained driver version is stored in the memory of the server device in response to one or more of a loading of the at least one updated device driver from an operating system and the update of the at least one device driver.

### Claim 14 (depends on 9)

The apparatus of claim 9, wherein the obtaining is performed by the management controller of the server device.

### Claim 15

A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform the following steps:
automatically performing the following steps in response to an occurrence of a designated event, wherein the designated event comprises an update of at least one device driver of a server device:
obtaining, by the server device, a driver version of the at least one updated device driver of the server device;
obtaining, by the server device, one or more firmware mapping data structures;
identifying, by at least one management controller of the server device, using the one or more firmware mapping data structures, at least one firmware version of firmware of the server device associated with the obtained driver version, wherein the one or more firmware mapping data structures comprise a mapping of the driver version of the at least one updated device driver to at least one corresponding version of the firmware associated with the obtained driver version; and
updating, by at least one processing device of the server device, the firmware of the server device to correspond to at least one of the identified at least one firmware version from the one or more firmware mapping data structures.

### Claim 16 (depends on 15)

The non-transitory processor-readable storage medium of claim 15, wherein the identifying the at least one firmware version associated with the obtained driver version further comprises obtaining the at least one firmware version that is compatible with the obtained driver version.

### Claim 17 (depends on 15)

The non-transitory processor-readable storage medium of claim 15, wherein the obtained driver version is obtained from a host agent associated with an operating system of the server device.

### Claim 18 (depends on 17)

The non-transitory processor-readable storage medium of claim 17, wherein the host agent subscribes to operating system events related to updates of the at least one device driver, and wherein the update of the at least one device driver generates a notification of the update to the host agent.

### Claim 19 (depends on 15)

The non-transitory processor-readable storage medium of claim 15, wherein the obtained driver version is obtained from a memory of the server device, and wherein the obtained driver version is stored in the memory of the server device in response to one or more of a loading of the at least one updated device driver from an operating system and the update of the at least one device driver.

### Claim 20 (depends on 1)

The method of claim 1, wherein the updating is performed by the at least one processing device of the server device in response to determining that an automatic firmware update feature is enabled.
