Communication abnormality diagnosis method and apparatus, and electronic device
By constructing simulated test scenarios to reproduce communication abnormalities between BMC and ME, the problem of difficulty in quickly locate the cause of the problem is solved, and the stable reproduction of the communication failure scenarios between BMC and ME and the rapid positioning of the cause of the problem is achieved, which improves the efficiency of problem solving.
Patent Information
- Application Number
- PCT/CN2024/095586
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-12
- Filing Date
- 2024-05-27
- Publication Date
- 2025-03-20
AI Technical Summary
When communication between BMC and ME is abnormal, it is difficult to quickly locate the cause of the problem, which makes it difficult to solve the problem in a timely manner when the server fails, affecting the stability of the data center business.
By constructing a simulated test scenario corresponding to the target failure scenario, simulate the communication link between the BMC and the ME, determine whether the same communication exception occurs, and locate the cause of the failure based on the information of the simulated test scenario.
It realizes stable reproduction of communication failure scenarios between BMC and ME, quickly locates the cause of the problem, improves the timeliness of problem solving, and ensures efficient and reliable operation of the server.
Smart Images

Figure CN2024095586_20032025_PF_FP_ABST
Abstract
Description
Communication abnormality diagnosis method, device and electronic equipment
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on September 12, 2023, with application number 202311174101.6 and application name “Diagnostic method for communication abnormalities, its device and electronic equipment”, all contents of which are incorporated by reference into this application. Technical Field
[0003] The embodiments of the present application relate to the field of computers, and in particular, to a method for diagnosing communication anomalies, a device thereof, and an electronic device. Background Art
[0004] In recent years, with the rapid development of cloud computing, big data, artificial intelligence and other fields, the construction of data centers with servers as the core infrastructure has increased rapidly, and the construction of large-scale and ultra-large-scale data center clusters is becoming a major trend in the development of the data center industry. To ensure that data centers can provide stable computing power support, server nodes, which serve as the carriers of computing power, must operate stably and reliably. In particular, when a server fails, the cause of the problem must be promptly located and quickly resolved to minimize the impact of the server failure on data center operations. Intel processor architecture (Intel Architecture, IA) servers are typically equipped with a baseboard management controller (BMC) management unit, which is responsible for monitoring and managing the entire server. At the same time, they are equipped with a management engine (ME) in the platform controller hub (PCH) to implement power and power consumption management functions of the server platform.
[0005] The BMC obtains monitoring information (such as temperature and power consumption) of key components like the CPU and memory by sending standard Intelligent Platform Management Interface (IPMI) commands to the ME. This information allows the BMC to take management actions based on established management policies, such as initiating fault logging, CPU frequency reduction, and shutdown. Any anomaly in the communication link between the BMC and ME will directly impact the BMC's ability to monitor key components like the server's CPU and memory, and may even lead to the serious consequence of widespread downtime of data center servers. However, communication anomalies between the BMC and ME are often sporadic, with a low probability of occurrence and high difficulty in reproducing.
[0006] Summary of the Invention
[0007] The embodiments of the present application provide a method for diagnosing communication anomalies, an apparatus thereof, and an electronic device thereof, to at least solve the problem in the related art that it is difficult to quickly locate the cause of the problem when communication anomalies occur between the BMC and the ME.
[0008] According to one embodiment of the present application, a method for diagnosing communication anomalies is provided, comprising: constructing a simulation test scenario corresponding to a target fault scenario based on preset communication conditions, wherein the target fault scenario is a scenario in which a communication anomaly occurs between a first baseboard management controller and a management engine, and the simulation test scenario includes at least a first simulation test scenario, and the first simulation test scenario is used to enable a communication link between the first baseboard management controller and the management engine that meets the preset communication conditions; judging, based on scenario information of the simulation test scenario, whether the first baseboard management controller and the management engine have the same communication anomaly in the simulation test scenario as in the target fault scenario; and locating the fault cause corresponding to the target fault scenario based on the scenario information of the simulation test scenario when the judgment result indicates that a communication anomaly occurs.
[0009] In an exemplary embodiment, a simulation test scenario corresponding to a target fault scenario is constructed based on preset communication conditions, including: obtaining a first preset communication condition, the first preset communication condition including: the first baseboard management controller sends a data packet to the management engine at a first preset frequency, the management engine sends a data packet to the first baseboard management controller at a second preset frequency, and the first preset frequency is greater than the second preset frequency; according to the first preset communication condition, a first simulation test scenario is constructed so that the first baseboard management controller and the management engine send data packets bidirectionally in the first simulation test scenario, the frequency at which the first baseboard management controller sends data packets is the first preset frequency, and the frequency at which the management engine sends data packets is the second preset frequency.
[0010] In an exemplary embodiment, a simulation test scenario corresponding to a target fault scenario is constructed according to preset communication conditions, including: obtaining a second preset communication condition, the second preset communication condition including: the first baseboard management controller sends a data packet to the management engine at a third preset frequency, the management engine sends a data packet to the first baseboard management controller at a fourth preset frequency, the third preset frequency and the fourth preset frequency are greater than a reference frequency, wherein the reference frequency is one of the following: the historical frequency of the first baseboard management controller sending data packets to the management engine in the target fault scenario, and the historical frequency of the management engine sending data packets to the first baseboard management controller in the target fault scenario; constructing a first simulation test scenario according to the second preset communication condition, so that the first baseboard management controller and the management engine send data packets bidirectionally in the first simulation test scenario, the frequency of the first baseboard management controller sending data packets is the third preset frequency, and the frequency of the management engine sending data packets is the fourth preset frequency.
[0011] In an exemplary embodiment, a first simulation test scenario is constructed based on a second preset communication condition so that the first baseboard management controller and the management send data packets bidirectionally in the first simulation test scenario, including: sending a first enable signal to the first baseboard management controller so that the first baseboard management controller sends data packets to the management engine at a third preset frequency in the first simulation test scenario according to the first enable signal; sending a modification instruction to the basic input and output system corresponding to the management engine so that the modified basic input and output system enables the management engine to send data packets to the first baseboard management controller at a fourth preset frequency in the target fault scenario.
[0012] In an exemplary embodiment, a simulation test scenario corresponding to a target fault scenario is constructed according to preset communication conditions, including: obtaining a third preset communication condition, the third preset communication condition including: the first baseboard management controller communicates with the management engine via the I2C bus, and the I2C bus receives an interference signal sent by the interference module; according to the third preset communication condition, a first simulation test scenario is constructed so that when the first baseboard management controller and the management engine send data packets bidirectionally via the I2C bus, the I2C bus receives the interference signal in the first simulation test scenario.
[0013] In an exemplary embodiment, the interference module is a general purpose input / output module of the first baseboard management controller, and the interference signal is a fixed level output by the general purpose input / output module.
[0014] In an exemplary embodiment, a simulation test scenario corresponding to a target fault scenario is constructed according to a third preset communication condition, so that when the first baseboard management controller and the management engine send data packets bidirectionally through the I2C bus, the I2C bus receives an interference signal in the first simulation test scenario, including: establishing a communication link between the first baseboard management controller and the management engine through the I2C bus; looping through the following steps: setting the attribute of the general input and output module to output, and sending a second enable signal to the general input and output module, wherein, when the general input and output module receives the second enable signal, the general input and output module sequentially performs the following steps: outputting a fixed level, and sleeping for a preset time; setting the attribute of the general input and output module to input.
[0015] In an exemplary embodiment, a simulation test scenario corresponding to a target fault scenario is constructed according to preset communication conditions, so that the first baseboard management controller and the management engine establish a communication link that meets the preset communication conditions in the simulation test scenario, including: obtaining a fourth preset communication condition, the fourth preset communication condition including: the first baseboard management controller and the management engine communicate through an I2C bus, and the I2C bus is grounded or connected to a high-level power supply; according to the fourth preset communication condition, a first simulation test scenario is constructed, so that the first baseboard management controller and the management engine send data packets bidirectionally through the I2C bus in the first simulation test scenario.
[0016] In an exemplary embodiment, a simulation test scenario corresponding to a target fault scenario is constructed according to preset communication conditions, including: obtaining a fifth preset communication condition, the fifth preset communication condition including: a signal generating module cyclically sending an intelligent platform management bus command to the first baseboard management controller in a second simulation test scenario, wherein the signal generating module is configured to simulate the function of the management engine sending and receiving data packets; according to the fifth preset communication condition, a second simulation test scenario corresponding to the target fault scenario is constructed, wherein the second simulation test scenario is used to enable a communication link between the first baseboard management controller and the signal generating module that meets the fifth preset communication condition.
[0017] In an exemplary embodiment, the first baseboard management controller has a first communication interface, the signal generation module has a second communication interface, and the first communication interface and the second communication interface are communicatively connected via an I2C bus.
[0018] In an exemplary embodiment, according to the fifth preset communication condition, a second simulation test scenario corresponding to the target fault scenario is constructed, including: establishing a communication link between the first baseboard management controller and the signal generating module; sending a third enable signal to the signal generating module so that the signal generating module cyclically sends an intelligent platform management bus command to the first baseboard management controller in the second simulation test scenario.
[0019] In an exemplary embodiment, the diagnostic method further includes: a construction step, in which, when the judgment result indicates that no communication abnormality has occurred, an updated simulation test scenario corresponding to the target fault scenario is constructed based on the updated preset communication conditions, wherein the updated preset communication conditions are preset communication conditions different from the preset communication conditions corresponding to the previous simulation test scenario; a judgment step, in which it is judged whether a communication abnormality has occurred between the first baseboard management controller and the management engine in the updated simulation test scenario; and when the judgment result indicates that no communication abnormality has occurred, the construction step and the judgment step are executed in a loop until the judgment result indicates that a communication abnormality has occurred and the steps are stopped.
[0020] In an exemplary embodiment, the diagnostic method further includes: when the construction step and the judgment step are executed for the nth time and the judgment result still indicates that no communication abnormality has occurred, modifying the test conditions corresponding to the current simulation test scenario to obtain updated test conditions, wherein n is the total number of preset communication conditions, the current simulation test scenario is the simulation test scenario constructed in the construction step executed for the nth time, and the test conditions include external conditions and / or internal conditions, the external conditions include at least one of the following: the power supply voltage of the mainboard on which the first baseboard management controller is provided, and the position of the test point of the test equipment in the communication link; the internal conditions include at least: the log information of the first baseboard management controller; according to the updated test conditions, the construction step and the judgment step are executed again in a loop until the judgment result indicates that a communication abnormality has occurred and stops.
[0021] In an exemplary embodiment, the testing equipment includes at least one of: an oscilloscope, and a logic analyzer.
[0022] In an exemplary embodiment, the scenario information includes test conditions, the test conditions include external conditions, and based on the scenario information of the simulated test scenario, it is determined whether the first baseboard management controller and the management engine have the same communication anomaly as the target fault scenario in the simulated test scenario, including: based on the test results of the test equipment, determining whether the first baseboard management controller and the management engine have communication anomaly in the simulated test scenario.
[0023] In an exemplary embodiment, the scenario information includes test conditions, and the test conditions include internal conditions. Based on the scenario information of the simulated test scenario, it is determined whether the first baseboard management controller and the management engine have the same communication anomaly as in the target fault scenario in the simulated test scenario, including: determining whether an abnormal alarm record corresponding to the target fault scenario appears in the log information of the first baseboard management controller, wherein, if the judgment result indicates the occurrence of an abnormal alarm record, it is determined that a communication anomaly occurs between the first baseboard management controller and the management engine in the simulated test scenario.
[0024] In an exemplary embodiment, the diagnostic method further includes: before constructing a simulated test scenario corresponding to the target fault scenario according to preset communication conditions, initializing the test conditions corresponding to the simulated test scenario, wherein the test conditions include external conditions and internal conditions, the external conditions including at least one of the following: the power supply voltage of the mainboard on which the first baseboard management controller is provided, and the position of the test point of the test equipment in the communication link; the internal conditions including at least: the log information of the first baseboard management controller.
[0025] According to another embodiment of the present application, a diagnostic device for communication anomalies is provided, including: a first construction module, configured to construct a simulation test scenario corresponding to a target fault scenario based on preset communication conditions, wherein the target fault scenario is a scenario in which a communication anomaly occurs between the first baseboard management controller and the management engine, and the simulation test scenario includes at least a first simulation test scenario, and the first simulation test scenario is used to enable a communication link between the first baseboard management controller and the management engine that meets the preset communication conditions; a first judgment module, configured to judge whether the first baseboard management controller and the management engine have the same communication anomaly as in the target fault scenario in the simulation test scenario based on scenario information of the simulation test scenario; and a positioning module, configured to locate the fault cause corresponding to the target fault scenario based on the scenario information of the simulation test scenario when the judgment result indicates that a communication anomaly occurs.
[0026] According to another embodiment of the present application, a non-volatile readable storage medium is provided, in which a computer program is stored. The computer program is configured to execute the steps of any of the above method embodiments when running.
[0027] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0028] In the above method of the present application, the scenario in which a communication anomaly occurs between the first baseboard management controller and the management engine is taken as the target fault scenario, and a corresponding simulation test scenario is constructed according to the preset communication conditions, so that there is a communication link between the first baseboard management controller and the management engine that meets the preset communication conditions. Then, according to the scenario information of the simulation test scenario, it is determined whether the first baseboard management controller and the management engine have the same communication anomaly as the target fault scenario in the simulation test scenario. In the case of a communication anomaly in the communication fault scenario, the communication fault scenario can be reproduced, and after successful reproduction, the cause of the problem can be analyzed based on the reproduction scenario at this time, and the cause of the problem can be finally located, the analysis conclusion can be output, and the diagnosis process of the communication fault between the BMC and the ME can be completed. Therefore, the problem in the related art that it is difficult to quickly locate the cause of the problem when the communication between the BMC and the ME is abnormal can be solved, and the communication failure scenario between the BMC and the ME can be stably reproduced, and the cause of the problem can be quickly located, the efficiency of problem solving can be improved, and the efficient and reliable operation of the server can be finally guaranteed. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] FIG1 is a schematic diagram of a hardware environment of a method for diagnosing communication anomalies according to an embodiment of the present application;
[0030] FIG2 is a flow chart of a method for diagnosing communication anomalies according to an embodiment of the present application;
[0031] FIG3 is a schematic diagram of the communication interaction principle between the BMC and the ME in a method for diagnosing communication anomalies according to an embodiment of the present application;
[0032] FIG4 is a schematic diagram of a test model using a one-way pressure application method from a BMC to an ME in a method for diagnosing communication anomalies according to an embodiment of the present application;
[0033] FIG5 is a schematic diagram of a test model using a bidirectional pressure method between a BMC and an ME in a method for diagnosing communication anomalies according to an embodiment of the present application;
[0034] FIG6 is a schematic diagram of a test model using an active interference method in a method for diagnosing communication anomalies according to an embodiment of the present application;
[0035] 7 is a schematic diagram of a test model using a black box substitution method in a method for diagnosing communication anomalies according to an embodiment of the present application;
[0036] FIG8 is a schematic diagram of an iterative diagnostic process for locating a communication fault between a BMC and an ME in a method for diagnosing a communication anomaly according to an embodiment of the present application;
[0037] FIG9 is a structural block diagram of a device for diagnosing communication anomalies according to an embodiment of the present application. DETAILED DESCRIPTION
[0038] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0039] It should be noted that the terms "first", "second", etc. in the description and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0040] The method embodiments provided in the embodiments of the present application can be executed in a server, a computer terminal, an equipment terminal or a similar computing device. Taking operation on a server as an example, FIG1 is a hardware environment diagram of a startup control method of an embedded system according to an embodiment of the present application. As shown in FIG1 , the server may include one or more (only one is shown in FIG1 ) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 configured to store data. In an exemplary embodiment, the above-mentioned server may also include a transmission device 106 and an input / output device 108 configured to have a communication function. It will be understood by those skilled in the art that the structure shown in FIG1 is for illustration only and does not limit the structure of the above-mentioned server. For example, the server may also include more or fewer components than those shown in FIG1 , or have different configurations with equivalent functions as shown in FIG1 or more functions than those shown in FIG1 .
[0041] The memory 104 can be configured to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the startup control method of the embedded system in the non-applicable embodiment. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above-mentioned method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories may be connected to a server via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0042] The transmission device 106 is configured to receive or transmit data via a network. Optional examples of the aforementioned network may include a wireless network provided by the server's communications provider. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 can be a radio frequency (RF) module, which is configured to communicate with the Internet wirelessly.
[0043] In this embodiment, a method for diagnosing communication anomalies is provided, which is applied to the above-mentioned server. FIG2 is a flow chart of a method for diagnosing communication anomalies according to an embodiment of the present application. As shown in FIG2 , the flow chart includes the following steps:
[0044] Step S202: constructing a simulation test scenario corresponding to a target failure scenario based on preset communication conditions, wherein the target failure scenario is a scenario in which a communication anomaly occurs between the first baseboard management controller and the management engine, and the simulation test scenario includes at least a first simulation test scenario, which is used to ensure that a communication link between the first baseboard management controller and the management engine meets the preset communication conditions.
[0045] Step S204: determining, based on the scenario information of the simulated test scenario, whether the first baseboard management controller and the management engine have the same communication anomaly as that in the target fault scenario in the simulated test scenario;
[0046] Step S206 , when the judgment result indicates that the above-mentioned communication abnormality occurs, the fault cause corresponding to the target fault scenario is located according to the scenario information of the simulated test scenario.
[0047] Communication anomalies between the baseboard management controller (BMC) management unit and the management engine (ME) are mostly sporadic problems with a low probability of occurrence and great difficulty in reproduction. To address the above problems, related technologies usually monitor the waveforms of the communication links of multiple servers at the same time (such as actually mounting an oscilloscope probe on each server). This method increases the probability of problem reproduction by increasing server data, and then further analyzes the cause of the problem after the problem occurs. However, the above method requires a lot of manpower and material resources, and because it only passively waits for the problem to occur spontaneously, it may take a long time to reproduce the problem. Even if the problem is reproduced, there is no guarantee that the problem reproduction state will remain. Generally, the time left for problem analysis and location is quite limited, which ultimately leads to poor timeliness in problem resolution.
[0048] Based on this, in the embodiment of the present application, through the above steps, the scenario in which the communication anomaly occurs between the first baseboard management controller and the management engine is used as the target fault scenario, and according to the preset communication conditions, a corresponding simulation test scenario is constructed, so that there is a communication link between the first baseboard management controller and the management engine that meets the preset communication conditions, and then according to the scenario information of the simulation test scenario, it is judged whether the first baseboard management controller and the management engine have the same communication anomaly as the target fault scenario in the simulation test scenario. When the above communication anomaly occurs in the communication fault scenario, the communication fault scenario can be reproduced, and after successful reproduction, the cause of the problem can be analyzed based on the reproduction scenario at this time, and the cause of the problem can be finally located, the analysis conclusion can be output, and the diagnosis process of the communication fault between the BMC and the ME can be completed. Therefore, the problem in the related technology that it is difficult to quickly locate the cause of the problem when the communication between the BMC and the ME is abnormal can be solved, and the communication fault scenario between the BMC and the ME can be stably reproduced, and the cause of the problem can be quickly located, the efficiency of problem solving can be improved, and the efficient and reliable operation of the server can be finally guaranteed.
[0049] In some embodiments, there are many ways to determine whether there is a communication abnormality between the BMC and the ME. For example, it can be determined whether there is an ME alarm information in the BMC log of the server. When the ME alarm information appears, it is determined that there is a communication abnormality between the BMC and the ME. Taking the above judgment method as an example, as shown in FIG3, the communication interaction principle between the BMC and the ME in the embodiment of the present application is as follows:
[0050] The highest level (Critical) alarm is generated when the server is at rest or in use. The alarm content is "ME_FW_Status Transition to Critical from less severe-Assert". The BMC and ME interact through IPMB commands, and the physical layer is the I2C bus. During normal communication, the BMC periodically sends a self-test request command to the ME, namely the Get Self Test Results command (standard IPMI command, NetFn = 0x06, Cmd = 0x04), to obtain the ME's self-test results. After receiving the request command from the BMC, the ME sends a self-test response command to the BMC. The BMC determines whether the ME is working properly based on the response result of the ME. If the result is abnormal, the BMC records the alarm log and displays it on the web interface. It should be noted that during the communication between BMC and ME, the I2C bus operates in dual-master mode, that is, both BMC and ME can act as hosts (Master) to actively send requests to each other. For example, ME will also actively initiate a platform power consumption acquisition command to BMC, that is, OEM Get Reading (NetFn = 0x30, Cmd = 0xE2) command, to obtain platform power consumption information and process it. After receiving the acquisition command from ME, BMC sends a platform power consumption response command to BMC. As shown in Figure 3, when BMC is the host, ME is the slave, and when ME is the host, BMC is the slave.
[0051] In the above step S202, a simulation test scenario corresponding to the target fault scenario is constructed according to the preset communication conditions, wherein the target fault scenario is a scenario in which a communication abnormality occurs between the first baseboard management controller and the management engine, and the simulation test scenario includes at least a first simulation test scenario, which is used to enable a communication link between the first baseboard management controller and the management engine that meets the preset communication conditions.
[0052] The above steps can be performed by setting preset communication conditions to actively construct scenarios of communication abnormalities between the first baseboard management controller and the management engine from different angles. Each preset communication condition can be controlled by variables, so that the method for reproducing the communication failure scenario is flexible, controllable and efficient, thereby significantly improving the probability of reproducing the abnormal communication link between the baseboard management controller (BMC) and the management engine (ME), and greatly improving the efficiency of solving communication failure problems between BMC and ME.
[0053] In some optional embodiments, a simulation test scenario corresponding to a target fault scenario is constructed according to preset communication conditions, including: obtaining a first preset communication condition, the first preset communication condition including: the first baseboard management controller sends data packets to the management engine at a first preset frequency, and the management engine sends data packets to the first baseboard management controller at a second preset frequency, and the first preset frequency is greater than the second preset frequency; according to the first preset communication condition, a first simulation test scenario is constructed so that the first baseboard management controller and the management engine send data packets bidirectionally in the first simulation test scenario, the frequency at which the first baseboard management controller sends data packets is the first preset frequency, and the frequency at which the management engine sends data packets is the second preset frequency.
[0054] In the above optional implementation, during the process of bidirectionally sending data packets between the first baseboard management controller and the management engine, by making the first baseboard management controller's packet sending frequency greater than that of the management engine, unidirectional pressure from the BMC to the ME can be achieved.
[0055] In some embodiments, the test model of the above-mentioned unidirectional pressure method can be as shown in Figure 4. When the first baseboard management controller and the management engine communicate through the I2C bus, the above-mentioned unidirectional pressure method can increase the bus busyness by increasing the data throughput of one side of the I2C bus, thereby increasing the probability of recurrence of the problem. When the BMC is the host, the ME is the slave, and when the ME is the host, the BMC is the slave. For example, the packet sending frequency of the BMC to the ME is changed from 10us (microseconds) to 1us to construct an I2C bus conflict, reproducing the scenario where the BMC I2C controller abnormality causes the packet sending failure.
[0056] In some optional embodiments, a simulation test scenario corresponding to the target fault scenario is constructed according to preset communication conditions, including: obtaining a second preset communication condition, the second preset communication condition including: the first baseboard management controller sends data packets to the management engine at a third preset frequency, the management engine sends data packets to the first baseboard management controller at a fourth preset frequency, the third preset frequency and the fourth preset frequency are greater than the reference frequency, wherein the reference frequency is one of the following: the historical frequency of the first baseboard management controller sending data packets to the management engine in the target fault scenario, and the historical frequency of the management engine sending data packets to the first baseboard management controller in the target fault scenario; constructing a first simulation test scenario according to the second preset communication condition, so that the first baseboard management controller and the management engine send data packets bidirectionally in the first simulation test scenario, the frequency of the first baseboard management controller sending data packets is the third preset frequency, and the frequency of the management engine sending data packets is the fourth preset frequency.
[0057] In the above optional implementation, while the first baseboard management controller and the management engine are transmitting data packets bidirectionally, the packet transmission frequencies of the first baseboard management controller and the management engine are increased simultaneously, thereby achieving bidirectional pressure from the BMC to the ME.
[0058] In some embodiments, the test model of the above-mentioned bidirectional pressure method can be as shown in Figure 5. When communication is achieved between the first baseboard management controller and the management engine through the I2C bus, the bidirectional pressure method can increase the bus busyness by increasing the data throughput of both sides of the I2C bus, thereby increasing the probability of problem reproduction. When the BMC is the host, the ME is the slave, and when the ME is the host, the BMC is the slave.
[0059] In the above optional embodiment, according to the second preset communication condition, a first simulation test scenario is constructed so that the first baseboard management controller and the management engine send data packets bidirectionally in the first simulation test scenario, which may include: sending a first enable signal to the first baseboard management controller so that the first baseboard management controller sends data packets to the management engine at a third preset frequency in the first simulation test scenario according to the first enable signal; sending a modification instruction to the basic input and output system corresponding to the management engine so that the modified basic input and output system enables the management engine to send data packets to the first baseboard management controller at a fourth preset frequency in the target fault scenario.
[0060] In some embodiments, to achieve bidirectional pressure between the first baseboard management controller and the management engine, the above implementation modifies the configuration file in the basic input and output system (BIOS) to enable the ME's HeartBeat function, thereby increasing the ME's packet transmission frequency to the BMC. Because this bidirectional pressure method can simultaneously increase the amount of data in both directions of the I2C bus, the probability of recurrence of the problem is greater than that of a unidirectional pressure method.
[0061] In some optional embodiments, a simulation test scenario corresponding to a target fault scenario is constructed according to preset communication conditions, including: obtaining a third preset communication condition, the third preset communication condition including: the first baseboard management controller communicates with the management engine via the I2C bus, and the I2C bus receives an interference signal sent by the interference module; according to the third preset communication condition, a first simulation test scenario is constructed so that when the first baseboard management controller and the management engine send data packets bidirectionally via the I2C bus, the I2C bus receives the interference signal in the first simulation test scenario.
[0062] In the above optional implementation, when the first baseboard management controller and the management engine communicate via the I2C bus, an interference signal is introduced into the I2C bus to increase the probability of I2C bus errors, thereby improving the probability of problem recurrence.
[0063] In the above optional embodiment, the interference module can be a general-purpose input / output module of the first baseboard management controller, and the interference signal can be a fixed level output by the general-purpose input / output module. In this case, according to the third preset communication condition, a simulation test scenario corresponding to the target fault scenario is constructed so that when the first baseboard management controller and the management engine send data packets bidirectionally via the I2C bus, the I2C bus receives the interference signal in the first simulation test scenario, including: establishing a communication link between the first baseboard management controller and the management engine via the I2C bus; looping through the following steps: setting the attribute of the general-purpose input / output module to output and sending a second enable signal to the general-purpose input / output module, wherein, when the general-purpose input / output module receives the second enable signal, the general-purpose input / output module sequentially performs the following steps: outputting a fixed level and sleeping for a preset time; and setting the attribute of the general-purpose input / output module to input.
[0064] In some embodiments, the above-mentioned method of introducing interference signals into the I2C bus through the interference module is an active interference method, and the test model of the above-mentioned active interference method can be shown in FIG6 , which can be to send a specific signal through the general purpose input / output module (GPIO) to introduce the interference signal. In the embodiment of the present application, the GPIO of the BMC is connected to the I2C bus for communication between the BMC and the ME, and an I2C bus conflict is created by controlling the GPIO output to have a fixed level (such as a low level). Exemplarily, the process of controlling the GPIO is implemented using a custom script, and the control logic is to cyclically execute the following actions: set a random sleep time; sleep; set the GPIO attribute to output; set the GPIO output to a low level; sleep for 1ms; set the GPIO attribute to input.
[0065] In some optional embodiments, according to preset communication conditions, a simulation test scenario corresponding to the target fault scenario is constructed so that the first baseboard management controller and the management engine establish a communication link that meets the preset communication conditions in the simulation test scenario, including: obtaining a fourth preset communication condition, the fourth preset communication condition including: the first baseboard management controller and the management engine communicate through the I2C bus, and the I2C bus is grounded or connected to a high-level power supply; according to the fourth preset communication condition, a first simulation test scenario is constructed so that the first baseboard management controller and the management engine send data packets bidirectionally through the I2C bus in the first simulation test scenario.
[0066] In the above optional embodiment, when communication is achieved between the first baseboard management controller and the management engine via the I2C bus, the bus signal is grounded (or connected to a high-level power supply) to increase the probability of I2C bus errors, thereby improving the probability of problem recurrence.
[0067] In some optional embodiments, according to preset communication conditions, a simulation test scenario corresponding to the target fault scenario is constructed, including: obtaining a fifth preset communication condition, the fifth preset communication condition including: the signal generating module cyclically sends an intelligent platform management bus command to the first baseboard management controller in a second simulation test scenario, wherein the above-mentioned signal generating module is configured to simulate the function of the management engine sending and receiving data packets; according to the fifth preset communication condition, a second simulation test scenario corresponding to the target fault scenario is constructed, wherein the second simulation test scenario is used to enable a communication link between the first baseboard management controller and the signal generating module that meets the fifth preset communication condition.
[0068] In the aforementioned optional implementation, a black-box replacement method is used to replace the first baseboard management controller with a second baseboard management controller. Since BMC developers cannot modify the ME code, the ME implementation process is completely uncontrollable. Therefore, the ME is replaced by a signal generation module that can simulate the ME's input and output functions, enabling flexible control of the ME's packet transmission process to the BMC. For example, the ME is replaced by another BMC, and the replacement BMC's packet transmission process to the test BMC is controlled.
[0069] In the above optional implementation manner, the first baseboard management controller has a first communication interface, the signal generation module has a second communication interface, and the first communication interface and the second communication interface can be communicatively connected via an I2C bus.
[0070] In the above optional embodiment, according to the fifth preset communication condition, a second simulation test scenario corresponding to the target fault scenario is constructed, including: establishing a communication link between the first baseboard management controller and the signal generating module; sending a third enable signal to the signal generating module so that the signal generating module cyclically sends the intelligent platform management bus command to the first baseboard management controller in the second simulation test scenario.
[0071] In some embodiments, the test model of the above-mentioned black box replacement method can be as shown in Figure 7. The black box replacement method replaces the black box device by building a third-party model and introducing a module that is completely consistent with the functional performance of the black box device. Since the introduced third-party model is easier for testers to operate and control, it can get rid of the dependence on the ink cartridge device and realize testing in more scenarios. This method is more flexible and provides more possibilities for test scenarios with ink cartridge devices. In the embodiment of the present application, the I2C interface of another BMC (referred to as the replacement BMC) is used to replace the ME, and the Intelligent Platform Management Bus (IPMB) command is sent to the test BMC in a loop to achieve the purpose of creating a bus conflict and increasing the probability of problem reproduction. Exemplarily, in the embodiment of the present application, the replacement BMC sends the IPMB command to the test BMC in a loop by running a custom script.
[0072] In some optional embodiments, the above-mentioned diagnostic method in the embodiment of the present application also includes: a construction step, when the judgment result indicates that the same communication anomaly as in the target fault scenario does not occur, constructing an updated simulation test scenario corresponding to the target fault scenario according to the updated preset communication conditions, wherein the updated preset communication conditions are preset communication conditions different from the preset communication conditions corresponding to the previous simulation test scenario; a judgment step, judging whether the above-mentioned communication anomaly occurs between the first baseboard management controller and the management engine in the updated simulation test scenario; when the judgment result indicates that the above-mentioned communication anomaly does not occur, looping the construction step and the judgment step until the judgment result indicates that the above-mentioned communication anomaly occurs and stops.
[0073] In the above optional implementation, by adopting different preset communication conditions, I2C bus abnormal scenarios can be actively constructed from multiple angles, and the problem reproduction under various abnormal scenarios can be continuously verified in repeated iterative tests, and each reproduction scenario can be variable controlled.
[0074] In some embodiments, by using different preset communication conditions, test models such as one-way pressure method, two-way pressure method, black box substitution method and active interference method can be designed, which improves the probability of recurrence of communication failures in dual-active scenarios, provides a sufficient time window for problem analysis, and ensures efficient resolution of BMC and ME communication failure problems.
[0075] In the above-mentioned optional implementation manner, the diagnostic method in the embodiment of the present application may further include: when the construction step and the judgment step are executed for the nth time and the judgment result still indicates that the same communication anomaly as in the target fault scenario has not occurred, modifying the test conditions corresponding to the current simulation test scenario to obtain updated test conditions, wherein n is the total number of preset communication conditions, the current simulation test scenario is the simulation test scenario constructed in the construction step executed for the nth time, and the test conditions include external conditions and / or internal conditions, the external conditions include at least one of the following: the power supply voltage of the mainboard on which the first baseboard management controller is provided, and the position of the test point of the test equipment in the communication link; the internal conditions include at least: the log information of the first baseboard management controller; according to the updated test conditions, the construction step and the judgment step are executed again in a loop until the judgment result indicates that the above-mentioned communication anomaly has occurred and stops.
[0076] In the above-mentioned optional implementation manner, the diagnostic method in the embodiment of the present application may further include: before constructing a simulation test scenario corresponding to the target fault scenario according to preset communication conditions, initializing the test conditions corresponding to the simulation test scenario, wherein the test conditions include external conditions and internal conditions, the external conditions include at least one of the following: the power supply voltage of the mainboard on which the first baseboard management controller is provided, and the position of the test point of the test equipment in the communication link; the internal conditions include at least: the log information of the first baseboard management controller.
[0077] In some embodiments, the iterative diagnosis principle for locating a communication fault between the BMC and the ME in the embodiments of the present application can be divided into two main processes, namely, a recurrence test process and an analysis and location process. The iterative diagnosis process will be illustrated below with reference to optional examples.
[0078] For example, the iterative diagnosis process for locating a communication fault between the BMC and the ME in an embodiment of the present application is shown in FIG8 , including:
[0079] Step 1: Initialize the test conditions. This step primarily completes pre-test preparations, including external and internal conditions. External preparation includes preparing the motherboard power supply and attaching an oscilloscope for I2C bus monitoring. Internal preparation involves adding logging code to key processing logic in the BMC firmware. This allows for analysis of code execution status after reproducing the issue, aiding in problem analysis.
[0080] Step 2: Use a unidirectional stress test to verify the problem's reproducibility. If the problem is successfully reproduced, skip to step 6; otherwise, proceed to step 3. This step primarily increases the amount of unidirectional data on the I2C bus during stress testing, increasing the probability of reproducing the problem.
[0081] Step 3: Use bidirectional stress testing to verify the problem's reproducibility. If the problem is successfully reproduced, proceed to step 6; otherwise, proceed to step 4. This step primarily increases the bidirectional data volume on the I2C bus during stress testing, increasing the probability of reproducing the problem.
[0082] Step 4: Use the black box replacement method to test and verify the problem's reproducibility. If the problem is successfully reproduced, skip to step 6; otherwise, proceed to step 5. This step primarily involves introducing an ME to replace the unit and perform stress testing to simulate various scenarios where the ME sends packets to the BMC, thereby increasing the probability of problem reproducibility.
[0083] Step 5: Use active interference testing to verify the problem's reproducibility. If the problem is successfully reproduced, proceed to step 6. Otherwise, adjust the test conditions and return to step 2. This step primarily increases the probability of reproducing the problem by introducing interference signals into the I2C bus.
[0084] Step 6: Problem Analysis. This step analyzes the problem based on the basic conditions for successful reproduction, verifies various possible causes of the problem, and continuously narrows the scope of the problem from the hardware and software levels.
[0085] Step 7: Output conclusion. Based on the analysis in step 6, this step locates the ultimate cause of the problem as the final output of the problem diagnosis.
[0086] It should be noted that the reproduction of the communication failure scenario between the BMC and the ME in the embodiment of the present application is not limited to the loop order of steps ② to ⑤ shown in Figure 8 above. For example, the order of any two steps in steps ② to ⑤ can be arbitrarily swapped, and the embodiment of the present application does not limit this.
[0087] In the above step S204, based on the scenario information of the simulated test scenario, it is determined whether the first baseboard management controller and the management engine have the same communication anomaly as that in the target fault scenario in the simulated test scenario.
[0088] In some embodiments, if an abnormality occurs in the communication link between the BMC and the ME, it will directly affect the BMC's ability to monitor key components such as the server CPU and memory, and may even lead to serious consequences such as large-scale downtime of data center servers. After constructing a simulation test scenario, the embodiment of the present application can reproduce the communication failure scenario when a communication abnormality occurs in the simulation test scenario.
[0089] For example, in the iterative diagnostic process shown in FIG8 , after the problem can be successfully reproduced through one or more steps from step ② to step ⑤, step ⑥ is used to analyze the problem based on the basic conditions for successful reproduction of the problem, verify various possible causes of the problem, and continuously narrow the scope of problem investigation from the hardware and software levels.
[0090] In some optional embodiments, when the test conditions in the above-mentioned scenario information include external conditions, based on the scenario information of the simulated test scenario, it is determined whether the first baseboard management controller and the management engine have the same communication anomaly as in the target fault scenario in the simulated test scenario, including: based on the test results of the test equipment, determining whether the above-mentioned communication anomaly occurs between the first baseboard management controller and the management engine in the simulated test scenario.
[0091] Illustratively, the above-mentioned test equipment may be an oscilloscope or logic analyzer mounted on the I2C bus, or may be other test equipment, which is not limited in the embodiments of the present application.
[0092] In other optional embodiments, when the test conditions in the above-mentioned scenario information include internal conditions, judging whether the same communication anomaly as in the target fault scenario occurs between the first baseboard management controller and the management engine in the simulated test scenario based on the scenario information of the simulated test scenario may include: judging whether an abnormal alarm record corresponding to the target fault scenario appears in the log information of the first baseboard management controller, wherein, when the judgment result indicates the occurrence of an abnormal alarm record, it is determined that the above-mentioned communication anomaly occurs between the first baseboard management controller and the management engine in the simulated test scenario.
[0093] In the above step S206, when the judgment result indicates that the above communication abnormality occurs, the fault cause corresponding to the target fault scenario is located according to the scenario information of the simulated test scenario.
[0094] In some embodiments, the embodiments of the present application reproduce the communication failure scenario, so that after successful reproduction, the cause of the problem can be analyzed based on the reproduction scenario at this time, and the cause of the problem can be finally located, and the analysis conclusion can be output to complete the diagnosis process of the communication failure between the BMC and the ME.
[0095] For example, in the iterative diagnosis process shown in FIG8 , after problem analysis is performed in step ⑥ and various possible causes of the problem are verified, a conclusion is output in step ⑦ to locate the ultimate cause of the problem as the final output of the problem diagnosis.
[0096] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the relevant technology, can be embodied in the form of a software product, which is stored in a non-volatile readable storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of each embodiment of the present application.
[0097] In this embodiment, a device for diagnosing communication anomalies is also provided. The device is configured to implement the above-mentioned embodiments and optional implementations, and the details already described are not repeated here. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.
[0098] FIG9 is a block diagram of a device for diagnosing communication anomalies according to an embodiment of the present application. As shown in FIG9 , the device includes:
[0099] A first construction module 10 is configured to construct a simulation test scenario corresponding to a target failure scenario based on preset communication conditions, wherein the target failure scenario is a scenario in which a communication anomaly occurs between the first baseboard management controller and the management engine, and the simulation test scenario includes at least a first simulation test scenario, wherein the first simulation test scenario is configured to establish a communication link between the first baseboard management controller and the management engine that meets the preset communication conditions;
[0100] The first judgment module 20 is configured to judge whether a communication anomaly identical to a target fault scenario occurs between the first baseboard management controller and the management engine in the simulation test scenario based on scenario information of the simulation test scenario;
[0101] The positioning module 30 is configured to locate the fault cause corresponding to the target fault scenario according to the scenario information of the simulated test scenario when the judgment result indicates that the above-mentioned communication abnormality occurs.
[0102] In the above-mentioned device of the present application, the scenario in which a communication anomaly occurs between the first baseboard management controller and the management engine is taken as the target fault scenario. The first construction module 10 constructs a simulation test scenario corresponding to it according to the preset communication conditions, so that there is a communication link between the first baseboard management controller and the management engine that meets the preset communication conditions. Then, the first judgment module 20 judges whether the first baseboard management controller and the management engine have the same communication anomaly as the target fault scenario in the simulation test scenario according to the scenario information of the simulation test scenario. In the case of a communication anomaly in the communication fault scenario, the communication fault scenario can be reproduced. After successful reproduction, the positioning module 30 can analyze the cause of the problem based on the reproduction scenario at this time, finally locate the cause of the problem, output the analysis conclusion, and complete the diagnosis process of the communication fault between the BMC and the ME. Therefore, it can solve the problem in the related art that it is difficult to quickly locate the cause of the problem when the communication between the BMC and the ME is abnormal, and achieve stable reproduction of the communication fault scenario between the BMC and the ME, and then quickly locate the cause of the problem, improve the efficiency of problem solving, and ultimately ensure the efficient and reliable operation of the server.
[0103] In some optional embodiments, the first construction module includes: a first acquisition submodule, which is configured to acquire a first preset communication condition, the first preset communication condition including: the first baseboard management controller sends a data packet to the management engine at a first preset frequency, and the management engine sends a data packet to the first baseboard management controller at a second preset frequency, and the first preset frequency is greater than the second preset frequency; the first construction submodule, which is configured to construct a first simulation test scenario according to the first preset communication condition, so that the first baseboard management controller and the management engine send data packets bidirectionally in the first simulation test scenario, the frequency of the first baseboard management controller sending data packets is the first preset frequency, and the frequency of the management engine sending data packets is the second preset frequency.
[0104] In some optional embodiments, the first construction module includes: a second acquisition submodule, which is configured to acquire a second preset communication condition, the second preset communication condition including: the first baseboard management controller sends data packets to the management engine at a third preset frequency, and the management engine sends data packets to the first baseboard management controller at a fourth preset frequency, the third preset frequency and the fourth preset frequency are greater than the reference frequency, wherein the reference frequency is one of the following: the historical frequency of the first baseboard management controller sending data packets to the management engine in the target fault scenario, and the historical frequency of the management engine sending data packets to the first baseboard management controller in the target fault scenario; the second construction submodule is configured to construct a first simulation test scenario according to the second preset communication condition, so that the first baseboard management controller and the management engine send data packets bidirectionally in the first simulation test scenario, the frequency of the first baseboard management controller sending data packets is the third preset frequency, and the frequency of the management engine sending data packets is the fourth preset frequency.
[0105] In some optional embodiments, the second construction submodule includes: a first sending submodule, configured to send a first enable signal to the first baseboard management controller, so that the first baseboard management controller sends data packets to the management engine at a third preset frequency in a first simulation test scenario according to the first enable signal; a second sending submodule, configured to send modification instructions to the basic input and output system corresponding to the management engine, so that the modified basic input and output system enables the management engine to send data packets to the first baseboard management controller at a fourth preset frequency in a target fault scenario.
[0106] In some optional embodiments, the first construction module includes: a third acquisition submodule, which is configured to obtain a third preset communication condition, the third preset communication condition including: the first baseboard management controller and the management engine communicate through the I2C bus, and the I2C bus receives the interference signal sent by the interference module; the third construction submodule, which is configured to construct a first simulation test scenario according to the third preset communication condition, so that when the first baseboard management controller and the management engine send data packets bidirectionally through the I2C bus, the I2C bus receives the interference signal in the first simulation test scenario.
[0107] In some optional implementations, the interference module is a universal input / output module of the first baseboard management controller, and the interference signal is a fixed level output by the universal input / output module.
[0108] In some optional embodiments, the third construction submodule includes: a first establishment submodule, configured to establish a communication link between the first baseboard management controller and the management engine through the I2C bus; a loop submodule, configured to loop through the following steps: setting the attribute of the general input and output module to output, and sending a second enable signal to the general input and output module, wherein, when the general input and output module receives the second enable signal, the general input and output module sequentially performs the following steps: outputting a fixed level, and sleeping for a preset time; setting the attribute of the general input and output module to input.
[0109] In some optional embodiments, the first construction module includes: a fourth acquisition submodule, which is configured to obtain a fourth preset communication condition, the fourth preset communication condition including: the first baseboard management controller and the management engine communicate via the I2C bus, and the I2C bus is grounded or connected to a high-level power supply; the fourth construction submodule is configured to construct a first simulation test scenario according to the fourth preset communication condition, so that the first baseboard management controller and the management engine send data packets bidirectionally via the I2C bus in the first simulation test scenario.
[0110] In some optional embodiments, the first construction module includes: a fifth acquisition submodule, which is configured to acquire a fifth preset communication condition, the fifth preset communication condition including: a signal generating module cyclically sending an intelligent platform management bus command to the first baseboard management controller in a second simulation test scenario, wherein the signal generating module is configured to simulate the function of the management engine sending and receiving data packets; a fifth construction submodule, which is configured to construct a second simulation test scenario corresponding to the target fault scenario according to the fifth preset communication condition, wherein the second simulation test scenario is used to enable a communication link between the first baseboard management controller and the signal generating module that meets the fifth preset communication condition.
[0111] In some optional implementations, the first baseboard management controller has a first communication interface, the signal generation module has a second communication interface, and the first communication interface and the second communication interface are communicatively connected via an I2C bus.
[0112] In some optional embodiments, the fifth construction submodule includes: a second establishment submodule, configured to establish a communication link between the first baseboard management controller and the signal generating module; a third sending submodule, configured to send a third enable signal to the signal generating module, so that the signal generating module cyclically sends intelligent platform management bus commands to the first baseboard management controller in the second simulation test scenario.
[0113] In some optional embodiments, the diagnostic device also includes: a second construction module, which is configured to execute a construction step: when the judgment result indicates that the same communication anomaly as the target fault scenario has not occurred, an updated simulation test scenario corresponding to the target fault scenario is constructed according to the updated preset communication conditions, wherein the updated preset communication conditions are preset communication conditions different from the preset communication conditions corresponding to the previous simulation test scenario; a second judgment module, which is configured to execute a judgment step: determine whether the above-mentioned communication anomaly occurs between the first baseboard management controller and the management engine in the updated simulation test scenario; a first loop module, which is configured to, when the judgment result indicates that the above-mentioned communication anomaly has not occurred, cyclically execute the construction step and the judgment step until the judgment result indicates that the above-mentioned communication anomaly has occurred and stops.
[0114] In some optional embodiments, the diagnostic device also includes: a modification module, which is configured to modify the test conditions corresponding to the current simulation test scenario when the construction step and the judgment step are executed for the nth time and the judgment result still indicates that the communication anomaly identical to the target fault scenario has not occurred, so as to obtain updated test conditions, wherein n is the total number of preset communication conditions, the current simulation test scenario is the simulation test scenario constructed in the construction step executed for the nth time, and the test conditions include external conditions and / or internal conditions, the external conditions include at least one of the following: the power supply voltage of the mainboard on which the first baseboard management controller is provided, and the position of the test point of the test equipment in the communication link; the internal conditions include at least: the log information of the first baseboard management controller; a second loop module, which is configured to loop the construction step and the judgment step again according to the updated test conditions until the judgment result indicates that the above-mentioned communication anomaly has occurred and stops.
[0115] In some optional implementations, the testing equipment includes at least one of the following: an oscilloscope, and a logic analyzer.
[0116] In some optional embodiments, the scenario information includes test conditions, the test conditions include external conditions, and based on the scenario information of the simulated test scenario, the first judgment module includes: a first judgment submodule, which is configured to judge whether the first baseboard management controller and the management engine have the same communication anomaly as the target fault scenario in the simulated test scenario based on the test results of the test equipment.
[0117] In some optional embodiments, the scenario information includes test conditions, the test conditions include internal conditions, and based on the scenario information of the simulated test scenario, the first judgment module includes: a second judgment submodule, which is configured to determine whether an abnormal alarm record corresponding to the target fault scenario appears in the log information of the first baseboard management controller, wherein, when the judgment result indicates the occurrence of an abnormal alarm record, it is determined that the above-mentioned communication abnormality occurs between the first baseboard management controller and the management engine in the simulated test scenario.
[0118] In some optional embodiments, the diagnostic device also includes: an initialization module, which is configured to initialize the test conditions corresponding to the simulated test scenario before constructing the simulated test scenario corresponding to the target fault scenario according to preset communication conditions, wherein the test conditions include external conditions and internal conditions, the external conditions include at least one of the following: the power supply voltage of the mainboard on which the first baseboard management controller is provided, and the position of the test point of the test equipment in the communication link; the internal conditions include at least: log information of the first baseboard management controller.
[0119] It should be noted that the above modules can be implemented through software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0120] An embodiment of the present application further provides a non-volatile readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above method embodiments when running.
[0121] In an exemplary embodiment, the non-volatile readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0122] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0123] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0124] For optional examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementations, and this embodiment will not be described in detail here.
[0125] Obviously, those skilled in the art should understand that the modules or steps of the present application described above can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed across a network composed of multiple computing devices, they can be implemented using program code executable by the computing device, and thus, they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be performed in a different order than herein, or they can be fabricated into separate integrated circuit modules, or multiple modules or steps can be fabricated into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0126] The above are merely optional embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may be subject to various modifications and variations. Any modifications, equivalent substitutions, improvements, etc. made within the principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A method for diagnosing abnormal communication, characterized in that: include: According to the preset communication conditions, construct a simulation test scenario corresponding to the target fault scenario, wherein the target fault scenario is a scenario in which a communication abnormality occurs between the first baseboard management controller and the management engine, and the simulation test scenario includes at least a first simulation test scenario, and the first simulation test scenario is used to enable a communication link between the first baseboard management controller and the management engine that meets the preset communication conditions; According to the scenario information of the simulation test scenario, determining whether the first baseboard management controller and the management engine have the same communication anomaly as in the target fault scenario in the simulation test scenario; When the judgment result indicates that the communication abnormality occurs, the fault cause corresponding to the target fault scenario is located according to the scenario information of the simulation test scenario.
2. The diagnostic method according to claim 1, characterized in that The step of constructing a simulation test scenario corresponding to a target fault scenario according to preset communication conditions includes: Acquire a first preset communication condition, where the first preset communication condition includes: the first baseboard management controller sends a data packet to the management engine at a first preset frequency, and the management engine sends a data packet to the first baseboard management controller at a second preset frequency, and the first preset frequency is greater than the second preset frequency; According to the first preset communication condition, the first simulation test scenario is constructed so that the first baseboard management controller and the management engine send data packets bidirectionally in the first simulation test scenario, the frequency of the first baseboard management controller sending data packets is the first preset frequency, and the frequency of the management engine sending data packets is the second preset frequency.
3. The diagnostic method according to claim 1, characterized in that: The step of constructing a simulation test scenario corresponding to a target fault scenario according to preset communication conditions includes: Acquire a second preset communication condition, where the second preset communication condition includes: the first baseboard management controller sends a data packet to the management engine at a third preset frequency, the management engine sends a data packet to the first baseboard management controller at a fourth preset frequency, the third preset frequency and the fourth preset frequency are greater than a reference frequency, wherein the reference frequency is one of the following: a historical frequency at which the first baseboard management controller sends a data packet to the management engine in the target fault scenario, and a historical frequency at which the management engine sends a data packet to the first baseboard management controller in the target fault scenario; According to the second preset communication condition, the first simulation test scenario is constructed so that the first baseboard management controller and the management engine send data packets bidirectionally in the first simulation test scenario, the frequency of the first baseboard management controller sending data packets is the third preset frequency, and the frequency of the management engine sending data packets is the fourth preset frequency.
4. The diagnostic method according to claim 3, characterized in that: The constructing the first simulation test scenario according to the second preset communication condition so that the first baseboard management controller and the management engine bidirectionally send data packets in the first simulation test scenario includes: Sending a first enable signal to the first baseboard management controller, so that the first baseboard management controller sends a data packet to the management engine at the third preset frequency in the first simulation test scenario according to the first enable signal; A modification instruction is sent to a basic input / output system corresponding to the management engine, so that the modified basic input / output system enables the management engine to send data packets to the first baseboard management controller at the fourth preset frequency in the target fault scenario.
5. The diagnostic method according to claim 1, characterized in that: The step of constructing a simulation test scenario corresponding to a target fault scenario according to preset communication conditions includes: Acquire a third preset communication condition, the third preset communication condition comprising: the first baseboard management controller communicates with the management engine through an I2C bus, and the I2C bus receives an interference signal sent by an interference module; The first simulation test scenario is constructed according to the third preset communication condition, so that when the first baseboard management controller and the management engine send data packets bidirectionally through the I2C bus, the I2C bus receives the interference signal in the first simulation test scenario.
6. The diagnostic method according to claim 5, characterized in that: The interference module is a general input / output module of the first baseboard management controller, and the interference signal is a fixed level output by the general input / output module.
7. The diagnostic method according to claim 6, characterized in that: The step of constructing a simulation test scenario corresponding to a target fault scenario according to the third preset communication condition, so that when the first baseboard management controller and the management engine send data packets bidirectionally through the I2C bus, the I2C bus receives the interference signal in the first simulation test scenario, includes: Establishing a communication link between the first baseboard management controller and the management engine through the I2C bus; The following steps are executed cyclically: setting the attribute of the universal input-output module to output, and sending a second enable signal to the universal input-output module, wherein, when the universal input-output module receives the second enable signal, the universal input-output module sequentially executes the following steps: outputting a fixed level, and sleeping for a preset time; and setting the attribute of the universal input-output module to input.
8. The diagnostic method according to claim 1, characterized in that: The step of constructing a simulation test scenario corresponding to a target fault scenario according to a preset communication condition, so that the first baseboard management controller and the management engine establish a communication link satisfying the preset communication condition in the simulation test scenario, includes: Acquire a fourth preset communication condition, the fourth preset communication condition comprising: the first baseboard management controller communicates with the management engine via an I2C bus, the I2C bus is grounded or connected to a high-level power supply; The first simulation test scenario is constructed according to the fourth preset communication condition, so that the first baseboard management controller and the management engine bidirectionally send data packets through the I2C bus in the first simulation test scenario.
9. The diagnostic method according to claim 1, characterized in that: The step of constructing a simulation test scenario corresponding to a target fault scenario according to preset communication conditions includes: Acquiring a fifth preset communication condition, the fifth preset communication condition comprising: a signal generating module cyclically sending an intelligent platform management bus command to the first baseboard management controller in a second simulation test scenario, wherein the signal generating module is configured to simulate a function of the management engine sending and receiving a data packet; According to the fifth preset communication condition, the second simulation test scenario corresponding to the target fault scenario is constructed, wherein the second simulation test scenario is used to enable a communication link between the first baseboard management controller and the signal generating module that meets the fifth preset communication condition.
10. The diagnostic method according to claim 9, characterized in that The first baseboard management controller has a first communication interface, the signal generation module has a second communication interface, and the first communication interface is connected to the second communication interface through an I2C bus.
11. The diagnostic method according to claim 9, characterized in that: The constructing a second simulation test scenario corresponding to the target fault scenario according to the fifth preset communication condition includes: Establishing a communication link between the first baseboard management controller and the signal generating module; A third enable signal is sent to the signal generating module, so that the signal generating module cyclically sends the intelligent platform management bus command to the first baseboard management controller in the second simulation test scenario.
12. The diagnostic method according to any one of claims 1 to 11, characterized in that: Also includes: A construction step, when the judgment result indicates that the communication anomaly does not occur, constructing an updated simulation test scenario corresponding to the target fault scenario according to the updated preset communication condition, wherein the updated preset communication condition is a preset communication condition different from the preset communication condition corresponding to the previous simulation test scenario; A determination step of determining whether the communication anomaly occurs between the first baseboard management controller and the management engine in the updated simulation test scenario; When the judgment result indicates that the communication abnormality has not occurred, the construction step and the judgment step are executed in a loop until the judgment result indicates that the communication abnormality has occurred.
13. The diagnostic method according to claim 12, characterized in that: Also includes: When the construction step and the judgment step are executed for the nth time and the judgment result still indicates that the communication abnormality has not occurred, modify the test conditions corresponding to the current simulation test scenario to obtain updated test conditions, wherein n is the total number of the preset communication conditions, the current simulation test scenario is the simulation test scenario constructed in the construction step executed for the nth time, and the test conditions include external conditions and / or internal conditions, the external conditions including at least one of the following: the power supply voltage of the mainboard on which the first baseboard management controller is provided, and the position of the test point of the test equipment in the communication link; the internal conditions at least include: the log information of the first baseboard management controller; According to the updated test condition, the construction step and the judgment step are executed again in a loop until the judgment result indicates that the communication abnormality occurs.
14. The diagnostic method according to claim 13, characterized in that: The testing equipment includes at least one of the following: an oscilloscope, and a logic analyzer.
15. The diagnostic method according to claim 13, characterized in that: The scenario information includes the test condition, the test condition includes an external condition, and judging whether the first baseboard management controller and the management engine have the same communication anomaly as in the target fault scenario in the simulation test scenario according to the scenario information of the simulation test scenario, comprises: According to the test result of the test device, it is determined whether the communication abnormality occurs between the first baseboard management controller and the management engine in the simulation test scenario.
16. The diagnostic method according to claim 13, characterized in that: The scenario information includes the test condition, the test condition includes an internal condition, and judging whether the first baseboard management controller and the management engine have the same communication anomaly as the target fault scenario in the simulation test scenario according to the scenario information of the simulation test scenario, comprises: Determine whether an abnormal alarm record corresponding to the target fault scenario appears in the log information of the first baseboard management controller, wherein, when the judgment result indicates the appearance of an abnormal alarm record, it is determined that the communication abnormality occurs between the first baseboard management controller and the management engine in the simulation test scenario.
17. The diagnostic method according to any one of claims 1 to 11, characterized in that: Also includes: Before constructing the simulation test scenario corresponding to the target fault scenario according to the preset communication conditions, the test conditions corresponding to the simulation test scenario are initialized, wherein the test conditions include external conditions and internal conditions, the external conditions include at least one of the following: the power supply voltage of the mainboard on which the first baseboard management controller is provided, and the position of the test point of the test equipment in the communication link; the internal conditions include at least: the log information of the first baseboard management controller.
18. A device for diagnosing abnormal communication, characterized in that: include: A first construction module is configured to construct a simulation test scenario corresponding to a target fault scenario according to a preset communication condition, wherein the target fault scenario is a scenario in which a communication abnormality occurs between the first baseboard management controller and the management engine, and the simulation test scenario includes at least a first simulation test scenario, and the first simulation test scenario is used to enable a communication link between the first baseboard management controller and the management engine that meets the preset communication condition; A first judgment module is configured to judge, based on the scenario information of the simulation test scenario, whether the first baseboard management controller and the management engine have the same communication anomaly as in the target fault scenario in the simulation test scenario; The positioning module is configured to locate the fault cause corresponding to the target fault scenario according to the scenario information of the simulation test scenario when the judgment result indicates that the communication abnormality occurs.
19. A non-volatile readable storage medium, characterized in that: The non-volatile readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 17 when executed by a processor.
20. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 17 are implemented.
Citation Information
Patent Citations
Method for testing ME state abnormity with BMC
CN107145426A
Abnormal scene testing method and device for system to be tested
CN115733741A
Server starting fault detection system, method and device and medium
CN116107819A
Communication abnormity diagnosis method and device and electronic equipment
CN116915583A
Temperature controlling method for server, baseboard management controller, and server temperature controlling system
US20210208646A1