Network communication device and method between server CPU and BMC

By setting up a USB network device on the USB controller of the server BMC processor and supporting the RNDIS protocol, a USB network channel between the server main CPU and the BMC is established, solving the problems of slow and unstable communication in the prior art, and achieving efficient and stable network communication.

CN119938584APending Publication Date: 2025-05-06HUNAN TONGYOU FEIJI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510118896.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-24
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

In the prior art, communication between the server main system and the BMC passes through the KCS protocol of the base LPC channel, resulting in slow communication rate and unstable communication rate, and interruptions or level jumps are prone to occur when transmitting big data.

Method used

By setting the USB controller of the server BMC processor as a USB network device and configuring the kernel to support the RNDIS protocol, establishing a USB network channel between the server's main CPU and the BMC to realize network communication based on the HTTP protocol.

Benefits of technology

It improves the communication efficiency and stability between the server CPU and the BMC, simplifies the difficulty of software development, and significantly improves the transmission rate and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938584A_ABST
    Figure CN119938584A_ABST
Patent Text Reader

Abstract

The invention discloses a network communication device and method between a server CPU (Central Processing Unit) and a BMC (Baseboard Management Controller). The device comprises a server main CPU system and a server BMC processor, the server main CPU system is connected with the USB interface hardware of the server BMC processor; a USB controller controlled by a server BMC processor is set as USB network equipment, and a kernel is configured to support an RNDIS protocol; configuring a corresponding driver supporting a USB network device in the server CPU, so that a USB channel of the server BMC processor is connected with a USB channel of the server CPU; configuring a kernel of the server CPU system to support an RNDIS protocol; and configuring a supporting network communication protocol on the server main CPU system and the server BMC processor so as to realize network communication. Through the device provided by the invention, the transmission rate, the stability and the reliability are remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of servers, and in particular to a network communication device between a server CPU and a BMC. Background Art

[0002] The server BMC processor implements functions such as monitoring of various server sensors, cooling fan control, product model information, query and upgrade of various firmware versions, UUID control, power information monitoring, etc. It also provides various out-of-band interfaces, such as IPMI, Redfish, RestFul, SNMP, etc.

[0003] Server management software is a software running in the server main system. Its purpose is to provide functions such as monitoring the server hardware environment and online firmware updates. In order to achieve the above functions, the management software needs to communicate with the server's BMC, obtain various sensor information and log information from the BMC, and also needs to transfer files to the BMC and send control instructions. Therefore, it involves the physical channel and software protocol solution for the communication between the server main system (main CPU) and the BMC.

[0004] In the prior art, such as Figure 1 As shown in the figure, the communication between the server main system (main CPU) and the BMC is through the KCS protocol of the base LPC channel, which is a sub-protocol of the IPMI protocol. It is a low-speed channel with slow and unstable communication rate. It takes several minutes to transmit data exceeding 1MB, and it is easy to be interrupted or level jump. In addition, the IPMI protocol limits the maximum capacity of a transmission packet to 256 bytes. At the software level, it is necessary to handle the disassembly and reassembly of data packets, which is inefficient and requires a lot of development and implementation work. There is a high probability of failure when sending firmware upgrade files to the BMC through the system management software. Summary of the invention

[0005] Based on this, in view of the above technical problems, a network communication device between a server CPU and a BMC is provided to solve the problems of low stability and communication efficiency of the prior art.

[0006] In a first aspect, a network communication device between a server CPU and a BMC is provided, the device comprising: a server main CPU system, a server BMC processor;

[0007] Connect the USB interface hardware of the server main CPU system and the server BMC processor;

[0008] The USB controller controlled by the server BMC processor is set as a USB network device, and the kernel is configured to support the RNDIS protocol; the corresponding driver supporting the USB network device is configured in the server CPU so that the USB channel of the server BMC processor is connected to the USB channel of the server CPU; the kernel of the server CPU system is configured to support the RNDIS protocol;

[0009] The server main CPU system and the server BMC processor are configured to support network communication protocols to achieve network communication.

[0010] In the above scheme, optionally, setting the USB controller controlled by the server BMC processor as a USB network device includes: initializing the USB device of the server BMC processor as a USB-Gadget device, adding configuration in the Linux system kernel configuration file, setting the class attribute of the USB device to a USB network device, and configuring the USB network device information in the USB device.

