Firmware resiliency via cloud

The method and system allow for efficient local firmware restoration on computing devices using a docking hub to retrieve backup firmware from a network, addressing inefficiencies in existing methods and reducing costs and inconvenience.

JP2025108376AActive Publication Date: 2025-07-23LENOVO (SINGAPORE) PTE LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024218933
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-10
Filing Date
2024-12-13
Publication Date
2025-07-23
Estimated Expiration
2044-12-13

AI Technical Summary

Technical Problem

Existing methods for restoring firmware on computing devices are inefficient and inconvenient, often requiring shipment to a remote service center when local restoration fails, causing time, cost, and manpower inefficiencies.

Method used

A method and system utilizing a computing device and a docking hub to upload identification and firmware version information to a network, detect errors, and install backup firmware via a docking hub and network connection, enabling local restoration.

Benefits of technology

Enables efficient and convenient local restoration of firmware, reducing user and service provider inconvenience and costs by leveraging a docking hub to retrieve backup firmware from a network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025108376000001_ABST
    Figure 2025108376000001_ABST
Patent Text Reader

Abstract

To provide a method that operates a computing system including a computing device and a docking hub.SOLUTION: A method comprises steps of: uploading, by a computing device, identification information of the computing device and firmware version information of firmware installed in the computing device to a network; detecting an error in the installed firmware; transmitting a first request message including the identification information from an embedded controller of the computing device to a docking hub; transmitting a second request message including the identification information from the docking hub to the network; acquiring, by the docking hub, backup firmware corresponding to the firmware version information from the network; and installing the backup firmware in the computing device.SELECTED DRAWING: Figure 1A
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a method for locally restoring firmware installed on a computing device.

Background Art

[0002] When there is an error in the firmware of a computing device, one or more functions of the computing device may be lost until a valid firmware version is restored (e.g., unable to boot, loss of hardware integration). If the local restoration process of the computing device fails (e.g., corruption of the version of the local backup firmware), and / or the user of the computing device does not have the technical expertise to address the firmware error, the computing device may be shipped to a remote service center with an expert who can restore the system or provide a replacement. This remote service process can cause significant inconvenience and costs (e.g., time, cost, manpower) to the user, manufacturer, and service provider.

Summary of the Invention

Means for Solving the Problems

[0003] Generally, one or more embodiments of the present invention relate to a method of operating a computing system including a computing device and a docking hub. The method includes steps of uploading, by the computing device, identification information of the computing device and firmware version information of firmware installed on the computing device to a network; detecting an error of the installed firmware; sending, from an embedded controller of the computing device, a first request message including the identification information to the docking hub; sending, from the docking hub, a second request message including the identification information to the network; obtaining, by the docking hub, backup firmware corresponding to the firmware version information from the network; and installing the backup firmware on the computing device.

[0004] Generally, one or more embodiments of the present invention relate to a non-transitory computer-readable medium (CRM) storing computer-readable program code for operating a computing system including a computing device and a docking hub. The computer-readable program code causes a computer system to upload, by the computing device, identification information of the computing device and firmware version information of firmware installed on the computing device to a network; detect an error of the installed firmware; send, from an embedded controller of the computing device, a first request message including the identification information to the docking hub; send, from the docking hub, a second request message including the identification information to the network; obtain, by the docking hub, backup firmware corresponding to the firmware version information from the network; and install the backup firmware on the computing device.

[0005] Generally, one or more embodiments of the present invention relate to a computer system comprising a computing device with an embedded controller and a docking hub configured to communicate with the computing device and a network. The computing system is configured such that the computing device uploads the identification information of the computing device and the firmware version information of the firmware installed on the computing device to the network, detects errors in the installed firmware, sends a first request message including the identification information from the embedded controller of the computing device to the docking hub, sends a second request message including the identification information from the docking hub to the network, the docking hub obtains backup firmware corresponding to the firmware version information from the network, and installs the backup firmware on the computing device.

[0006] Other aspects of the present invention will become apparent from the following description and the appended claims.

Brief Description of the Drawings

[0007]

Figure 1A

Figure 1B

Figure 1C

Figure 2

Figure 3

Figure 4

Figure 5

Embodiments for Carrying Out the Invention

[0008] Next, specific embodiments of the present invention will be described in detail with reference to the accompanying drawings. Similar elements in the various figures are denoted by similar reference numerals for consistency.

[0009] In the following detailed description of embodiments of the present invention, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.

[0010] Generally, a computing device includes a plurality of firmware settings (i.e., firmware or firmware modules) that provide control or management functions for a specific hardware configuration of the computing device. Since the firmware includes basic functions for operating the computing device, the firmware is held in a non-volatile memory (e.g., read-only memory, flash memory area, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) separate from other memory resources of the computing device (e.g., random access memory (RAM), storage device). Data stored in other memory resources of the computing device can be constantly written, read, rewritten, and / or erased, but special procedures may be required to modify or update the firmware version. Further, since a valid firmware version is required for the proper operation of the computing device, additional security permissions may be required to execute special procedures for changing the firmware of the computing device.

[0011] Generally, embodiments of the present invention provide a method for locally restoring a valid firmware version on a computing device using a connected docking hub. With the introduction of a computing system including a computing device supported by a docking hub (e.g., a PC / laptop docking station, a port replicator, a multi-port adapter / expander, a peripheral device), the docking hub provides a local platform that can assist in restoring the computing device. Since the docking hub is independent of the firmware errors of the computing device, the docking hub can be trusted as a fully functional and reliable component of the computing system.

[0012] FIG. 1A shows a perspective view of a computing system according to one or more embodiments of the present invention.

[0013] The computing system includes a computing device 10 (e.g., a laptop personal computer (PC), a tablet PC, a desktop PC, a convertible PC) and a docking hub 30. The computing device 10 will be described in more detail below with respect to FIG. 1B. The docking hub 30 is an independent device that supports the computing device 10 by providing additional functions. For example, the docking hub 30 may include additional communication ports (e.g., universal serial bus ports), AV (audio-visual) ports (e.g., audio input / output ports, additional monitor support), power connections, and the like.

[0014] The computing system further includes a communication link A (i.e., link A) that connects the computing device 10 and the docking hub 30. In one or more embodiments, link A may further include a power connection between the computing device 10 and the docking hub 30. For example, link A may provide power to the computing device 10 (e.g., via an external power source (not shown) connected to the docking hub 30) and access to an external network 40 (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a mobile network, or any other type of network) via the docking hub 30, and may be a USB-C to USB-C line (CC line).

[0015] The computing system further includes a communication link B (i.e., link B) that connects the docking hub 30 to the external network 40. In one or more embodiments, link B may be a direct or indirect wired network connection (e.g., an Ethernet connection) or a wireless network connection between the docking hub 30 and the network 40.

[0016] The computing system further includes a communication link C (i.e., link C) that connects the computing device 10 to the external network 40. In one or more embodiments, link C may be a direct or indirect wired network connection (e.g., Ethernet connection) or a wireless network connection between the computing device 10 and the network 40 that does not include the docking hub 30.

[0017] FIG. 1B shows a schematic diagram of various sub-components included in the computing device 10 of FIG. 1 according to one or more embodiments of the present invention.

[0018] The computing device 10 includes a motherboard MB having a plurality of sub-components. The sub-components installed on the motherboard MB may include a processor 12 (e.g., a central processing unit (CPU)), a memory 14, a graphics processing unit (GPU) 16 (e.g., a video subsystem), a power circuit controller 18, a firmware memory 20 (e.g., a serial peripheral interface (SPI) flash area), an embedded controller 22, a chipset 24, a network interface 26 (e.g., a wired or wireless connection port that manages communication via link C), and a storage device 28 (e.g., a hard disk drive (HDD), a solid state drive (SSD)). The computing device 10 may further include a fan and a power supply.

[0019] In one or more embodiments, the above-described sub-components of the computing device 10 may be omitted, may be included in plurality, may be combined as a single sub-component (e.g., a processor that functions as a controller for one or more sub-components), and / or may be disposed in other parts of the computing device 10 or the computing system. Further, the functions of each of the above-described sub-components may be divided into a plurality of sub-components, may be implemented in hardware (e.g., circuits, physical components), may be implemented in software (e.g., machine language, programming on a non-transitory computer-readable medium), or may be any combination thereof. Further, without departing from the scope of the present disclosure, other sub-components (e.g., device / memory, peripheral elements, removable components, external power sources) other than those listed above may be included internally or externally as sub-components of the computing device 10.

[0020] FIG. 1C shows a schematic diagram of various sub-components included in the docking hub 30 of FIG. 1 according to one or more embodiments of the present invention.

