<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PJBrs</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PJBrs"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/PJBrs"/>
	<updated>2026-05-09T05:10:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=55665</id>
		<title>Talk:Problem with unauthorized MiniPCI network card</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=55665"/>
		<updated>2014-06-03T11:58:50Z</updated>

		<summary type="html">&lt;p&gt;PJBrs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solution for R32, T43, T6x ==&lt;br /&gt;
Basically solved [http://forum.thinkpads.com/viewtopic.php?t=55837 here]. Will be finalized into some user-friendly thing hopefully.&lt;br /&gt;
&lt;br /&gt;
== Affected Models ==&lt;br /&gt;
I am unsure about which models this applies to.  I have seen reports of this problem affecting a T41p, T43, X40, R31, X31, and T30; but I do not know how far back this problem goes or if there are exceptions.  If anyone has better information, please clarify/specify the &amp;quot;Affected Models&amp;quot; section. --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
I have a R40 model 2681-K9G that came without any mini-pci card so I bought a Intel PRO/Wireless 2915ABG mini-pci card for it. When I discovered that it would not work in my Thinkpad I came to this site to see if there was a fix. Seemed like there was, so I bought a mini-pci-to-PCI adapter and installed the card(s) in my desktop. Now I need to know what vendor and device ID strings to use when I flash the card's BIOS. Anyone have a list?&lt;br /&gt;
&lt;br /&gt;
== Solution on T43? ==&lt;br /&gt;
There were several edits to the previous page to the effect that &amp;quot;this didn't work for my T43&amp;quot;.  Although I do not weight this as highly credible (please just ask for help on the ML rather than adding random comments to pages), I did feel that it deserved a mention that the solution may not work on the T43.  If anyone can confirm or deny this statement, please do so (and possibly ask on the ML for solutions if it does not work for you). --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Confirmation - patch not working on T43 ==&lt;br /&gt;
I can confirm, that a &amp;quot;nvram/cmos&amp;quot; patch is not working on my T43, exact type 1871-A62. I tried several cards (some working without patch in another thinkpads (t40, t42, x40), but no success.--[[User:Jap|Jap]] 09:50, 13 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Hotplugging PCI device ==&lt;br /&gt;
I'd like to send out a '''BIG FAT WARNING''' that 'hotplugging' the mini-PCI card can easily lead to frying the system board, mini-PCI bus, or both. Yes, it happened to me... :-( Interrupting the boot process at the lilo boot menu, and then inserting the ipw2915abg card worked as a charm to circumvent the BIOS white list. However, somewhere it must have gone wrong because now the laptop hangs immediately when the IBM/Intel boot logos appear. --[[User:LJSBrokken|LJSBrokken]] 13:01, 20 July 2006 (GMT+1)&lt;br /&gt;
&lt;br /&gt;
== Z60 series ==&lt;br /&gt;
I tried this on a Lenovo Z60t. Bought an Intel Wireless card since the linux drivers for the madwifi are crap. I applied the C-Patch from here. Then after booting with the intel device installed I get some weird broadcom PXE boot messages displayed ontop of the key symbol for startup security. Even if I don't put my finger on the sensor, it continues with GRUB. At this point I can't use the keyboard, the key symbol is still displayed in the upper left corner. After a few secons grub starts with its default entry (Gentoo Linux). It all works, but no Wireless Adapter shows up in lspci.&lt;br /&gt;
&lt;br /&gt;
So, I don't have that 1802 error, but still can't use my wifi card. Any ideas?&lt;br /&gt;
&lt;br /&gt;
== Z60t ==&lt;br /&gt;
I have tested the C code in my Z60t. I have BIOS 1.24 and Embedded Controller 1.18.&lt;br /&gt;
Nvram was succesfully changed, but no difference in how the bios work: with original card works properly and no strange errors. With Atheros AR9285: still Unauthorized error. &lt;br /&gt;
--[[User:Msxisalive|Msxisalive]] 20:20, 15 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== G40 series ==&lt;br /&gt;
According to [[http://www.wifi-forum.com/wf/showthread.php?t=60620|this forum post]], the CMOS hack (I assume they are referring to the bit-twiddling code) works.  Does anyone else have anything to confirm this?  I might well try it myself (in which case I'll update the main table), but I'll have to at least get an aerial first.&lt;br /&gt;
&lt;br /&gt;
[[User:lentinj|lentinj]]&lt;br /&gt;
&lt;br /&gt;
== no dice on T43 ==&lt;br /&gt;
&lt;br /&gt;
Also can confirm the T43 is much more resistant to the unauthorized mini pci card problem. No 1802 didn't work (it worked for my T40). Changing the PCI class id to 0x0280 (networking device - other) also didn't shake the message. Finally, I tried to masquerade the card as a one of the whitelisted ones via the ath_info utility from madwifi. I made a mistake at this point and didn't update the subsystem vendor id / subsystem device id, just the primary pci vendor and device ids. I *still* got the warning message, and now the ath driver doesn't pick up the card, so I can't use ath_info. The card is basically bricked, unless I find time (ha ha) for some kernel hacking. Moral of the story is be careful with ath_info.&lt;br /&gt;
&lt;br /&gt;
You should be able to use ath_info _without_ the madwifi driver use some low level pci tool to manually configure the card. Have a look into the source code comments at the begin of ath_info.c. On the other hand adding a new set of vendor ids in the madwifi driver isn't a big deal either. - [[User:jal2|jal2]]&lt;br /&gt;
&lt;br /&gt;
== IBM R40e ==&lt;br /&gt;
&lt;br /&gt;
Have an IBM R40 &amp;amp; R40e, R40 - linux no-1802 cd worked flawlessly, r40e - linux no-1802 cd - hangs on confirmation the patching - maybe a keyboard error, but I dont have dock nor USB keyboard to try, the DOS CD, worked perfectly on the r40e (although I was a little nervous about bricking the R40e ;-). A little note - the r40e obviously dont have an antena - i'll have to get some, but its working even without antena for short range indoor (the accesspoint is about 3 meters away)&lt;br /&gt;
&lt;br /&gt;
== Other issues with unauthorized cards ==&lt;br /&gt;
&lt;br /&gt;
I'm not sure if this is common but my Intel Pro 2915ABG (not from IBM) works on my T41 (both from eBay so some patch was probably already applied) except that the WLAN LED on the laptop stays off all the time. If this is common to all non-authorized cards, this wiki article should mention this. (yak - 24.01.2004)&lt;br /&gt;
&lt;br /&gt;
It does the same for my r40 and not IBM intel 2200, I think that the led would work only if the PCI ID of the minipci card would be changed to IBM, but i dont know excatly how to do this, I just remember seeing it somewhere (kajencik - 24.01.2008)&lt;br /&gt;
&lt;br /&gt;
I now know that someone changed the PCI-ID of my Intel 2915ABG card so it looks like an IBM one. Yet the LED didn't work. However, I've found a way to fix this: [http://forum.thinkpads.com/viewtopic.php?p=395350#395350 see here]. Changing PCI-ID is quite easy, see [http://stachon.webpark.cz/ipw-eeprom.html this] (also helpful: '''Patching the EEPROM''' section of [[Ipw2200]] article). (yak - 4.03.2008)&lt;br /&gt;
&lt;br /&gt;
I've added a new section called &amp;quot;Problem with WiFi LED&amp;quot;. Comments and contributions are welcome. (yak - 5.03.2008)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== IBM Thinkpad R31 ==&lt;br /&gt;
&lt;br /&gt;
I have the BIOS hacked in my R31 so it boots with the unauthorized card and XP picks it up, but XP will randomly lock up with the current card (Atheros 5005G)  I have tried another of the same chipset and it does the same thing.  What I shall try soon is to swap the 5005G with a friend for a Realtek card from his laptop.  Does anyone know if there is an incompatibility issue with Atheros card in the R31?&lt;br /&gt;
&lt;br /&gt;
== dead links ==&lt;br /&gt;
i'm just trying to fix the 1802 error, but several links indicated in the useful solutions section don't work any more:&lt;br /&gt;
* modification of the BIOS whitelist: [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html]&lt;br /&gt;
* modifying the PCI-ID of the wlan card for atheros: [http://www.dagarlas.org/stuff/computing/article0001.php http://www.dagarlas.org/stuff/computing/article0001.php]&lt;br /&gt;
* use the  no-1802 and no-01C9 Linux Live CD: [http://rapidshare.com/files/134063984/ibm_wifi_v2.zip http://rapidshare.com/files/134063984/ibm_wifi_v2.zip]&lt;br /&gt;
* use the DOS no-1802 utility: [http://jcnp.pku.edu.cn/~shadow/1802/no-1802.com http://jcnp.pku.edu.cn/~shadow/1802/no-1802.com]&lt;br /&gt;
well, it remains to compile and run (as root) the C-code, which was written by Matthew Garrett. that seems to be easy and has worked for t40, ubuntu and a broadcom pci card, according to the list of successful BIOS modifications (in this case only the CMOS has to be changed, which is more secure). therefore i'll try it. but is anyone able to retrieve equivalent links or to upload the live cd again? --[[User:Jwollbold|Jwollbold]] 22:03, 6 September 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Success on X61s ==&lt;br /&gt;
&lt;br /&gt;
I bought a non-IBM Intel 4965 from eBay and was able to get it running without twiddling the BIOS. I'm running Ubuntu Intrepid.&lt;br /&gt;
* The X61s doesn't seem to check the second Mini PCIe slot (near the audio sockets) against the whitelist. The antenna cables are long enough to reach if you (carefully) untape them from the plastic cover sheet.&lt;br /&gt;
* The card reported that the killswitch was always on, regardless of its actual state. I assume that it's only wired to the first PCIe slot. I got around this by taping over pin 20 with a tiny piece of a post-it note. (I can come up with some photos if it helps).&lt;br /&gt;
This disables the killswitch, but it never worked with the original Atheros card anyway, so it's no big loss to me.&lt;br /&gt;
&lt;br /&gt;
Interestingly, I had no problems running the machine with two WiFi cards. I recall that others have reported the BIOS complains if there are two. Maybe someone has a use for this.&lt;br /&gt;
&lt;br /&gt;
== How many people have really successfully taped over a MiniPCIe PiN ==&lt;br /&gt;
I keep finding instructions to &amp;quot;tape over PiN 20&amp;quot;, or &amp;quot;just tape PiN 18&amp;quot; and this casually dispensed advice seems like disingenuous rebroadcasts of something they've never done themselves. The PiNs are smaller than the tip of a pen, even a ThinkPad stylus is wider.  The task itself is frustrating and should be undertaken with a new, sharpest of razor blades, a good magnifier glass/visor in a well lit area on a stable surface. Anyone should thoroughly research a software based solution for your hardware/unsupported card combination before attempting to tape over a MiniPCI-e PiN.&lt;br /&gt;
* Tested on {{X230}}, taped pin 20 and tried both half-mini-PCIE and WWAN mini-PCIE slots, didn't work - [[User:Fabian|MagicFab]] 17:43, 9 January 2013 (CET)&lt;br /&gt;
* Success on {{T500}}, placed an unmodified Broadcom 4311 in the second slot, no 1802 error but the card wouldn't work.  It worked after taping over pin 20.  It was not particularly difficult. [[User:Bigstape]] 9 January 2014&lt;br /&gt;
* Tested on {{T420s}}, using [[Qualcomm Gobi 2000]]. Taped pin 20 and after that the device worked. Before, it was detected but could not connect. With regard to how difficult this is--I managed with just a role of cellotape and a pair of scissors. It took some concentration but I didn't need a razor or magnifying glass. [[User:PJBrs]] 3 June 2014&lt;/div&gt;</summary>
		<author><name>PJBrs</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=55664</id>
		<title>Talk:Problem with unauthorized MiniPCI network card</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=55664"/>
		<updated>2014-06-03T11:57:17Z</updated>

		<summary type="html">&lt;p&gt;PJBrs: Add link, name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solution for R32, T43, T6x ==&lt;br /&gt;
Basically solved [http://forum.thinkpads.com/viewtopic.php?t=55837 here]. Will be finalized into some user-friendly thing hopefully.&lt;br /&gt;
&lt;br /&gt;
== Affected Models ==&lt;br /&gt;
I am unsure about which models this applies to.  I have seen reports of this problem affecting a T41p, T43, X40, R31, X31, and T30; but I do not know how far back this problem goes or if there are exceptions.  If anyone has better information, please clarify/specify the &amp;quot;Affected Models&amp;quot; section. --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
I have a R40 model 2681-K9G that came without any mini-pci card so I bought a Intel PRO/Wireless 2915ABG mini-pci card for it. When I discovered that it would not work in my Thinkpad I came to this site to see if there was a fix. Seemed like there was, so I bought a mini-pci-to-PCI adapter and installed the card(s) in my desktop. Now I need to know what vendor and device ID strings to use when I flash the card's BIOS. Anyone have a list?&lt;br /&gt;
&lt;br /&gt;
== Solution on T43? ==&lt;br /&gt;
There were several edits to the previous page to the effect that &amp;quot;this didn't work for my T43&amp;quot;.  Although I do not weight this as highly credible (please just ask for help on the ML rather than adding random comments to pages), I did feel that it deserved a mention that the solution may not work on the T43.  If anyone can confirm or deny this statement, please do so (and possibly ask on the ML for solutions if it does not work for you). --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Confirmation - patch not working on T43 ==&lt;br /&gt;
I can confirm, that a &amp;quot;nvram/cmos&amp;quot; patch is not working on my T43, exact type 1871-A62. I tried several cards (some working without patch in another thinkpads (t40, t42, x40), but no success.--[[User:Jap|Jap]] 09:50, 13 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Hotplugging PCI device ==&lt;br /&gt;
I'd like to send out a '''BIG FAT WARNING''' that 'hotplugging' the mini-PCI card can easily lead to frying the system board, mini-PCI bus, or both. Yes, it happened to me... :-( Interrupting the boot process at the lilo boot menu, and then inserting the ipw2915abg card worked as a charm to circumvent the BIOS white list. However, somewhere it must have gone wrong because now the laptop hangs immediately when the IBM/Intel boot logos appear. --[[User:LJSBrokken|LJSBrokken]] 13:01, 20 July 2006 (GMT+1)&lt;br /&gt;
&lt;br /&gt;
== Z60 series ==&lt;br /&gt;
I tried this on a Lenovo Z60t. Bought an Intel Wireless card since the linux drivers for the madwifi are crap. I applied the C-Patch from here. Then after booting with the intel device installed I get some weird broadcom PXE boot messages displayed ontop of the key symbol for startup security. Even if I don't put my finger on the sensor, it continues with GRUB. At this point I can't use the keyboard, the key symbol is still displayed in the upper left corner. After a few secons grub starts with its default entry (Gentoo Linux). It all works, but no Wireless Adapter shows up in lspci.&lt;br /&gt;
&lt;br /&gt;
So, I don't have that 1802 error, but still can't use my wifi card. Any ideas?&lt;br /&gt;
&lt;br /&gt;
== Z60t ==&lt;br /&gt;
I have tested the C code in my Z60t. I have BIOS 1.24 and Embedded Controller 1.18.&lt;br /&gt;
Nvram was succesfully changed, but no difference in how the bios work: with original card works properly and no strange errors. With Atheros AR9285: still Unauthorized error. &lt;br /&gt;
--[[User:Msxisalive|Msxisalive]] 20:20, 15 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== G40 series ==&lt;br /&gt;
According to [[http://www.wifi-forum.com/wf/showthread.php?t=60620|this forum post]], the CMOS hack (I assume they are referring to the bit-twiddling code) works.  Does anyone else have anything to confirm this?  I might well try it myself (in which case I'll update the main table), but I'll have to at least get an aerial first.&lt;br /&gt;
&lt;br /&gt;
[[User:lentinj|lentinj]]&lt;br /&gt;
&lt;br /&gt;
== no dice on T43 ==&lt;br /&gt;
&lt;br /&gt;
Also can confirm the T43 is much more resistant to the unauthorized mini pci card problem. No 1802 didn't work (it worked for my T40). Changing the PCI class id to 0x0280 (networking device - other) also didn't shake the message. Finally, I tried to masquerade the card as a one of the whitelisted ones via the ath_info utility from madwifi. I made a mistake at this point and didn't update the subsystem vendor id / subsystem device id, just the primary pci vendor and device ids. I *still* got the warning message, and now the ath driver doesn't pick up the card, so I can't use ath_info. The card is basically bricked, unless I find time (ha ha) for some kernel hacking. Moral of the story is be careful with ath_info.&lt;br /&gt;
&lt;br /&gt;
You should be able to use ath_info _without_ the madwifi driver use some low level pci tool to manually configure the card. Have a look into the source code comments at the begin of ath_info.c. On the other hand adding a new set of vendor ids in the madwifi driver isn't a big deal either. - [[User:jal2|jal2]]&lt;br /&gt;
&lt;br /&gt;
== IBM R40e ==&lt;br /&gt;
&lt;br /&gt;
Have an IBM R40 &amp;amp; R40e, R40 - linux no-1802 cd worked flawlessly, r40e - linux no-1802 cd - hangs on confirmation the patching - maybe a keyboard error, but I dont have dock nor USB keyboard to try, the DOS CD, worked perfectly on the r40e (although I was a little nervous about bricking the R40e ;-). A little note - the r40e obviously dont have an antena - i'll have to get some, but its working even without antena for short range indoor (the accesspoint is about 3 meters away)&lt;br /&gt;
&lt;br /&gt;
== Other issues with unauthorized cards ==&lt;br /&gt;
&lt;br /&gt;
I'm not sure if this is common but my Intel Pro 2915ABG (not from IBM) works on my T41 (both from eBay so some patch was probably already applied) except that the WLAN LED on the laptop stays off all the time. If this is common to all non-authorized cards, this wiki article should mention this. (yak - 24.01.2004)&lt;br /&gt;
&lt;br /&gt;
It does the same for my r40 and not IBM intel 2200, I think that the led would work only if the PCI ID of the minipci card would be changed to IBM, but i dont know excatly how to do this, I just remember seeing it somewhere (kajencik - 24.01.2008)&lt;br /&gt;
&lt;br /&gt;
I now know that someone changed the PCI-ID of my Intel 2915ABG card so it looks like an IBM one. Yet the LED didn't work. However, I've found a way to fix this: [http://forum.thinkpads.com/viewtopic.php?p=395350#395350 see here]. Changing PCI-ID is quite easy, see [http://stachon.webpark.cz/ipw-eeprom.html this] (also helpful: '''Patching the EEPROM''' section of [[Ipw2200]] article). (yak - 4.03.2008)&lt;br /&gt;
&lt;br /&gt;
I've added a new section called &amp;quot;Problem with WiFi LED&amp;quot;. Comments and contributions are welcome. (yak - 5.03.2008)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== IBM Thinkpad R31 ==&lt;br /&gt;
&lt;br /&gt;
I have the BIOS hacked in my R31 so it boots with the unauthorized card and XP picks it up, but XP will randomly lock up with the current card (Atheros 5005G)  I have tried another of the same chipset and it does the same thing.  What I shall try soon is to swap the 5005G with a friend for a Realtek card from his laptop.  Does anyone know if there is an incompatibility issue with Atheros card in the R31?&lt;br /&gt;
&lt;br /&gt;
== dead links ==&lt;br /&gt;
i'm just trying to fix the 1802 error, but several links indicated in the useful solutions section don't work any more:&lt;br /&gt;
* modification of the BIOS whitelist: [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html]&lt;br /&gt;
* modifying the PCI-ID of the wlan card for atheros: [http://www.dagarlas.org/stuff/computing/article0001.php http://www.dagarlas.org/stuff/computing/article0001.php]&lt;br /&gt;
* use the  no-1802 and no-01C9 Linux Live CD: [http://rapidshare.com/files/134063984/ibm_wifi_v2.zip http://rapidshare.com/files/134063984/ibm_wifi_v2.zip]&lt;br /&gt;
* use the DOS no-1802 utility: [http://jcnp.pku.edu.cn/~shadow/1802/no-1802.com http://jcnp.pku.edu.cn/~shadow/1802/no-1802.com]&lt;br /&gt;
well, it remains to compile and run (as root) the C-code, which was written by Matthew Garrett. that seems to be easy and has worked for t40, ubuntu and a broadcom pci card, according to the list of successful BIOS modifications (in this case only the CMOS has to be changed, which is more secure). therefore i'll try it. but is anyone able to retrieve equivalent links or to upload the live cd again? --[[User:Jwollbold|Jwollbold]] 22:03, 6 September 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Success on X61s ==&lt;br /&gt;
&lt;br /&gt;
I bought a non-IBM Intel 4965 from eBay and was able to get it running without twiddling the BIOS. I'm running Ubuntu Intrepid.&lt;br /&gt;
* The X61s doesn't seem to check the second Mini PCIe slot (near the audio sockets) against the whitelist. The antenna cables are long enough to reach if you (carefully) untape them from the plastic cover sheet.&lt;br /&gt;
* The card reported that the killswitch was always on, regardless of its actual state. I assume that it's only wired to the first PCIe slot. I got around this by taping over pin 20 with a tiny piece of a post-it note. (I can come up with some photos if it helps).&lt;br /&gt;
This disables the killswitch, but it never worked with the original Atheros card anyway, so it's no big loss to me.&lt;br /&gt;
&lt;br /&gt;
Interestingly, I had no problems running the machine with two WiFi cards. I recall that others have reported the BIOS complains if there are two. Maybe someone has a use for this.&lt;br /&gt;
&lt;br /&gt;
== How many people have really successfully taped over a MiniPCIe PiN ==&lt;br /&gt;
I keep finding instructions to &amp;quot;tape over PiN 20&amp;quot;, or &amp;quot;just tape PiN 18&amp;quot; and this casually dispensed advice seems like disingenuous rebroadcasts of something they've never done themselves. The PiNs are smaller than the tip of a pen, even a ThinkPad stylus is wider.  The task itself is frustrating and should be undertaken with a new, sharpest of razor blades, a good magnifier glass/visor in a well lit area on a stable surface. Anyone should thoroughly research a software based solution for your hardware/unsupported card combination before attempting to tape over a MiniPCI-e PiN.&lt;br /&gt;
* Tested on {{X230}}, taped pin 20 and tried both half-mini-PCIE and WWAN mini-PCIE slots, didn't work - [[User:Fabian|MagicFab]] 17:43, 9 January 2013 (CET)&lt;br /&gt;
* Success on {{T500}}, placed an unmodified Broadcom 4311 in the second slot, no 1802 error but the card wouldn't work.  It worked after taping over pin 20.  It was not particularly difficult. [[User:Bigstape]] 9 January 2014&lt;br /&gt;
* Tested on {{T420s}}, using {{Qualcomm_Gobi_2000}}. Taped pin 20 and after that the device worked. Before, it was detected but could not connect. With regard to how difficult this is--I managed with just a role of cellotape and a pair of scissors. It took some concentration but I didn't need a razor or magnifying glass. [[User:PJBrs]] 3 June 2014&lt;/div&gt;</summary>
		<author><name>PJBrs</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=55663</id>
		<title>Talk:Problem with unauthorized MiniPCI network card</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=55663"/>
		<updated>2014-06-03T11:55:32Z</updated>

		<summary type="html">&lt;p&gt;PJBrs: Add positive taping pin20 experience&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Solution for R32, T43, T6x ==&lt;br /&gt;
Basically solved [http://forum.thinkpads.com/viewtopic.php?t=55837 here]. Will be finalized into some user-friendly thing hopefully.&lt;br /&gt;
&lt;br /&gt;
== Affected Models ==&lt;br /&gt;
I am unsure about which models this applies to.  I have seen reports of this problem affecting a T41p, T43, X40, R31, X31, and T30; but I do not know how far back this problem goes or if there are exceptions.  If anyone has better information, please clarify/specify the &amp;quot;Affected Models&amp;quot; section. --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
I have a R40 model 2681-K9G that came without any mini-pci card so I bought a Intel PRO/Wireless 2915ABG mini-pci card for it. When I discovered that it would not work in my Thinkpad I came to this site to see if there was a fix. Seemed like there was, so I bought a mini-pci-to-PCI adapter and installed the card(s) in my desktop. Now I need to know what vendor and device ID strings to use when I flash the card's BIOS. Anyone have a list?&lt;br /&gt;
&lt;br /&gt;
== Solution on T43? ==&lt;br /&gt;
There were several edits to the previous page to the effect that &amp;quot;this didn't work for my T43&amp;quot;.  Although I do not weight this as highly credible (please just ask for help on the ML rather than adding random comments to pages), I did feel that it deserved a mention that the solution may not work on the T43.  If anyone can confirm or deny this statement, please do so (and possibly ask on the ML for solutions if it does not work for you). --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Confirmation - patch not working on T43 ==&lt;br /&gt;
I can confirm, that a &amp;quot;nvram/cmos&amp;quot; patch is not working on my T43, exact type 1871-A62. I tried several cards (some working without patch in another thinkpads (t40, t42, x40), but no success.--[[User:Jap|Jap]] 09:50, 13 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Hotplugging PCI device ==&lt;br /&gt;
I'd like to send out a '''BIG FAT WARNING''' that 'hotplugging' the mini-PCI card can easily lead to frying the system board, mini-PCI bus, or both. Yes, it happened to me... :-( Interrupting the boot process at the lilo boot menu, and then inserting the ipw2915abg card worked as a charm to circumvent the BIOS white list. However, somewhere it must have gone wrong because now the laptop hangs immediately when the IBM/Intel boot logos appear. --[[User:LJSBrokken|LJSBrokken]] 13:01, 20 July 2006 (GMT+1)&lt;br /&gt;
&lt;br /&gt;
== Z60 series ==&lt;br /&gt;
I tried this on a Lenovo Z60t. Bought an Intel Wireless card since the linux drivers for the madwifi are crap. I applied the C-Patch from here. Then after booting with the intel device installed I get some weird broadcom PXE boot messages displayed ontop of the key symbol for startup security. Even if I don't put my finger on the sensor, it continues with GRUB. At this point I can't use the keyboard, the key symbol is still displayed in the upper left corner. After a few secons grub starts with its default entry (Gentoo Linux). It all works, but no Wireless Adapter shows up in lspci.&lt;br /&gt;
&lt;br /&gt;
So, I don't have that 1802 error, but still can't use my wifi card. Any ideas?&lt;br /&gt;
&lt;br /&gt;
== Z60t ==&lt;br /&gt;
I have tested the C code in my Z60t. I have BIOS 1.24 and Embedded Controller 1.18.&lt;br /&gt;
Nvram was succesfully changed, but no difference in how the bios work: with original card works properly and no strange errors. With Atheros AR9285: still Unauthorized error. &lt;br /&gt;
--[[User:Msxisalive|Msxisalive]] 20:20, 15 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== G40 series ==&lt;br /&gt;
According to [[http://www.wifi-forum.com/wf/showthread.php?t=60620|this forum post]], the CMOS hack (I assume they are referring to the bit-twiddling code) works.  Does anyone else have anything to confirm this?  I might well try it myself (in which case I'll update the main table), but I'll have to at least get an aerial first.&lt;br /&gt;
&lt;br /&gt;
[[User:lentinj|lentinj]]&lt;br /&gt;
&lt;br /&gt;
== no dice on T43 ==&lt;br /&gt;
&lt;br /&gt;
Also can confirm the T43 is much more resistant to the unauthorized mini pci card problem. No 1802 didn't work (it worked for my T40). Changing the PCI class id to 0x0280 (networking device - other) also didn't shake the message. Finally, I tried to masquerade the card as a one of the whitelisted ones via the ath_info utility from madwifi. I made a mistake at this point and didn't update the subsystem vendor id / subsystem device id, just the primary pci vendor and device ids. I *still* got the warning message, and now the ath driver doesn't pick up the card, so I can't use ath_info. The card is basically bricked, unless I find time (ha ha) for some kernel hacking. Moral of the story is be careful with ath_info.&lt;br /&gt;
&lt;br /&gt;
You should be able to use ath_info _without_ the madwifi driver use some low level pci tool to manually configure the card. Have a look into the source code comments at the begin of ath_info.c. On the other hand adding a new set of vendor ids in the madwifi driver isn't a big deal either. - [[User:jal2|jal2]]&lt;br /&gt;
&lt;br /&gt;
== IBM R40e ==&lt;br /&gt;
&lt;br /&gt;
Have an IBM R40 &amp;amp; R40e, R40 - linux no-1802 cd worked flawlessly, r40e - linux no-1802 cd - hangs on confirmation the patching - maybe a keyboard error, but I dont have dock nor USB keyboard to try, the DOS CD, worked perfectly on the r40e (although I was a little nervous about bricking the R40e ;-). A little note - the r40e obviously dont have an antena - i'll have to get some, but its working even without antena for short range indoor (the accesspoint is about 3 meters away)&lt;br /&gt;
&lt;br /&gt;
== Other issues with unauthorized cards ==&lt;br /&gt;
&lt;br /&gt;
I'm not sure if this is common but my Intel Pro 2915ABG (not from IBM) works on my T41 (both from eBay so some patch was probably already applied) except that the WLAN LED on the laptop stays off all the time. If this is common to all non-authorized cards, this wiki article should mention this. (yak - 24.01.2004)&lt;br /&gt;
&lt;br /&gt;
It does the same for my r40 and not IBM intel 2200, I think that the led would work only if the PCI ID of the minipci card would be changed to IBM, but i dont know excatly how to do this, I just remember seeing it somewhere (kajencik - 24.01.2008)&lt;br /&gt;
&lt;br /&gt;
I now know that someone changed the PCI-ID of my Intel 2915ABG card so it looks like an IBM one. Yet the LED didn't work. However, I've found a way to fix this: [http://forum.thinkpads.com/viewtopic.php?p=395350#395350 see here]. Changing PCI-ID is quite easy, see [http://stachon.webpark.cz/ipw-eeprom.html this] (also helpful: '''Patching the EEPROM''' section of [[Ipw2200]] article). (yak - 4.03.2008)&lt;br /&gt;
&lt;br /&gt;
I've added a new section called &amp;quot;Problem with WiFi LED&amp;quot;. Comments and contributions are welcome. (yak - 5.03.2008)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== IBM Thinkpad R31 ==&lt;br /&gt;
&lt;br /&gt;
I have the BIOS hacked in my R31 so it boots with the unauthorized card and XP picks it up, but XP will randomly lock up with the current card (Atheros 5005G)  I have tried another of the same chipset and it does the same thing.  What I shall try soon is to swap the 5005G with a friend for a Realtek card from his laptop.  Does anyone know if there is an incompatibility issue with Atheros card in the R31?&lt;br /&gt;
&lt;br /&gt;
== dead links ==&lt;br /&gt;
i'm just trying to fix the 1802 error, but several links indicated in the useful solutions section don't work any more:&lt;br /&gt;
* modification of the BIOS whitelist: [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html]&lt;br /&gt;
* modifying the PCI-ID of the wlan card for atheros: [http://www.dagarlas.org/stuff/computing/article0001.php http://www.dagarlas.org/stuff/computing/article0001.php]&lt;br /&gt;
* use the  no-1802 and no-01C9 Linux Live CD: [http://rapidshare.com/files/134063984/ibm_wifi_v2.zip http://rapidshare.com/files/134063984/ibm_wifi_v2.zip]&lt;br /&gt;
* use the DOS no-1802 utility: [http://jcnp.pku.edu.cn/~shadow/1802/no-1802.com http://jcnp.pku.edu.cn/~shadow/1802/no-1802.com]&lt;br /&gt;
well, it remains to compile and run (as root) the C-code, which was written by Matthew Garrett. that seems to be easy and has worked for t40, ubuntu and a broadcom pci card, according to the list of successful BIOS modifications (in this case only the CMOS has to be changed, which is more secure). therefore i'll try it. but is anyone able to retrieve equivalent links or to upload the live cd again? --[[User:Jwollbold|Jwollbold]] 22:03, 6 September 2008 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Success on X61s ==&lt;br /&gt;
&lt;br /&gt;
I bought a non-IBM Intel 4965 from eBay and was able to get it running without twiddling the BIOS. I'm running Ubuntu Intrepid.&lt;br /&gt;
* The X61s doesn't seem to check the second Mini PCIe slot (near the audio sockets) against the whitelist. The antenna cables are long enough to reach if you (carefully) untape them from the plastic cover sheet.&lt;br /&gt;
* The card reported that the killswitch was always on, regardless of its actual state. I assume that it's only wired to the first PCIe slot. I got around this by taping over pin 20 with a tiny piece of a post-it note. (I can come up with some photos if it helps).&lt;br /&gt;
This disables the killswitch, but it never worked with the original Atheros card anyway, so it's no big loss to me.&lt;br /&gt;
&lt;br /&gt;
Interestingly, I had no problems running the machine with two WiFi cards. I recall that others have reported the BIOS complains if there are two. Maybe someone has a use for this.&lt;br /&gt;
&lt;br /&gt;
== How many people have really successfully taped over a MiniPCIe PiN ==&lt;br /&gt;
I keep finding instructions to &amp;quot;tape over PiN 20&amp;quot;, or &amp;quot;just tape PiN 18&amp;quot; and this casually dispensed advice seems like disingenuous rebroadcasts of something they've never done themselves. The PiNs are smaller than the tip of a pen, even a ThinkPad stylus is wider.  The task itself is frustrating and should be undertaken with a new, sharpest of razor blades, a good magnifier glass/visor in a well lit area on a stable surface. Anyone should thoroughly research a software based solution for your hardware/unsupported card combination before attempting to tape over a MiniPCI-e PiN.&lt;br /&gt;
* Tested on {{X230}}, taped pin 20 and tried both half-mini-PCIE and WWAN mini-PCIE slots, didn't work - [[User:Fabian|MagicFab]] 17:43, 9 January 2013 (CET)&lt;br /&gt;
* Success on {{T500}}, placed an unmodified Broadcom 4311 in the second slot, no 1802 error but the card wouldn't work.  It worked after taping over pin 20.  It was not particularly difficult. [[User:Bigstape]] 9 January 2014&lt;br /&gt;
* Tested on {{T420s}}, using Gobi 2000. Taped pin 20 and after that the device worked. Before, it was detected but could not connect. With regard to how difficult this is--I managed with just a role of cellotape and a pair of scissors. It took some concentration but I didn't need a razor or magnifying glass.&lt;/div&gt;</summary>
		<author><name>PJBrs</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Fan_control_scripts&amp;diff=28904</id>
		<title>Talk:Fan control scripts</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Fan_control_scripts&amp;diff=28904"/>
		<updated>2007-03-26T11:31:28Z</updated>

		<summary type="html">&lt;p&gt;PJBrs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wyrfel, are you sure the recent (19:54, 27 Oct 2005) cosmetic change was a good idea? The extensive chunks of code make it hard to grok the structure of the article in the absense of separator lines (which &amp;quot;===&amp;quot; doesn't have). --[[User:Thinker|Thinker]] 22:10, 27 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
We can discuss this. From my point of view, the chunks of code distinguish themselves from each other quite well, because they are each in one code block.&lt;br /&gt;
&lt;br /&gt;
I do not like the &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; section level - and so far we avoided them on all pages - because&lt;br /&gt;
* it generates H1 headings, which is the same as the page heading,&lt;br /&gt;
* having more than one level with the hbars is confusing/less readable, because they are not very well distinguishable. This way i.e. the &amp;quot;Other&amp;quot; section looked like a separate empty secion.&lt;br /&gt;
&lt;br /&gt;
I think the way it's now, the separator lines make it possible to easily distinguish the different main sections, while when you have both levels with separator lines, an additional task of distinguishing H1 and H2 separators is necessary.&lt;br /&gt;
&lt;br /&gt;
However, i see your point as well and would like to hear more opinions/arguments.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 22:31, 27 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed (for unpatched kernels)===&lt;br /&gt;
Moved to the [[ACPI fan control script|article page]], after joint development by [[User:Spiney|Spiney]] and [[User:Thinker|Thinker]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Note that the fan levels, thresholds and anti-pulsing hacks are system-specific, so you may need to adjust them.''&lt;br /&gt;
&lt;br /&gt;
I think it'd probably be nice to have a table of the suggested values here. Those in the &amp;quot;unpatched kernels&amp;quot; script seems to work fine on my R52, but the other scripts all have different values.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 08:19, 12 Nov 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Sensor-specific variable-speed script ==&lt;br /&gt;
&lt;br /&gt;
Here's a new variable-speed control script that lets you define the temperature range separately for each sensor. To keep things simple, it auto-computes the trip points (unlike the current script). Works well on a {{T43}}, and (just barely) keeps the fan off most of the time with CPU undervolting and  [[fglrx]] set to maximum power saving. Feedback on other machines would be appreciated.&lt;br /&gt;
&lt;br /&gt;
Any idea what are the sensors at EC offsets 0x79, 0x7A, 0xC0, 0xC1, 0xC2? On the T43, 0x79 seems to be the same as the HDAPS sensor (it never deviates by more than one degree from what the HDAPS sensor tells directly), but I don't know where it's located. Sensor 0x7A is uncorrelated with disk temperature and activity, so it can't be HDD like reported ofor R52. Sensor 0xC1 seems to be under the palm-rest (see discussion in [[Talk:Problem_with_fan_noise]]).&lt;br /&gt;
&lt;br /&gt;
This version also lets the EC read the RPM sensor every few minutes even when the anti-pulsing hack (which normally prevents this) is in use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;Script moved to the [[ACPI fan control script#Variable speed control scripts|article page]]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;.&lt;br /&gt;
{{HINT|If you followed a link here looking for thermal sensor information, see the [[ACPI fan control script#Variable speed control scripts|article page]] and the page on [[thermal sensors]].}}&lt;br /&gt;
&lt;br /&gt;
Feedback very much welcome.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:08, 27 Nov 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
:I use the script on my T41 and it works great, it doesn't crash like the windows fancontrol (check sourceforge). &lt;br /&gt;
:Some remarks: I removed the anti pulsing section because it didn't do anything useful on my laptop. I also raised some temperatures and removed the speed '1', because it barely cools my laptop and makes only slightly less noise than speed '3', which now replaces speed '1'. [[User:SirB|SirB]] 18:55, 20 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Fan enable/disable scripts ==&lt;br /&gt;
&lt;br /&gt;
We currently have two types of scripts -- the old ones which only enable/disable the fan, and the new ones which control the fan speed. Do the latter supercede the former, or do we know of models on which only enable/disable works? Maybe eventually the enable/disable scripts should be &amp;quot;archived&amp;quot; in the talk page to reduce clutter in the article?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:08, 28 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Things seem pretty stable for the variable-speed script and the [[Patch_for_controlling_fan_speed#Models_on_which_this_patch_works|list of working models]] looks good. Since it is superior to the enable/disable scripts in regard to both the annoyance and the impact on hardware, I'll change the organization of the page to put that script first (unless someone objects)..&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:07, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I don't see the point in having the enable/disable scripts when the variable speed one works fine. I'd vote for moving the old scripts here and only keep the better ones in the article, unless somebody has a sane use case for which those are bettere than the new scripts.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 16:19, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== working on a thinkpad X20? ==&lt;br /&gt;
&lt;br /&gt;
hello!&lt;br /&gt;
my /proc/acpi/ibm directory looks like this:&lt;br /&gt;
&lt;br /&gt;
m@homebase:/proc/acpi/ibm$ ls&lt;br /&gt;
bay  bluetooth  dock  driver  hotkey  light  video&lt;br /&gt;
&lt;br /&gt;
so the scripts donÂ´t work, because i do not hat a /proc/acpi/ibm/thermal or a /proc/acpi/ibm/fan directory!&lt;br /&gt;
do you have any ideas whats wrong? &lt;br /&gt;
&lt;br /&gt;
--Manfreeed&lt;br /&gt;
&lt;br /&gt;
What version of ibm_acpi are you using (&amp;quot;cat /proc/acpi/ibm/driver&amp;quot;)? Did you load it with the &amp;quot;experimental=1&amp;quot; module parameter?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 19:30, 26 Dec 2005 (CET)&lt;br /&gt;
:hallo agian, i use IBM ThinkPad ACPI Extras version:0.8 on a Ubuntu Linux with kernel: 2.6.12-10-386. i didnÂ´t change any module parameter. how can i do this? thanks for your help! --[[User:Manfreeed|Manfreeed]] 22:14, 27 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
You need a newer kernel 2.6.14 or newer, or to manually install ibm_api 0.12. It's all explained in [[ibm-acpi]].&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 06:43, 28 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
There is no 0.12 available as a separate download, it is only included in 2.6.14. But 0.11 from the website works just fine for me with the stock Ubuntu kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 11:11, 28 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Question on temperatures ==&lt;br /&gt;
&lt;br /&gt;
I've been testing the 'script with fine control over fan speed' on my r50e, kernel 2.6.15, which still contains version 0.12a of the ibm_acpi module. The script works fine but I notice two things:&lt;br /&gt;
&lt;br /&gt;
1. The seven speed levels don't seem to correspond with seven actual speeds but rather with only three. I also notice that only 3 levels, 2, 4 and 7 are actually used in the script. &lt;br /&gt;
&lt;br /&gt;
2. The given range of temperatures - 52, 60, 68 - causes  the fan in my Thinkpad to run even more often than under embedded control, so I would naturally like to raise them. As the maximum core temperature is 100Â°C, I wonder why I shouldn't use, say 72, 80, 88 instead. - How (im)precise are the temperature data in /proc/acpi/ibm/thermal?&lt;br /&gt;
&lt;br /&gt;
antonix&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
1. On all models I'm aware of, some of the levels are equivelent. So the script only bothers with the different ones. You can test your model manually using [[How to control fan speed]].&lt;br /&gt;
&lt;br /&gt;
2. Yes, in the script you used (the &amp;quot;simple&amp;quot; one), the threshold for highest fan speed is set fairly low, because the same threshold is used for all components and some are more sensitive than others. The &amp;quot;comprehensive&amp;quot; script, also on the article page, lets you control each component separately, so you can raise the threshold for the CPU and GPU without risking burning something else. But note that the thresholds listed there were chosen for a T43, which probably has different [[thermal sensors]] than your R50e.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 10:00, 14 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Comprehensive script - OFF_THRESH_DELTA doesn't work ==&lt;br /&gt;
&lt;br /&gt;
No matter to what value I set the OFF_THRESH_DELTA, fan always turns off at 10 degrees below min temperature. Is there any way to make it work properly? I have a R50e with Gentoo Linux, kernel 2.6.17.&lt;br /&gt;
Regards&lt;br /&gt;
Caleb9&lt;br /&gt;
&lt;br /&gt;
Please run the '''unmodified''' tp-fancontrol in non-daemon non-quiet mode (so you'll see all the verbose status reports), and post examples of the status lines when it does the wrong thing.&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:50, 21 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== t60-fancontrold script ==&lt;br /&gt;
&lt;br /&gt;
Hi all,&lt;br /&gt;
&lt;br /&gt;
since I wasn't entirely satisfied with how tp-fancontrol worked on my T60, I decided to write an alternative script derived from t60-fancontrol (but differing in some respects). It is meant to run as a daemon by default and the main changes are&lt;br /&gt;
&lt;br /&gt;
- different fan level stepping/calculation algorithm&lt;br /&gt;
&lt;br /&gt;
- no perl dependency&lt;br /&gt;
&lt;br /&gt;
- proper config file parsing&lt;br /&gt;
&lt;br /&gt;
- changed/differently behaving command line options&lt;br /&gt;
&lt;br /&gt;
- support for docked and undocked status (different thermal ranges)&lt;br /&gt;
&lt;br /&gt;
- more standard init.d start script&lt;br /&gt;
&lt;br /&gt;
- different temperature values (optimized for my T60)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get it at&lt;br /&gt;
&lt;br /&gt;
http://www.hobbes.gmxhome.de/t60-fancontrold/0.1.4.1/t60-fancontrold-0.1.4.1.tar.gz   (source)&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
http://www.hobbes.gmxhome.de/t60-fancontrold/0.1.4.1/t60-fancontrold-0.1.4.1-1.noarch.rpm   (built for SuSE Linux 10.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I developed it on SuSE Linux 10.1 and tested it on my T60 (2007-FSG, Core Duo T2400, ATI X1400 128 MB). Since I don't have any experience with other ThinkPad's, I can only recommend it for the T60 series, but it might work just as well on other models (with adapted temperature ranges). It works fine for me, but I surely didn't catch all bugs.&lt;br /&gt;
&lt;br /&gt;
Although I must emphasize that the script comes without any warranty (see also README), I'd be happy if you'd test it and give me feedback. Please read the README for general and installation information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Best regards,   Nick.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Can you summarize the difference in the algorithm, and its motivation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:59, 2 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The stepping down from a certain level when all sensor temperatures were long below the respective thresholds didn't seems to work for me. I played around with the temperature ranges and other control parameters, but that didn't help much.&lt;br /&gt;
&lt;br /&gt;
When I looked into the tp-fancontrol routines, the coding in the script appeared - please, no offense - a bit dense ;-) Apart from that, a proper config file with respective parsing in the script was missing. Also I didn't see the necessity of using perl.&lt;br /&gt;
&lt;br /&gt;
Besides the fact that I enjoyed the bit of coding, the fan is now controlled better on my T60. My post was just to let you know about t60-fancontrold and not meant offensive in any way.&lt;br /&gt;
&lt;br /&gt;
To better see what I've done I recommend that you look at the code itself, which presumably tells you a lot more than I can illustrate in my posting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All the best&lt;br /&gt;
&lt;br /&gt;
--[[User:Narend|nick]] 00:25, 3 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
No offence taken, I'm just curious since it worked great for me. About lowering levels, there are two (intentional) hysteresis effects involved: first, the temperature at which it steps down is lower than the temperature at which it steps up. Second, once it entered a given level, it will not step down before $MIN_WAIT seconds have passed. Both are important so I hope your script does them too (in which case, I guess its code is just as dense...).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:47, 3 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My script has something like the MIN_WAIT time loop, but it's implemented in a different way: the passed time is not measured absolutely in seconds and then checked against the current time, but in terms of how many INTERVAL cycles where all sensor temperatures are below the threshold-DELTA_T limit have since passed. The respective parameter in my script is called MIN_WAIT_INTERVALS.&lt;br /&gt;
&lt;br /&gt;
Besides the temperature/stepping algorithm, t60-fancontrold has a more standardized init.d start script (for SuSE 10.1, which is a good choice for the T60) and all options can be set in the config file now, which is actually parsed, not just sourced by tp-fancontrol.init. Also I found that I needed different temperature levels when working docked or undocked.&lt;br /&gt;
&lt;br /&gt;
But all other ThinkPad users seem to be getting along with tp-fancontrol quite well, so I guess the fun when writing t60-fancontrold was another factor ;-)&lt;br /&gt;
&lt;br /&gt;
Thank you very much for your comments, if you have more, please let me known them!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regards,&lt;br /&gt;
&lt;br /&gt;
--[[User:Narend|nick]] 09:52, 3 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Would anybody object if I added an entry for t60-fancontrold under &amp;quot;Other&amp;quot; on the &amp;quot;ACPI fan control script&amp;quot; article page?&lt;br /&gt;
Did somebody try t60-fancontrold or are there any comments on the code?&lt;br /&gt;
&lt;br /&gt;
Best,&lt;br /&gt;
&lt;br /&gt;
--[[User:Narend|nick]] 12:04, 5 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Sure, go ahead. You can give it an informative subsection of its own.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:03, 5 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nick, I'd be interested in knowing the temperature ranges you have defined for your T60. Unfortunately, your scripts aren't available (anymore) at the links you have provided.&lt;br /&gt;
&lt;br /&gt;
--[[User:Gunnar|Gunnar]] 23:35, 9 January 2007 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== cat: /sys/block/hda/device/model: No such file or directory ==&lt;br /&gt;
&lt;br /&gt;
Every 15 seconds, I get this error message when running &amp;lt;code&amp;gt;tp-fancontrol -q&amp;lt;/code&amp;gt; on Ubuntu Edgy on my T60.&lt;br /&gt;
&lt;br /&gt;
I don't quite understand since &amp;lt;code&amp;gt;/dev/hda&amp;lt;/code&amp;gt; is my optical drive. The hard disk is &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
--[[User:Gunnar|Gunnar]] 11:32, 8 January 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== same problem with cat: /sys/block... ==&lt;br /&gt;
&lt;br /&gt;
hi Gunnar,&lt;br /&gt;
&lt;br /&gt;
does your tp-fancontrol also quit after a few minutes when running in daemon mode?&lt;br /&gt;
&lt;br /&gt;
--[[User:Nilsja|Nilsja]] 01:20, 30 January 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
No, the deamon runs fine.&lt;br /&gt;
&lt;br /&gt;
--[[User:Gunnar|Gunnar]] 13:43, 5 February 2007 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Script errors out ==&lt;br /&gt;
&lt;br /&gt;
I tried using the fancontrol script, but it errored out on line 201:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 tp-fancontrol.orig: line 201: syntax error near unexpected token `&amp;lt;'&lt;br /&gt;
 tp-fancontrol.orig: line 201: `    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; &amp;lt;(echo &amp;quot;$THERMAL&amp;quot;) '&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I searched the revision history, and taking out a previous change made the script work again:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 --- tp-fancontrol.orig  2007-02-01 13:33:25.000000000 +0100&lt;br /&gt;
 +++ tp-fancontrol       2007-02-01 13:35:25.000000000 +0100&lt;br /&gt;
 @@ -197,9 +197,15 @@&lt;br /&gt;
  thermometer() { # output list of temperatures&lt;br /&gt;
      # 8 basic temperatures from ibm-acpi:&lt;br /&gt;
      [[ -r $IBM_ACPI/thermal ]] || { echo &amp;quot;$0: Cannot read $IBM_ACPI/thermal&amp;quot; 2&amp;gt;&amp;amp;1 ; exit 1; }&lt;br /&gt;
 -    read THERMAL &amp;lt; $IBM_ACPI/thermal&lt;br /&gt;
 -    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; &amp;lt;(echo &amp;quot;$THERMAL&amp;quot;)&lt;br /&gt;
 -    [[ &amp;quot;$X&amp;quot; == &amp;quot;temperatures:&amp;quot; ]] || { echo &amp;quot;$0: Bad readout: \&amp;quot;$THERMAL\&amp;quot;&amp;quot; &amp;gt;&amp;amp;2;  exit 1; }&lt;br /&gt;
 +## Newer code, that did not seem to work here...&lt;br /&gt;
 +#    read THERMAL &amp;lt; $IBM_ACPI/thermal&lt;br /&gt;
 +#    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; echo &amp;quot;$THERMAL&amp;quot;&lt;br /&gt;
 +#    [[ &amp;quot;$X&amp;quot; == &amp;quot;temperatures:&amp;quot; ]] || { echo &amp;quot;$0: Bad readout: \&amp;quot;$THERMAL\&amp;quot;&amp;quot; &amp;gt;&amp;amp;2;  exit 1; }&lt;br /&gt;
 +&lt;br /&gt;
 +## Older code...&lt;br /&gt;
 +    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; $IBM_ACPI/thermal&lt;br /&gt;
 +    [[ &amp;quot;$X&amp;quot; == &amp;quot;temperatures:&amp;quot; ]] || { echo &amp;quot;$0: Bad temperatures: $X $Y $Z&amp;quot; &amp;gt;&amp;amp;2; exit 1; }&lt;br /&gt;
 +&lt;br /&gt;
      echo -n &amp;quot;$Y1 $Y2 $Y3 $Y4 $Y5 $Y6 $Y7 $Y8 &amp;quot;;&lt;br /&gt;
      # 3 extra temperatures from ibm_acpi:&lt;br /&gt;
      if [[ -n &amp;quot;$Z1&amp;quot; &amp;amp;&amp;amp; -n &amp;quot;$Z2&amp;quot; &amp;amp;&amp;amp; -n &amp;quot;$Z3&amp;quot; ]]; then&lt;br /&gt;
 @@ -422,4 +428,4 @@&lt;br /&gt;
      [ -e &amp;quot;$PID_FILE&amp;quot; ] &amp;amp;&amp;amp; echo &amp;quot;WARNING: daemon already running&amp;quot;&lt;br /&gt;
      set_priority&lt;br /&gt;
      control_fan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By the way, I tested this script using glxgears, so cpu went to 100% (kernel 2.6.18.6, fglrx driver, t43p), and saw gpu-temperature go up to 86 degrees, at which point I quit glxgears. I thought this was a bit high...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:PJBrs|PJBrs]] 13:47, 01 February 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== T60 temperature thresholds? ==&lt;br /&gt;
&lt;br /&gt;
Does someone have reasonable thresholds for T60 with T5600 / X1400?&lt;br /&gt;
&lt;br /&gt;
--[[User:Burp|Burp]] 15:18, 23 February 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Am I doing something wrong? ==&lt;br /&gt;
&lt;br /&gt;
I just tried version 3.02 of the tp-fancontrol script, but I still get:&lt;br /&gt;
&lt;br /&gt;
 # sh Packages/tp-fancontrol-3.02&lt;br /&gt;
 Packages/tp-fancontrol-3.02: line 201: syntax error near unexpected token `&amp;lt;'&lt;br /&gt;
 Packages/tp-fancontrol-3.02: line 201: `    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; &amp;lt;(echo &amp;quot;$THERMAL&amp;quot;) '&lt;br /&gt;
&lt;br /&gt;
I'm not good enough at scripting to figure out why it's erroring out. This is on Slackware 11. Any suggestions?&lt;br /&gt;
&lt;br /&gt;
--[[User:PJBrs|PJBrs]] - 19 March 2007&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Probably your {{path|/bin/bash}} is too old.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:49, 19 March 2007 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hi Thinker, I just checked, and as of this morning I'm running bash 3.2.015, which seems to be the newest version, and I had the same error. Still, the script is running very nice by reverting one change around line 201 (see the above patch). Unfortunately I have only the faintest idea of what line 201 tries to accomplish, and no idea how to change it. Anyone else have the same problem?&lt;br /&gt;
&lt;br /&gt;
--[[User:PJBrs|PJBrs]] - 26 March 2007&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>PJBrs</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Fan_control_scripts&amp;diff=28811</id>
		<title>Talk:Fan control scripts</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Fan_control_scripts&amp;diff=28811"/>
		<updated>2007-03-19T13:00:38Z</updated>

		<summary type="html">&lt;p&gt;PJBrs: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wyrfel, are you sure the recent (19:54, 27 Oct 2005) cosmetic change was a good idea? The extensive chunks of code make it hard to grok the structure of the article in the absense of separator lines (which &amp;quot;===&amp;quot; doesn't have). --[[User:Thinker|Thinker]] 22:10, 27 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
We can discuss this. From my point of view, the chunks of code distinguish themselves from each other quite well, because they are each in one code block.&lt;br /&gt;
&lt;br /&gt;
I do not like the &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; section level - and so far we avoided them on all pages - because&lt;br /&gt;
* it generates H1 headings, which is the same as the page heading,&lt;br /&gt;
* having more than one level with the hbars is confusing/less readable, because they are not very well distinguishable. This way i.e. the &amp;quot;Other&amp;quot; section looked like a separate empty secion.&lt;br /&gt;
&lt;br /&gt;
I think the way it's now, the separator lines make it possible to easily distinguish the different main sections, while when you have both levels with separator lines, an additional task of distinguishing H1 and H2 separators is necessary.&lt;br /&gt;
&lt;br /&gt;
However, i see your point as well and would like to hear more opinions/arguments.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 22:31, 27 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed (for unpatched kernels)===&lt;br /&gt;
Moved to the [[ACPI fan control script|article page]], after joint development by [[User:Spiney|Spiney]] and [[User:Thinker|Thinker]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Note that the fan levels, thresholds and anti-pulsing hacks are system-specific, so you may need to adjust them.''&lt;br /&gt;
&lt;br /&gt;
I think it'd probably be nice to have a table of the suggested values here. Those in the &amp;quot;unpatched kernels&amp;quot; script seems to work fine on my R52, but the other scripts all have different values.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 08:19, 12 Nov 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Sensor-specific variable-speed script ==&lt;br /&gt;
&lt;br /&gt;
Here's a new variable-speed control script that lets you define the temperature range separately for each sensor. To keep things simple, it auto-computes the trip points (unlike the current script). Works well on a {{T43}}, and (just barely) keeps the fan off most of the time with CPU undervolting and  [[fglrx]] set to maximum power saving. Feedback on other machines would be appreciated.&lt;br /&gt;
&lt;br /&gt;
Any idea what are the sensors at EC offsets 0x79, 0x7A, 0xC0, 0xC1, 0xC2? On the T43, 0x79 seems to be the same as the HDAPS sensor (it never deviates by more than one degree from what the HDAPS sensor tells directly), but I don't know where it's located. Sensor 0x7A is uncorrelated with disk temperature and activity, so it can't be HDD like reported ofor R52. Sensor 0xC1 seems to be under the palm-rest (see discussion in [[Talk:Problem_with_fan_noise]]).&lt;br /&gt;
&lt;br /&gt;
This version also lets the EC read the RPM sensor every few minutes even when the anti-pulsing hack (which normally prevents this) is in use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;Script moved to the [[ACPI fan control script#Variable speed control scripts|article page]]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;.&lt;br /&gt;
{{HINT|If you followed a link here looking for thermal sensor information, see the [[ACPI fan control script#Variable speed control scripts|article page]] and the page on [[thermal sensors]].}}&lt;br /&gt;
&lt;br /&gt;
Feedback very much welcome.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:08, 27 Nov 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
:I use the script on my T41 and it works great, it doesn't crash like the windows fancontrol (check sourceforge). &lt;br /&gt;
:Some remarks: I removed the anti pulsing section because it didn't do anything useful on my laptop. I also raised some temperatures and removed the speed '1', because it barely cools my laptop and makes only slightly less noise than speed '3', which now replaces speed '1'. [[User:SirB|SirB]] 18:55, 20 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Fan enable/disable scripts ==&lt;br /&gt;
&lt;br /&gt;
We currently have two types of scripts -- the old ones which only enable/disable the fan, and the new ones which control the fan speed. Do the latter supercede the former, or do we know of models on which only enable/disable works? Maybe eventually the enable/disable scripts should be &amp;quot;archived&amp;quot; in the talk page to reduce clutter in the article?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:08, 28 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Things seem pretty stable for the variable-speed script and the [[Patch_for_controlling_fan_speed#Models_on_which_this_patch_works|list of working models]] looks good. Since it is superior to the enable/disable scripts in regard to both the annoyance and the impact on hardware, I'll change the organization of the page to put that script first (unless someone objects)..&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:07, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I don't see the point in having the enable/disable scripts when the variable speed one works fine. I'd vote for moving the old scripts here and only keep the better ones in the article, unless somebody has a sane use case for which those are bettere than the new scripts.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 16:19, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== working on a thinkpad X20? ==&lt;br /&gt;
&lt;br /&gt;
hello!&lt;br /&gt;
my /proc/acpi/ibm directory looks like this:&lt;br /&gt;
&lt;br /&gt;
m@homebase:/proc/acpi/ibm$ ls&lt;br /&gt;
bay  bluetooth  dock  driver  hotkey  light  video&lt;br /&gt;
&lt;br /&gt;
so the scripts donÂ´t work, because i do not hat a /proc/acpi/ibm/thermal or a /proc/acpi/ibm/fan directory!&lt;br /&gt;
do you have any ideas whats wrong? &lt;br /&gt;
&lt;br /&gt;
--Manfreeed&lt;br /&gt;
&lt;br /&gt;
What version of ibm_acpi are you using (&amp;quot;cat /proc/acpi/ibm/driver&amp;quot;)? Did you load it with the &amp;quot;experimental=1&amp;quot; module parameter?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 19:30, 26 Dec 2005 (CET)&lt;br /&gt;
:hallo agian, i use IBM ThinkPad ACPI Extras version:0.8 on a Ubuntu Linux with kernel: 2.6.12-10-386. i didnÂ´t change any module parameter. how can i do this? thanks for your help! --[[User:Manfreeed|Manfreeed]] 22:14, 27 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
You need a newer kernel 2.6.14 or newer, or to manually install ibm_api 0.12. It's all explained in [[ibm-acpi]].&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 06:43, 28 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
There is no 0.12 available as a separate download, it is only included in 2.6.14. But 0.11 from the website works just fine for me with the stock Ubuntu kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 11:11, 28 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Question on temperatures ==&lt;br /&gt;
&lt;br /&gt;
I've been testing the 'script with fine control over fan speed' on my r50e, kernel 2.6.15, which still contains version 0.12a of the ibm_acpi module. The script works fine but I notice two things:&lt;br /&gt;
&lt;br /&gt;
1. The seven speed levels don't seem to correspond with seven actual speeds but rather with only three. I also notice that only 3 levels, 2, 4 and 7 are actually used in the script. &lt;br /&gt;
&lt;br /&gt;
2. The given range of temperatures - 52, 60, 68 - causes  the fan in my Thinkpad to run even more often than under embedded control, so I would naturally like to raise them. As the maximum core temperature is 100Â°C, I wonder why I shouldn't use, say 72, 80, 88 instead. - How (im)precise are the temperature data in /proc/acpi/ibm/thermal?&lt;br /&gt;
&lt;br /&gt;
antonix&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
1. On all models I'm aware of, some of the levels are equivelent. So the script only bothers with the different ones. You can test your model manually using [[How to control fan speed]].&lt;br /&gt;
&lt;br /&gt;
2. Yes, in the script you used (the &amp;quot;simple&amp;quot; one), the threshold for highest fan speed is set fairly low, because the same threshold is used for all components and some are more sensitive than others. The &amp;quot;comprehensive&amp;quot; script, also on the article page, lets you control each component separately, so you can raise the threshold for the CPU and GPU without risking burning something else. But note that the thresholds listed there were chosen for a T43, which probably has different [[thermal sensors]] than your R50e.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 10:00, 14 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Comprehensive script - OFF_THRESH_DELTA doesn't work ==&lt;br /&gt;
&lt;br /&gt;
No matter to what value I set the OFF_THRESH_DELTA, fan always turns off at 10 degrees below min temperature. Is there any way to make it work properly? I have a R50e with Gentoo Linux, kernel 2.6.17.&lt;br /&gt;
Regards&lt;br /&gt;
Caleb9&lt;br /&gt;
&lt;br /&gt;
Please run the '''unmodified''' tp-fancontrol in non-daemon non-quiet mode (so you'll see all the verbose status reports), and post examples of the status lines when it does the wrong thing.&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:50, 21 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== t60-fancontrold script ==&lt;br /&gt;
&lt;br /&gt;
Hi all,&lt;br /&gt;
&lt;br /&gt;
since I wasn't entirely satisfied with how tp-fancontrol worked on my T60, I decided to write an alternative script derived from t60-fancontrol (but differing in some respects). It is meant to run as a daemon by default and the main changes are&lt;br /&gt;
&lt;br /&gt;
- different fan level stepping/calculation algorithm&lt;br /&gt;
&lt;br /&gt;
- no perl dependency&lt;br /&gt;
&lt;br /&gt;
- proper config file parsing&lt;br /&gt;
&lt;br /&gt;
- changed/differently behaving command line options&lt;br /&gt;
&lt;br /&gt;
- support for docked and undocked status (different thermal ranges)&lt;br /&gt;
&lt;br /&gt;
- more standard init.d start script&lt;br /&gt;
&lt;br /&gt;
- different temperature values (optimized for my T60)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get it at&lt;br /&gt;
&lt;br /&gt;
http://www.hobbes.gmxhome.de/t60-fancontrold/0.1.4.1/t60-fancontrold-0.1.4.1.tar.gz   (source)&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
http://www.hobbes.gmxhome.de/t60-fancontrold/0.1.4.1/t60-fancontrold-0.1.4.1-1.noarch.rpm   (built for SuSE Linux 10.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I developed it on SuSE Linux 10.1 and tested it on my T60 (2007-FSG, Core Duo T2400, ATI X1400 128 MB). Since I don't have any experience with other ThinkPad's, I can only recommend it for the T60 series, but it might work just as well on other models (with adapted temperature ranges). It works fine for me, but I surely didn't catch all bugs.&lt;br /&gt;
&lt;br /&gt;
Although I must emphasize that the script comes without any warranty (see also README), I'd be happy if you'd test it and give me feedback. Please read the README for general and installation information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Best regards,   Nick.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Can you summarize the difference in the algorithm, and its motivation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:59, 2 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The stepping down from a certain level when all sensor temperatures were long below the respective thresholds didn't seems to work for me. I played around with the temperature ranges and other control parameters, but that didn't help much.&lt;br /&gt;
&lt;br /&gt;
When I looked into the tp-fancontrol routines, the coding in the script appeared - please, no offense - a bit dense ;-) Apart from that, a proper config file with respective parsing in the script was missing. Also I didn't see the necessity of using perl.&lt;br /&gt;
&lt;br /&gt;
Besides the fact that I enjoyed the bit of coding, the fan is now controlled better on my T60. My post was just to let you know about t60-fancontrold and not meant offensive in any way.&lt;br /&gt;
&lt;br /&gt;
To better see what I've done I recommend that you look at the code itself, which presumably tells you a lot more than I can illustrate in my posting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All the best&lt;br /&gt;
&lt;br /&gt;
--[[User:Narend|nick]] 00:25, 3 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
No offence taken, I'm just curious since it worked great for me. About lowering levels, there are two (intentional) hysteresis effects involved: first, the temperature at which it steps down is lower than the temperature at which it steps up. Second, once it entered a given level, it will not step down before $MIN_WAIT seconds have passed. Both are important so I hope your script does them too (in which case, I guess its code is just as dense...).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:47, 3 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My script has something like the MIN_WAIT time loop, but it's implemented in a different way: the passed time is not measured absolutely in seconds and then checked against the current time, but in terms of how many INTERVAL cycles where all sensor temperatures are below the threshold-DELTA_T limit have since passed. The respective parameter in my script is called MIN_WAIT_INTERVALS.&lt;br /&gt;
&lt;br /&gt;
Besides the temperature/stepping algorithm, t60-fancontrold has a more standardized init.d start script (for SuSE 10.1, which is a good choice for the T60) and all options can be set in the config file now, which is actually parsed, not just sourced by tp-fancontrol.init. Also I found that I needed different temperature levels when working docked or undocked.&lt;br /&gt;
&lt;br /&gt;
But all other ThinkPad users seem to be getting along with tp-fancontrol quite well, so I guess the fun when writing t60-fancontrold was another factor ;-)&lt;br /&gt;
&lt;br /&gt;
Thank you very much for your comments, if you have more, please let me known them!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regards,&lt;br /&gt;
&lt;br /&gt;
--[[User:Narend|nick]] 09:52, 3 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Would anybody object if I added an entry for t60-fancontrold under &amp;quot;Other&amp;quot; on the &amp;quot;ACPI fan control script&amp;quot; article page?&lt;br /&gt;
Did somebody try t60-fancontrold or are there any comments on the code?&lt;br /&gt;
&lt;br /&gt;
Best,&lt;br /&gt;
&lt;br /&gt;
--[[User:Narend|nick]] 12:04, 5 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Sure, go ahead. You can give it an informative subsection of its own.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:03, 5 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nick, I'd be interested in knowing the temperature ranges you have defined for your T60. Unfortunately, your scripts aren't available (anymore) at the links you have provided.&lt;br /&gt;
&lt;br /&gt;
--[[User:Gunnar|Gunnar]] 23:35, 9 January 2007 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== cat: /sys/block/hda/device/model: No such file or directory ==&lt;br /&gt;
&lt;br /&gt;
Every 15 seconds, I get this error message when running &amp;lt;code&amp;gt;tp-fancontrol -q&amp;lt;/code&amp;gt; on Ubuntu Edgy on my T60.&lt;br /&gt;
&lt;br /&gt;
I don't quite understand since &amp;lt;code&amp;gt;/dev/hda&amp;lt;/code&amp;gt; is my optical drive. The hard disk is &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
--[[User:Gunnar|Gunnar]] 11:32, 8 January 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== same problem with cat: /sys/block... ==&lt;br /&gt;
&lt;br /&gt;
hi Gunnar,&lt;br /&gt;
&lt;br /&gt;
does your tp-fancontrol also quit after a few minutes when running in daemon mode?&lt;br /&gt;
&lt;br /&gt;
--[[User:Nilsja|Nilsja]] 01:20, 30 January 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
No, the deamon runs fine.&lt;br /&gt;
&lt;br /&gt;
--[[User:Gunnar|Gunnar]] 13:43, 5 February 2007 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Script errors out ==&lt;br /&gt;
&lt;br /&gt;
I tried using the fancontrol script, but it errored out on line 201:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 tp-fancontrol.orig: line 201: syntax error near unexpected token `&amp;lt;'&lt;br /&gt;
 tp-fancontrol.orig: line 201: `    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; &amp;lt;(echo &amp;quot;$THERMAL&amp;quot;) '&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I searched the revision history, and taking out a previous change made the script work again:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 --- tp-fancontrol.orig  2007-02-01 13:33:25.000000000 +0100&lt;br /&gt;
 +++ tp-fancontrol       2007-02-01 13:35:25.000000000 +0100&lt;br /&gt;
 @@ -197,9 +197,15 @@&lt;br /&gt;
  thermometer() { # output list of temperatures&lt;br /&gt;
      # 8 basic temperatures from ibm-acpi:&lt;br /&gt;
      [[ -r $IBM_ACPI/thermal ]] || { echo &amp;quot;$0: Cannot read $IBM_ACPI/thermal&amp;quot; 2&amp;gt;&amp;amp;1 ; exit 1; }&lt;br /&gt;
 -    read THERMAL &amp;lt; $IBM_ACPI/thermal&lt;br /&gt;
 -    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; &amp;lt;(echo &amp;quot;$THERMAL&amp;quot;)&lt;br /&gt;
 -    [[ &amp;quot;$X&amp;quot; == &amp;quot;temperatures:&amp;quot; ]] || { echo &amp;quot;$0: Bad readout: \&amp;quot;$THERMAL\&amp;quot;&amp;quot; &amp;gt;&amp;amp;2;  exit 1; }&lt;br /&gt;
 +## Newer code, that did not seem to work here...&lt;br /&gt;
 +#    read THERMAL &amp;lt; $IBM_ACPI/thermal&lt;br /&gt;
 +#    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; echo &amp;quot;$THERMAL&amp;quot;&lt;br /&gt;
 +#    [[ &amp;quot;$X&amp;quot; == &amp;quot;temperatures:&amp;quot; ]] || { echo &amp;quot;$0: Bad readout: \&amp;quot;$THERMAL\&amp;quot;&amp;quot; &amp;gt;&amp;amp;2;  exit 1; }&lt;br /&gt;
 +&lt;br /&gt;
 +## Older code...&lt;br /&gt;
 +    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; $IBM_ACPI/thermal&lt;br /&gt;
 +    [[ &amp;quot;$X&amp;quot; == &amp;quot;temperatures:&amp;quot; ]] || { echo &amp;quot;$0: Bad temperatures: $X $Y $Z&amp;quot; &amp;gt;&amp;amp;2; exit 1; }&lt;br /&gt;
 +&lt;br /&gt;
      echo -n &amp;quot;$Y1 $Y2 $Y3 $Y4 $Y5 $Y6 $Y7 $Y8 &amp;quot;;&lt;br /&gt;
      # 3 extra temperatures from ibm_acpi:&lt;br /&gt;
      if [[ -n &amp;quot;$Z1&amp;quot; &amp;amp;&amp;amp; -n &amp;quot;$Z2&amp;quot; &amp;amp;&amp;amp; -n &amp;quot;$Z3&amp;quot; ]]; then&lt;br /&gt;
 @@ -422,4 +428,4 @@&lt;br /&gt;
      [ -e &amp;quot;$PID_FILE&amp;quot; ] &amp;amp;&amp;amp; echo &amp;quot;WARNING: daemon already running&amp;quot;&lt;br /&gt;
      set_priority&lt;br /&gt;
      control_fan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By the way, I tested this script using glxgears, so cpu went to 100% (kernel 2.6.18.6, fglrx driver, t43p), and saw gpu-temperature go up to 86 degrees, at which point I quit glxgears. I thought this was a bit high...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:PJBrs|PJBrs]] 13:47, 01 February 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== T60 temperature thresholds? ==&lt;br /&gt;
&lt;br /&gt;
Does someone have reasonable thresholds for T60 with T5600 / X1400?&lt;br /&gt;
&lt;br /&gt;
--[[User:Burp|Burp]] 15:18, 23 February 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Am I doing something wrong? ==&lt;br /&gt;
&lt;br /&gt;
I just tried version 3.02 of the tp-fancontrol script, but I still get:&lt;br /&gt;
&lt;br /&gt;
 # sh Packages/tp-fancontrol-3.02&lt;br /&gt;
 Packages/tp-fancontrol-3.02: line 201: syntax error near unexpected token `&amp;lt;'&lt;br /&gt;
 Packages/tp-fancontrol-3.02: line 201: `    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; &amp;lt;(echo &amp;quot;$THERMAL&amp;quot;) '&lt;br /&gt;
&lt;br /&gt;
I'm not good enough at scripting to figure out why it's erroring out. This is on Slackware 11. Any suggestions?&lt;br /&gt;
&lt;br /&gt;
--[[User:PJBrs|PJBrs]] - 19 March 2007&lt;/div&gt;</summary>
		<author><name>PJBrs</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Fan_control_scripts&amp;diff=28056</id>
		<title>Talk:Fan control scripts</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Fan_control_scripts&amp;diff=28056"/>
		<updated>2007-02-01T12:58:52Z</updated>

		<summary type="html">&lt;p&gt;PJBrs: Script errors out&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wyrfel, are you sure the recent (19:54, 27 Oct 2005) cosmetic change was a good idea? The extensive chunks of code make it hard to grok the structure of the article in the absense of separator lines (which &amp;quot;===&amp;quot; doesn't have). --[[User:Thinker|Thinker]] 22:10, 27 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
We can discuss this. From my point of view, the chunks of code distinguish themselves from each other quite well, because they are each in one code block.&lt;br /&gt;
&lt;br /&gt;
I do not like the &amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt; section level - and so far we avoided them on all pages - because&lt;br /&gt;
* it generates H1 headings, which is the same as the page heading,&lt;br /&gt;
* having more than one level with the hbars is confusing/less readable, because they are not very well distinguishable. This way i.e. the &amp;quot;Other&amp;quot; section looked like a separate empty secion.&lt;br /&gt;
&lt;br /&gt;
I think the way it's now, the separator lines make it possible to easily distinguish the different main sections, while when you have both levels with separator lines, an additional task of distinguishing H1 and H2 separators is necessary.&lt;br /&gt;
&lt;br /&gt;
However, i see your point as well and would like to hear more opinions/arguments.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 22:31, 27 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed (for unpatched kernels)===&lt;br /&gt;
Moved to the [[ACPI fan control script|article page]], after joint development by [[User:Spiney|Spiney]] and [[User:Thinker|Thinker]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Note that the fan levels, thresholds and anti-pulsing hacks are system-specific, so you may need to adjust them.''&lt;br /&gt;
&lt;br /&gt;
I think it'd probably be nice to have a table of the suggested values here. Those in the &amp;quot;unpatched kernels&amp;quot; script seems to work fine on my R52, but the other scripts all have different values.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 08:19, 12 Nov 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Sensor-specific variable-speed script ==&lt;br /&gt;
&lt;br /&gt;
Here's a new variable-speed control script that lets you define the temperature range separately for each sensor. To keep things simple, it auto-computes the trip points (unlike the current script). Works well on a {{T43}}, and (just barely) keeps the fan off most of the time with CPU undervolting and  [[fglrx]] set to maximum power saving. Feedback on other machines would be appreciated.&lt;br /&gt;
&lt;br /&gt;
Any idea what are the sensors at EC offsets 0x79, 0x7A, 0xC0, 0xC1, 0xC2? On the T43, 0x79 seems to be the same as the HDAPS sensor (it never deviates by more than one degree from what the HDAPS sensor tells directly), but I don't know where it's located. Sensor 0x7A is uncorrelated with disk temperature and activity, so it can't be HDD like reported ofor R52. Sensor 0xC1 seems to be under the palm-rest (see discussion in [[Talk:Problem_with_fan_noise]]).&lt;br /&gt;
&lt;br /&gt;
This version also lets the EC read the RPM sensor every few minutes even when the anti-pulsing hack (which normally prevents this) is in use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;b&amp;gt;Script moved to the [[ACPI fan control script#Variable speed control scripts|article page]]&amp;lt;/b&amp;gt;&amp;lt;/i&amp;gt;.&lt;br /&gt;
{{HINT|If you followed a link here looking for thermal sensor information, see the [[ACPI fan control script#Variable speed control scripts|article page]] and the page on [[thermal sensors]].}}&lt;br /&gt;
&lt;br /&gt;
Feedback very much welcome.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:08, 27 Nov 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
:I use the script on my T41 and it works great, it doesn't crash like the windows fancontrol (check sourceforge). &lt;br /&gt;
:Some remarks: I removed the anti pulsing section because it didn't do anything useful on my laptop. I also raised some temperatures and removed the speed '1', because it barely cools my laptop and makes only slightly less noise than speed '3', which now replaces speed '1'. [[User:SirB|SirB]] 18:55, 20 July 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Fan enable/disable scripts ==&lt;br /&gt;
&lt;br /&gt;
We currently have two types of scripts -- the old ones which only enable/disable the fan, and the new ones which control the fan speed. Do the latter supercede the former, or do we know of models on which only enable/disable works? Maybe eventually the enable/disable scripts should be &amp;quot;archived&amp;quot; in the talk page to reduce clutter in the article?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:08, 28 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Things seem pretty stable for the variable-speed script and the [[Patch_for_controlling_fan_speed#Models_on_which_this_patch_works|list of working models]] looks good. Since it is superior to the enable/disable scripts in regard to both the annoyance and the impact on hardware, I'll change the organization of the page to put that script first (unless someone objects)..&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:07, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I don't see the point in having the enable/disable scripts when the variable speed one works fine. I'd vote for moving the old scripts here and only keep the better ones in the article, unless somebody has a sane use case for which those are bettere than the new scripts.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 16:19, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== working on a thinkpad X20? ==&lt;br /&gt;
&lt;br /&gt;
hello!&lt;br /&gt;
my /proc/acpi/ibm directory looks like this:&lt;br /&gt;
&lt;br /&gt;
m@homebase:/proc/acpi/ibm$ ls&lt;br /&gt;
bay  bluetooth  dock  driver  hotkey  light  video&lt;br /&gt;
&lt;br /&gt;
so the scripts donÂ´t work, because i do not hat a /proc/acpi/ibm/thermal or a /proc/acpi/ibm/fan directory!&lt;br /&gt;
do you have any ideas whats wrong? &lt;br /&gt;
&lt;br /&gt;
--Manfreeed&lt;br /&gt;
&lt;br /&gt;
What version of ibm_acpi are you using (&amp;quot;cat /proc/acpi/ibm/driver&amp;quot;)? Did you load it with the &amp;quot;experimental=1&amp;quot; module parameter?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 19:30, 26 Dec 2005 (CET)&lt;br /&gt;
:hallo agian, i use IBM ThinkPad ACPI Extras version:0.8 on a Ubuntu Linux with kernel: 2.6.12-10-386. i didnÂ´t change any module parameter. how can i do this? thanks for your help! --[[User:Manfreeed|Manfreeed]] 22:14, 27 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
You need a newer kernel 2.6.14 or newer, or to manually install ibm_api 0.12. It's all explained in [[ibm-acpi]].&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 06:43, 28 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
There is no 0.12 available as a separate download, it is only included in 2.6.14. But 0.11 from the website works just fine for me with the stock Ubuntu kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 11:11, 28 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Question on temperatures ==&lt;br /&gt;
&lt;br /&gt;
I've been testing the 'script with fine control over fan speed' on my r50e, kernel 2.6.15, which still contains version 0.12a of the ibm_acpi module. The script works fine but I notice two things:&lt;br /&gt;
&lt;br /&gt;
1. The seven speed levels don't seem to correspond with seven actual speeds but rather with only three. I also notice that only 3 levels, 2, 4 and 7 are actually used in the script. &lt;br /&gt;
&lt;br /&gt;
2. The given range of temperatures - 52, 60, 68 - causes  the fan in my Thinkpad to run even more often than under embedded control, so I would naturally like to raise them. As the maximum core temperature is 100Â°C, I wonder why I shouldn't use, say 72, 80, 88 instead. - How (im)precise are the temperature data in /proc/acpi/ibm/thermal?&lt;br /&gt;
&lt;br /&gt;
antonix&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
1. On all models I'm aware of, some of the levels are equivelent. So the script only bothers with the different ones. You can test your model manually using [[How to control fan speed]].&lt;br /&gt;
&lt;br /&gt;
2. Yes, in the script you used (the &amp;quot;simple&amp;quot; one), the threshold for highest fan speed is set fairly low, because the same threshold is used for all components and some are more sensitive than others. The &amp;quot;comprehensive&amp;quot; script, also on the article page, lets you control each component separately, so you can raise the threshold for the CPU and GPU without risking burning something else. But note that the thresholds listed there were chosen for a T43, which probably has different [[thermal sensors]] than your R50e.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 10:00, 14 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Comprehensive script - OFF_THRESH_DELTA doesn't work ==&lt;br /&gt;
&lt;br /&gt;
No matter to what value I set the OFF_THRESH_DELTA, fan always turns off at 10 degrees below min temperature. Is there any way to make it work properly? I have a R50e with Gentoo Linux, kernel 2.6.17.&lt;br /&gt;
Regards&lt;br /&gt;
Caleb9&lt;br /&gt;
&lt;br /&gt;
Please run the '''unmodified''' tp-fancontrol in non-daemon non-quiet mode (so you'll see all the verbose status reports), and post examples of the status lines when it does the wrong thing.&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:50, 21 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== t60-fancontrold script ==&lt;br /&gt;
&lt;br /&gt;
Hi all,&lt;br /&gt;
&lt;br /&gt;
since I wasn't entirely satisfied with how tp-fancontrol worked on my T60, I decided to write an alternative script derived from t60-fancontrol (but differing in some respects). It is meant to run as a daemon by default and the main changes are&lt;br /&gt;
&lt;br /&gt;
- different fan level stepping/calculation algorithm&lt;br /&gt;
&lt;br /&gt;
- no perl dependency&lt;br /&gt;
&lt;br /&gt;
- proper config file parsing&lt;br /&gt;
&lt;br /&gt;
- changed/differently behaving command line options&lt;br /&gt;
&lt;br /&gt;
- support for docked and undocked status (different thermal ranges)&lt;br /&gt;
&lt;br /&gt;
- more standard init.d start script&lt;br /&gt;
&lt;br /&gt;
- different temperature values (optimized for my T60)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get it at&lt;br /&gt;
&lt;br /&gt;
http://www.hobbes.gmxhome.de/t60-fancontrold/0.1.4.1/t60-fancontrold-0.1.4.1.tar.gz   (source)&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
http://www.hobbes.gmxhome.de/t60-fancontrold/0.1.4.1/t60-fancontrold-0.1.4.1-1.noarch.rpm   (built for SuSE Linux 10.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I developed it on SuSE Linux 10.1 and tested it on my T60 (2007-FSG, Core Duo T2400, ATI X1400 128 MB). Since I don't have any experience with other ThinkPad's, I can only recommend it for the T60 series, but it might work just as well on other models (with adapted temperature ranges). It works fine for me, but I surely didn't catch all bugs.&lt;br /&gt;
&lt;br /&gt;
Although I must emphasize that the script comes without any warranty (see also README), I'd be happy if you'd test it and give me feedback. Please read the README for general and installation information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Best regards,   Nick.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Can you summarize the difference in the algorithm, and its motivation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:59, 2 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The stepping down from a certain level when all sensor temperatures were long below the respective thresholds didn't seems to work for me. I played around with the temperature ranges and other control parameters, but that didn't help much.&lt;br /&gt;
&lt;br /&gt;
When I looked into the tp-fancontrol routines, the coding in the script appeared - please, no offense - a bit dense ;-) Apart from that, a proper config file with respective parsing in the script was missing. Also I didn't see the necessity of using perl.&lt;br /&gt;
&lt;br /&gt;
Besides the fact that I enjoyed the bit of coding, the fan is now controlled better on my T60. My post was just to let you know about t60-fancontrold and not meant offensive in any way.&lt;br /&gt;
&lt;br /&gt;
To better see what I've done I recommend that you look at the code itself, which presumably tells you a lot more than I can illustrate in my posting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All the best&lt;br /&gt;
&lt;br /&gt;
--[[User:Narend|nick]] 00:25, 3 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
No offence taken, I'm just curious since it worked great for me. About lowering levels, there are two (intentional) hysteresis effects involved: first, the temperature at which it steps down is lower than the temperature at which it steps up. Second, once it entered a given level, it will not step down before $MIN_WAIT seconds have passed. Both are important so I hope your script does them too (in which case, I guess its code is just as dense...).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:47, 3 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My script has something like the MIN_WAIT time loop, but it's implemented in a different way: the passed time is not measured absolutely in seconds and then checked against the current time, but in terms of how many INTERVAL cycles where all sensor temperatures are below the threshold-DELTA_T limit have since passed. The respective parameter in my script is called MIN_WAIT_INTERVALS.&lt;br /&gt;
&lt;br /&gt;
Besides the temperature/stepping algorithm, t60-fancontrold has a more standardized init.d start script (for SuSE 10.1, which is a good choice for the T60) and all options can be set in the config file now, which is actually parsed, not just sourced by tp-fancontrol.init. Also I found that I needed different temperature levels when working docked or undocked.&lt;br /&gt;
&lt;br /&gt;
But all other ThinkPad users seem to be getting along with tp-fancontrol quite well, so I guess the fun when writing t60-fancontrold was another factor ;-)&lt;br /&gt;
&lt;br /&gt;
Thank you very much for your comments, if you have more, please let me known them!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regards,&lt;br /&gt;
&lt;br /&gt;
--[[User:Narend|nick]] 09:52, 3 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Would anybody object if I added an entry for t60-fancontrold under &amp;quot;Other&amp;quot; on the &amp;quot;ACPI fan control script&amp;quot; article page?&lt;br /&gt;
Did somebody try t60-fancontrold or are there any comments on the code?&lt;br /&gt;
&lt;br /&gt;
Best,&lt;br /&gt;
&lt;br /&gt;
--[[User:Narend|nick]] 12:04, 5 December 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Sure, go ahead. You can give it an informative subsection of its own.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:03, 5 December 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nick, I'd be interested in knowing the temperature ranges you have defined for your T60. Unfortunately, your scripts aren't available (anymore) at the links you have provided.&lt;br /&gt;
&lt;br /&gt;
--[[User:Gunnar|Gunnar]] 23:35, 9 January 2007 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== cat: /sys/block/hda/device/model: No such file or directory ==&lt;br /&gt;
&lt;br /&gt;
Every 15 seconds, I get this error message when running &amp;lt;code&amp;gt;tp-fancontrol -q&amp;lt;/code&amp;gt; on Ubuntu Edgy on my T60.&lt;br /&gt;
&lt;br /&gt;
I don't quite understand since &amp;lt;code&amp;gt;/dev/hda&amp;lt;/code&amp;gt; is my optical drive. The hard disk is &amp;lt;code&amp;gt;/dev/sda&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
--[[User:Gunnar|Gunnar]] 11:32, 8 January 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
== same problem with cat: /sys/block... ==&lt;br /&gt;
&lt;br /&gt;
hi Gunnar,&lt;br /&gt;
&lt;br /&gt;
does your tp-fancontrol also quit after a few minutes when running in daemon mode?&lt;br /&gt;
&lt;br /&gt;
--[[User:Nilsja|Nilsja]] 01:20, 30 January 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Script errors out ==&lt;br /&gt;
&lt;br /&gt;
I tried using the fancontrol script, but it errored out on line 201:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 tp-fancontrol.orig: line 201: syntax error near unexpected token `&amp;lt;'&lt;br /&gt;
 tp-fancontrol.orig: line 201: `    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; &amp;lt;(echo &amp;quot;$THERMAL&amp;quot;) '&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I searched the revision history, and taking out a previous change made the script work again:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 --- tp-fancontrol.orig  2007-02-01 13:33:25.000000000 +0100&lt;br /&gt;
 +++ tp-fancontrol       2007-02-01 13:35:25.000000000 +0100&lt;br /&gt;
 @@ -197,9 +197,15 @@&lt;br /&gt;
  thermometer() { # output list of temperatures&lt;br /&gt;
      # 8 basic temperatures from ibm-acpi:&lt;br /&gt;
      [[ -r $IBM_ACPI/thermal ]] || { echo &amp;quot;$0: Cannot read $IBM_ACPI/thermal&amp;quot; 2&amp;gt;&amp;amp;1 ; exit 1; }&lt;br /&gt;
 -    read THERMAL &amp;lt; $IBM_ACPI/thermal&lt;br /&gt;
 -    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; &amp;lt;(echo &amp;quot;$THERMAL&amp;quot;)&lt;br /&gt;
 -    [[ &amp;quot;$X&amp;quot; == &amp;quot;temperatures:&amp;quot; ]] || { echo &amp;quot;$0: Bad readout: \&amp;quot;$THERMAL\&amp;quot;&amp;quot; &amp;gt;&amp;amp;2;  exit 1; }&lt;br /&gt;
 +## Newer code, that did not seem to work here...&lt;br /&gt;
 +#    read THERMAL &amp;lt; $IBM_ACPI/thermal&lt;br /&gt;
 +#    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; echo &amp;quot;$THERMAL&amp;quot;&lt;br /&gt;
 +#    [[ &amp;quot;$X&amp;quot; == &amp;quot;temperatures:&amp;quot; ]] || { echo &amp;quot;$0: Bad readout: \&amp;quot;$THERMAL\&amp;quot;&amp;quot; &amp;gt;&amp;amp;2;  exit 1; }&lt;br /&gt;
 +&lt;br /&gt;
 +## Older code...&lt;br /&gt;
 +    read X Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Z1 Z2 Z3 JNK &amp;lt; $IBM_ACPI/thermal&lt;br /&gt;
 +    [[ &amp;quot;$X&amp;quot; == &amp;quot;temperatures:&amp;quot; ]] || { echo &amp;quot;$0: Bad temperatures: $X $Y $Z&amp;quot; &amp;gt;&amp;amp;2; exit 1; }&lt;br /&gt;
 +&lt;br /&gt;
      echo -n &amp;quot;$Y1 $Y2 $Y3 $Y4 $Y5 $Y6 $Y7 $Y8 &amp;quot;;&lt;br /&gt;
      # 3 extra temperatures from ibm_acpi:&lt;br /&gt;
      if [[ -n &amp;quot;$Z1&amp;quot; &amp;amp;&amp;amp; -n &amp;quot;$Z2&amp;quot; &amp;amp;&amp;amp; -n &amp;quot;$Z3&amp;quot; ]]; then&lt;br /&gt;
 @@ -422,4 +428,4 @@&lt;br /&gt;
      [ -e &amp;quot;$PID_FILE&amp;quot; ] &amp;amp;&amp;amp; echo &amp;quot;WARNING: daemon already running&amp;quot;&lt;br /&gt;
      set_priority&lt;br /&gt;
      control_fan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By the way, I tested this script using glxgears, so cpu went to 100% (kernel 2.6.18.6, fglrx driver, t43p), and saw gpu-temperature go up to 86 degrees, at which point I quit glxgears. I thought this was a bit high...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:PJBrs|PJBrs]] 13:47, 01 February 2007 (CET)&lt;/div&gt;</summary>
		<author><name>PJBrs</name></author>
		
	</entry>
</feed>