[0011] In the above solution, further optionally, the USB network device information includes: vendor ID, product ID, and manufacturer information, MAC address.

[0012] In the above solution, optionally, the server main CPU system and the server BMC processor are set with IP addresses in the same network segment.

[0013] In the above scheme, optionally, configuring support for network communication protocols on the server main CPU system and the server BMC processor to achieve network communication includes: configuring support for HTTP protocol communication on the server main CPU system and the server BMC processor to achieve network communication between the server main CPU system and the server BMC processor based on HTTP protocol.

[0014] In a second aspect, a network communication method between a server CPU and a BMC is implemented based on the network communication device between a server CPU and a BMC described in the first aspect, and the method includes:

[0015] After starting the server BMC processor, a newly appeared USB network port is searched in the server CPU system; the USB controller controlled by the server BMC processor is set as a USB network device, and the kernel is configured to support the RNDIS protocol; the corresponding driver supporting the USB network device is configured in the server CPU system, and the kernel is configured to support the RNDIS protocol; at the same time, the USB interface hardware of the server main CPU system and the server BMC processor is connected;

[0016] Manually configure an IP address of the same network segment as that configured in the BMC processor of the server for the newly appeared USB network port in the CPU system of the server;

[0017] The server CPU system sends a request to the server BMC processor via the HTTP protocol, and receives a request result from the server BMC processor.

[0018] This application has at least the following beneficial effects:

[0019] This application sets the USB controller processed by the server BMC as a USB network device, connects it to the USB channel of the server main CPU, converts the data transmitted by the USB channel into network data of the RNDIS protocol, and then realizes the internal network communication channel between the server CPU and the BMC processor. The server management system and the BMC system communicate through the HTTP protocol network, thereby improving communication efficiency and stability, and simplifying the difficulty of software development and implementation. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 A schematic diagram of the existing technology for realizing network communication between server CPU and BMC;

[0021] Figure 2 A schematic diagram of the structure of a network communication device between a server CPU and a BMC provided in one embodiment of the present application. DETAILED DESCRIPTION

[0022] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0023] In one embodiment, Figure 2 As shown, a network communication device between a server CPU and a BMC is provided, the device comprising: a server main CPU system, a server BMC processor;

[0024] Connect the USB interface hardware of the server main CPU system and the server BMC processor;

[0025] The USB controller controlled by the server BMC processor is set as a USB network device, and the kernel is configured to support the RNDIS protocol; the corresponding driver supporting the USB network device is configured in the server CPU so that the USB channel of the server BMC processor is connected to the USB channel of the server CPU; the kernel of the server CPU system is configured to support the RNDIS protocol;

[0026] The server main CPU system and the server BMC processor are configured to support network communication protocols to achieve network communication.

[0027] In this embodiment, the hardware circuit connects the USB channel of the server main CPU and the BMC controller. On the BMC side, the USB device is set as a virtual network device through software, and the MAC address and IP address are configured. At the same time, the host system is configured with the relevant driver that supports the USB network device. In the host system, a USB virtual network card can be seen, so that an internal network channel between the host and the BMC is realized, with high and stable transmission rate. The host system management software can use this network channel to communicate with the BCM, and realize HTTP communication based on the network channel, which significantly improves the transmission rate, stability and reliability.

[0028] In the above-mentioned network communication device between the server CPU and the BMC, the USB controller processed by the server BMC is set as a USB network device and connected to the USB channel of the server main CPU, so that the data transmitted by the USB channel is converted into network data of the RNDIS protocol, thereby realizing the internal network communication channel between the server CPU and the BMC processor. The server management system and the BMC system communicate through the network based on the HTTP protocol, thereby improving the communication efficiency and stability and simplifying the difficulty of software development and implementation.

[0029] In one embodiment, setting the USB controller controlled by the server BMC processor as a USB network device includes: initializing the USB device of the server BMC processor as a USB-Gadget device, adding configuration in the Linux system kernel configuration file, setting the class attribute of the USB device to a USB network device, and configuring USB network device information in the USB device.

[0030] In one embodiment, the USB network device information includes: vendor ID, product ID, manufacturer information, and MAC address.

[0031] In one embodiment, the server main CPU system and the server BMC processor are set with IP addresses in the same network segment.

[0032] In one embodiment, configuring the server main CPU system and the server BMC processor to support network communication protocols to achieve network communication includes: configuring the server main CPU system and the server BMC processor to support HTTP protocol communication to achieve network communication between the server main CPU system and the server BMC processor based on HTTP protocol.

