Temperature Monitoring on ATOM board



  • I've got an X7SLA-H-O Atom 330 motherboard in a SuperMicro case running pfSense 2.0-RC1 (latest updates as of 03/10/2011.  This whole setup is sitting on an HP ProCurve 1810G-24 switch.  Every once in a while, the pfSense box's fans will kick in on over drive.  They stop after a few minutes.  However, I'd like to figure this out and stop it from happening.  I can't seem to find any temperatures when I run:

    
    [2.0-RC1][root@pfsense.MYNETWORK.localdomain]/var/log(9): sysctl hw.acpi.thermal
    sysctl: unknown oid 'hw.acpi.thermal'
    
    

    This chipset is all Intel, so I'm wondering why I'm not able to query the temperature.  It's entirely possible that the hardware is not supported.  However, I'd like someone else to confirm or deny this.  Any help would be appreciated.  Thanks!

    Jim



  • i would install mbmon

    if your running embedded u need to make it rw first if not just run the "pkg_add -r mbmon" command

    
    /etc/rc.conf_mount_rw
    pkg_add -r mbmon
    /etc/rc.conf_mount_ro
    
    

    then run this to display stats

    
    /usr/local/bin/mbmon -I
    
    

    it will just loop and keep displaying until you hit <control><c>hope that works</c></control>



  • jdetmold:

    Thanks for your response!  I ran the following commands, however, it doesn't look like my mobo is supported.  Odd as it's an Intel chipset.

    
    [2.0-RC1][root@pfsense.MYNETWORK.localdomain]/root(1): pkg_add -r mbmon
    Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/mbmon.tbz... Done.
    [2.0-RC1][root@pfsense.MYNETWORK.localdomain]/root(2): /usr/local/bin/mbmon -I
    No ISA-IO HWM available!!
    InitMBInfo: Unknown error: 0
    [2.0-RC1][root@pfsense.MYNETWORK.localdomain]/root(3): 
    
    

    It's just so odd that it doesn't happen regularly.  I've ordered a SATA to CF flash adapter, so I'm hoping that taking the HDD out will lower the heat in there.  Thanks for your idea!  Am I just out of luck?

    Jim


  • Netgate Administrator

    mbmon can use other meathods to talk to a sensor, try 'mbmon -d' to look for other chips.

    It probably won't work though as you won't have any smbus drivers loaded, unless you've altered stuff.

    You could try one of the other hardware monitoring programs though.

    Try the superiotool package to see which superio chip you have (usually what monitors temperature).

    Steve



  • After doing a quick search on the "Tubes", I found someone else with the same issue.  So I ran the following commands:

    
    [2.0-RC1][root@pfsense.MYNETWORK.localdomain]/root(1): /usr/local/bin/mbmon -I
    No ISA-IO HWM available!!
    InitMBInfo: Unknown error: 0
    [2.0-RC1][root@pfsense.MYNETWORK.localdomain]/root(2): /usr/local/bin/mbmon -d
    Using ISA-IO access method!!
    * Winbond Chip W83627HF/THF/THF-A found.
    [2.0-RC1][root@pfsense.MYNETWORK.localdomain]/root(3): /usr/local/bin/mbmon 
    
    Temp.= 46.0, 55.0, 127.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 46.0, 55.0, 127.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    ^C
    [2.0-RC1][root@pfsense.MYNETWORK.localdomain]/root(4): 
    
    

    I'm taking this to mean that the temperatures are actually being detected (~55C).  I don't know what the other numbers mean (55, 127.5).  I'm guessing 127.5 is the max, and 46 the low, but those are guesses.



  • I happened to catch the router doing it's fan thing.  Here is what mbmon shows.

    
    [2.0-RC1][root@pfsense.MYNETWORK.localdomain]/root(4): /usr/local/bin/mbmon
    
    Temp.= 46.0, 55.0, 127.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 46.0, 54.5, 127.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 46.0, 54.0, 127.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 46.0, 53.5, 127.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 45.0, 53.0, 127.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 45.0, 53.0, 127.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 45.0, 53.0, 125.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 45.0, 52.5, 124.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 45.0, 52.0, 122.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 44.0, 51.5, 121.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 44.0, 51.0, 120.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 44.0, 50.5, 119.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 44.0, 50.5, 117.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 43.0, 50.5, 116.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 43.0, 49.5, 115.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 43.0, 49.5, 114.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 43.0, 49.0, 112.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 43.0, 49.0, 111.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 43.0, 49.0, 110.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 43.0, 48.0, 109.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 43.0, 48.5, 108.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 43.0, 48.0, 107.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 48.0, 106.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 47.5, 105.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 47.5, 104.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 47.0, 103.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 47.0, 102.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 47.0, 101.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 46.5, 100.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 46.0, 99.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 46.0, 98.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 46.0, 97.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 45.5, 96.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 45.5, 95.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 45.5, 94.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 42.0, 45.5, 93.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 45.0, 92.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 45.0, 91.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 45.0, 90.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 45.0, 89.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 44.5, 88.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 44.5, 88.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 44.0, 87.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 44.0, 86.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 43.5, 86.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 43.5, 85.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 43.5, 84.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 43.5, 84.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 43.5, 83.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 43.5, 82.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 43.0, 81.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 43.0, 81.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 43.0, 80.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 42.5, 79.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 42.5, 79.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 42.5, 78.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 42.5, 78.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 42.5, 77.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 42.5, 76.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 40.0, 42.5, 76.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 40.0, 42.5, 75.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 40.0, 42.5, 74.5; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 42.5, 74.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    
    Temp.= 41.0, 42.5, 74.0; Rot.=    0,    0,    0
    Vcore = 2.32, 3.73; Volt. = 3.33, 5.59, 14.04,  -2.16,  1.69
    ^C
    [2.0-RC1][root@pfsense.MYNETWORK.localdomain]/root(5): 
    
    

    The first three numbers went down as the fan was running.  The fan turned off at the end of the code I pasted in.  Now I'm seeing that the three numbers are increasing again.  Obviously, more heat is being generated in there.  Not great.  I really hope this CF adapter puts out less heat.  However, if it comes down to it, I guess I could put in a fan along the back.  Something quiet to keep the whole rig cooler. :-(  I'll try the other program you suggested.  My ultimate goal would be to graph this data, however, that might be out of the range of the RRD graphs.  Thanks!

    Jim


  • Netgate Administrator

    It's hard to say what the three numbers are. If I had to guess I would say the first one is a chipset sensor the second one a cpu sensor and the last one is unconnected and is giving you a value relative to ambient, which will decrease when the fans are on.
    Interesting that it doesn't see the fans spinning up.
    There's no need to try superiotool as you can see it's a Winbond 83627-XX chip.
    The best thing to try is wait until the temperatures are reasonably stable and then reboot into the bios and compare.
    On my own system the reported temperature is dependent on cpu load. If I load the cpu it jumps by 10° instantly! Obviously this can't happen in the real universe.  ::)

    You could try the coretemp(4) driver. I'm seeing mixed reports on Atoms.

    Steve



  • I've been trying to get coretemp(4) working on my 2.0 RC1 box running on an Atom N270 motherboard. I followed the instructions from http://www.unix.com/man-page/freebsd/4/coretemp/ to run it at boot by adding 'coretemp_load="YES"' to loader.conf, which I succeeded in doing. When I SSH in and enter coretemp(4) I get "coretemp: command not found".

    I then tried to find the kernel configuration file so I could add "device coretemp" to it but couldn't find the file  /usr/src/sys/i386/conf .  Where is the configuration file and how do I add to it?

    P.S. I also tried mbmon but it didn't recognize my hardware.

    Thanks,
    Michael


  • Netgate Administrator

    Coretemp reports it's results via syscontrols. You need to view them like so:

    sysctl dev.cpu.0.temperature
    

    Typed at the command line.

    Steve



  • Thanks for the directions.  When I enter it I get:

    [2.0-RC1][admin@pfsense.brownhome.local]/root(2): sysctl dev.cpu.0.temperature
    sysctl: unknown oid 'dev.cpu.0.temperature'
    
    

    So I looked up some other permutations which yielded the following results:

    
    [2.0-RC1][admin@pfsense.brownhome.local]/root(3): sysctl hw.acpi.thermal
    sysctl: unknown oid 'hw.acpi.thermal'
    [2.0-RC1][admin@pfsense.brownhome.local]/root(5): sysctl -a |egrep -E "cpu\.[0-9]+\.temp"
    [2.0-RC1][admin@pfsense.brownhome.local]/root(6):
    [2.0-RC1][admin@pfsense.brownhome.local]/root(8): sysctl hw.acpi.thermal.tz0.temperature
    sysctl: unknown oid 'hw.acpi.thermal.tz0.temperature'
    [2.0-RC1][admin@pfsense.brownhome.local]/root(9):
    
    

    My guess is that if coretemp were to work I might need a different oid.  Is there some place I can find a list of possible oid's to try?  Also, is acpi_thermal typically loaded by the kernel or should I add it to loader.conf? (If I do need to add it is the syntax acpi_thermal _load="YES"?)

    FWIW, here's the output from mbmon:

    
    [2.0-RC1][admin@pfsense.brownhome.local]/root(22): mbmon -A
    InitMBInfo: Unknown error: 0
    This program needs "setuid root"!!
    
    

    I have not idea how to "setuid root"
    Many Thanks
    Michael



  • Indesman: Check out this thread
    http://forum.pfsense.org/index.php/topic,39595.0.html

    To other people searching for monitoring CPU temp on Atom boards and having similar issues as presented in this topic - click the above link too.


Locked