All of lore.kernel.org
 help / color / mirror / Atom feed
From: Darren Hart <dvhart@linux.intel.com>
To: "lkml, " <linux-kernel@vger.kernel.org>
Cc: Jean Delvare <khali@linux-fr.org>, Wei Song <Wsong@nuvoton.com>
Subject: w83795 fan control not working
Date: Wed, 06 Apr 2011 16:41:07 -0700	[thread overview]
Message-ID: <4D9CFA13.5020709@linux.intel.com> (raw)

I haven't been able to control the fan speed using the w83795 driver.
The BIOS "Quiet" setting appears to be braindead as it runs quietly for
a while and then switches to near full throttle for a minute or so and
then returns to the previous state (this is with the system basically
idle). The temperatures (from w83795adg-i2c-0-2f) never reach anything
approaching critical:

Quiet State:
temp1:       +83.5°C  (high = +127.0°C, hyst = +127.0°C)
             (crit = +127.0°C, hyst = +127.0°C)  sensor = thermal diode
temp5:       +40.0°C  (high = +127.0°C, hyst = +127.0°C)
             (crit = +75.0°C, hyst = +70.0°C)  sensor = thermistor
temp7:       +29.5°C  (high = +95.0°C, hyst = +92.0°C)
             (crit = +95.0°C, hyst = +92.0°C)  sensor = Intel PECI
temp8:       +25.5°C  (high = +95.0°C, hyst = +92.0°C)
             (crit = +95.0°C, hyst = +92.0°C)  sensor = Intel PECI

Loud State:
...
OK, waited 10 minutes and it didn't want to scream at me. But if memory
serves, there is only a variance of a few degrees before the fans kick
in.

I'm hoping to use pwmconfig/fancontrol with the w83795 driver to restore
some sanity to the fan usage. I tried with V 0.7 on the Ubuntu 10.10
server kernel (vmlinuz-2.6.35-22-server) as well as with the current
version in the linux-2.6.git tree (2.6.39-rc1+). I'm running on the
following hardware with a pair of Intel Xeon X5680 CPUs.

SUPERMICRO MBD-X8DTL-iF-O Motherboard
http://www.supermicro.com/products/motherboard/QPI/5500/X8DTL-iF.cfm

On the following kernel:
linux-2.6.39-rc1+: 99759619b27662d1290901228d77a293e6e83200

With the experimental fan control enabled for the w83795:
$ grep 83795 .config
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83795_FANCTRL=y

The module is loaded:
$ lsmod | grep 83795
w83795                 43879  0 
pwmconfig reports the following:

---------------------------
Found the following devices:
   hwmon0/device is max1617
   hwmon1/device is w83627dhg
   hwmon2/device is w83795adg <--- So it found the device

Found the following PWM controls:
   hwmon1/device/pwm1
   hwmon1/device/pwm2
   hwmon1/device/pwm3
   hwmon2/device/pwm1
hwmon2/device/pwm1 stuck to 125 <--- This doesn't look good.
Manual control mode not supported, skipping hwmon2/device/pwm1.
   hwmon2/device/pwm2 <--- Which fans does it control?

Giving the fans some time to reach full speed...
Found the following fan sensors:
   hwmon1/device/fan1_input     current speed: 0 ... skipping!
   hwmon1/device/fan2_input     current speed: 0 ... skipping!
   hwmon1/device/fan3_input     current speed: 0 ... skipping!
   hwmon1/device/fan5_input     current speed: 0 ... skipping!
   hwmon2/device/fan1_input     current speed: 0 ... skipping!
   hwmon2/device/fan2_input     current speed: 1931 RPM <-- cpu fan

Note, the CPUs are very close together and to the rear chassis fan, this
prevents me from installing both CPU fans. I opted to keep the larger
(quieter) chassis fan adjacent to the second CPU over the second smaller
CPU fan.

   hwmon2/device/fan3_input     current speed: 0 ... skipping!
   hwmon2/device/fan4_input     current speed: 2652 RPM <-- small chassis fan
   hwmon2/device/fan5_input     current speed: 1814 RPM <-- large chassis fan
   hwmon2/device/fan6_input     current speed: 0 ... skipping!

---------------------------

The fans didn't change speed during the pwmconfig run. I did allow it to
switch all the pwm controls to manual mode.