[0033] This application initializes the USB device of the BMC processor as a USB-Gadget device in the BMC system, adds a configuration file to the Linux system kernel configuration file, sets the class of the USB device to a network device, provides vendor ID, product ID, manufacturer information, MAC address, etc., configures the kernel to support RNDIS related protocols, and the server host operating system also sets the kernel to support Rndis related protocols. After the BMC system is started, a USB network port will appear in the server system. After the BMC and server sides set the IP addresses of the same network segment, they can ensure mutual communication. The server management software sends standard methods of the HTTP protocol including PUT, GET, PATCH, POST, and DELETE, and the BMC network service will respond to the request and return standard network request results and data.

[0034] In one embodiment, a network communication method between a server CPU and a BMC is provided, the method comprising:

[0035] After starting the server BMC processor, a newly appeared USB network port is searched in the server CPU system; the USB controller controlled by the server BMC processor is set as a USB network device, and the kernel is configured to support the RNDIS protocol; the corresponding driver supporting the USB network device is configured in the server CPU system, and the kernel is configured to support the RNDIS protocol; at the same time, the USB interface hardware of the server main CPU system and the server BMC processor is connected;

[0036] Manually configure an IP address of the same network segment as that configured in the BMC processor of the server for the newly appeared USB network port in the CPU system of the server;

[0037] The server CPU system sends a request to the server BMC processor via the HTTP protocol, and receives a request result from the server BMC processor.

[0038] The management software on the main CPU of the server of this application realizes communication with the BMC through the USB virtual network channel inside the server, which enables the system management software running on the main processor of the server to improve the communication rate, stability and reliability with the server BMC. The main CPU of the server can obtain various monitoring information of the BMC in a timely manner through the management software, and improve the efficiency of controlling the BMC to realize the upgrade of BIOS, CPLD and other firmware.

[0039] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0040] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims

1. A network communication device between a server CPU and a BMC, characterized in that: The device comprises: a server main CPU system and a server BMC processor; Connect the USB interface hardware of the server main CPU system and the server BMC processor; The USB controller controlled by the server BMC processor is set as a USB network device, and the kernel is configured to support the RNDIS protocol; the corresponding driver supporting the USB network device is configured in the server CPU so that the USB channel of the server BMC processor is connected to the USB channel of the server CPU; the kernel of the server CPU system is configured to support the RNDIS protocol; The server main CPU system and the server BMC processor are configured to support network communication protocols to achieve network communication.

2. The network communication device between a server CPU and a BMC according to claim 1, characterized in that: Setting the USB controller controlled by the server BMC processor as a USB network device includes: initializing the USB device of the server BMC processor as a USB-Gadget device, adding configuration in a Linux system kernel configuration file, setting the class attribute of the USB device as a USB network device, and configuring USB network device information in the USB device.

3. The network communication device between a server CPU and a BMC according to claim 2, characterized in that: The USB network device information includes: vendor ID, product ID, manufacturer information, and MAC address.

4. The network communication device between a server CPU and a BMC according to claim 1, characterized in that: The server main CPU system and the server BMC processor are set with IP addresses in the same network segment.

5. The network communication device between a server CPU and a BMC according to claim 1, characterized in that: Configuring the server main CPU system and the server BMC processor to support network communication protocols to achieve network communication includes: configuring the server main CPU system and the server BMC processor to support HTTP protocol communication to achieve network communication between the server main CPU system and the server BMC processor based on HTTP protocol.

6. A network communication method between a server CPU and a BMC, characterized in that: The method is implemented based on the network communication device between a server CPU and a BMC according to any one of claims 1 to 5, and includes: After starting the server BMC processor, a newly appeared USB network port is searched in the server CPU system; the USB controller controlled by the server BMC processor is set as a USB network device, and the kernel is configured to support the RNDIS protocol; the corresponding driver supporting the USB network device is configured in the server CPU system, and the kernel is configured to support the RNDIS protocol; at the same time, the USB interface hardware of the server main CPU system and the server BMC processor is connected; Manually configure an IP address of the same network segment as that configured in the BMC processor of the server for the newly appeared USB network port in the CPU system of the server; The server CPU system sends a request to the server BMC processor via the HTTP protocol, and receives a request result from the server BMC processor.