Firmware resilience through cloud

Through the computing device working in collaboration with the docking hub, and the network is used to obtain and install backup firmware, the loss of function caused by the computing device's firmware error is solved, and fast and reliable firmware recovery is achieved, reducing the cost and inconvenience of users and service providers.

CN120295833APending Publication Date: 2025-07-11LENOVO (SINGAPORE) PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411924816.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-01-10
Filing Date
2024-12-25
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

When the computing device firmware errors, the existing technology cannot effectively restore the firmware version, resulting in loss of device functions and needs to be sent to remote service centers, causing inconvenience and costs for users, manufacturers and service providers.

Method used

Through the collaboration between the computing device and the docking hub, the backup firmware is obtained and locally installed using the network, including identification information upload, request message transmission and installation of the backup firmware, and the docking hub is used as a trusted entity to coordinate the recovery process.

Benefits of technology

It realizes rapid and reliable recovery of firmware versions in case of computing device firmware errors, reducing time, cost and labor investment for users and service providers, and improving device availability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120295833A_ABST
    Figure CN120295833A_ABST
Patent Text Reader

Abstract

The invention relates to firmware resilience through a cloud. A method of operating a computing system including a computing device and a docking hub includes uploading, by the computing device to a network, identification information of the computing device and firmware version information of installed firmware on the computing device; detecting an error in the installed firmware; transmitting, from the embedded controller of the computing device to the docking hub, a first request message including the identification information; transmitting a second request message including the identification information from the docking hub to the network; retrieving, by the docking hub, backup firmware corresponding to the firmware version information from the network; and installing the backup firmware to the computing device.
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 (e.g., non-bootable, loss of hardware integration) before a valid firmware version can be restored. If the local restoration process of the computing device fails (e.g., corruption of the local backup firmware version) and / or the user of the computing device does not have the technical expertise to handle the error in the firmware, the computing device may be shipped to a remote service center with experts who can restore the system or provide a replacement. This remote service process can cause significant inconvenience and cost (e.g., time, cost, manpower) to the user, manufacturer, and service provider. Summary of the Invention

[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: uploading, by the computing device, identification information of the computing device and firmware version information of the installed firmware on the computing device to a network; detecting an error in the installed firmware; transmitting, from an embedded controller of the computing device, a first request message including the identification information to the docking hub; transmitting, from the docking hub, a second request message including the identification information to the network; obtaining, by the docking hub, a 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 the computing system to: upload, by the computing device, identification information of the computing device and firmware version information of the installed firmware on the computing device to a network; detect an error in the installed firmware; transmit, from an embedded controller of the computing device, a first request message including the identification information to the docking hub; transmit, from the docking hub, a second request message including the identification information to the network; obtain, by the docking hub, a 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 having an embedded controller; and a docking hub configured to communicate with the computing device and a network. The computing system is configured to: upload, by the computing device, identification information of the computing device and firmware version information of the installed firmware on the computing device to the network; detect an error in the installed firmware; transmit, from the embedded controller of the computing device to the docking hub, a first request message including the identification information; transmit, from the docking hub to the network, a second request message including the identification information; obtain, by the docking hub from the network, backup firmware corresponding to the firmware version information; and install the backup firmware to the computing device.

[0006] Other aspects of the invention will become apparent from the following description and appended claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1A A perspective view of a computing system in accordance with one or more embodiments of the present invention is shown.

[0008] Figure 1B A schematic diagram of various sub-components included in the Figure 1A computing device in accordance with one or more embodiments of the present invention is shown.

[0009] Figure 1C A schematic diagram of various sub-components included in the Figure 1A docking hub in accordance with one or more embodiments of the present invention is shown.

[0010] Figure 2 A schematic diagram of the firmware configuration in the Figure 1A computing device in accordance with one or more embodiments of the present invention is shown.

[0011] Figure 3 A schematic diagram of the firmware recovery configuration in the Figure 1A computing system in accordance with one or more embodiments of the present invention is shown.

[0012] Figure 4 A flowchart of a method in accordance with one or more embodiments of the present invention is shown.

[0013] Figure 5 A flowchart of a method in accordance with one or more embodiments of the present invention is shown. DETAILED DESCRIPTION

[0014] The detailed description of the present invention will now be made with reference to the accompanying drawings. For consistency, the same elements in the various figures are denoted by the same reference numerals.

[0015] 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.

[0016] Typically, a computing device includes multiple firmware settings (i.e., firmware or firmware modules) that provide control or management functions for a specific hardware configuration of the computing device. Since firmware includes basic functions for operating the computing device, the firmware is stored in non-volatile memory (e.g., read-only memory, flash memory region, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)), which is separate from other memory resources of the computing device (e.g., random access memory (RAM), storage devices). While data stored in other memory resources of the computing device can be continuously written, read, rewritten, and / or erased, a dedicated program may be required to modify or update the firmware version. Additionally, since an effective firmware version is required for the normal operation of the computing device, additional security authorization may be required to execute the dedicated program to change the firmware of the computing device.

