Talk:Patch for controlling fan speed

From ThinkWiki
Revision as of 17:53, 19 August 2008 by Jelly (Talk | contribs) (Using sudo: trivial sudo usage hint to avoid an interactive root shell)
Jump to: navigation, search

Using sudo

Any idea why I have to use sudo -s first instead of just using sudo <command>?

  • Just using $ sudo echo 5 > /proc/acpi/ibm/fan runs the echo command as root, but the writing to the proc file is done as your user. Running $ sudo -s gives you a root shell where the write to the fan file is done as root. - Kelsin 01:16, 17 August 2008 (CEST)
  • One might, however, do $ sudo sh -c 'echo 5 > /proc/acpi/ibm/fan' instead.

Windows XP port

How would I port this patch to Windows XP?


You can't. But you can write a Windows device driver based on the specs and ibm-acpi.

--Thinker 18:54, 7 Nov 2005 (CET)

gkrellm support

I can confirm that it works on Thinkpad T43 here. However after applying the patch, the fan speed monitor of gkrellm 2.2.7 cannot read value correctly. Maybe we gkrellm is reading the second line for speed but instead find the line for level, so it got confused? Would it be possible to interchange the lines so that speed still appears in the second line and level appears in the third instead? I'm no coder, just a suggestion to improve the patch.


I'd say it's a bug in gkrellm. It should parse the line header rather than relying on line numbers. But feel free to change (and test) the patch if you wish.

--Thinker 05:14, 26 Oct 2005 (CEST)

patch to keep gkrell working against 2.6.14

As in "works for me on a T43p", use with caution at your own risk. And thanks to thinker for the original patch, very nice work.

(See article for the actual patch)


Looks excellent, why not add it to the article page? Also, care to provide a license (preferably public domain like my patch) so the kernel guys can handle it? Speaking of which, the kernel people seem to like their patches generated via "diff -up vanilla-kernel-2.6.14 patched-kernel-2.6.14".

--Thinker 22:04, 1 Nov 2005 (CET)

Done, using the -p option for diff and "borrowing" your sentence for licensing purposes.


Updated script for unpatched kernels

Moved to the ACPI fan control script article page, after joint development by Spiney and Thinker.

whats the problem kernel 2.6.14

hi all,

i patched the kernel with the patch for 2.6.14 with the option: /usr/src/linux # patch -p0 -l -i ../ibm_acpi.patch (which i copy&pasted)

they dont show me errors or so. but after i reboot and load the modul ibm_acpi i cant see any /proc/acpi/ibm/fan

whats the problem? copy&past ( tab -> space?) or is it a problem in my kernel config?

greetings and big thx from .ch,

system: ibm thinkpad t43p kernel: 2.6.14

-- 19:22, 9 Nov 2005 (CET)kru

You need to pass the "experimental=1" module parameter to ibm-acpi:

# modprobe ibm_acpi experimental=1

--Thinker 21:01, 9 Nov 2005 (CET)

big thx!!! problem solved.


Fan control does not work with Suse 10.1 ?


I successfully installed and used the fan control script on my T43p with Suse 10.0.

Yesterday, I installed Suse 10.1 from scratch. Unfortunately fan control does not work with Suse 10.1:

\# echo level 2 > /proc/acpi/ibm/fan bash: echo: write error: Invalid argument

Are there any substantial differences between Suse 10.0 and 10.1 with respect to ibm_acpi?

  • You need to pass the fan_control=1 parameter to the thinkpad_acpi module when it's loaded into the kernel. This can be done manually with
# modprobe thinkpad_acpi fan_control=1

You'll have to read up on suse config to figure out how to do that automatically. With Gentoo it involves putting a file in /etc/modprobe.d/ then running # update-modules to have it update /etc/modprobe.conf. Other distros might have you just edit /etc/modprobe.conf directly but I wouldn't know. - Kelsin 01:16, 17 August 2008 (CEST)

Speed Control Patch for 2.6.18?

Hi All. I'm trying to apply the speed control patch to vanilla 2.6.18 but it looks like it failed. Anyone who can point me to a direction for 2.6.18 patch? Thanks

ibm-acpi-0.12a-2.6.17-fan.patch broken?

The code is not completed.