Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: Noisy Fan
PostPosted: Sat Apr 17, 2010 5:22 pm 
Offline

Joined: Wed Feb 17, 2010 9:34 am
Posts: 25
eeePC model: 1000HE
Aurora version: Other
Anyone by chance have a script that can turn off the fan when not needed, its rather noisy I find.


Top
 Profile E-mail  
 
 Post subject: Re: Noisy Fan
PostPosted: Thu Aug 12, 2010 12:45 pm 
Offline

Joined: Wed Jul 08, 2009 12:50 am
Posts: 38
eeePC model: 1000HE
Aurora version: Beta 4.0
I have one that I wrote for my 1000HE, with a few buts.

First off, it was written for EB3, not EB4/Aurora; I haven't really tested it yet on Aurora.
In short, EB3 had a fan-control script already (from eeepc-acpi-utitilites), but I it annoyed me a bit by turning the fan up and down in steps, which was quite audible, especially when the temp hovered right at the switching point (on, off, on, off...), so I wrote my own that turned the fan up and down more gradually, to avoid the noise problem where possible.

Second, it's mostly a prototype, and written in PHP, since that is what I know best at the moment, and I had it installed on EB3 anyway. However, for several reasons, I intend to rewrite it in C soon, which shouldn't be difficult (since it's not very complex).

Thirdly, it is written with my usage pattern in mind (which keeps the Eee in powersave even on AC, and temps just under 60C), so adjustments to the temperature response might be needed for it to work well for others.
Not that this should be difficult to do, with some information on the usage pattern, desired temps, etc - but not something I can really do for you.

Fourthly, it requires the netbook module to be installed and loaded.
On EB3, this was not a problem - it pretty much came with the system, iirc - but since then, fewt has stopped supporting it, and neither it or the StatUX repository containing it is included in Aurora by default (as far as I know, and at the moment).
I have heard about people having problems with the fan speed controlling part of the module, that it sometimes would stop working (not change the fan speed despite commands telling it to), but haven't seen this problem myself.

I do know, however, that having fan control in userland is a little risky - imagine if the system crashes, or even just the fan control program, while the fan is off (or set to low speed) - and then the system load goes up, and with it the temperature, without the fan being turned on(or up), since the program controlling it isn't running anymore. The result can be overheating.

I think these things are some of the reasons Aurora and Jupiter leaves the fan control to the BIOS, which shouldn't have these problems.


On the other hand, if noise seems like a bigger problem than these things (I feel that way personally), it's certainly possible to make it run more quietly, and my script (along with the module) is one way of doing so.

If you still want it, the script is available here.
Once started, it will not exit on its own, but will keep on controlling the fan. While it runs it gives some output representing wanted and current state, that I intend to make optional in the C version.
Note also that the netbook module must be loaded and working, and that this script does not itself shift the fan control to userland - so it will not work properly unless you set the value in /proc/netbook/fan_control to 1 (setting it to 0 means the BIOS controls the fan, not the script).


Top
 Profile  
 
 Post subject: Re: Noisy Fan
PostPosted: Sun Aug 15, 2010 9:08 pm 
Offline

Joined: Wed Jul 08, 2009 12:50 am
Posts: 38
eeePC model: 1000HE
Aurora version: Beta 4.0
I've finished the C version now, it can be found here. License is GPL2 or newer.

Unlike the PHP version, this doesn't require PHP to be installed, but needs to be compiled before it can be used (the build-essential package should be enough); it sets the fan_control on its own (and tries its best to set it back to BIOS control when it exits - by handling most fatal signals); and doesn't print all that state info (unless you ask it to, and compile in support for it by setting the define). It still requires the netbook module (for obvious reasons).

To compile you can use this command:
Code:
gcc -Wall -pedantic -O3 -o fanspeed fanspeed.c

At least on my machine, it compiles with no warnings.

To make it run on each boot, I guess it could be added to the rcS file or something, or you could make an init.d script for it - I haven't done any of these things yet. Another option could be to autorun it on login, I guess, though it requires root to run (well, write access to the netbook module's proc files).


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron