# Voltage monitor on Supermicro motherboards



## aupanner (Feb 14, 2015)

Hi all,  Just up and running with a new (to me) Supermicro X9SCA motherboard.  The bios supports voltage monitoring via a Nuvoton NCT6776F IC.  Is there anything on the FreeBSD side that can display these values?

sysutils/bsdhwmon supports some older chips, but nothing in the X9 board world.

sysutils/superiotool can dump the NCT6776F registers but isn't into pretty formatting.

Suggestions?


----------



## junovitch@ (Feb 15, 2015)

Doesn't this just provide the info via IPMI?  That's how I access it on a Supermicro board.  Here's how I do it.

Install
`pkg install sysutils/ipmitool`

Add ipmi(4) kernel module prerequisite to boot time kernel module load list in /etc/rc.conf.
`sysrc kld_list="`sysrc -ni kld_list` ipmi"`

Load ipmi(4) kernel module now
`kldload ipmi`

Show the values
`ipmitool sdr`

Also, here is a script I used for monitoring in net-mgmt/collectd5.

```
#!/bin/sh
# Exec script for collectd to read IPMI data
HOSTNAME="${COLLECTD_HOSTNAME:-`hostname -s`}"
INTERVAL="${COLLECTD_INTERVAL:-60}"
while sleep "$INTERVAL"
    /usr/local/bin/ipmitool -c sdr \
       | awk -F',' -v HOSTNAME=$HOSTNAME -v INTERVAL=$INTERVAL \
       '/(degrees|Volts|RPM)/ \
       { gsub (/ /, "");
         print "PUTVAL", HOSTNAME"/exec-hwsensors/gauge-ipmi/"$1, "interval="INTERVAL, "N:"$2 }'
done
```


----------



## Terry_Kennedy (Feb 15, 2015)

junovitch said:


> Doesn't this just provide the info via IPMI?  That's how I access it on a Supermicro board.


Generally, only the Supermicro motherboards with models ending in "-F" have the IPMI option installed.


----------



## i386 (Feb 15, 2015)

Supermicro and Tyan boards pretty unique: they often have used non-standard formulas
for calculation voltage, temperature and even fans RPMs. Also often these boards have
two HWM chips inside! I prefer to write HWM program myself (I have written hwm program
for my old Tyan S2466 and S2505 boards). However for making program, needs to get
motherboard into my hands and datasheet for HWM chip(s).

Unfortunately I have no your motherboard(or even similar it). If you need temperature
values, maybe to try out read cores temperatures by coretemp.ko module?


----------



## aupanner (Feb 15, 2015)

Unfortunately no IPMI on my board, so that route is out.

I did find some (politics) regarding a port of OpenBSD's sensors framework to FreeBSD; perhaps I'll take a look at porting that to a current rev.

Another place to start might be http://openhardwaremonitor.org/ which has code extracting data from the chip in question.


----------



## Oko (Feb 15, 2015)

aupanner said:


> I did find some (politics) regarding a port of OpenBSD's sensors framework to FreeBSD; perhaps I'll take a look at porting that to a current rev.


You can start by looking at DragonFlyBSD port of OpenBSD sensorsd daemon. That should give you a good idea how to port it to FreeBSD. The another option is try to finish native FreeBSD hw sensor framework http://bsdhwmon.koitsu.org/ which never got finished due to the politics. I guess FreeBSD alpha males prefer buggy security ridden IPMI


----------

