Subject: Re: therm_pm72 units, interface

From: Benjamin Herrenschmidt <[email-masked]>
Date: Thu, 16 Aug 2012 07:35:51 +1000

On Wed, 2012-08-15 at 19:53 +0200, Jan Engelhardt wrote:
> About a week ago, an XServe G5 of mine started powering off more or less 
> randomly (after 1 hour, chances were good it for it to occur). A 
> problematic UPS has already been cut from the loop, and today I cleaned 
> the machine inside out with pressurized air. So far it runs, for now at 
> least, with a load >= 2.0, but I am keeping an eye on whether this is a 
> thermal issue.
> 
> To that end, I wanted to obtain some statistics. Despite 
> sensors-detect(8) loads lm87.ko for me, running sensors(1) shows no 
> sensors. Oddly enough, I found a "kfand" process running that seems to 
> stem from therm_pm72.ko, which brings me to the sysfs files.
> 
> Is there a reason sensors(1) is not supported for Rackmac3,1?
> 
> Certain sysfs files have a value with an unknown unit.
> "current" is likely in Ampere, temperature must be in Celsius
> (because there's no way the server room is 54°F=12°C cold).
> 
> Is there a way to obtain the trip points for the hardware?

BTW. There's a new windfarm driver for these in recent kernels...

Appart from that, the trip points are coming from a calibration EEPROM,
you may want to tweak the driver to warn a bit earlier or that sort of
things ? (Or just to print more things out ?)

Cheers,
Ben.

> $ cd /sys/devices/temperature; grep '' *;
> backside_fan_pwm:32
> backside_temperature:54.000
> cpu0_current:34.423
> cpu0_exhaust_fan_rpm:5340
> cpu0_intake_fan_rpm:5340
> cpu0_temperature:72.889
> cpu0_voltage:1.252
> cpu1_current:34.179
> cpu1_exhaust_fan_rpm:4584
> cpu1_intake_fan_rpm:4584
> cpu1_temperature:68.526
> cpu1_voltage:1.259
> dimms_temperature:53.000
> grep: driver: Er en filkatalog
> modalias:platform:temperature
> grep: power: Er en filkatalog
> slots_fan_pwm:20
> slots_temperature:38.500
> grep: subsystem: Er en filkatalog
> uevent:DRIVER=temperature
> uevent:OF_NAME=fan
> uevent:OF_FULLNAME=/u3@0,f8000000/i2c@f8001000/fan@15e
> uevent:OF_TYPE=fcu
> uevent:OF_COMPATIBLE_0=fcu
> uevent:OF_COMPATIBLE_N=1
> uevent:MODALIAS=of:NfanTfcuCfcu