VMware Cloud Community
Regressor
Contributor
Contributor

Asus motherboard and sensors data

Hi. I installed vsphere on asus b85m-g motherboard and can't see any temperature/fan speed sensors data on health status page. There is only processor/memory/software info.

When I start smbiosDump command in console I get some unparsed sensors data:

Dumping live SMBIOS data!

  BIOS Info: #0

    Size: 0x00018

    Vendor: "American Megatrends Inc."

    Version: "2501"

    Date: "07/22/2015"

    Start Address: 0xf0000

    ROM Size: 8192 kB

    Features: 0x0d03000000013f8b9c80

      PCI supported

      APM supported

      BIOS flashable

      BIOS shadowing allowed

      CD boot supported

      Selectable boot supported

      BIOS ROM socketed

      EDD spec supported

      1.2MB Floppy supported

      720kB Floppy supported

      2.88MB Floppy supported

      Print Screen supported

      8042 Keyboard Services supported

      Serial Services supported

      Printer Services supported

      ACPI supported

      USB Legacy supported

      BIOS Boot Spec supported

      Enable targeted content distribution

      UEFI supported

  System Info: #1

    Manufacturer: "ASUS"

    Product: "All Series"

    Version: "System Version"

    Serial: "System Serial Number"

    UUID: 427475dc562cd98511e5861ac65337e0

    Wake-up: 0x06 (Power Switch)

  Board Info: #2

    Manufacturer: "ASUSTeK COMPUTER INC."

    Product: "B85M-G"

    Version: "Rev X.0x"

    Serial: "151158034404308"

    Asset Tag: "To be filled by O.E.M."

    Type: 0x0a (Motherboard)

    Features: 0x09

      Hosting Board

      Replaceable

    Location: "To be filled by O.E.M."

    Chassis: #3

  Chassis Info: #3

    Manufacturer: "Chassis Manufacture"

    Version: "Chassis Version"

    Serial: "Chassis Serial Number"

    Asset Tag: "Asset-1234567890"

    Type: 0x03 (Desktop)

    Bootup State: 0x03 (Safe)

    Power Supply State: 0x03 (Safe)

    Thermal State: 0x03 (Safe)

    Security Status: 0x03 (None)