[0017] Typically, embodiments of the present invention provide a method for locally restoring an effective firmware version to a computing device using a connected docking hub. With the introduction of computing systems including computing devices supported by a docking hub (e.g., PC / laptop docking station, port replicator, multi-port adapter / extender, peripheral device), the docking hub provides a local platform that can assist in restoring the computing device. Since the docking hub is independent of firmware errors of the computing device, the docking hub can be relied upon as a fully functional and trustworthy component of the computing system.

[0018] Figure 1A A perspective view of a computing system in accordance with one or more embodiments of the present invention is shown.

[0019] The computing system includes a computing device 10 (e.g., notebook personal computer (PC), tablet PC, desktop PC, convertible PC) and a docking hub 30. Further detailed discussion of the computing device 10 is provided below with reference to Figure 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), audiovisual ports (e.g., audio input / output ports, additional monitor support), power connections, etc.

[0020] The computing system also includes a communication link A (i.e., Link A) that connects the computing device 10 to the docking hub 30. In one or more embodiments, Link A may also include a power connection between the computing device 10 and the docking hub 30. For example, Link A can be a USB-C to USB-C cable (CC cable) that provides 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.

[0021] The computing system also 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 can be a direct wired network connection or an indirect wired network connection (e.g., an Ethernet connection) or a wireless network connection between the docking hub 30 and the network 40.

[0022] The computing system also 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 can be a direct wired network connection or an indirect wired network connection (e.g., an Ethernet connection) or a wireless network connection between the computing device 10 and the network 40 that does not include the docking hub 30.

[0023] Figure 1B A schematic diagram of various sub-components included in the Figure 1A computing device 10 according to one or more embodiments of the present invention is shown.

[0024] The computing device 10 includes a main board MB having a plurality of sub-components. The sub-components mounted on the main board 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 control circuit 18, a firmware memory 20 (e.g., a serial peripheral interface (SPI) flash region), an embedded controller 22, a chipset 24, a network interface 26 (e.g., a wired connection port or a 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 also include a fan and a power supply.

[0025] In one or more embodiments, the above sub-components of computing device 10 may be omitted, included in multiple quantities, combined into a single sub-component (e.g., a processor acting as a controller for one or more sub-components), and / or disposed in computing device 10 or other parts of the computing system. Additionally, the functions of each of the above-described sub-components may be split across multiple sub-components, may be implemented in hardware (e.g., circuitry, physical components), may be implemented in software (e.g., programming on a non-transitory computer-readable medium, machine code), or in any combination thereof. Further, it will be understood that other sub-components (e.g., device / memory, peripheral components, removable components, external power supplies) in addition to those listed above may be included internally or externally as sub-components of computing device 10 without departing from the scope of the present disclosure.

[0026] Figure 1C A schematic diagram showing various sub-components included in Figure 1A docking hub 30 according to one or more embodiments of the present invention.

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

[0028] In one or more embodiments, the above sub-components of docking hub 30 may be omitted, included in multiple quantities, combined into a single sub-component (e.g., a processor acting as a controller for one or more sub-components), and / or disposed in docking hub 30 or other parts of the computing system. Additionally, the functions of each of the above-described sub-components may be split across multiple sub-components, may be implemented in hardware (e.g., circuitry, physical components), may be implemented in software (e.g., programming on a non-transitory computer-readable medium, machine code), or in any combination thereof. Further, it will be understood that other sub-components (e.g., device / memory, peripheral components, removable components, external power supplies) in addition to those listed above may be included internally or externally as sub-components of computing device 10 without departing from the scope of the present disclosure.

[0029] Figure 2 illustrates a schematic diagram of the firmware configuration in a Figure 1A computing device 10 according to one or more embodiments of the present invention.

[0030] The computing device 10 includes a firmware memory 20, which may include a flash storage area (e.g., an SPI flash area) that stores various firmware modules of the computing device 10. The firmware memory 20 may include one or more of the following as the installed firmware on the computing device 10: 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); any suitable firmware used by the computing device 10. The firmware memory 20 may also include a local backup version of any of the above firmware modules.

[0031] The firmware memory 20 is reprogrammable (e.g., to provide updates to the installed firmware and to perform recovery of the installed firmware in case of errors or corruption). In one or more embodiments, the embedded controller 22 controls the modification of the firmware memory 20. For example, the platform controller hub (PCH) of the computing device 10 may coordinate functions (e.g., via the enhanced SPI (eSPI) protocol) between the main processor 12 (e.g., CPU) of the computing device 10 and the embedded controller 22 to perform any modification to the firmware memory 20.

[0032] Although Figure 2 embodiments of the present invention including a PCH chipset and eSPI are described, it will be understood that alternative configurations, chip sets, and protocols may be used to implement the present invention. For example, in Figure 1B different sub-components of the computing system 10 may be configured to manage the firmware memory 20, and different communication protocols may be utilized.

[0033] When an error is detected in the installed firmware of the computing device 10, the embedded controller 22 may attempt a recovery process using the corresponding backup firmware locally stored in the firmware memory 20. However, when an error in the installed firmware limits the functionality of the computing device 10 (e.g., becomes non-bootable, access to some or all of the firmware memory 20 is lost or corrupted), this local backup recovery process may become impossible. As will be explained in further detail below with reference to Figure 3 a docking hub 30 may be utilized as a trusted entity to coordinate the recovery of the firmware memory 20.

[0034] Figure 3 illustrates a firmware recovery configuration in a Figure 1A computing system according to one or more embodiments of the present invention.

[0035] Embodiments of the present invention obtain backup firmware from network 40 via link A between computing device 10 and docking hub 30 and install the backup firmware. As described in further detail below, even in the case where a firmware error results in a loss of functionality in computing device 10, the functional hardware of the connected docking hub 30 can be utilized to coordinate the acquisition of backup firmware from network 40 via such an interconnection.

[0036] Link A is managed by power circuit controller 18 in computing device 10 and power circuit controller 38 in docking hub 30. Microcontroller 32 of docking hub 30 is communicatively coupled to power control circuit 38. Similarly, embedded controller 22 of computing device 10 is communicatively coupled to power control circuit 18. Via these connections, Figure 1A the computing system can be configured to allow embedded controller 22 to access the functionality of docking hub 30.

[0037] For example, when network interface 16 of computing device 10 is inoperative due to an error in the installed firmware, network interface 36 of docking hub 30 can be instructed to send information to and receive information from network 40 on behalf of embedded controller 22. Alternatively or additionally, when memory 14 of computing device 10 is inoperative due to an error in the installed firmware, memory 34 of docking hub 30 can be used to store information (e.g., backup firmware) on behalf of embedded controller 22.

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

[0039] Figures 4 to 5 Flowcharts of example method 400 and example method 500 for a computing system to perform a firmware recovery process according to the description of one or more embodiments are shown. Figures 4 to 5 One or more of the processes in can be performed by various components of the computing system described with reference to Figures 1A to 3 The computing system. Methods 400 and 500 can be partially executed by one or more processors (e.g., processor 12, embedded controller 22, microcontroller 32).

[0040] Figure 4 A flowchart of method 400 according to one or more embodiments of the present invention is shown.

