一、遇到服务器BMC无法使用的问题,在网络上并未找到相关解决办法,报错信息及现象主要为:
1.无法加载ipmi_si模块,报错如下:
[root@bogon ~]# modprobe ipmi_si
modprobe: ERROR: could not insert ‘ipmi_si’: No such device
[root@bogon ~]# insmod ipmi_si.ko
insmod: ERROR: could not insert module ipmi_si.ko: No such device
2.dmesg中报错:
[55437.777343] ipmi_si: Unable to find any System Interface(s)
二、分析过程如下:
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 07/06/2020
[ 0.000000] The BIOS Version: 1DXS003047
4.结论:bios未将DMI的相关数据写道内存中,内核层读不到相关数据,所以出现上面log中DMI和BIOS内容为空的情况。从而造成找不到dmi设备,导致无法正常使用BMC功能的情况。