Hey,
I've got a panaflo l1a 80mm, and it doesn't report its rpm back to the mainboard.
I've finally gotten temperaturesensing running on my (2.6.7) linux box.
I want to use fancontrol to control my fans, but the setup program: pwmconfig won't run, because it gets no rpm input from the fan.
Does anybody know what the "suggested" way to control fanspeed is under linux?
Thanks, Lucas
linux: controlling fanspeed without 3pin fans.
Moderators: NeilBlanchard, Ralf Hutter, sthayashi, Lawrence Lee
-
- Posts: 47
- Joined: Thu May 06, 2004 4:32 pm
- Contact:
I didn't even know that lm-sensors had the ability to control a pwm. But I checked on my machine and sure enough pwmconfig is in the /usr/sbin directory (lm-sensors 2.8.3). When I ran it on my machine it says I do not have any "pwm sensors". Which is correct. So I guess it's true that you learn something new every day.
It looks to me like this is the correct way to control fans on a linux system but it also looks like it needs rpm info to function correctly. Perhaps a newer or older version of lm-sensors would not have this requirement.
Also this is open source software so, unlike most Windows software, YOU can modify the code to work on your system. It should be possible to look at the code and see just what it does with the rpm data. Perhaps this is used to monitor the fan to make sure it is running or perhaps this is part of the speed control algorithum.
The other thing to keep in mind is that these low noise fans when speed controlled often run slow enough that the speed sensors do not work. I have a Papst 80mm fan in my PSU with an rpm line out to the mother board and most of the time I get no reading. Which means that it is running at less than 650 rpm.
Perhaps the simple thing to do would be to get a low noise fan that has rpm output. Perhaps the 80mm Papst would be a good fan to use. Very low noise and has rpm output but is more costly.
If you have another fan with rpm output, even a noisy on, you can test this to see if you can configure and control you pwms with lm-sensors.
It looks to me like this is the correct way to control fans on a linux system but it also looks like it needs rpm info to function correctly. Perhaps a newer or older version of lm-sensors would not have this requirement.
Also this is open source software so, unlike most Windows software, YOU can modify the code to work on your system. It should be possible to look at the code and see just what it does with the rpm data. Perhaps this is used to monitor the fan to make sure it is running or perhaps this is part of the speed control algorithum.
The other thing to keep in mind is that these low noise fans when speed controlled often run slow enough that the speed sensors do not work. I have a Papst 80mm fan in my PSU with an rpm line out to the mother board and most of the time I get no reading. Which means that it is running at less than 650 rpm.
Perhaps the simple thing to do would be to get a low noise fan that has rpm output. Perhaps the 80mm Papst would be a good fan to use. Very low noise and has rpm output but is more costly.
If you have another fan with rpm output, even a noisy on, you can test this to see if you can configure and control you pwms with lm-sensors.
Heya Hal,
Looks like I've got to brush up on my perl skills. I'm still a bit surprised as the fancontrol seems to be based around pwm, while I'm pretty sure controlling my fan under windows using speedfan is just done by lowering the voltage, instead of pwm.
Anyway, I'll take a crack at seeing if I can make this fancontrol script be more gentle to people that have non RPM sensing fans.
Thanks, Lucas
Looks like I've got to brush up on my perl skills. I'm still a bit surprised as the fancontrol seems to be based around pwm, while I'm pretty sure controlling my fan under windows using speedfan is just done by lowering the voltage, instead of pwm.
Anyway, I'll take a crack at seeing if I can make this fancontrol script be more gentle to people that have non RPM sensing fans.
Thanks, Lucas
I had a quick look at pwmconfig and it is a bash script that is about 616 lines long. It appears that it first checks to see what sensors you have, if these have pwms and if any have rpm readings. If this is OK it then checks to see if those with rpm readings will keep working with the pwm set to it's highest speed (is there an rpm reading with the pwn turned on?). If all of this is OK then it assumes that it is safe to run the fan control software.
It does some other stuff that is dependent on the user (does not use rpm reading from the sensor) to find the minimum start pwm value and the minimum pwm value that the fan will run at after it is started and then goes into the actual configuration.
So it looks like the rpm check is partly a CYA type of thing and to figure out which sensor actualy has a fan attached. In the section where this is checked the script loops through all of the fan sensors and builds a list of those with rpm readings. The list is stored in $GOODFAN. So if you put a fan with an rpm line on the sensor you want to get working and then echo $GOODFAN you will be able to figure out what value to hard code into your script to get it to work for you. You will also have to open the case so that you can watch what the fan is doing while you are running the config script.
You can also configure this by hand. I found this http://fresh.t-systems-sfr.com/cgi-bin/ ... ontrol.txt
Which is a document that says how to configure fancontrol by hand. It is a little bit short of details but should have enough info to get started. Also fancontrol is also a shell script so it should not be hard to figure out what it is doing. I looked at it and it does not appear to be looking at the rpm data.
Speedfan on Windows only works on motherboards that have a pwm. It does not change the voltage of the fan.
Let us know your results.
It does some other stuff that is dependent on the user (does not use rpm reading from the sensor) to find the minimum start pwm value and the minimum pwm value that the fan will run at after it is started and then goes into the actual configuration.
So it looks like the rpm check is partly a CYA type of thing and to figure out which sensor actualy has a fan attached. In the section where this is checked the script loops through all of the fan sensors and builds a list of those with rpm readings. The list is stored in $GOODFAN. So if you put a fan with an rpm line on the sensor you want to get working and then echo $GOODFAN you will be able to figure out what value to hard code into your script to get it to work for you. You will also have to open the case so that you can watch what the fan is doing while you are running the config script.
You can also configure this by hand. I found this http://fresh.t-systems-sfr.com/cgi-bin/ ... ontrol.txt
Which is a document that says how to configure fancontrol by hand. It is a little bit short of details but should have enough info to get started. Also fancontrol is also a shell script so it should not be hard to figure out what it is doing. I looked at it and it does not appear to be looking at the rpm data.
Speedfan on Windows only works on motherboards that have a pwm. It does not change the voltage of the fan.
Let us know your results.