[0041] At 410, computing device 10 uploads the identification information of computing device 10 and the firmware version information of the installed firmware on computing device 10 to network 40. The firmware version information is associated with the identification information such that the identification information can be used to identify the corresponding firmware version information.

[0042] The identification information can include machine type model (MTM), serial number (SN) information, security keys such as embedded keys / logos / tokens, any suitable system / device identification information, or any combination of the above.

[0043] The firmware version information can include information elements about each of the firmware modules installed in firmware memory 20. In one or more embodiments, each information element in the firmware version information can include the type of the corresponding firmware module and the most recently known valid version of the corresponding firmware module.

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

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

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

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

[0048] As discussed above, embedded controller 22 can utilize power circuit controller 18 and link A to facilitate communication between computing device 10 and docking hub 30.

[0049] 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 across the CC lines forming Link A.

[0050] At 440, a second request message including 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 with an error is also included in the second request message.

[0051] As discussed above, the embedded controller 22 may utilize the power circuit controller 18, the CC lines, 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.

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

[0053] At 450, the docking hub 30 receives from the network 40 a backup firmware corresponding to the firmware version information. Based on the second request message, the network 40 associates the identification information with the previously uploaded firmware version information to identify and provide the backup firmware corresponding to the most recently known valid installed firmware. Alternatively, when the second request message includes the firmware version information of the installed firmware with an error, the backup firmware corresponding to the most recently known valid installed firmware can be directly identified.

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

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

[0056] In one or more embodiments, the method 400 is used in an auxiliary firmware recovery process (e.g., after the computing device 10 fails to recover the installed firmware based on the corresponding backup version stored in the firmware memory 20). In an alternative embodiment, the method 400 may also be used as the primary method for recovering the firmware memory 20.

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

[0058] Figure 5 A flowchart of method 500 in accordance with one or more embodiments of the present invention is shown.

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

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

[0061] At 530, the type information is included in a first request message and a 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 installed firmware with an error, the backup firmware corresponding to the most recently known valid installed firmware can be directly identified.

[0062] At Figure 4 and Figure 5 One or more of the various processes shown in the flowchart of Figure 4 and Figure 5 may be omitted, repeated, combined, and / or performed in an order different from the order shown in the present disclosure. Each process may be implemented by hardware (e.g., circuitry, physical components), software (e.g., programming on a non-transitory computer-readable medium, machine code), or any combination thereof. These processes may be performed actively or passively. For example, in accordance with one or more embodiments of the present invention, some steps may be performed using polling or may be interrupt-driven. Additional processes may be performed. Accordingly, the scope of the present invention should not be limited by the specific arrangements depicted in

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

[0064] For example, computing device 10 can be one or more mobile devices (e.g., laptop computers, smartphones, personal digital assistants, tablet computers, or other mobile devices), desktop computers, servers, blade servers within a server chassis, or any other type of one or more computing devices that include at least minimal processing capabilities, memory, and (one or more) input and output devices (e.g., display 14) to perform one or more embodiments of the present invention. For example, computing device 10 can 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 drives, solid state drives, optical disc drives such as compact disc (CD) drives or digital versatile disc (DVD) drives, flash drives), and many other elements and functions. The (one or more) computer processors can be integrated circuits for processing instructions. For example, the (one or more) computer processors can be one or more cores or microcores of a processor. Computing device 10 can also include one or more input devices such as camera devices, imagers, touchscreens, keyboards, mice, microphones, touchpads, electronic pens, or any other type of input device. Additionally, computing device 10 can include one or more output devices such as projectors, screens (e.g., OLED displays or other pixel addressable display devices), external storage devices, or any other output device. The one or more output devices can be the same as or different from the (one or more) input devices. Computing device 10 can be connected to network 40 via network interface 26 and / or via network interface 36 of docking hub 30. The (one or more) input and output devices can be connected directly or indirectly (e.g., via docking hub 30 or network 40) to the (one or more) computer processors, memory, and storage devices. There are many different types of computing devices 10, and the foregoing (one or more) input and output devices can take other forms.

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

