smsc47m1 ported to Linux 2.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 1) I was reading my mainboard manual and I found that there is a
> third fan connector (1 processor fan and 2 chassis fans). I have just
> two: 1 processor and 1 chassis). I confirmed at the mainboard and the
> third connector is really there. I can't test it for now.

I've read the manual too, and it says that fan3 control is optional,
depending on whether you have a 47M132 or 47M142 chip. They also say
that the CPU fan can be monitored but not controled, and that the System
fan can be monitored and controled.

> As you can see at probs2.txt, I tried some values and there are
> diffs between them. (sensors.conf and sensors output)

This is expected. The fan monitoring has limited resolution due to the
way it works. So there's nothing wrong with asking for, say, 2000 and
get 1996 or 2008 in return. It's even more true if you use a high fan
clock divider (say 8).

> I tried to put values in fan1_min.
> It didn't accepted values less than 1299 and treated it as 1300.
> I tried negative values and it didn't accept it.
> (if you "cat fan1_min" or use sensors command, the output is the
> same: 1300)

Fine, that's exactly what was supposed to happen.

Note that the actual min depends on the fan clock divider. I guess you
had a divider of 4.

> As I said, I am not using PWM (power management?), so I don't
> know how to try this. Sorry.

PWM means for "pulse width modulation" and not related to power
management at all. It's a way to control the speed of your fans.

In /sys/bus/i2c/devices/1-0800 you should see files named fan1_pwm and
fan1_pwm_enable. You can change their values to control how fast you
want your fan to spin. That's interesting if your system is not too hot
but a bit noisy. It basically lets you select a temperature/noise
tradeoff.

fan1_pwm_enable can take two values: 0 and 1. 0 means that the fan is
always running at full speed. 1 means that you can control the speed
with the second file, fan1_pwm. fan1_pwm value is between 0 (fan off,
not recommended) and 255 (full speed).

Note that depending on how the motherboard is wires, fan1_pwm can
control fan1 OR a different fan, there's no way to know. Anyway,
according to your motherboard docs, cpu fan speed is not controlable, so
you should be able to play safely with this feature (unless your fans
are not plugged in the correct headers).

If fan1_pwm doesn't seem to have any effect you can try fan2_pwm.

A test sequence would be:
echo 255 > fan1_pwm
cat fan1_pwm (should read 252)
echo 1 > fan1_pwm_enable
cat fan1_pwm_enable (should read 1)
echo 160 > fan1_pwm
cat fan1_pwm (should read 160, fan should slow down)
echo 0 > fan1_pwm_enable
cat fan1_pwm_enable (should read 0, fan should go back to full speed)

You should wait 2 seconds between each command to make sure you read the
values from the chip and not from the cache.

> If you need more information, please just tell me.

Yes. I've updated the patch:
http://khali.linux-fr.org/devel/i2c/linux-2.6/linux-2.6.8-rc2-i2c-smsc47m1-beta2.diff

I've fixed a number of corner cases, and also added some code so that
changing the fan clock divider should preserve the corresponding fan
min. I'd like you to try that:

echo 8 > fan1_div
cat fan1_div (should read 8)
echo 3000 > fan1_min
cat fan1_min (should read around, but not exactly, 3000)
echo 2 > fan1_div
cat fan1_div (should read 2)
cat fan1_min (should read around, but not exactly, 3000)
echo 4 > fan1_div
cat fan1_div (should read 4)
cat fan1_min (should read around, but not exactly, 3000)

Also, about the logs you sent, I'm a bit surprised about the alarms. You
seem to be as well... Looks like they trigger more often than they
should (i.e. if the fan speed is little above the limit). Could you
please provide a dump of your chip so that I can check why this happens?

isadump -f 0x800 0x80

And if possible the corresponding output of "sensors" with such an alarm
set.

> compute fan2_min (@+4), (@+4)

You can discard that, it's not worth it IMHO. Fan speeds are not exact
values, some noise is expected.

Thanks!

-- 
Jean "Khali" Delvare
http://khali.linux-fr.org/



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux