现象描述
如上图,找不到这个设备的信息,dmesg中也提示没有此设备
排查过程
1.在内核代码内进行追踪,发现dmi_find_device时未找到设备
2. 而且使用dmidecode命令时发现错误:
Wrong DMI structures length: 1104 bytes announced, only 32 bytes available.
Invalid entry length (0). DMI table is broken! Stop.
3.从dmesg中可对比到如下不同:
(1)不可用的BMC服务器:
[ 0.000000] SMBIOS 2.8 present.
[ 0.000000] DMI: , BIOS
[ 0.000000] The BIOS Version: Byosoft-ByoCore-V10
(2)可用的BMC:
[ 0.000000] SMBIOS 2.8 present.
[ 0.000000] DMI: Sugon L820-G30/81KA16-U2, BIOS 1DXS003047 V4.0 7/06/2020
[ 0.000000] The BIOS Version: 1DXS003047
结论
bios未将DMI的相关数据写道内存中,内核层读不到相关数据,所以出现上面log中DMI和BIOS内容为空的情况。从而造成找不到dmi设备,导致无法正常使用BMC功能的情况。
解决办法
(1) 服务器下电拔掉电源线5-10分钟,再次开机。
(2) 不关机处理:
modprobe ipmi_devintf
modprobe ipmi_msghandler
modprobe ipmi_si type=kcs ports=0xca2 regspacings=1
dmesg:
[ 132.714101] ipmi_si hardcode-ipmi-si.0: ipmi_platform: probing via hardcoded
[ 132.714107] ipmi_si: hardcoded: io 0xca2 regsize 1 spacing 1 irq 0
[ 132.714109] ipmi_si: Adding hardcoded-specified kcs state machine
[ 132.714192] ipmi_si: Trying hardcoded-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0
[ 132.904174] ipmi_si hardcode-ipmi-si.0: Found new BMC (man_id: 0x000000, prod_id: 0x265b, dev_id: 0x20)
[ 132.965299] ipmi_si hardcode-ipmi-si.0: IPMI kcs interface initialized
至此可恢复。
标签:0.000000,ipmi,BIOS,si,报错,kcs,DMI,Centos7.6 From: https://blog.51cto.com/u_15967201/6363310