IPMI from drive to application (previous)

Source: Internet
Author: User

Most of the core business of the enterprise running in the server system, once the system unexpected downtime, it is likely to cause data errors or even lost, this situation in the financial and banking system, will cause immeasurable losses. To this end, it is necessary to detect the health status of the server in real time, including fan speed, CPU and motherboard temperature, core voltage, Power module status, and so on timely forecast various possible errors. Systems management Software (System managemnet software) is to achieve this function, it relies on the various manufacturers of the motherboard and the way the module is implemented. In order to unify the implementation of different manufacturers, in 1998, Intel, Dell, HP, NEC jointly proposed the IPMI specification, used to monitor temperature, voltage, fan speed and realize remote control. By 2004, the IPMI specification has been developed to 2.0, and widely used on various servers, different manufacturers in order to achieve additional functionality, most of the expansion of some OEM IPMI commands to users. This greatly facilitates the design and implementation of the system management software.

The overall architecture of a typical IPMI is as follows:

650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M02/73/42/wKioL1X49ZTxH46tAANUQv_feQI521.jpg "title=" Ipmb.png "alt=" Wkiol1x49ztxh46taanuqv_feqi521.jpg "/>


As you can see from the above diagram, there may be multiple BMC,BMC on a system that can connect to some non-intelligent cards or sensor, which is connected to the BMC and BMC via IPMB. Interfaces to the BMC communication include SMBus, PCIE, USB, and LPC. I²c is commonly used in earlier systems, PCIe is used as KVM, and USB is used for firmware upgrades, and LPC interfaces are most common. The interface between the BMC and the host is called the System Management Interface (System interface or SI). The traditional BMC system interface includes:
KCS: The most common interface, the physical layer based on the LPC protocol, the implementation of the 8742 KCS interface, the following system interface by default is the LPC interface
SMIC (System Management Interface Chip): On a BMC that has no built-in KCS/LPC controller, there are three IO ports, which can be implemented on a ASIC/FPGA basis.
BT interface: The speed and performance of the best interface, need to shake hands, the same can be based on the ASIC/FPGA implementation of 3 IO port, can be used on the customized BMC.

2.System Interface interface
The full name of LPC is the low Pin Count interface, which implements a variety of operations similar to the PCI protocol through the CLK signal Lfram and multiplexed ad signals, including IO read/write,memory read/write, Sync,tar, Perform various operations in the following sequence to implement the KCS (keyboard control style) interface on the upper level.

650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/73/42/wKioL1X49i_CtKXPAAC2aieFyZY117.jpg "title=" lpc_ Timing.png "alt=" Wkiol1x49i_ctkxpaac2aiefyzy117.jpg "/>

The host and BMC are connected directly through the LPC pin. As shown in the schematic of the host side, one of the rightmost columns of the signal comes from the host's LPC controller.

650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M01/73/45/wKiom1X49KChwP9wAAGW0xqZfg4632.jpg "title=" Host_ Bmc_lpc_connection.png "alt=" Wkiom1x49kchwp9waagw0xqzfg4632.jpg "/>

3. Implementation of the drive
The IPMI driver in the kernel is implemented hierarchically, and the bottom layer realizes the operation based on SMBus, LPC automatic detection, thing processing, result reading and purging, and initializes the corresponding functions of the abstract system interface, thus shielding the difference of the underlying hardware interface. Higher-level device abstraction and protocol implementations are directly interacting with the abstract system interface. Specific instructions can refer to the kernel of the Documentation/ipmi.txt document, briefly summarized as follows:
Ipmi_smbus.ko: Implements an interface driver for IPMI Management controller based on SMBus direct access;


Ipmi_ssif.ko: In the earlier kernel version of the corresponding name is Ipmi_smbus.ko, support through the SMBus interface to send, receive information;

Ipmi_si.ko: Shield the driver of different system interface, support KCS/SMIC/BT, unless the host and BMC use SMBus or other custom interface, otherwise need this standard driver; three ways of probe BMC are defined: acpi/ SMBIOS (DMI)/pci (class type);

Ipmi_msghandler.ko: The kernel uses it to implement the IPMI protocol specification, which registers the IPMI driver;


Ipmi_devintf.ko:provides a userland IOCTL interface for the IPMI driver, each open file corresponds to a message handling handle. The operation of/dev/ipmi0 corresponding Ioctl/open/release/fasync/poll/llseek is defined, and the FS interface is provided to the application layer program. The types of operations where IOCTL include:
Ipmictl_send_command,ipmictl_send_command,ipmictl_receive_msg and Ipmictl_receive_msg_trunc. The application is to communicate with the BMC by opening/dev/ipmi0 or/DEV/IPMI0 and invoking various IOCTL;


Ipmi_watchdog.ko: Provide a standard Linux watchdog timer to upper-level users;


Ipmi_poweroff.ko: Supports kernel drivers via the IPMI command switch machine.

This article is from the "Store Chef" blog, so be sure to keep this source http://xiamachao.blog.51cto.com/10580956/1695287

IPMI from drive to application (previous)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.