[0021] The docking hub 30 includes a plurality of sub-components (e.g., installed on a motherboard or a printed circuit board) in addition to one or more ports 31 (e.g., a port for a CC line to the computing device 10, additional data / AV ports). The sub-components may include a microcontroller 32 (e.g., a CPU), a memory 34, a network interface 36 (e.g., a wired or wireless connection port that manages communication via Link B), and a power circuit controller 38 (e.g., a power delivery (PD) controller). Although not shown, the docking hub 30 may further include any of the sub-components described above with respect to the computing device 10 or any other suitable sub-components.

[0022] In one or more embodiments, the above-described sub-components of the docking hub 30 may be omitted, may be included in plurality, may be combined as a single sub-component (e.g., a processor that functions as a controller for one or more sub-components), and / or may be disposed in the docking hub 30 or other parts of the computing system. Further, the functions of each of the above-described sub-components may be divided among a plurality of sub-components, may be implemented in hardware (e.g., circuitry, physical components), may be implemented in software (e.g., machine language, programming on a non-transitory computer-readable medium), or any combination thereof. Further, without departing from the scope of the present disclosure, other sub-components (e.g., device / memory, peripheral elements, removable components, external power sources) other than those listed above may be included internally or externally as sub-components of the computing device 10.

[0023] FIG. 2 shows a schematic diagram of a firmware configuration in the computing device 10 of FIG. 1 according to one or more embodiments of the present invention.

[0024] Computing device 10 includes a firmware memory 20 that may include a flash memory region (e.g., an SPI flash region) that holds various firmware modules of computing device 10. Firmware memory 20 may include, as the firmware installed on computing device 10, one or more of descriptor firmware (DESC FW), management engine firmware (ME FW), basic input / output system firmware (BIOS FW), embedded controller firmware (EC FW), trusted platform module firmware (TPM FW), or any suitable firmware used by computing device 10. Firmware memory 20 may further include a local backup version of any of the above firmware modules.

[0025] Firmware memory 20 is reprogrammable (e.g., to update the installed firmware and to perform a restoration of the installed firmware in case of an error or corruption). In one or more embodiments, embedded controller 22 controls modifications to firmware memory 20. For example, a platform controller hub (PCH) of computing device 10 may coordinate functions between a main processor 12 (e.g., a CPU) of computing device 10 and embedded controller 22 (e.g., via an enhanced SPI (eSPI) protocol) to perform any modifications to firmware memory 20.

[0026] FIG. 2 illustrates an embodiment of the invention that includes a PCH chipset and eSPI, but it will be understood that alternative configurations, chipsets, and protocols may be used to implement the invention. For example, different sub-components of computing device 10 of FIG. 1B may be configured to manage firmware memory 20, and different communication protocols may be utilized.

[0027] When an error is detected in the installed firmware of the computing device 10, the embedded controller 22 may attempt a restoration process using the corresponding backup firmware locally stored in the firmware memory 20. However, when an error in the installed firmware restricts the functionality of the computing device 10 (e.g., when it becomes unbootable, damaged, or access to part or all of the firmware memory 20 is lost), this local backup restoration process may become impossible. As will be further described in detail below with respect to FIG. 3, the docking hub 30 can be utilized as a reliable entity for coordinating the restoration of the firmware memory 20.

[0028] FIG. 3 shows a firmware restoration configuration in the computing system of FIG. 1 according to one or more embodiments of the present invention.

[0029] Embodiments of the present invention utilize link A between the computing device 10 and the docking hub 30 to retrieve and install backup firmware from the network 40. As will be further described in detail below, even if the functionality of the computing device 10 is lost due to a firmware error, the functional hardware of the connected docking hub 30 can be utilized to coordinate the retrieval of backup firmware from the network 40 via this interconnection.

[0030] Link A is managed by a power circuit controller 18 within the computing device 10 and a power circuit controller 38 within the docking hub 30. The microcontroller 32 of the docking hub 30 is communicatively coupled to the power circuit controller 38. Similarly, the embedded controller 22 of the computing device 10 is communicatively coupled to the power circuit controller 18. Through these connections, the computing system of FIG. 1 may be configured to enable the embedded controller 22 to access the functionality of the docking hub 30.

[0031] For example, when the network interface 26 of the computing device 10 does not function due to an error in the installed firmware, the network interface 36 of the docking hub 30 may be instructed to transmit and receive information to and from the network 40 on behalf of the embedded controller 22. Alternatively, or additionally, when the memory 14 of the computing device 10 does not function due to an error in the installed firmware, the memory 34 of the docking hub 30 may be used to store information (e.g., backup firmware) on behalf of the embedded controller 22.

