lm_sensors reports wrong temperature on Supermicro X8DT3?

5,565

Well I'm not exactly answering your question, but from my experience with SPMC servers, lm_sensors usually behave weird, without their proprietary SuperDoctor. But you may even have a wrong driver.

As far as I can remember, most SPMC systems had either one of LM* chips, or Winbond (w83*) ones. You may try checking that out, and/or try scanning the 'ISA' bus in sensors-detect as well.

btw. if you have all the modules detected and loaded correctly, you should also see coretemp sensors for monitoring CPU temperature.

There is also another possibility to monitor temps/voltages/rpms if you happen to have the -F version of the mother board (the one with IPMI). Then the easiest and most reliable way (at least for me) is to use ipmitool sdr, or ipmitool sensors.

Share:
5,565

Related videos on Youtube

Greg Petersen
Author by

Greg Petersen

Updated on September 18, 2022

Comments

  • Greg Petersen
    Greg Petersen over 1 year

    Here's my system info:

    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
    

    A snippet of the sensors-detect output:

    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----
    

    These modules were loaded into the running kernel:

    # 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
    

    but sensors returns the incorrect CPUs temperature:

    # 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)  
    

    What might be the cause of this?


    Reply to @Fox:

    As far as I can remember, most SPMC systems had either one of LM* chips, or Winbond (w83*) ones. You may try checking that out, and/or try scanning the 'ISA' bus in sensors-detect as well.

    I did that:

    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
    

    There is an interesting line from the sensors-detect output:

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

    btw. if you have all the modules detected and loaded correctly, you should also see coretemp sensors for monitoring CPU temperature.

    But as you can see from the output, there is no coretemp sensor.

    There is also another possibility to monitor temps/voltages/rpms if you happen to have the -F version of the mother board (the one with IPMI). Then the easiest and most reliable way (at least for me) is to use ipmitool sdr, or ipmitool sensors.

    Same to ipmiutil sensor, I got the unspecified for CPU Temp:

    # 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    
    

    Reply to @thinice:

    I got the same results with ipmitool sdr:

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

    ipmitool sdr entity 3 returns nothing.

  • Greg Petersen
    Greg Petersen over 12 years
    Thanks for your info. Please check out my updated question.
  • Fox
    Fox over 12 years
    try just loading coretemp manualy. just modprobe coretemp ... and if nothing shows up in sensors take a look at `dmesg.
  • Greg Petersen
    Greg Petersen over 12 years
    As you can guess, it said "FATAL: Error inserting coretemp (/lib/modules/2.6.18-194.el5/kernel/drivers/hwmon/coretemp.k‌​o): No such device". dmesg shows "coretemp: Unknown CPU model 2c".
  • Fox
    Fox over 12 years
    well as the message says, you got unknown cpu cpu for your kernel. probably too new. you can try newer kernel (if such exists for your distro)
  • Flash
    Flash over 12 years
    for LM_Sensors you need to find out the scaling factors for your chip. Looking at the sensors webpage for supermicro, your main board is not listed. lm-sensors.org/wiki/Configurations/SuperMicro it might be worth trying some of the configuration for other similar boards. in either case, it is fixed by adding the appropriate configuration options in /etc/sensors.conf.
  • Greg Petersen
    Greg Petersen over 12 years
    It also shows "unspecified" value, see my updated question.