lm_sensors 报告 Supermicro X8DT3 上的温度错误?

lm_sensors 报告 Supermicro X8DT3 上的温度错误?

这是我的系统信息:

System Information
    Manufacturer: Supermicro
    Product Name: X8DT3
    Version: 1234567890
    Serial Number: 1234567890
    UUID: 3EFC338F-2038-F257-3B5E-0025902BF938
    Wake-up Type: Power Switch
    SKU Number: To Be Filled By O.E.M.
    Family: 1234567890

摘录如下sensors-detect 输出

Now follows a summary of the probes I have just done.
Just press ENTER to continue: 
Driver `adm1021' (should be inserted):
  Detects correctly:
  * Bus `SMBus I801 adapter at 0400'
    Busdriver `i2c-i801', I2C address 0x18
    Chip `max1617' (confidence: 6)
  * Bus `SMBus I801 adapter at 0400'
    Busdriver `i2c-i801', I2C address 0x19
    Chip `max1617' (confidence: 6)
  * Bus `SMBus I801 adapter at 0400'
    Busdriver `i2c-i801', I2C address 0x1a
    Chip `max1617' (confidence: 6)

#----cut here----
# I2C adapter drivers
modprobe i2c-i801
# Chip drivers
modprobe adm1021
/usr/bin/sensors -s
#----cut here----

这些模块被加载到正在运行的内核中:

# lsmod | grep i2c
i2c_dev                43977  0 
i2c_i801               41813  0 
i2c_ec                 38593  1 sbs
i2c_core               56641  4 adm1021,i2c_dev,i2c_i801,i2c_ec

# lsmod | grep adm
adm1021                47857  0 
hwmon                  36553  2 adm1021,power_meter
i2c_core               56641  4 adm1021,i2c_dev,i2c_i801,i2c_ec

sensors返回了错误的 CPU 温度:

# sensors
max1617-i2c-0-18
Adapter: SMBus I801 adapter at 0400
Board Temp:
              +0°C  (low  =   +16°C, high =   +66°C)  
CPU Temp:     +2°C  (low  =    +0°C, high =    +0°C)  

max1617-i2c-0-19
Adapter: SMBus I801 adapter at 0400
Board Temp:
              +0°C  (low  =   +16°C, high =   +66°C)  
CPU Temp:     +2°C  (low  =    +0°C, high =    +0°C)  

max1617-i2c-0-1a
Adapter: SMBus I801 adapter at 0400
Board Temp:
              +0°C  (low  =   +16°C, high =   +66°C)  
CPU Temp:     +2°C  (low  =    +0°C, high =    +0°C)  

这可能是什么原因造成的?


回复@Fox:

据我所知,大多数 SPMC 系统要么有 LM* 芯片,要么有 Winbond (w83*) 芯片。您可以尝试检查一下,也可以尝试在传感器检测中扫描“ISA”总线。

我这样做了:

Do you want to scan the ISA I/O ports? (YES/no): 
Probing for `National Semiconductor LM78' at 0x290...       No
Probing for `National Semiconductor LM78-J' at 0x290...     No
Probing for `National Semiconductor LM79' at 0x290...       No
Probing for `Winbond W83781D' at 0x290...                   No
Probing for `Winbond W83782D' at 0x290...                   No

输出中有一行很有趣的内容sensors-detect

Found `Winbond W83627HF/F/HG/G Super IO Sensors'            
    (but not activated)

顺便说一句,如果您已检测并正确加载所有模块,您还应该看到用于监控 CPU 温度的 coretemp 传感器。

但从输出中可以看出,没有核心温度传感器。

如果您碰巧拥有 -F 版本的主板(带 IPMI 的主板),还有另一种监控温度/电压/转速的方法。那么最简单、最可靠的方法(至少对我来说)是使用ipmitool sdr、 或ipmitool sensors

与相同ipmiutil sensor,我得到了未指定的 CPU 温度:

# ipmiutil sensor
0007 SDR Full 01 34 20 a c0 snum 01 CPU1 Temp        = 00 Warn-lo 0.00 unspecified
0008 SDR Full 01 34 20 a c0 snum 02 CPU2 Temp        = 00 OK   0.00 unspecified
0009 SDR Full 01 36 20 a 01 snum 03 System Temp      = 1c OK   28.00 degrees C

# ipmitool sensor
CPU1 Temp        | 0x0        | discrete   | 0x0100| na        | na        | na        | na        | na        | na        
CPU2 Temp        | 0x0        | discrete   | 0x0000| na        | na        | na        | na        | na        | na        
System Temp      | 28.000     | degrees C  | ok    | -9.000    | -7.000    | -5.000    | 75.000    | 77.000    | 79.000    

回复@thinice:

我得到了相同的结果ipmitool sdr

# ipmitool sdr
CPU1 Temp        | 0 unspecified     | ok
CPU2 Temp        | 0 unspecified     | ok
System Temp      | 26 degrees C      | ok

ipmitool sdr entity 3不返回任何内容。

答案1

好吧,我并没有准确回答您的问题,但从我使用 SPMC 服务器的经验来看,如果没有专有的 SuperDoctor,lm_sensors 通常表现得很奇怪。但您甚至可能使用了错误的驱动程序。

据我所知,大多数 SPMC 系统要么有 LM* 芯片,要么有 Winbond (w83*) 芯片。您可以尝试检查一下,也可以尝试在传感器检测中扫描“ISA”总线。

顺便说一句,如果您已检测并正确加载所有模块,您还应该看到用于监控 CPU 温度的 coretemp 传感器。

如果您碰巧拥有 -F 版本的主板(带 IPMI 的主板),还有另一种监控温度/电压/转速的方法。那么最简单、最可靠的方法(至少对我来说)是使用ipmitool sdr、 或ipmitool sensors

答案2

ipmi sensor可能会显示不准确,请尝试sdr entity(并选择一个数字),

对于 CPU,我认为impitool sdr entity 3可能会产生更精细的细节。

相关内容