[0032] Although the embodiments in this description are based on the CC line as Link A, it will be understood that other embodiments of the present invention may utilize different hardware configurations and / or communication protocols between the computing device 10 and the docking hub 30.

[0033] FIGS. 4-5 illustrate flowcharts depicting exemplary methods 400, 500 for a computing system to perform a firmware restoration process according to one or more embodiments. One or more of the processes of FIGS. 4-5 may be performed by various components of the computing system described with reference to FIGS. 1A-3. Methods 400, 500 may be performed, in part, by one or more processors (e.g., processor 12, embedded controller 22, microcontroller 32).

[0034] FIG. 4 illustrates a flowchart of a method 400 according to one or more embodiments of the present invention.

[0035] At 410, the identification information of the computing device 10 and the firmware version information of the firmware installed on the computing device 10 are uploaded by the computing device 10 to the network 40. The firmware version information is associated with the identification information so that it can be used to identify the firmware version information corresponding to the identification information.

[0036] The identification information may include a machine type model (MTM), serial number (SN) information, a security key such as an embedded key / flag / token, any suitable system / device identification information, or any combination of the above.

[0037] The firmware version information may include each information element of the firmware module installed in the firmware memory 20. In one or more embodiments, each information element within the firmware version information may include the type of the corresponding firmware module and the last known valid version of the corresponding firmware module.

[0038] In one or more embodiments, the identification information and the firmware version information are uploaded to a cloud service included in the networking function of the operating system of the computing device 10.

[0039] In one or more embodiments, the firmware version information and the identification information may be uploaded directly from the computing device 10 to the network 40 (e.g., via link C when the computing device 10 is operating without the docking hub 30). Alternatively, the firmware version information and the identification information may be uploaded by the docking hub 30 via the CC line (e.g., when the computing device 10 is being operated while connected to the docking hub 30).

[0040] At 420, an error is detected in the installed firmware. In one or more embodiments, the embedded controller 22 may be configured to detect an error (e.g., corruption) in the firmware memory 20. For example, the error may be detected by verification of the initial boot block (i.e., IBB verification), post IBB validation, detection by a watchdog timer driver (WTD), receipt of an error from a sub-component of the computing device 10, any suitable firmware verification process, or a combination of one or more processes.

[0041] At 430, a first request message including the identification information of the computing device 10 is transmitted from the embedded controller 22 of the computing device 10 to the docking hub 30. In one or more embodiments, the firmware version information of the installed firmware having an error is also included in the first request message.

[0042] As described above, the embedded controller 22 may utilize the power circuit controller 18 and link A to facilitate communication between the computing device 10 and the docking hub 30.

[0043] In one or more embodiments, the first request message may be a vendor - defined message that utilizes a USB - PD (Universal Serial Bus Power Delivery) communication link via the CC lines forming link A.

[0044] At 440, a second request message including the identification information is transmitted from the docking hub 30 to the network 40. In one or more embodiments, the firmware version information of the installed firmware having an error is also included in the second request message.

[0045] As described above, the embedded controller 22 may utilize the power circuit controller 18, the CC line, and sub-components of the docking hub 30 (e.g., the microcontroller 32, the network interface 36) to facilitate communication between the computing device 10 and the network 40.

[0046] In one or more embodiments, the second request message is sent to a cloud service included in the networking function of the operating system of the computing device 10.

[0047] At 450, the docking hub 30 receives backup firmware corresponding to the firmware version information from the network 40. Based on the second request message, the network 40 correlates the identification information with the previously uploaded firmware version information and identifies and provides the backup firmware corresponding to the latest known valid installed firmware. Alternatively, when the second request message includes firmware version information of the installed firmware having an error, the backup firmware corresponding to the last known valid installed firmware may be directly identified.

[0048] In one or more embodiments, the backup firmware may be downloaded to the memory 34 of the docking hub 30. Alternatively, if it functions, the backup firmware may be downloaded to the memory 14 of the computing device 10.

[0049] At 460, backup firmware is installed on computing device 10. Using the connection with one or more sub-components of docking hub 30 (e.g., microcontroller 32, memory 34, network interface 36) via power circuit controller 18 / 38 and link A, embedded controller 22 installs backup firmware from network 40 to restore firmware memory 20. Since embedded controller 22 has RoT (root-of-trust) access to firmware memory 20 (e.g., all SPI flash regions), the chain of interactions between computing device 10, docking hub 30, and network 40 is secure.

