SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I'm not sure how to do this and I've been searching for/installing scripts for days and none seem to work.
A while ago I got sensors-detect to install correctly and sensors gave me the information but now, it seems broken and wont work correctly. Basically, I just want a way to slow my fan speeds down. Don't care if it's GUI or terminal. I'm not too sure what hardware is needed or what hardware I have for that matter. Any help is appreciated.
I had to do this for my machine, not because I wanted to slow my fans down but because I needed to speed them up. (I lost acpi fan control when I installed Slackware 12 so my fans weren't spinning up with cpu load).
First you need to get lm-sensors working correctly again. I had to first load the module for my winbond sensors at startup via an entry in rc.modules. Then lm-sensors worked consistently.
I use GKrellM to monitor my temps which is a very nice gui that came pre-installed with Slackware 12 (/usr/bin/gkrellm). I did a full-install though so whether its on your machine or not I don't know.
Then run pwmconfig as root to generate your fancontrol configuration (/etc/fancontrol). Pwmconfig will walk you through the steps and will also determine if your fans are even controllable. Once the fancontrol file is generated you can use 'fancontrol start' and 'fancontrol stop' to use it.
I borrowed a script called rc.fancontrol from this nice fella:
I had to do this for my machine, not because I wanted to slow my fans down but because I needed to speed them up. (I lost acpi fan control when I installed Slackware 12 so my fans weren't spinning up with cpu load).
First you need to get lm-sensors working correctly again. I had to first load the module for my winbond sensors at startup via an entry in rc.modules. Then lm-sensors worked consistently.
I use GKrellM to monitor my temps which is a very nice gui that came pre-installed with Slackware 12 (/usr/bin/gkrellm). I did a full-install though so whether its on your machine or not I don't know.
Then run pwmconfig as root to generate your fancontrol configuration (/etc/fancontrol). Pwmconfig will walk you through the steps and will also determine if your fans are even controllable. Once the fancontrol file is generated you can use 'fancontrol start' and 'fancontrol stop' to use it.
I borrowed a script called rc.fancontrol from this nice fella:
and added entries to /etc/rc.d/rc.local and /etc/rc.d/rc.local_shutdown to
start and stop fancontrol at startup/shutdown.
This has all worked very well for me.
Dig
Well I tried this technique and it does work... I'm testing it now to see how hot it will get with my current config file. Let's hope for no fires... Thanks
Glad it worked for you d00m1001. I recently upgraded my kernel to 2.6.23.1 and lo and behold the acpi was fixed! Now my system fans run normally again with the proper temperature thresholds so I have no need for the fancontrol script.
I get this... I presume I can trust that response? My system is quite old and very noisy!
I'm new too but it appears that either your system isn't capable of pwm fan control (you did say it's pretty old), or you don't have the sensor module loading at boot. Have you tried sensors-detect to see what it says?
Been a couple hours and no fires yet! System runs pretty fast, theres some slight slowing but it's bearable. I put a huge load on Linux and it still stands. Thanks for the help.
On newer BIOSes (like on my new computer) there is an option for automatic fan regulation, in which the fans speed up and slow down according to internal temperatures. I suppose on older systems that is not available ... still it's worth a try to check.
To load everything that is needed, add this to some /etc/rc* file:
#----cut here----
# I2C adapter drivers
modprobe i2c-viapro
# Chip drivers
# Warning: the required module eeprom is not currently installed
# on your system. For status of 2.6 kernel ports check
# http://www.lm-sensors.org/wiki/Devices. If driver is built
# into the kernel, or unavailable, comment out the following line.
modprobe eeprom
modprobe via686a
# sleep 2 # optional
/usr/bin/sensors -s # recommended
#----cut here----
Now eeprom and i2c-viapro aren't probe-able so I guess I'll need to compile them in. Then try again. gkrellm does give me data on fan speeds though at the moment, I guess the i2c is used to make settings based on that data. When I'm feeling like doing some kernel compiling I'll give it a go.
I have an NVIDIA card (geForce2 GTS) and some flag apparently gets set whenever you compile any modules which means that I have to recompile my graphics drivers ... they don't like compiling unless it's a harvest moon, low tide and the monitor is draped with year-old sage fronds ... so I tend to steer clear if I can.
Last edited by pbhj; 11-08-2007 at 05:48 PM.
Reason: error spotted
On newer BIOSes (like on my new computer) there is an option for automatic fan regulation, in which the fans speed up and slow down according to internal temperatures.
I'm trying to understand how all this works so forgive the noob question.
My computer is a low-end HP Pavilion I bought at Wal-Mart in 2004 so it's fairly old but I believe my fans are regulated by the BIOS. When running WinXP, and now the latest Linux kernel, my cpu fan and rear case fan speed up automatically as soon as my cpu temp reaches 63C. However when acpi was broken in the stock Slackware kernel my fans did not work as expected and I was forced to use the fancontrol scripts I outlined above.
Does the BIOS therefore depend on acpi to control fan speeds?
The most widely recognized element of the standard is power management, of which there have been two major improvements. First, it puts the operating system (OS) in control of power management. This stands in contrast with the previously existing APM model, which assigns power management control to the BIOS, with limited intervention from the OS. In ACPI, the BIOS provides the operating system with methods for directly controlling the low-level details of the hardware so it has nearly complete control over the power savings.
Thus, you may want to try using apm instead of acpi, especially on an older laptop. I don't think a 2004 laptop is that old, and it should work fine with acpi ... but maybe the acpi implementation in the BIOS is buggy ... so try apm. You can add 'acpi=off' to the '/etc/lilo.conf' append to turn off acpi, and if you have apm, then it will take acpi's place. Remember to run '/sbin/lilo' to update the lilo.conf after you modify it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.