[0066] Software instructions in the form of computer-readable program code for implementing embodiments of the present invention may be stored, in whole or in part, temporarily or permanently, on a non-transitory computer-readable medium such as a CD, DVD, storage device, floppy disk, magnetic tape, flash memory, physical memory, or any other computer-readable storage medium. Specifically, the software instructions may correspond to computer-readable program code that is configured to implement embodiments of the present invention when executed by one or more processors.

[0067] One or more of the embodiments of the present invention may have one or more of the following improvements to a computing device: reducing the inconvenience and costs (e.g., time, cost, labor) for users, manufacturers, and service providers of the computing device; increasing available computing resources (e.g., firmware memory, ROM) or reducing the minimum requirements of the computing device by allowing remote storage of backup firmware. These advantages further demonstrate the practical application by providing additional methods for firmware recovery of the computing device.

[0068] Although the present disclosure has been described with reference to a limited number of embodiments, those skilled in the art who benefit from the present disclosure will understand that various other embodiments can be designed without departing from the scope of the present invention. Therefore, the scope of the present invention should be limited only by the appended claims.

[0069] Reference numerals

[0070] 10 Computing device

[0071] 12 Processor

[0072] 14 Memory

[0073] 16 Graphics processing unit

[0074] 18 Power circuit controller

[0075] 20 Firmware memory

[0076] 22 Embedded controller

[0077] 24 Chipset

[0078] 26 Network interface

[0079] 28 Storage device

[0080] 30 Docking hub

[0081] 31 Port

[0082] 32 Processor

[0083] 34 Memory

[0084] 36 Network Interface

[0085] 38 Power Circuit Controller

[0086] 40 Network

[0087] A Communication Link A

[0088] B Communication Link B

[0089] C Communication Link C

[0090] PCH Platform Controller Hub

[0091] eSPI Enhanced Serial Peripheral Interface

Claims

1. A method of 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 installed firmware on the computing device to a network; detecting an error in the installed firmware; transmitting, from an embedded controller of the computing device to the docking hub, a first request message including the identification information; transmitting, from the docking hub to the network, a second request message including the identification information; obtaining, by the docking hub from the network, backup firmware corresponding to the firmware version information; and installing the backup firmware to the computing device.

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

3. The method according to claim 2, Among them, wherein the embedded controller provides the docking hub with a root of trust access to a firmware memory of the computing device for installing the backup firmware.

4. The method according to claim 3, Among them, transmitting the first request message and the backup firmware using a predetermined communication protocol managed by a power transfer controller in each of the computing device and the docking hub, wherein the embedded controller provides the root of trust access to the power transfer controller for installing the backup firmware.

5. The method according to claim 2, Among them, wherein detecting the error in the installed firmware of the computing device includes detecting corruption in the installed firmware and detecting a failure of a backup recovery process.

6. The method according to claim 5, further comprising: identifying, based on the backup recovery process, type information of the installed firmware having the error, wherein the first request message and the second request message include the type information.

7. The method according to claim 2, Among them, wherein a firmware memory of the computing device includes a serial peripheral interface flash region having a read-only memory portion corresponding to the installed firmware.

8. The method according to claim 7, further comprising: providing, by the embedded controller, the docking hub with a root of trust access to the read-only memory portion corresponding to the installed firmware.

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 installed firmware on the computing device to a network; detect an error in the installed firmware; transmit, from an embedded controller of the computing device to the docking hub, a first request message including the identification information; transmit, from the docking hub to the network, a second request message including the identification information; obtain, by the docking hub from the network, backup firmware corresponding to the firmware version information; and install the backup firmware to the computing device.

10. A computing system, comprising: A computing device having an embedded controller; And A docking hub configured to communicate with the computing device and a network, Wherein the computing system is configured to: Upload, by the computing device, identification information of the computing device and firmware version information of installed firmware on the computing device to the network; Detect an error in the installed firmware; Transmit a first request message including the identification information from the embedded controller of the computing device to the docking hub; Transmit a second request message including the identification information from the docking hub to the network; Obtain, by the docking hub, backup firmware corresponding to the firmware version information from the network; and Install the backup firmware to the computing device.