[0050] In one or more embodiments, method 400 is utilized in a secondary firmware restoration process (e.g., after computing device 10 fails to restore installed firmware based on the corresponding backup version stored in firmware memory 20). In alternative embodiments, method 400 may also be used as the primary method to restore firmware memory 20.

[0051] In one or more embodiments, method 400 enables the removal of one or more local firmware backups in computing device 10 and may increase the available resources of computing device 10 (e.g., reduce the requirements for firmware memory 20).

[0052] FIG. 5 shows a flowchart of method 500 according to one or more embodiments of the present invention.

[0053] At 510, a failure of the backup restoration process is detected. As described above, in one or more embodiments, the firmware restoration process via the docking hub 30 is utilized as a secondary firmware restoration process after the computing device 10 fails to complete the primary firmware restoration process. For example, the embedded controller 22 may first attempt to restore an error of the installed firmware using the corresponding backup version (i.e., the backup restoration process) of the firmware module also stored in the firmware memory 20 (e.g., a local backup within the SPI flash region). The failure of the primary firmware restoration process may provide additional information that can be used in method 400.

[0054] At 520, based on the backup restoration process, the type information of the installed firmware is identified. For example, the primary firmware restoration may identify the type of the installed firmware having an error in order to access the corresponding backup version within the firmware memory 20.

[0055] At 530, the type information is included in the first request message and the second request message. In one or more embodiments, when the first request message and the second request message include firmware version information having the type of the installed firmware having an error, the backup firmware corresponding to the last known valid installed firmware can be directly identified.

[0056] One or more of the individual processes shown in the flowcharts of FIGS. 4 and 5 may be omitted, repeated, combined, and / or executed in an order different from the order shown in the present disclosure. Each process may be implemented by hardware (e.g., circuits, physical components), software (e.g., machine language, programming on a non-transitory computer-readable medium), or any combination thereof. The processes may be executed actively or passively. For example, some steps may be executed using polling or may be interrupt-driven according to one or more embodiments of the present invention. Additional processes may be executed. Accordingly, the scope of the present invention should not be limited by the specific arrangements shown in FIGS. 4 and 5.

[0057] Embodiments of the present invention may be implemented on substantially any type of computing device 10 or docking hub 30, regardless of the platform used.

[0058] For example, computing device 10 may be one or more mobile devices (e.g., laptop computer, smartphone, personal digital assistant, tablet computer, or other mobile device), a desktop computer, a server, a blade within a server chassis, or any other type of computing device or device including at least minimal processing capabilities, memory, and input / output devices (e.g., display) to execute one or more embodiments of the present invention. For example, computing device 10 may include one or more computer processors, associated memory (e.g., random access memory (RAM), cache memory, flash memory), one or more storage devices (e.g., hard disk, solid state drive, optical drive such as a compact disc (CD) drive or digital versatile disc (DVD) drive, flash memory stick), and numerous other elements and functions. The computer processor may be an integrated circuit for processing instructions. For example, the computer processor may be one or more cores, or microcores, of the processor. Computing device 10 may also include one or more input devices such as a camera, imager, touch screen, keyboard, mouse, microphone, touch pad, electronic pen, or any other type of input device. Further, computing device 10 may include one or more output devices such as a projector, screen (e.g., OLED display or other pixel addressable display device), external storage, or any other output device. The one or more output devices may be the same as or different from the input devices. Computing device 10 may be connected to network 40 via network interface 26 and / or via network interface 36 of docking hub 30. The input / output devices may be connected directly or indirectly (e.g., via docking hub 30 or network 40) to the computer processor, memory, and storage device.There are many different types of computing devices 10, and the input and output devices described above can take other forms.

[0059] Similarly, the docking hub 30 may be one or more devices that include at least minimal processing capabilities, memory, and input / output devices (e.g., interface / port 31 for link A, network interface 36 for link B to network 40) to execute one or more embodiments of the present invention.

[0060] Software instructions in the form of computer-readable program code for executing embodiments of the present invention can be stored, in whole or in part, temporarily or permanently, on a non-transitory computer-readable medium such as a CD, DVD, storage device, diskette, tape, flash memory, physical memory, or any other computer-readable storage medium. Specifically, the software instructions can correspond to computer-readable program code configured to execute embodiments of the present invention when executed by a processor.