Fans 2, 4, and 5 below should be connected via the w83795 driver as far as I can tell:
$ rage-ipmi.sh sensor
FAN 1            | na         | RPM        | na    | na        | na        | na        | na        | na        | na        
FAN 2            | 1936.000   | RPM        | ok    | 400.000   | 576.000   | 784.000   | 33856.000 | 34225.000 | 34596.000 
FAN 3            | na         | RPM        | na    | na        | na        | na        | na        | na        | na        
FAN 4            | 2704.000   | RPM        | ok    | 400.000   | 576.000   | 784.000   | 33856.000 | 34225.000 | 34596.000 
FAN 5            | 1764.000   | RPM        | ok    | 400.000   | 576.000   | 784.000   | 33856.000 | 34225.000 | 34596.000 
FAN 6            | na         | RPM        | na    | na        | na        | na        | na        | na        | na        
CPU1 Vcore       | 0.952      | Volts      | ok    | 0.776     | 0.800     | 0.824     | 1.352     | 1.376     | 1.400     
CPU2 Vcore       | 0.952      | Volts      | ok    | 0.776     | 0.800     | 0.824     | 1.352     | 1.376     | 1.400     
CPU1 DIMM        | 1.520      | Volts      | ok    | 1.288     | 1.312     | 1.336     | 1.656     | 1.680     | 1.704     
CPU2 DIMM        | 1.520      | Volts      | ok    | 1.288     | 1.312     | 1.336     | 1.656     | 1.680     | 1.704     
+1.5 V           | na         | Volts      | na    | na        | na        | na        | na        | na        | na        
+5 V             | 5.056      | Volts      | ok    | 4.416     | 4.448     | 4.480     | 5.536     | 5.568     | 5.600     
+5VSB            | 5.056      | Volts      | ok    | 4.416     | 4.448     | 4.480     | 5.536     | 5.568     | 5.600     
+12 V            | 12.137     | Volts      | ok    | 10.600    | 10.653    | 10.706    | 13.250    | 13.303    | 13.356    
-12 V            | -11.904    | Volts      | ok    | -13.650   | -13.456   | -13.262   | -10.546   | -10.352   | -10.158   
VTT              | 1.112      | Volts      | ok    | 0.808     | 0.816     | 0.824     | 1.320     | 1.336     | 1.352     
+3.3VCC          | 3.264      | Volts      | ok    | 2.880     | 2.904     | 2.928     | 3.648     | 3.672     | 3.696     
+3.3VSB          | 3.264      | Volts      | ok    | 2.880     | 2.904     | 2.928     | 3.648     | 3.672     | 3.696     
VBAT             | 3.096      | Volts      | ok    | 2.880     | 2.904     | 2.928     | 3.648     | 3.672     | 3.696     
CPU1 Temp        | 0x1        | discrete   | 0x0000| na        | na        | na        | na        | na        | na        
CPU2 Temp        | 0x1        | discrete   | 0x0000| na        | na        | na        | na        | na        | na        
System Temp      | 40.000     | degrees C  | ok    | -9.000    | -7.000    | -5.000    | 75.000    | 77.000    | 79.000    
P1-DIMM1A        | 37.000     | degrees C  | ok    | -9.000    | -7.000    | -5.000    | 65.000    | 70.000    | 75.000    
P1-DIMM2A        | na         | degrees C  | na    | na        | na        | na        | na        | na        | na        
P1-DIMM3A        | na         | degrees C  | na    | na        | na        | na        | na        | na        | na        
P2-DIMM1A        | 37.000     | degrees C  | ok    | -9.000    | -7.000    | -5.000    | 65.000    | 70.000    | 75.000    
P2-DIMM2A        | na         | degrees C  | na    | na        | na        | na        | na        | na        | na        
P2-DIMM3A        | na         | degrees C  | na    | na        | na        | na        | na        | na        | na        
Chassis Intru    | 0x0        | discrete   | 0x0000| na        | na        | na        | na        | na        | na        
PS Status        | 0x1        | discrete   | 0x01ff| na        | na        | na        | na        | na        | na        


dmesg reports:
$ dmesg | grep 83795
[   12.643929] i2c i2c-0: Found w83795adg rev. B at 0x2f
[   12.883789] w83795 0-002f: PECI agent 1 Tbase temperature: 100
[   12.903779] w83795 0-002f: PECI agent 2 Tbase temperature: 100
[ 2288.932629] w83795 0-002f: Failed to read from register 0x030, err -6
[ 2613.292773] w83795 0-002f: Failed to write to register 0x040, err -6
[ 2693.333461] w83795 0-002f: Failed to read from register 0x01e, err -11

Am I doing something wrong? Can I provide any additional information to
help narrow down what might be wrong?

Thanks!

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel

                 reply	other threads:[~2011-04-06 23:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D9CFA13.5020709@linux.intel.com \
    --to=dvhart@linux.intel.com \
    --cc=Wsong@nuvoton.com \
    --cc=khali@linux-fr.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.