...

  On Board Devices: #29

    Ethernet: "Onboard Ethernet"

    Sound: "Onboard Audio"

  Hardware Security: #32

    Power-on Password: 0x00 (Disabled)

    Keyboard Password: 0x00 (Disabled)

    Admin Password: 0x00 (Disabled)

    Front Panel Reset: 0x00 (Disabled)

  Type 32 Record: #33

    Data 00: 20 14 21 00 00 00 00 00 00 00 00 00 00 00 00 00

    Data 10: 00 00 00 00

  Type 34 Record: #34

    Data 00: 22 0b 22 00 01 01 95 02 00 00 03

    String 1: "Nuvoton NCT6791D"

  Type 26 Record: #35

    Data 00: 1a 16 23 00 01 00 00 80 00 80 00 80 00 80 00 80

    Data 10: 00 00 00 00 00 80

    String 1: "LM78A"

  Type 36 Record: #36

    Data 00: 24 10 24 00 01 00 02 00 03 00 04 00 05 00 06 00

  Type 35 Record: #37

    Data 00: 23 0b 25 00 01 22 00 22 00 23 00

    String 1: "To Be Filled By O.E.M."

  Type 28 Record: #38

    Data 00: 1c 16 26 00 01 00 00 80 00 80 00 80 00 80 00 80

    Data 10: 00 00 00 00 00 80

    String 1: "LM78A"

  Type 36 Record: #39

    Data 00: 24 10 27 00 01 00 02 00 03 00 04 00 05 00 06 00

  Type 35 Record: #40

    Data 00: 23 0b 28 00 01 22 00 25 00 26 00

    String 1: "To Be Filled By O.E.M."

  Type 27 Record: #41

    Data 00: 1b 0f 29 00 26 00 12 01 00 00 00 00 00 80 01

    String 1: "Cooling Dev 1"

  Type 36 Record: #42

    Data 00: 24 10 2a 00 01 00 02 00 03 00 04 00 05 00 06 00

  Type 35 Record: #43

    Data 00: 23 0b 2b 00 01 22 00 28 00 29 00

    String 1: "To Be Filled By O.E.M."

  Type 27 Record: #44

    Data 00: 1b 0f 2c 00 26 00 12 01 00 00 00 00 00 80 00

  Type 36 Record: #45

    Data 00: 24 10 2d 00 01 00 02 00 03 00 04 00 05 00 06 00

  Type 35 Record: #46

    Data 00: 23 0b 2e 00 01 22 00 2b 00 2c 00

    String 1: "To Be Filled By O.E.M."

  Type 29 Record: #47

    Data 00: 1d 16 2f 00 01 00 00 80 00 80 00 80 00 80 00 80

    Data 10: 00 00 00 00 00 80

    String 1: "ABC"

  Type 36 Record: #48

    Data 00: 24 10 30 00 00 80 00 80 00 80 00 80 00 80 00 80

  Type 35 Record: #49

    Data 00: 23 0b 31 00 01 22 00 2e 00 2c 00

    String 1: "To Be Filled By O.E.M."

  Type 26 Record: #50

    Data 00: 1a 16 32 00 01 6a 00 80 00 80 00 80 00 80 00 80

    Data 10: 00 00 00 00 00 80

    String 1: "LM78A"

  Type 28 Record: #51

    Data 00: 1c 16 33 00 01 6a 00 80 00 80 00 80 00 80 00 80

    Data 10: 00 00 00 00 00 80

    String 1: "LM78A"

  Type 27 Record: #52

    Data 00: 1b 0f 34 00 33 00 67 01 00 00 00 00 00 80 01

    String 1: "Cooling Dev 1"

  Type 29 Record: #53

    Data 00: 1d 16 35 00 01 6a 00 80 00 80 00 80 00 80 00 80

    Data 10: 00 00 00 00 00 80

    String 1: "ABC"

  Type 39 Record: #54

    Data 00: 27 16 36 00 01 01 02 03 04 05 06 07 00 80 a2 11

    Data 10: 32 00 34 00 35 00

    String 1: "To Be Filled By O.E.M."

    String 2: "To Be Filled By O.E.M."

    String 3: "To Be Filled By O.E.M."

    String 4: "To Be Filled By O.E.M."

    String 5: "To Be Filled By O.E.M."

    String 6: "To Be Filled By O.E.M."

    String 7: "To Be Filled By O.E.M."

  Type 41 Record: #55

    Data 00: 29 0b 37 00 01 85 01 00 00 00 c8

    String 1: "Onboard LAN"

  Type 41 Record: #56

    Data 00: 29 0b 38 00 01 81 01 00 00 03 e7

    String 1: "Onboard 1394"

  Type 41 Record: #57

    Data 00: 29 0b 39 00 01 83 01 00 00 00 10

    String 1: "Onboard IGD"

  Type 139 Record: #58

    Data 00: 8b 36 3a 00 fe dc ba 98 76 54 32 10 04 04 32 55

    Data 10: f8 00 a2 02 a1 00 40 63 06 11 44 30 03 df 40 b2

    Data 20: 00 20 00 73 3c 10 08 00 00 00 00 00 00 00 00 00

    Data 30: 00 00 00 00 00 01

    String 1: "V1394GUID"

  Memory Device: #59

    Location: "ChannelA-DIMM0"

    Bank: "BANK 0"

    Manufacturer: "Kingston"

    Serial: "68352851"

    Asset Tag: "9876543210"

    Part Number: "KHX1600C9D3/8GX"

    Memory Array: #60

    Form Factor: 0x09 (DIMM)

    Type: 0x18 (DDR3)

    Type Detail: 0x0080 (Synchronous)

    Data Width: 64 bits

    Size: 8 GB

    Speed: 1600 MHz

  Physical Memory Array: #60

    Use: 0x03 (System memory)

    Location: 0x03 (Motherboard)

    Slots: 4

    Max. Size: 32 GB

    ECC: 0x03 (None)

  Memory Device Mapping: #61

    Memory Device: #59

    Array Mapping: #68

    Start Address: 0x0000000000000000

    End Address: 0x0000000200000000

  Memory Device: #62

    Location: "ChannelA-DIMM1"

    Bank: "BANK 1"

    Manufacturer: "Kingston"

    Serial: "67352E64"

    Asset Tag: "9876543210"

    Part Number: "KHX1600C9D3/8GX"

    Memory Array: #60

    Form Factor: 0x09 (DIMM)

    Type: 0x18 (DDR3)

    Type Detail: 0x0080 (Synchronous)

    Data Width: 64 bits

    Size: 8 GB

    Speed: 1600 MHz

  Memory Device Mapping: #63

    Memory Device: #62

    Array Mapping: #68

    Start Address: 0x0000000400000000

    End Address: 0x0000000600000000

  Memory Device: #64

    Location: "ChannelB-DIMM0"

    Bank: "BANK 2"

    Manufacturer: "Kingston"

    Serial: "68352651"

    Asset Tag: "9876543210"

    Part Number: "KHX1600C9D3/8GX"

    Memory Array: #60

    Form Factor: 0x09 (DIMM)

    Type: 0x18 (DDR3)

    Type Detail: 0x0080 (Synchronous)

    Data Width: 64 bits

    Size: 8 GB

    Speed: 1600 MHz

  Memory Device Mapping: #65

    Memory Device: #64

    Array Mapping: #68

    Start Address: 0x0000000200000000

    End Address: 0x0000000400000000

  Memory Device: #66

    Location: "ChannelB-DIMM1"

    Bank: "BANK 3"

    Manufacturer: "Kingston"

    Serial: "65353064"

    Asset Tag: "9876543210"

    Part Number: "KHX1600C9D3/8GX"

    Memory Array: #60

    Form Factor: 0x09 (DIMM)

    Type: 0x18 (DDR3)

    Type Detail: 0x0080 (Synchronous)

    Data Width: 64 bits

    Size: 8 GB

    Speed: 1600 MHz

  Memory Device Mapping: #67

    Memory Device: #66

    Array Mapping: #68

    Start Address: 0x0000000600000000

    End Address: 0x0000000800000000

  Memory Array Mapping: #68

    Memory Array: #60

    Partition Width: 4

    Start Address: 0x0000000000000000

    End Address: 0x0000000800000000

  Cache Info: #69

    Designation: "CPU Internal L1"

    Level: L1

    State: Enabled

    Mode: 0x01 (Write Back)

    Location: 0x00 (Internal, Not Socketed)

    ECC: 0x05 (Single-bit)

    Type: 0x01 (Other)

    Associativity: 0x07 (8-way Set-Associative)

    Max. Size: 256 kB

    Current Size: 256 kB

    Supported SRAM Types: 0x0002 (Unknown)

    Current SRAM Type: 0x0002 (Unknown)

  Cache Info: #70

    Designation: "CPU Internal L2"

    Level: L2

    State: Enabled

    Mode: 0x01 (Write Back)

    Location: 0x00 (Internal, Not Socketed)

    ECC: 0x05 (Single-bit)

    Type: 0x05 (Unified)

    Associativity: 0x07 (8-way Set-Associative)

    Max. Size: 1024 kB

    Current Size: 1024 kB

    Supported SRAM Types: 0x0002 (Unknown)

    Current SRAM Type: 0x0002 (Unknown)

  Cache Info: #71

    Designation: "CPU Internal L3"

    Level: L3

    State: Enabled

    Mode: 0x01 (Write Back)

    Location: 0x00 (Internal, Not Socketed)

    ECC: 0x05 (Single-bit)

    Type: 0x05 (Unified)

    Associativity: 0x09 (12-way Set-Associative)

    Max. Size: 6144 kB

    Current Size: 6144 kB

    Supported SRAM Types: 0x0002 (Unknown)

    Current SRAM Type: 0x0002 (Unknown)

  Processor Info: #75

    Payload length: 0x2a

    Socket: "SOCKET 1150"

    Socket Type: 0x24 (Socket LGA1155)

    Socket Status: Populated

    Type: 0x03 (CPU)

    Family: 0x01 (Other)

    Manufacturer: "Intel"

    Version: "Intel(R) Core(TM) i5-4430 CPU @ 3.00GHz"

    Asset Tag: "Fill By OEM"

    Part Number: "Fill By OEM"

    Processor ID: 0xbfebfbff000306c3

    Status: 0x01 (Enabled)

    Voltage: 1.2 V

    External Clock: 100 MHz

    Max. Speed: 3900 MHz

    Current Speed: 3016 MHz

    L1 Cache: #69

    L2 Cache: #70

    L3 Cache: #71

    Core Count: #4

    Core Enabled Count: #4

    Thread Count: #4

  Type 136 Record: #80

    Data 00: 88 06 50 00 00 00

  Type 131 Record: #81

    Data 00: 83 40 51 00 31 00 00 00 00 00 00 00 00 00 00 00

    Data 10: f8 00 50 8c 00 00 00 00 01 20 00 00 00 00 09 00

    Data 20: ca 05 1e 00 00 00 00 00 c8 00 ff ff 00 00 00 00

    Data 30: 00 00 00 00 66 00 00 00 76 50 72 6f 00 00 00 00

  Language Info: #82

    Languages: en|US|iso8859-1, fr|FR|iso8859-1, es|ES|iso8859-1, de|DE|iso8859-1, ru|RU|iso8859-5, ko|KR|unicode, ja|JP|unicode, zh|CN|unicode

    Current: ru|RU|iso8859-5

I made some investigation and it looks like smbiosDump is a wrapper over a custom libhd.so.18 library.

Is there any way to make some config/description/provider or recompiled libhd to get these data parsed ?

Reply
0 Kudos
4 Replies
Regressor
Contributor
Contributor

Downloaded libhw sources. It looks like it doesn't projected to read temperature sensors.

So now I'm looking for a guide to write a esxi cim provider....

Reply
0 Kudos
JarryG
Expert
Expert

From what I know, fort data-acquisition of temperature/fan-speed/voltage values not a smis-provider, but a package called "lm_sensors" is used on ESXi. I have spent many hours trying to get this software work properly on my linux-server and the best I can say about it is: it is "rather tricky" piece of software. But first you have to check what sensor-chips are on your motherboard, and if they are supported by lm_sensors (I think VMware dropped support of some/many consumer-grade chips from lm_sensors). Try to run "sensors-detect" (I do not remember if it is included in ESXi; if not, boot some live-cd) to find if it can see some sensors on your motherboard at all. This might be easily the biggest obstacle. If not, you'd have to re-compile lm_sensors and update the version on ESXi, which might not be trivial task...

And even if your chip is supported, data you get still might not be correct (i.e. you can get negative value for fan-speed or some crazy temperature-readings with mixed F/C degrees) and this would trigger errors/warnings in health status page. The thing to do is proper lm_sensors configuration, where necessary re-calculation coefficients and/or offset-values have to be defined. This is more like trial-and-error work and might take some time. If for example you see "-11.8V" for "12V" reading, the question is: do you get proper value by applying the multiplier (-1), or by adding constant +24? Etc, etc. Really not easy, and I think VMware did this only for server-grade motherboards you can find on HCL (and not even all of them)...

_____________________________________________ If you found my answer useful please do *not* mark it as "correct" or "helpful". It is hard to pretend being noob with all those points! 😉
Reply
0 Kudos
Regressor
Contributor
Contributor

There is no lm_sensors in esxi 5.5.

The sensors data could be taken from smbiosDump command (just parse some unparsed data). The only way to inject it inside vsphere/web client is a custom CIM provider.

I found a pycim middleware allowing to create python based CIM providers but can't figure out how to get it working.

I made simple python CIM provider, registered it to sfcb but got this in log:

2016-02-01T23:11:52Z sfcbd: The CIM vmw_smbsensors Provider is disabled

Stil can't get it enabled Smiley Sad  There is no documentation at all Smiley Sad

Reply
0 Kudos
JarryG
Expert
Expert

You may be right. The last time I played with this it was ESXi 5.0. Anyway, there are hundreds of hw-monitoring chips (and specification is opened only for some of them). I can not imagine how one single universal script could work for all of them (unless it reads bios-values directly)...

_____________________________________________ If you found my answer useful please do *not* mark it as "correct" or "helpful". It is hard to pretend being noob with all those points! 😉
Reply
0 Kudos