[0061] One or more of the embodiments of the present invention may have one or more of the following: an improvement to a computing device, i.e., reducing inconveniences and costs (e.g., time, cost, man-hours) for users, manufacturers, and service providers of the computing device, increasing available computing resources (e.g., firmware memory, ROM) by enabling remote storage of backup firmware, or reducing the minimum requirements of the computing device. These advantages further illustrate the practical uses by providing additional methods for firmware recovery of computing devices.

[0062] Although the present disclosure has been described with respect to a limited number of embodiments, those of ordinary skill in the art having the benefit of the present disclosure will appreciate that various other embodiments may be devised without departing from the scope of the invention. Accordingly, the scope of the invention should be limited only by the appended claims.

Explanation of Signs

[0063] 10 Computing device 12 Processor 14 Memory 16 Graphics processing unit 18 Power circuit controller 20 Firmware memory 22 Embedded controller 24 Chipset 26 Network interface 28 Storage device 30 Docking hub 31 Port 32 Microcontroller 34 Memory 36 Network interface 38 Power circuit controller 40 Network A Communication link A B Communication link B C Communication link C PCH Platform controller hub eSPI Enhanced Serial Peripheral Interface

Claims

1. A method for operating a computing system including a computing device and a docking hub, the method comprising: uploading, by the computing device, identification information of the computing device and firmware version information of firmware installed on the computing device to a network; detecting an error in the installed firmware; sending, from an embedded controller of the computing device to the docking hub, a first request message including the identification information; sending, from the docking hub to the network, a second request message including the identification information; acquiring, by the docking hub, backup firmware corresponding to the firmware version information from the network; installing the backup firmware on the computing device. A method.

2. The backup firmware is downloaded to a memory of the docking hub, The backup firmware is installed on the computing device from the docking hub. The method according to claim 1.

3. The embedded controller provides the docking hub with RoT access to a firmware memory of the computing device for installing the backup firmware. The method according to claim 2.

4. The first request message and the backup firmware are transmitted using a predetermined communication protocol managed by a power supply controller of each of the computing device and the docking hub, The embedded controller provides the RoT access to the power supply controller for installing the backup firmware. The method according to claim 3.

5. The step of detecting the error in the installed firmware of the computing device includes detecting damage to the installed firmware and detecting a failure of a backup restoration process. The method according to claim 2.

6. Further comprising the step of identifying type information of the installed firmware having the error based on the backup restoration process, The first request message and the second request message include the type information, The method according to claim 5. **Claim 7** The firmware memory of the computing device includes a serial peripheral interface flash region having a read-only memory portion corresponding to the installed firmware, The method according to claim 2. **Claim 8** Further comprising the step of providing, by the embedded controller, RoT access to the read-only memory portion corresponding to the installed firmware to the docking hub, The method according to claim 7. **Claim 9** A non-transitory computer-readable medium (CRM) storing computer-readable program code for operating a computing system including a computing device and a docking hub, the computer-readable program code causing the computing system to, upload, by the computing device, identification information of the computing device and firmware version information of the firmware installed on the computing device to a network, detect an error in the installed firmware, send a first request message including the identification information from an embedded controller of the computing device to the docking hub, send a second request message including the identification information from the docking hub to the network, acquire, by the docking hub, backup firmware corresponding to the firmware version information from the network, install the backup firmware on the computing device, Non-transitory computer-readable medium. **Claim 10** A computing device having an embedded controller, A docking hub configured to communicate with the computing device and a network, A computing system comprising: The computing system, The computing device uploads the identification information of the computing device and the firmware version information of the firmware installed on the computing device to the network, detects an error in the installed firmware, sends a first request message including the identification information from the embedded controller of the computing device to the docking hub, sends a second request message including the identification information from the docking hub to the network, the docking hub obtains backup firmware corresponding to the firmware version information from the network, is configured to install the backup firmware on the computing device, a computing system.

Citation Information

Patent Citations

  • Parameter configuration method and device, equipment and storage medium

    CN114327671A

  • Systems, methods, and apparatus to prepare a mobile device for provisioning

    EP2605564A1

  • Method and apparatus for configuring and controlling wireless docking

    JP2015506128A

  • Method and apparatus for remotely updating satellite devices

    JP2021511583A

  • Method and system for automatic firmware updates in a portable hand-held device

    US20120246629A1