Firmware maintenance method and device, computer equipment and storage medium
By connecting to the target server through the trusted password module interface, obtaining the status of the burner, determining the firmware type and path switch, and performing burning-type firmware maintenance, it solves the problem of firmware maintenance requiring networking in the existing technology, realizes firmware maintenance in an offline environment, expands the scope of application and improves efficiency.
Patent Information
- Application Number
- CN202410282481.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-12
- Publication Date
- 2025-09-12
AI Technical Summary
Existing firmware repair methods need to be performed in an Internet-connected environment, which has a narrow scope of application and cannot be performed in an offline environment.
The target server is connected via a trusted password module interface to obtain the status of the burner, and the type of firmware to be repaired and the corresponding access switch are determined according to the status of the first switch, and the status of the access switch is used to perform burn-type firmware repair.
It realizes firmware maintenance in an offline environment, expands the scope of application of firmware maintenance, and improves the efficiency and flexibility of firmware maintenance.
Smart Images

Figure CN120631382A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of server technology, and in particular to a firmware repair method, apparatus, computer equipment, storage medium, and computer program product. Background Art
[0002] With the continuous development of cloud computing, servers, as the foundation of cloud computing, are becoming increasingly important. However, during server use, problems such as the server failing to boot properly or displaying a black screen may occur due to faults in the BMC (Baseboard Management Controller) firmware or BIOS (Basic Input Output System) firmware on the server motherboard. This requires firmware repair methods to repair the server motherboard.
[0003] The current firmware repair method is to re-burn the BMC firmware or BIOS firmware on the motherboard through the BMC Web (Web stands for World Wide Web) to restore the firmware on the motherboard to normal.
[0004] However, the current firmware repair method repairs the firmware on the motherboard through the BMC Web, which needs to be performed in an Internet environment, resulting in a narrow scope of application of the current firmware repair method. Summary of the Invention
[0005] Based on this, it is necessary to provide a firmware repair method, apparatus, computer equipment, computer-readable storage medium and computer program product to address the above technical problems.
[0006] In a first aspect, the present application provides a firmware repair method, which is applied to a firmware repair tool and includes:
[0007] Connect to the target server through the trusted cryptographic module interface and obtain the status of the burner;
[0008] If the state of the burner is the startup state, determining the firmware to be repaired and the access switch corresponding to the firmware to be repaired in the target server according to the firmware type corresponding to the state of the first switch;
[0009] The firmware to be repaired is repaired according to the burning type corresponding to the state of the access switch.
[0010] The firmware repair method connects a firmware repair tool to a target server via a trusted cryptographic interface module, enabling the tool to directly access the target server. The firmware to be repaired is identified based on the firmware type corresponding to the state of the first switch. The firmware to be repaired is then directly repaired based on the programming type indicated by the state of the corresponding access switch. This enables firmware repair in disconnected environments and expands the scope of application of the firmware repair method.
[0011] In one embodiment, determining the firmware to be repaired and the access switch corresponding to the firmware to be repaired in the target server according to the firmware type corresponding to the state of the first switch includes:
[0012] If the firmware type corresponding to the state of the first switch is the first type, determining that the firmware to be repaired is a baseboard management controller (BMC) firmware, and determining a BMC access switch corresponding to the BMC firmware;
[0013] If the firmware type is the second type, it is determined that the firmware to be repaired is a basic input and output system BIOS firmware, and a BIOS access switch corresponding to the BIOS firmware is determined.
[0014] In this embodiment, by adjusting the state of the first switch, different types of firmware to be repaired and the corresponding path switches of the firmware to be repaired are determined, which facilitates the subsequent repair of different types of firmware to be repaired and expands the repair scope of the firmware repair method.
[0015] In one embodiment, the firmware to be repaired is a baseboard management controller (BMC) firmware, the access switch is a BMC access switch, and repairing the firmware to be repaired according to a burning type corresponding to a state of the access switch includes:
[0016] Obtaining a first programming type corresponding to the state of the BMC access switch;
[0017] If the first programming type is offline programming, programming the primary BMC firmware in the target server based on the backup BMC firmware in the target server;
[0018] If the first programming type is online programming, the main BMC firmware is programmed based on a baseboard management controller global wide area network and the standby BMC firmware.
[0019] In this embodiment, when the BMC firmware of the target server motherboard fails or the BMC Web is inaccessible, the BMC firmware of the target server motherboard is burned through an offline burning method, thereby realizing the repair of the BMC firmware in an offline state, filling the defects of the existing technology, and expanding the scope of application of the firmware repair method.
[0020] In one embodiment, the firmware to be repaired is a basic input / output system (BIOS) firmware, the access switch is a BIOS access switch, and repairing the firmware to be repaired according to a burning type corresponding to a state of the access switch includes:
[0021] Obtaining a second programming type corresponding to the state of the BIOS access switch;
[0022] If the second burning type is online burning, burning the BIOS firmware based on the baseboard management controller global wide area network and the external BIOS firmware;
[0023] If the second burning type is offline burning, the BIOS firmware is burned based on the external BIOS firmware.
[0024] In this embodiment, when the BIOS firmware of the target server motherboard fails, the BIOS firmware of the target server motherboard is burned by the external BIOS firmware, thereby realizing the maintenance of the BIOS firmware without disassembling the motherboard, making the BIOS firmware maintenance more convenient and improving the efficiency of the firmware maintenance method.
[0025] In one embodiment, a firmware repair tool is provided, the firmware repair tool comprising:
[0026] Trusted cryptographic module interface, used to connect to the target server;
[0027] A burner, configured to start a maintenance function of the firmware maintenance tool if the state of the burner is a start state;
[0028] a first switch, configured to determine, in the target server, the firmware to be repaired and a path switch corresponding to the firmware to be repaired, according to the firmware type corresponding to the state of the first switch;
[0029] The access switch is used to repair the firmware to be repaired according to the burning type corresponding to the state of the access switch.
[0030] In this embodiment, if the server motherboard's BMC firmware fails or the BMC Web is inaccessible, a firmware repair tool is connected to the target server via a trusted cryptographic interface module, enabling the firmware repair tool to directly access the target server. Based on the firmware type corresponding to the state of the first switch, the firmware to be repaired is identified. The firmware to be repaired is then directly repaired based on the programming type indicated by the state of the corresponding access switch. This enables firmware repair in disconnected environments and expands the applicability of the firmware repair method.
[0031] In one embodiment, the firmware repair tool is also used to connect to the target server, and when the DIP switch on the mainboard of the target server enters the external BIOS firmware startup mode, it is connected to the central processing unit of the target server through the external BIOS firmware to detect whether the BIOS firmware of the target server is damaged.
[0032] In this embodiment, the external BIOS firmware in the firmware repair tool is connected to the central processing unit of the target server, so that the cause of the server failure can be quickly located, shortening the failure analysis time.
[0033] In a second aspect, the present application further provides a firmware maintenance device, comprising:
[0034] The acquisition module is used to connect to the target server through the trusted password module interface and obtain the status of the burner;
[0035] a determination module configured to determine, in the target server, the firmware to be repaired and a path switch corresponding to the firmware to be repaired based on the firmware type corresponding to the state of the first switch if the state of the burner is the startup state;
[0036] A maintenance module is used to repair the firmware to be repaired according to the burning type corresponding to the state of the access switch.
[0037] In a third aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0038] Connect to the target server through the trusted cryptographic module interface and obtain the status of the burner;
[0039] If the state of the burner is the startup state, determining the firmware to be repaired and the access switch corresponding to the firmware to be repaired in the target server according to the firmware type corresponding to the state of the first switch;
[0040] The firmware to be repaired is repaired according to the burning type corresponding to the state of the access switch.
[0041] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:
[0042] Connect to the target server through the trusted cryptographic module interface and obtain the status of the burner;
[0043] If the state of the burner is the startup state, determining the firmware to be repaired and the access switch corresponding to the firmware to be repaired in the target server according to the firmware type corresponding to the state of the first switch;
[0044] The firmware to be repaired is repaired according to the burning type corresponding to the state of the access switch.
[0045] In a fifth aspect, the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the following steps:
[0046] Connect to the target server through the trusted cryptographic module interface and obtain the status of the burner;
[0047] If the state of the burner is the startup state, determining the firmware to be repaired and the access switch corresponding to the firmware to be repaired in the target server according to the firmware type corresponding to the state of the first switch;
[0048] The firmware to be repaired is repaired according to the burning type corresponding to the state of the access switch.
[0049] The above-mentioned firmware repair method, apparatus, computer equipment, storage medium and computer program product are connected to the target server through a trusted password module interface and obtain the status of the burner; if the status of the burner is the startup state, the firmware to be repaired and the path switch corresponding to the firmware to be repaired are determined in the target server according to the firmware type corresponding to the state of the first switch; the firmware to be repaired is repaired according to the burning type corresponding to the state of the path switch. With this method, the firmware repair tool and the target server are connected through the trusted password interface module, so that the firmware repair tool can directly process the target server. Based on the firmware type corresponding to the state of the first switch, the firmware to be repaired is clarified, and the firmware to be repaired is directly repaired through the burning type represented by the state of the path switch corresponding to the firmware to be repaired, thereby realizing firmware repair in an off-line environment and expanding the scope of application of the firmware repair method. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0051] Figure 1 A diagram illustrating an application environment of a firmware maintenance method according to an embodiment;
[0052] Figure 21 is a flow chart of a firmware maintenance method according to an embodiment;
[0053] Figure 3 A flowchart illustrating the steps of determining firmware to be repaired in one embodiment;
[0054] Figure 4 A flowchart of steps for repairing BMC firmware in one embodiment;
[0055] Figure 5 A flowchart of the steps for repairing BIOS firmware in one embodiment;
[0056] Figure 6 A flowchart of controlling the burning of the mainboard firmware on the target server in one embodiment;
[0057] Figure 7 This is a flow chart of the external BIOS firmware startup control of the target server motherboard in one embodiment;
[0058] Figure 8 is a structural block diagram of a firmware maintenance device in one embodiment;
[0059] Figure 9 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0060] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0061] The firmware maintenance method provided in the embodiment of the present application can be applied to Figure 1 In the firmware repair tool 110 shown, the firmware repair tool 110 is connected to the target server 120 via the trusted cryptographic interface module 111 on the firmware repair tool. Target server 120 is the server to be repaired. The firmware repair tool 110 includes a trusted cryptographic module interface 111, a burner 112, a first switch 113, a path switch 114, and external BIOS firmware 115. The path switch 114 includes a BMC path switch 114a and a BIOS path switch 114b.
[0062] Before describing the specific process of the firmware repair method, some abbreviations and technical terms used in this application are explained here. Specifically:
[0063] 1. Printed Circuit Board (PCB);
[0064] 2. Central Processing Unit (CPU);
[0065] 3. Basic Input Output System (BIOS);
[0066] 4. Baseboard Management Controller (BMC);
[0067] 5. Complex Programmable Logic Device (CPLD);
[0068] 6. Flash Memory (Flash for short);
[0069] 7. Data selector is also called multiplexer or multiplexer (Multiplexers, MUX);
[0070] 8. World Wide Web (Web) is also known as a website or web page.
[0071] 9. Serial Peripheral Interface (SPI);
[0072] 10. Firmware, which is the driver stored inside the device (Firmware);
[0073] 11. Trusted Cryptography Module (TCM);
[0074] 12. Bill of Materials (BOM);
[0075] 13. Rework means re-soldering the electronic components on the circuit board.
[0076] In an exemplary embodiment, Figure 2 As shown, a firmware maintenance method is provided, which is applied to Figure 1 The firmware maintenance tool 110 (hereinafter referred to as the firmware maintenance tool) in FIG. 1 is used as an example to illustrate the method, which includes the following steps 202 to 206. In which:
[0077] Step 202: Connect to the target server through the trusted cryptographic module interface and obtain the status of the burner.
[0078] In practice, the firmware repair tool includes a TCM interface and a burner. The firmware repair tool connects to the target server via the TCM interface. The firmware repair tool then obtains the status of the burner to determine whether the firmware repair tool has enabled the repair function.
[0079] In an optional embodiment, if the state of the burner is off, it indicates that the firmware repair tool has not enabled the repair function.
[0080] Step 204: If the state of the burner is the start state, determine the firmware to be repaired and the access switch corresponding to the firmware to be repaired in the target server according to the firmware type corresponding to the state of the first switch.
[0081] The first switch is used to determine the firmware to be repaired. The state of the first switch includes a first state and a second state, and each state corresponds to a firmware type.
[0082] In implementation, if the burner is in the enabled state, the firmware repair tool obtains the state of the first switch and determines the firmware type corresponding to the state of the first switch. The firmware repair tool then determines the firmware to be repaired and the corresponding access switch in the target server based on the firmware type.
[0083] In an exemplary embodiment, the firmware type corresponding to the first state is the first type. The firmware corresponding to the second state is the second type. The firmware repair tool obtains the state of the first switch. If the state of the first switch is the first state, the firmware repair tool determines that the firmware type corresponding to the first state is the first type. Then, the firmware repair tool determines the first type of firmware in the target server as the firmware to be repaired, and determines the first type of path switch corresponding to the first type. If the state of the first switch is the second state, the firmware repair tool determines that the firmware type corresponding to the second state is the second type. Then, the firmware repair tool determines the second type of firmware in the target server as the firmware to be repaired, and determines the second type of path switch corresponding to the second type of firmware.
[0084] Specifically, the first switch is a Tool MUX, or tool multiplexer. If the burner is in the startup state, the firmware repair tool obtains the Tool MUX state and determines the firmware type corresponding to the Tool MUX state. If the Tool MUX state is 1, the firmware repair tool determines that the firmware type corresponding to the first state is the first type. If the Tool MUX state is 0, the firmware repair tool determines that the firmware type corresponding to the first state is the second type.
[0085] Optionally, the default state of Tool MUX is 1, that is, the firmware type corresponding to the default state of Tool MUX is the first type of firmware. The target user can switch the state to 0 by operating the corresponding code of Tool MUX in the firmware maintenance tool.
[0086] Step 206: Repair the firmware to be repaired according to the burning type corresponding to the state of the access switch.
[0087] In implementation, the firmware repair tool obtains the state of the access switch and determines the burning type corresponding to the state of the access switch. Then, the firmware repair tool burns the firmware to be repaired according to the burning type to obtain the repaired firmware to be repaired.
[0088] In the above-described firmware repair method, a trusted cryptographic interface module connects the firmware repair tool to the target server, enabling the firmware repair tool to directly access the target server. The firmware to be repaired is identified based on the firmware type corresponding to the state of the first switch. The firmware to be repaired is then directly repaired based on the programming type indicated by the state of the corresponding access switch. This enables firmware repair in an offline environment and expands the scope of application of the firmware repair method.
[0089] In an exemplary embodiment, Figure 3 As shown, the specific processing process of step 204 includes steps 302 to 304. Among them:
[0090] Step 302: If the firmware type corresponding to the state of the first switch is the first type, determine that the firmware to be repaired is the baseboard management controller (BMC) firmware, and determine the BMC access switch corresponding to the BMC firmware.
[0091] The state of the first switch includes a first state and a second state. The firmware type corresponding to the first state is a first type. The first type is a BMC type.
[0092] In an implementation, if the state of the first switch is the first state, the firmware repair tool determines that the firmware type corresponding to the first state is the first type. Then, the firmware repair tool determines the BMC firmware in the target server. Simultaneously, the firmware repair tool determines the BMC access switch corresponding to the BMC firmware.
[0093] Step 304: If the firmware type is the second type, determine that the firmware to be repaired is a basic input and output system (BIOS) firmware, and determine a BIOS access switch corresponding to the BIOS firmware.
[0094] The firmware type corresponding to the second state is the second type, which is the BIOS type.
[0095] In an implementation, if the state of the first switch is the second state, the firmware repair tool determines that the firmware type corresponding to the second state is the second type. Then, the firmware repair tool determines the BIOS firmware in the target server. Simultaneously, the firmware repair tool determines the BIOS access switch corresponding to the BIOS firmware.
[0096] In this embodiment, by adjusting the state of the first switch, different types of firmware to be repaired and the corresponding path switches of the firmware to be repaired are determined, which facilitates the subsequent repair of different types of firmware to be repaired and expands the repair scope of the firmware repair method.
[0097] In an exemplary embodiment, the firmware to be repaired is a baseboard management controller BMC firmware, and the access switch is a BMC access switch, such as Figure 4 As shown, the specific processing process of step 206 includes steps 402 to 406. Among them:
[0098] Step 402: Obtain a first programming type corresponding to the state of the BMC access switch.
[0099] In an implementation, the firmware maintenance tool obtains the status of the BMC access switch. If the status of the BMC access switch is a first state, the firmware maintenance tool determines that the first programming type is offline programming. If the status of the BMC access switch is a second state, the firmware maintenance tool determines that the first programming type is online programming.
[0100] Specifically, the BMC access switch is MLB BMC MUX. If the state of MLB BMC MUX is 1, the firmware maintenance tool determines that the first burning type is offline burning. If the state of MLB BMC MUX is 0, the firmware maintenance tool determines that the first burning type is online burning.
[0101] Optionally, when the firmware repair tool is connected to the target server, the MLB BMC MUX state automatically switches to 1, indicating that the first programming type is offline programming. If the target server can access the BMC Web and programming is performed through the BMC Web, the MLB BMC MUX state switches to 0 to accommodate online programming.
[0102] Step 404: If the first programming type is offline programming, the main BMC firmware in the target server is programmed based on the standby BMC firmware in the target server.
[0103] In implementation, if the first burning type is offline burning, the burner in the firmware maintenance tool burns the main BMC firmware in the target server according to the standby BMC firmware in the target server.
[0104] Specifically, the main BMC firmware in the target server is BMC FLASH0, and the standby BMC firmware is BMC FLASH1. If the first burning type is offline burning, the burner in the firmware maintenance tool burns BMC FLASH0 according to BMC FLASH1.
[0105] Step 406 : If the first programming type is online programming, the main BMC firmware is programmed based on the baseboard management controller global wide area network and the backup BMC firmware.
[0106] In implementation, if the first burning type is online burning, the firmware repair tool burns the main BMC firmware according to the BMC Web (Baseboard Management Controller Global Wide Area Network) and the backup BMC firmware.
[0107] Specifically, the main BMC firmware in the target server is BMC FLASH0, and the backup BMC firmware is BMC FLASH1. If the first burning type is online burning, the firmware repair tool burns BMC FLASH0 according to BMC FLASH1 and BMC Web.
[0108] In this embodiment, when the BMC firmware of the target server motherboard fails or the BMC Web is inaccessible, the BMC firmware of the target server motherboard is burned through an offline burning method, thereby realizing the repair of the BMC firmware in an offline state, filling the defects of the existing technology, and expanding the scope of application of the firmware repair method.
[0109] In an exemplary embodiment, the firmware to be repaired is a basic input and output system BIOS firmware, and the access switch is a BIOS access switch, such as Figure 5 As shown, the specific processing process of step 206 includes steps 502 to 506. Among them:
[0110] Step 502: Obtain a second programming type corresponding to the state of the BIOS access switch.
[0111] In an implementation, the firmware maintenance tool obtains the state of the BIOS access switch. If the state of the BIOS access switch is the first state, the firmware maintenance tool determines that the second burning type is online burning. If the state of the BIOS access switch is the second state, the firmware maintenance tool determines that the second burning type is offline burning.
[0112] Specifically, the BIOS access switch is MLB BIOS MUX. If the state of MLB BIOS MUX is 0, the firmware maintenance tool determines that the second burning type is offline burning. If the state of MLB BIOS MUX is 1, the firmware maintenance tool determines that the second burning type is online burning.
[0113] Optionally, the default state of the MLB BIOS MUX is 0, that is, the first programming type corresponding to the default MLB BIOS MUX state is offline programming. If the target server can normally access the BMC Web and determines to program through the BMC Web, the MLB BIOS MUX state will automatically switch to 1 to accommodate online programming.
[0114] Step 504: If the second programming type is online programming, the BIOS firmware is programmed based on the baseboard management controller global wide area network and the external BIOS firmware.
[0115] In implementation, the firmware maintenance tool includes an external BIOS firmware. If the second burning type is online burning, the firmware maintenance tool burns the BIOS firmware in the target server through the BMC Web and the external BIOS firmware.
[0116] Specifically, the BIOS firmware in the target server is BIOS FLASH. If the second burning type is online burning, the firmware maintenance tool burns the BIOS FLASH through the BMC Web and the external BIOS firmware in the firmware maintenance tool.
[0117] Step 506: If the second programming type is offline programming, the BIOS firmware is programmed based on the external BIOS firmware.
[0118] In implementation, the firmware maintenance tool includes an external BIOS firmware. If the second burning type is offline burning, the burner in the firmware maintenance tool burns the BIOS firmware in the target server according to the external BIOS firmware.
[0119] Specifically, the BIOS firmware in the target server is BIOS FLASH. If the second burning type is online burning, if the second burning type is offline burning, the burner in the firmware maintenance tool burns the BIOS FLASH in the target server according to the external BIOS firmware.
[0120] In an exemplary embodiment, Figure 6 Burn the control flow chart into the motherboard firmware on the target server. Figure 6 As shown in the figure, the firmware repair tool includes external BIOS firmware, Tool MUX (the first switch), MLB BMC MUX (BMC access switch), and MLB BIOS MUX (BIOS access switch). The target server includes BMC FLASH0 (primary BMC firmware), BMCFLASH1 (backup BMC firmware), BIOS FLASH (BIOS firmware), and BMC. Figure 6The BMC in the example is the BMC Web. The target server and the firmware repair tool are connected through the trusted password module interface.
[0121] When the state of the burner is the startup state, the firmware maintenance tool obtains the state of Tool MUX and determines the firmware type corresponding to the state of Tool MUX. If the state of Tool MUX is 1, the firmware maintenance tool determines that the firmware type is the first type and determines BMC FLASH0 corresponding to the first type and MLB BMC MUX corresponding to BMC FLASH0. Then, the firmware maintenance tool obtains the state of MLB BMC MUX. If the state of MLB BMC MUX is the first state, the firmware maintenance tool determines that the first burning type is offline burning. Then, the burner burns BMC FLASH0 based on BMC FLASH1 in the target server. If the state of MLB BMC MUX is the second state, the firmware maintenance tool determines that the first burning type is online burning. Then, the firmware burning burns BMC FLASH0 based on BMC FLASH1 and BMC Web in the target server.
[0122] If the status of Tool MUX is 0, the firmware maintenance tool determines that the firmware type is the second type, and determines the BIOS FLASH corresponding to the second type and the MLB BIOS MUX corresponding to the BIOS FLASH. Then, the firmware maintenance tool obtains the status of MLB BIOSMUX. If the status of MLB BIOS MUX is the second state, the firmware maintenance tool determines that the second burning type is offline burning. Then, the burner burns the BIOS FLASH based on the external BIOS firmware. If the status of MLB BIOS MUX is the first state, the firmware maintenance tool determines that the second burning type is online burning. Then, the firmware burning burns the BIOS FLASH based on the external BIOS firmware and BMC Web.
[0123] Insert the firmware repair tool into the TCM port on the target server's mainboard. Connecting the TCM port to the server mainboard's Flash memory via the SPI bus allows firmware to be burned into the mainboard. A DIP switch on the tool allows you to select whether to burn BIOS or BMC firmware. When the tool is connected, the CPLD automatically switches the BMCMUX on the MLB to the tool's SPI path, allowing firmware to be burned into the BMC Flash memory.
[0124] In this embodiment, when the BIOS firmware of the target server motherboard fails, the BIOS firmware of the target server motherboard is burned by the external BIOS firmware, thereby realizing the maintenance of the BIOS firmware without disassembling the motherboard, making the BIOS firmware maintenance more convenient and improving the efficiency of the firmware maintenance method.
[0125] In an exemplary embodiment, a firmware repair tool 110 is provided, which includes: a trusted cryptographic module interface 111 for connecting to a target server; a burner 112 for starting the repair function of the firmware repair tool 110 if the state of the burner 112 is the start state; a first switch 113 for determining the firmware to be repaired and the path switch 114 corresponding to the firmware to be repaired in the target server according to the firmware type corresponding to the state of the first switch 113; the path switch 114 is used to repair the firmware to be repaired according to the burning type corresponding to the state of the path switch 114.
[0126] The access switch 114 includes a BMC access switch 114 a and a BIOS access switch 114 b .
[0127] In implementation, the firmware repair tool 110 includes a trusted cryptographic module interface 111, a burner 112, a first switch 113, a path switch 114, and an external BIOS firmware 115. The target user connects the firmware repair tool 110 to the TCM interface of the target server motherboard, and realizes the interconnection between the firmware repair tool 110 and the target server through the TCM interface. The burner 112 is used to start the repair function of the firmware repair tool 110 if the state of the burner 112 is the startup state, so as to realize the repair of the firmware to be repaired in the target server. The first switch 113 is used to determine the firmware to be repaired and the path switch 114 corresponding to the firmware to be repaired in the target server according to the firmware type corresponding to the state of the first switch 113. The path switch 114 is used to repair the firmware to be repaired according to the burning type corresponding to the state of the path switch 114.
[0128] Specifically, if the state of first switch 113 is the first state, firmware repair tool 110 determines that the firmware type corresponding to the state of first switch 113 is the first type, and determines the BMC firmware and BMC access switch 114a corresponding to the first type. Firmware repair tool 110 obtains the state of BMC access switch 114a and determines the first burning type based on the state of BMC access switch 114a. Then, firmware repair tool 110 burns the main BMC firmware in the target server according to the first burning type.
[0129] If the state of first switch 113 is the second state, firmware maintenance tool 110 determines that the firmware type corresponding to the state of first switch 113 is the second type, and determines the BIOS firmware and BIOS access switch 114b corresponding to the second type. Firmware maintenance tool 110 obtains the state of BIOS access switch 114b and determines the second burning type based on BIOS access switch 114b. Then, firmware maintenance tool 110 burns the BIOS firmware in the target server according to the second burning type and external BIOS firmware 115.
[0130] The technical solution for burning motherboard firmware is to insert the firmware repair tool into the TCM interface of the server motherboard, and connect the SPI bus in the TCM interface to the Flash of the server motherboard to burn the firmware on the motherboard. The dial switch on the firmware repair tool can be used to select whether to burn the BIOS firmware or the BMC firmware.
[0131] In this embodiment, if the server motherboard's BMC firmware fails or the BMC Web is inaccessible, a firmware repair tool is connected to the target server via a trusted cryptographic interface module, enabling the firmware repair tool to directly access the target server. Based on the firmware type corresponding to the state of the first switch, the firmware to be repaired is identified. The firmware to be repaired is then directly repaired based on the programming type indicated by the state of the corresponding access switch. This enables firmware repair in disconnected environments and expands the applicability of the firmware repair method.
[0132] In an exemplary embodiment, the firmware repair tool 110 is also used to connect to the target server. When the DIP switch on the target server's motherboard enters the external BIOS firmware startup mode, it is connected to the target server's central processing unit through the external BIOS firmware to detect whether the target server's BIOS firmware is damaged.
[0133] In practice, if the target server fails to boot, the target user inserts the firmware repair tool 100 into the TCM interface on the target server's mainboard. The firmware repair tool 110 connects to the target server via the TCM interface. The target user then toggles a DIP switch on the target server's mainboard, causing the target server to enter external BIOS firmware boot mode. While the target server is in external BIOS firmware boot mode, the external BIOS firmware connects to the target server's CPU. If the target server boots normally, the target user determines that the target server's BIOS firmware is corrupted.
[0134] In one exemplary embodiment, this application designs a hardware circuit for booting the server's external BIOS firmware and burning the motherboard firmware, based on the server motherboard's TCM (Trusted Cryptographic Module) interface. This firmware repair tool, a firmware repair tool, can quickly locate firmware faults and update motherboard firmware on-site without increasing bill of materials (BOM) costs.
[0135] The external BIOS firmware boot technology solution involves inserting a firmware repair tool into the TCM port on the target server's mainboard. This tool then connects to the CPU on the server's mainboard via the SPI bus. This allows users to more quickly locate the cause of server failures, shortening troubleshooting time.
[0136] Figure 7 This is the target server motherboard external BIOS firmware startup control flow chart. Figure 7 As shown, Figure 7 The bold arrows in the middle represent the default control flow. When certain conditions are met, the MUX device switches the SPI signal to the corresponding path. By default, the target server's CPU loads the target server's BIOS firmware via the green path, and the target server boots normally. If the target server's BIOS firmware is faulty, the target server's CPU cannot obtain the correct BIOS firmware from the BIOS flash on the motherboard, and the target server will not boot normally.
[0137] When encountering the above situation, the target user connects the firmware repair tool 110 to the TCM interface of the target server motherboard. Then, the target user uses the DIP switch on the target server motherboard to enter the external BIOS firmware boot mode, so that the CPU connects to the external BIOS firmware on the firmware repair tool 110, and the target server motherboard external BIOS firmware boot is completed.
[0138] The external BIOS firmware boot mode requires pre-designed logic within the CPLD of the target server's mainboard. The server mainboard's default TCM interface connects to the TCM trusted module. When the TCM interface is connected to an external module, the SPI signal direction is switched from TCM to CPU, requiring internal CPLD logic. When the CPLD detects the external BIOS firmware boot mode, it switches the SPI signal direction from CPU to external BIOS FLASH and switches faulty FLASHes on the mainboard to the BMC path. This prevents the faulty BIOS firmware from affecting the external BIOS firmware's boot process if it is not completely corrupted.
[0139] In the event that the BIOS firmware fails to load on the server system, the firmware repair tool can be connected to the motherboard. If the server system can boot normally, it can be quickly confirmed that the BIOS firmware on the motherboard is faulty.
[0140] In this embodiment, the external BIOS firmware in the firmware repair tool is connected to the central processing unit of the target server, so that the cause of the server failure can be quickly located, shortening the failure analysis time.
[0141] It should be understood that, although the steps in the flowcharts of the above embodiments are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the flowcharts of the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily to be performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0142] Based on the same inventive concept, embodiments of the present application also provide a firmware repair device for implementing the aforementioned firmware repair method. The solution provided by this device is similar to the solution described in the aforementioned method. Therefore, the specific limitations of one or more firmware repair device embodiments provided below can be found in the aforementioned limitations of the firmware repair method and will not be further elaborated here.
[0143] In an exemplary embodiment, Figure 8 As shown, a firmware maintenance device 800 is provided, comprising: an acquisition module 801, a determination module 802 and a maintenance module 803, wherein:
[0144] The acquisition module 801 is used to connect to the target server through the trusted password module interface and obtain the status of the burner.
[0145] The determination module 802 is configured to determine the firmware to be repaired and the access switch corresponding to the firmware to be repaired in the target server according to the firmware type corresponding to the state of the first switch if the state of the burner is the start state.
[0146] The maintenance module 803 is used to repair the firmware to be repaired according to the burning type corresponding to the state of the access switch.
[0147] In an exemplary embodiment, the determining module 802 includes:
[0148] The first determining submodule is configured to determine that the firmware to be repaired is a baseboard management controller (BMC) firmware if the firmware type corresponding to the state of the first switch is the first type, and to determine a BMC access switch corresponding to the BMC firmware.
[0149] The second determining submodule is configured to determine that the firmware to be repaired is a basic input and output system (BIOS) firmware if the firmware type is the second type, and to determine a BIOS access switch corresponding to the BIOS firmware.
[0150] In an exemplary embodiment, the firmware to be repaired is a baseboard management controller (BMC) firmware, the access switch is a BMC access switch, and the repair module 803 includes:
[0151] A first acquisition submodule is used to obtain a first programming type corresponding to the state of the BMC access switch;
[0152] The first burning submodule is configured to burn the main BMC firmware in the target server based on the standby BMC firmware in the target server if the first burning type is offline burning.
[0153] The second burning submodule is configured to burn the main BMC firmware based on the baseboard management controller global wide area network and the backup BMC firmware if the first burning type is online burning.
[0154] In an exemplary embodiment, the firmware to be repaired is a basic input and output system BIOS firmware, the access switch is a BIOS access switch, and the repair module 803 includes:
[0155] The second acquisition submodule is used to acquire a second programming type corresponding to the state of the BIOS access switch.
[0156] The third burning submodule is used to burn the BIOS firmware based on the baseboard management controller global wide area network and the external BIOS firmware if the second burning type is online burning.
[0157] The fourth burning submodule is configured to burn the BIOS firmware based on the external BIOS firmware if the second burning type is offline burning.
[0158] Each module in the firmware repair device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in hardware form, or can be stored in a computer device memory in software form, so that the processor can call and execute the corresponding operations of each module.
[0159] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. Figure 9As shown. The computer device includes a processor, memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are connected to the system bus via the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals via wired or wireless means, and the wireless means can be achieved via Wi-Fi, mobile cellular networks, NFC (near-field communication), or other technologies. When executed by the processor, the computer program implements a firmware repair method. The display unit of the computer device is used to produce a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device casing, or an external keyboard, touchpad or mouse.
[0160] Those skilled in the art will understand that Figure 9 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0161] In one embodiment, a computer device is further provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps in the above method embodiments when executing the computer program.
[0162] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0163] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0164] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned embodiments. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), data processing logic devices based on quantum computing, and the like.
[0165] The technical features of the above embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0166] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A firmware maintenance method, characterized in that: The method is applied to a firmware repair tool, and the method includes: Connect to the target server through the trusted cryptographic module interface and obtain the status of the burner; If the state of the burner is the startup state, determining the firmware to be repaired and the access switch corresponding to the firmware to be repaired in the target server according to the firmware type corresponding to the state of the first switch; The firmware to be repaired is repaired according to the burning type corresponding to the state of the access switch.
2. The method according to claim 1, characterized in that The step of determining, in the target server, the firmware to be repaired and the path switch corresponding to the firmware to be repaired based on the firmware type corresponding to the state of the first switch includes: If the firmware type corresponding to the state of the first switch is the first type, determining that the firmware to be repaired is a baseboard management controller (BMC) firmware, and determining a BMC access switch corresponding to the BMC firmware; If the firmware type is the second type, it is determined that the firmware to be repaired is a basic input and output system BIOS firmware, and a BIOS access switch corresponding to the BIOS firmware is determined.
3. The method according to claim 1, characterized in that The firmware to be repaired is a baseboard management controller (BMC) firmware, the access switch is a BMC access switch, and repairing the firmware to be repaired according to a burning type corresponding to a state of the access switch includes: Obtaining a first programming type corresponding to the state of the BMC access switch; If the first programming type is offline programming, programming the primary BMC firmware in the target server based on the backup BMC firmware in the target server; If the first programming type is online programming, the main BMC firmware is programmed based on a baseboard management controller global wide area network and the standby BMC firmware.
4. The method according to claim 1, wherein The firmware to be repaired is a basic input and output system BIOS firmware, the access switch is a BIOS access switch, and repairing the firmware to be repaired according to a burning type corresponding to a state of the access switch includes: Obtaining a second programming type corresponding to the state of the BIOS access switch; If the second burning type is online burning, burning the BIOS firmware based on the baseboard management controller global wide area network and the external BIOS firmware; If the second burning type is offline burning, the BIOS firmware is burned based on the external BIOS firmware.
5. A firmware maintenance tool, characterized in that: The firmware repair tool includes: Trusted cryptographic module interface, used to connect to the target server; A burner, configured to start a maintenance function of the firmware maintenance tool if the state of the burner is a start state; a first switch, configured to determine, in the target server, the firmware to be repaired and a path switch corresponding to the firmware to be repaired, according to the firmware type corresponding to the state of the first switch; The access switch is used to repair the firmware to be repaired according to the burning type corresponding to the state of the access switch.
6. The firmware repair tool according to claim 5, characterized in that: The firmware repair tool is also used to connect to the target server. When the DIP switch on the mainboard of the target server enters the external BIOS firmware startup mode, it is connected to the central processing unit of the target server through the external BIOS firmware to detect whether the BIOS firmware of the target server is damaged.
7. A firmware maintenance device, characterized in that: The device comprises: The acquisition module is used to connect to the target server through the trusted password module interface and obtain the status of the burner; a determination module configured to determine, in the target server, the firmware to be repaired and a path switch corresponding to the firmware to be repaired based on the firmware type corresponding to the state of the first switch if the state of the burner is the startup state; A maintenance module is used to repair the firmware to be repaired according to the burning type corresponding to the state of the access switch.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 4 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.
10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
System and method for updating domestic computer BIOS and CPLD / EC without disassembly
CN112328280A
Firmware burn-in method, device, control unit, system and storage medium
CN114924757A
Mainboard flash memory access method and device and firmware burning method and device
CN116466968A
Firmware burning method, mainboard, device, equipment, system and storage medium
CN117251183A