<?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=Theclaw</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=Theclaw"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Theclaw"/>
	<updated>2026-04-08T03:15:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Fan_control_scripts&amp;diff=34328</id>
		<title>Fan control scripts</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Fan_control_scripts&amp;diff=34328"/>
		<updated>2007-11-06T17:02:57Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Comprehensive &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page provides several scripts for controlling the ThinkPad's system fan according the its [[thermal sensors]] (overriding the embedded controller), in order to reduce [[problem with fan noise|fan noise]] and decrease [[how to reduce power consumption|power consumption]].&lt;br /&gt;
&lt;br /&gt;
{{WARN|These scripts rely on undocumented hardware features and override nominal hardware behavior. They may thus cause arbitrary damage to your laptop or data. Watch your temperatures!}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Variable speed control scripts==&lt;br /&gt;
The following scripts sets the fan speed according to the system's [[thermal sensors]]. In addition, they include a hack for preventing the annoying fan pulsing that occurs on some systems. 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;
===Comprehensive &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed===&lt;br /&gt;
This script works with any recent Linux kernel (2.6.14 and higher). It requires the [[ibm-acpi]] module to be loaded with the &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt; module parameter (e.g., {{cmdroot|1=modprobe ibm_acpi experimental=1}}).&lt;br /&gt;
&lt;br /&gt;
In Linux 2.6.22 and higher you need to additionally pass fan_control=1 to the module thinkpad_acpi (e.g., {{cmdroot|1=modprobe thinkpad-acpi experimental=1 fan_control=1}})&lt;br /&gt;
&lt;br /&gt;
The code lets you define a temperature range for each [[thermal sensors|thermal sensor]]. The script computes the fan level needed by each sensor based on the configured range, and then sets the the actual fan level to the slowest that will satisfy all sensors (plus some hysteresis to avoid fluctiations). It also includes a workaround for the [[Problem with fan noise|pulsing noise]] problem. The scipt provides an (optional) daemon mode and logging to syslog. The method of controlling fan speed is documented [[How to control fan speed|here]]. &lt;br /&gt;
&lt;br /&gt;
The system hard disk temperature is monitored as well, using the hard disk's internal sensor. This works only on certain Hitachi disks and requires kernel &amp;gt;= 2.6.19-rc1 or the ide driver, since it uses a [[Thermal Sensors#Hitachi_harddisks_SENSE_CONDITION_temperature_sensor|non-standard method]] for reading the temperature without causing a head unload or spinup.&lt;br /&gt;
&lt;br /&gt;
The code:&lt;br /&gt;
* {{CodeRef|tp-fancontrol}}&lt;br /&gt;
&lt;br /&gt;
Current options:&lt;br /&gt;
&lt;br /&gt;
 Usage: ./tp-fancontrol [OPTION]...&lt;br /&gt;
 &lt;br /&gt;
 Available options:&lt;br /&gt;
   -s N   Shift up the min temperature thresholds by N degrees&lt;br /&gt;
          (positive for quieter, negative for cooler).&lt;br /&gt;
          Max temperature thresholds are not affected.&lt;br /&gt;
   -S N   Shift up the max temperature thresholds by N degrees&lt;br /&gt;
          (positive for quieter, negative for cooler). DANGEROUS.&lt;br /&gt;
   -t     Test mode&lt;br /&gt;
   -q     Quiet mode&lt;br /&gt;
   -d     Daemon mode, go into background (implies -q)&lt;br /&gt;
   -l     Log to syslog&lt;br /&gt;
   -k     Kill already-running daemon&lt;br /&gt;
   -u     Tell already-running daemon that the system is being suspended&lt;br /&gt;
   -p     Pid file location for daemon mode&lt;br /&gt;
{{WARN|The list of temperature ranges used in this script is much more liberal than the rules used by the embedded controller firmware, and is derived mostly from anecdotal evidence, hunches and wishful thinking. It is also model-specific - see [[thermal sensors]].}}&lt;br /&gt;
&lt;br /&gt;
====init script for the comprehensive script====&lt;br /&gt;
&lt;br /&gt;
This is optional. It assumes that the above &amp;lt;tt&amp;gt;tp-fancontrol&amp;lt;/tt&amp;gt; script is saved at {{path|/usr/bin/tp-fancontrol}}.&lt;br /&gt;
* Init script: {{CodeRef|tp-fancontrol.init}} (save as {{path|/etc/init.d/tp-fancontrol}})&lt;br /&gt;
* Init script (Debian): {{CodeRef|tp-fancontrol.init.debian}} (save as {{path|/etc/init.d/tp-fancontrol}})&lt;br /&gt;
* Configuration file for init script: {{CodeRef|tp-fancontrol.conf}} (save as {{path|/etc/tp-fancontrol.conf}})&lt;br /&gt;
&lt;br /&gt;
===Simple &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; script with fine control over fan speed (requires kernel patch)===&lt;br /&gt;
The following is a simpler patch (without extra features like daemon mode and logging). It requires the [[patch for controlling fan speed]] or a recent kernel (&amp;gt;=2.6.19).&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|tp-fancontrol-basic}}&lt;br /&gt;
&lt;br /&gt;
===tp-fan: Automatic daemon with GTK+ GUI===&lt;br /&gt;
Provides easy setup and monitoring through graphical GTK+ interface. Temperature thresholds cannot be set separately for each sensor.&lt;br /&gt;
&lt;br /&gt;
At the moment it is only tested on Ubuntu Gutsy Gibbon. However, porting to other distributions or manual setup should be easy.&lt;br /&gt;
&lt;br /&gt;
* Home page: http://www.gambitchess.org/moin.py/tpfan&lt;br /&gt;
&lt;br /&gt;
==Fan enable/disable scripts==&lt;br /&gt;
The following scripts were written before it was known [[patch for controlling fan speed|how to control the fan speed]], so they only toggle between fan disabled and default (noisy) fan behavior. In some models, they also do not monitor all available [[thermal sensors]].&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;sh&amp;lt;/tt&amp;gt; script example===&lt;br /&gt;
{{CodeRef|fan-enable-basic}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;sh&amp;lt;/tt&amp;gt; script with more features===&lt;br /&gt;
{{CodeRef|fan-enable-extended}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;tt&amp;gt;sh&amp;lt;/tt&amp;gt; script with extra safety functionality===&lt;br /&gt;
ibm_acpi usually works well. But to rely on it completely, this script provides some extra safety functionality:&lt;br /&gt;
# It catches various signals and turns the fan on before it quits.&lt;br /&gt;
# It turns off the fan under very strict conditions, leaving it on when unexpected errors occur.&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|fan-enable-safe}}&lt;br /&gt;
&lt;br /&gt;
==Init scripts==&lt;br /&gt;
&lt;br /&gt;
===Init script example===&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|fan-enable.init}}&lt;br /&gt;
&lt;br /&gt;
===Init script example for gentoo===&lt;br /&gt;
Assume one of the above control scripts is {{path|/usr/sbin/ibm-fancontrold}}, for gentoo use the following init script in /etc/init.d/ibm-fancontrol.&lt;br /&gt;
Copy the script to {{path|/etc/init.d/ibm-fancontrol}}, then do &lt;br /&gt;
&lt;br /&gt;
 # rc-update add ibm-fancontrol default&lt;br /&gt;
&lt;br /&gt;
This will add the init script to the default runlevel.&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|ibm-fancontrol.init}}&lt;br /&gt;
&lt;br /&gt;
===Init script example for rh/fedora===&lt;br /&gt;
Assume one of the above control scripts is {{path|/sbin/tp-fancontrold}},&lt;br /&gt;
copy the script to {{path|/etc/init.d/tp-fancontrol}}, then do &lt;br /&gt;
&lt;br /&gt;
 # chkconfig --add tp-fancontrol&lt;br /&gt;
&lt;br /&gt;
This will add the init script to the default runlevel.&lt;br /&gt;
&lt;br /&gt;
{{CodeRef|tp-fancontrol-fc.init}}&lt;br /&gt;
&lt;br /&gt;
You'd have to install also &amp;quot;kernel-module-ibm-acpi&amp;quot; package.&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
&lt;br /&gt;
===fanctrld===&lt;br /&gt;
[http://log.does-not-exist.org/archives/2005/08/13/2043_t_43_fan_control_daemon.html fanctrld] is a daemon (written in C) that controls the Thinkpad's fan. The basic approach is to monitor both temperature and fan speed. The fan is enabled when a certain temperature is exceeded, and disabled when the BIOS slows down the fan below a certain speed.&lt;br /&gt;
&lt;br /&gt;
==Ideas for improvement==&lt;br /&gt;
* Use the [[HDAPS]] sensor to automatically lower the temperature thresholds when the laptop is moving. Prolonged movement usually happens when the laptop is on the user's lap (see [[Problem with hot surfaces]] for implications), or when in a moving vehicle where fan noise is typically overshadowed by vehicle noise.&lt;br /&gt;
* Use a [http://en.wikipedia.org/wiki/PID_controller PID controller] feedback loop instead of simple thresholds.&lt;br /&gt;
* Monitor the UltraBay disk temperature too.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[How to control fan speed]]&lt;br /&gt;
* Shimodax's ThinkPad fan control tool for a Windows offers functionality similar to these scripts; see the [http://forum.thinkpads.com/viewtopic.php?t=17715 forum discussion] at thinkpads.com.&lt;br /&gt;
* Yury Polyanskiy has a [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030697.html kernel patch] for automatic fan control in kernelspace (only enable/disable based on maximum temperature).&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=31060</id>
		<title>Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=31060"/>
		<updated>2007-07-08T17:51:15Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: added xv-bug&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses issues with the ATI proprietary [[fglrx]] display driver.&lt;br /&gt;
&lt;br /&gt;
== Known Troubles and Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== X-specific issues ===&lt;br /&gt;
&lt;br /&gt;
==== upgrading xserver-xorg ====&lt;br /&gt;
ATI proprietary drivers version 8.21.7 and later work with x.org 6.9.&lt;br /&gt;
&lt;br /&gt;
If you are running an older version (8.20.8) under Debian sid and you upgrade your xserver-xorg, apt will force you to remove any debian-packaged fglrx drivers (package fglrx-driver depends on x.org &amp;lt;&amp;lt; 6.8.99).  You can just download the driver from the ATI site and install after modifying the Debian packager script to allow dependencies to be satisfied by x.org 6.9, or just download 8.21.7 and install manually.  See talk page for step-by-step commands.&lt;br /&gt;
&lt;br /&gt;
After installing the fglrx driver, you can use module-assist to build the appropriate kernel module.&lt;br /&gt;
&lt;br /&gt;
==== new Xorg ID Scheme ====&lt;br /&gt;
ATI proprietary drivers &amp;lt;=8.36.5 with xorg &amp;gt;=7.1.0-18 (==1.3.0.0) in Debian Sid and Fedora ([http://www.sidux.com/PNphpBB2-viewtopic-t-3162-postdays-0-postorder-asc.html Debian] and [http://www.phoronix.net/forums/showthread.php?t=2382 Fedora] Forum Entries)&lt;br /&gt;
&lt;br /&gt;
Ubuntu feisty made their own xorg with the standard id of 7.2, to work around this issue.&lt;br /&gt;
&lt;br /&gt;
Xorg has changed its ID Scheme in newer Versions, and fglrx cannot cope with that (Error message saying &amp;quot;[...] X version mismatch - detected X.org 1.3.-1.905, required X.org 7.1.0.0 [...]&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
A binary hack solves the Problem [http://rage3d.com/board/showthread.php?s=4638d94143536f6acacbccd8f0443472&amp;amp;t=33889029 (rage3d.com Forum Entry)]. This is a very '''dirty''' solution, and is probably violating the ATI driver license. &lt;br /&gt;
&lt;br /&gt;
Simply using the open source ati driver (or holding back the xorg upgrades) until a new driver is released, is suggested.&lt;br /&gt;
&lt;br /&gt;
As of version 8.37.6, this issue is solved. No more binary hacking needed.&lt;br /&gt;
&lt;br /&gt;
=== Kernel-specific troubles ===&lt;br /&gt;
&lt;br /&gt;
Using ATI drivers &amp;lt;=8.21.7 with kernel &amp;gt;=2.6.15 needs a [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch].  (see table below for detail.) If you can't compile the driver modules with 2.6.15 or later, you should apply this [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch patch] instead. &lt;br /&gt;
&lt;br /&gt;
If you do not use one of these patches, you may experience peculiar lockups of X.  Try {{cmduser|fglrxinfo}} - if your shell hangs at the end of this command, you may have an issue and should try the patch or upgrade.&lt;br /&gt;
&lt;br /&gt;
Although unproven, there is a substantial amount of user / developer concern that the above patches prevent hard lockups but do not provide full reliability with 2.6.15 and there are larger / redisgn issues preventing compatibility.  These issues have been fixed with later ATI drivers (&amp;gt; 8.21.7) so you can simply upgrade if you are running a more modern kernel.&lt;br /&gt;
&lt;br /&gt;
=== No hardware acceleration ===&lt;br /&gt;
&lt;br /&gt;
====Acceleration lost after driver update====&lt;br /&gt;
If you lose hardware acceleration after a driver update this can be caused by an old fglrx kernel module being loaded.&lt;br /&gt;
&lt;br /&gt;
Check out {{path|1=/var/log/Xorg.0.log}} for a message like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(WW) fglrx(0): Kernel Module version does *not* match driver.&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can verify this yourself by looking at the version message some lines above. It should read something not matching the installed version like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0): Kernel Module Version Information:&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Name: fglrx&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Version: 8.10.19&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The cause for this trouble might be that there resist multiple versions of the fglrx module within the kernel module search path.&amp;lt;br&amp;gt;&lt;br /&gt;
Go to {{path|1=/lib/modules/&amp;lt;your linux kernel version&amp;gt;/}} and type {{cmdroot|1=grep fglrx modules.dep}}.&amp;lt;br&amp;gt;&lt;br /&gt;
If grep finds multiple lines you nailed down the problem. All you have to do now is to delete any versions of the module (look at the filedate) but the most current one. Then run {{cmdroot|1=depmod}} and you are done.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Newer versions (8.21.7) of the fglrx module seem to be installed in the &amp;lt;code&amp;gt;extra/&amp;lt;/code&amp;gt; subdirectory.&amp;lt;br&amp;gt;&lt;br /&gt;
Older versions (8.19.10) used to be located in the &amp;lt;code&amp;gt;kernel/drivers/char/drm/&amp;lt;/code&amp;gt; subdirectory.}}&lt;br /&gt;
&lt;br /&gt;
====GCC 3.4====&lt;br /&gt;
If the ATI driver works only without the hardware acceleration, take into consideration that {{path|fglrx_dri.so}} was linked against libstdc++.so.5 which may not be present if your system uses gcc-3.4.&lt;br /&gt;
&lt;br /&gt;
To fix this, compile gcc-3.3.5 and copy &amp;lt;tt&amp;gt;libstdc++.so.5*&amp;lt;/tt&amp;gt; to {{path|/usr/lib}} and update the dynamic linker cache via {{cmdroot|ldconfig}}.&lt;br /&gt;
&lt;br /&gt;
Or install a compat package for your favorite distro. FC4 users can do:&lt;br /&gt;
:{{cmdroot|yum install libstdc++.so.5}}&lt;br /&gt;
&lt;br /&gt;
====radeonfb framebuffer====&lt;br /&gt;
Another possible cause for broken hardware acceleration (2D and 3D) is the radeonfb framebuffer: Switching to vesafb or vesafb-tng is reported to solve the problem on some systems. Also it has proven helpful to not perform {{cmdroot|modprobe fglrx}} after boot but to have the module loaded via {{path|/etc/modules.autoload/kernel2.x}} at boottime instead.&lt;br /&gt;
&lt;br /&gt;
====Perpetual Mesa GLX Indirect on Debian====&lt;br /&gt;
If you've done everything right and you're still seeing:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|fglrxinfo}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.1)}}&lt;br /&gt;
&lt;br /&gt;
try this:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkdir -p /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
&lt;br /&gt;
Thanks to Maciej Matysiak for the clear debug [http://lists.debian.org/debian-amd64/2006/02/msg00217.html here] and solution [http://lists.debian.org/debian-amd64/2006/02/msg00311.html here].&lt;br /&gt;
&lt;br /&gt;
More generally, use LIBGL_DEBUG=verbose fglrxinfo, to see what's happening, and whether you get this:&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL error: dlopen /usr/X11R6/lib/modules/dri/fglrx_dri.so failed (/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory)}}&lt;br /&gt;
:{{cmdresult|libGL error: unable to find driver: fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.2)}}&lt;br /&gt;
&lt;br /&gt;
instead of that:&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: busid is PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: minor is 0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: node name is /dev/dri/card0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: open result is 4, (OK)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmOpenMinor returns 4}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmGetBusid reports PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|Can't open configuration file /home/merlin/.drirc: No such file or directory.}}&lt;br /&gt;
:{{cmdresult|fglrx: DPD supported.}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: ATI Technologies Inc.}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: MOBILITY FIREGL T2 Pentium 4 (SSE2) (FireGL) (GNU_ICD)}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 2.0.5879 (8.26.18)}}&lt;br /&gt;
&lt;br /&gt;
I have contacted ATI to add that info by default, the mesa guys to do that in glxinfo too, as well as the debian packager to fix the debian packaging bug (2006/07/22), so hopefully the situation will improve soon&lt;br /&gt;
&lt;br /&gt;
You may have to run fglrxinfo as root to get this detail rather than a useless message.&lt;br /&gt;
&lt;br /&gt;
==== Where to look for fglrx_dri.so (gentoo and general)====&lt;br /&gt;
After installing a new kernel (linux-2.6.20-gentoo-r7) with gentoo I again was not able to get the ATI driver working&lt;br /&gt;
correctly. But now I found out what the problem was:&lt;br /&gt;
&lt;br /&gt;
I tried &lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.35.5 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/lib32/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL error: dlopen /usr/lib32/dri/fglrx_dri.so failed (/usr/lib32/dri/fglrx_dri.so: wrong ELF class: ELFCLASS32)}}&lt;br /&gt;
:{{cmdresult|libGL error: unable to find driver: fglrx_dri.so}}&lt;br /&gt;
&lt;br /&gt;
The error itself makes sense, because I am running a 64-Bit linux on AMD. The question was, why libGL tries to look&lt;br /&gt;
in /usr/lib32 only...&lt;br /&gt;
&lt;br /&gt;
After some digging around I found out, that apparently 8.35.5 version of the driver uses the environment variable&lt;br /&gt;
'''LIBGL_DRIVERS_PATH''' to find out where it should look for the &amp;quot;fglrx_dri.so&amp;quot; driver.&lt;br /&gt;
&lt;br /&gt;
Now in my case this environment variable pointed to &amp;quot;/usr/lib32/dri&amp;quot; and that was what caused the problem.&lt;br /&gt;
So doing&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;export LIBGL_DRIVERS_PATH='/usr/lib64/dri:/usr/lib32/dri'&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
solved the problem in my case.&lt;br /&gt;
&lt;br /&gt;
As mentioned I use gentoo. After some more digging around I found out, that it is apparently necessary to call&lt;br /&gt;
:{{cmduser|env-update}}&lt;br /&gt;
after a re-install of the ATI driver. To be more specific, it seems that &amp;quot;eselect opengl set ati&amp;quot; sometimes&lt;br /&gt;
does something wrong. &amp;quot;env-update&amp;quot; seems to repair the problem so that afterwards the '''LIBGL_DRIVERS_PATH'''&lt;br /&gt;
environment variable is set correctly when you log in.&lt;br /&gt;
&lt;br /&gt;
If you want to check, look in &amp;lt;code&amp;gt;/etc/profile.env&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/etc/profile.csh&amp;lt;/code&amp;gt;. This is the&lt;br /&gt;
place where the '''LIBGL_DRIVERS_PATH''' environment variable gets set.&lt;br /&gt;
&lt;br /&gt;
=== Softlink hell ===&lt;br /&gt;
The [[fglrx]] installer replaces the standard X.org OpenGL implementation (Mesa) with its own files, potentially causing collisions with the distribution's file and package management. It is best to install the driver via a package built for your distribution, which will typically include the necessary kludges to make things work. See the [[fglrx]] page for pointers.&lt;br /&gt;
&lt;br /&gt;
====Discussion====&lt;br /&gt;
If using {{cmduser|fglrxinfo}} after installing [[fglrx]] indicates that you are still using the mesa indirect software GL renderer, you likely have some misplaced softlinks.  It seems like it has to do with an apt-get upgrade that sometimes replaces these links.  Anyway, go to&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
and list your GL libraries and links&lt;br /&gt;
:{{cmdroot|ls -la *GL*}}&lt;br /&gt;
You should see something like the following two lines amoung others:&lt;br /&gt;
:{{cmdresult|libGL.so -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
:{{cmdresult|libGL.so.1 -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
If you see a link to a mesa library (something like {{cmdresult|... -&amp;gt; libGL.mesa.1.2}}), then that's your problem!  Restore the softlink like this (use your actual library version, though):&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
&lt;br /&gt;
For some reason, this link might &amp;quot;break&amp;quot; later, giving you the software rendering once more.  Even after renaming the mesa library to something like &amp;lt;tt&amp;gt;mesa.bkup&amp;lt;/tt&amp;gt;, the system might still find it and link to it despite the name change.  If you have to do this a lot, you could write a restoreGL script.&lt;br /&gt;
&lt;br /&gt;
=====Gentoo=====&lt;br /&gt;
{{Gentoo}} has built in tools for managing the OpenGL symlinks.  They seem to be replacing the old tool with a new one, so one of the following should work for you:&lt;br /&gt;
:{{cmdroot|opengl-update ati}} or&lt;br /&gt;
:{{cmdroot|eselect opengl set ati}}&lt;br /&gt;
Eselect is new, and still ~x86 (as of the end of 2005), so you may not have it yet.  &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; is the old tried-and-true method for managing the symlinks.  If &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; doesn't fix it for you, you should probably tell [http://bugs.gentoo.org Gentoo Bugzilla] (assuming they don't know yet).&lt;br /&gt;
&lt;br /&gt;
If {{cmdroot|ldd /usr/X11R6/bin/glxinfo}} shows that your system still uses the xorg-x11 mesa libs after trying one of the above commands, i.e. a line like this:&lt;br /&gt;
:{{cmdresult|1=libGL.so.1 =&amp;gt; /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0x400a8000)}}&lt;br /&gt;
you will also need to relink {{path|libGl.so.1.2}}:&lt;br /&gt;
:{{cmdroot|cd /usr/lib/opengl/xorg-x11/lib/}}&lt;br /&gt;
:{{cmdroot|mv libGL.so.1.2 libGL.so.1.2_backup}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/libGL.so.1.2 libGL.so.1.2}}&lt;br /&gt;
After another restart of X {{cmduser|fglrxinfo}} should show that it's using the right libs now.&lt;br /&gt;
&lt;br /&gt;
=====Debian=====&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|rm /usr/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|rm /usr/X11R6/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
:{{cmdroot|cp /usr/lib/fglrx/diversions/lib/libGL.so.1.2 .}}&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
:{{cmdroot|ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Troubles using software suspend ===&lt;br /&gt;
When the computer resumes from suspend, X only displays a garbled image and the computer is frozen.&lt;br /&gt;
The problem is acknowledged in ATI's release notes and in knowledge base entry &amp;lt;strike&amp;gt;[https://support.ati.com/ics/support/KBResult.asp?searchFor=Search+Words&amp;amp;search.x=0&amp;amp;search.y=0&amp;amp;searchOption=id&amp;amp;questionID=737-218+&amp;amp;task=knowledge&amp;amp;searchTime=-1&amp;amp;productID=&amp;amp;folderID=-1&amp;amp;resultLimit=50 737-218]&amp;lt;/strike&amp;gt; [https://support.ati.com/ics/support/KBAnswer.asp?questionID=218 737-218]. Driver version 8.19.10 has &amp;quot;initial support for Suspend and Resume&amp;quot; but is working very nicely for most people (verified on T43, T43p and T42) without vbetool.&lt;br /&gt;
&lt;br /&gt;
If you are using an older version of fglrx, using [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] to save/restore the video card state before/after suspend worked for some people. If you use [[Software Suspend 2|Software Suspend 2 (suspend2)]] scripts, you can simply uncomment &amp;lt;tt&amp;gt;EnableVbetool yes&amp;lt;/tt&amp;gt; in {{path|/etc/hibernate/hibernate.conf}}. Be aware though that it breaks suspend/resume for drivers beginning with version 8.19.10, so remember to disable it again when upgrading.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ tested with the following configurations&lt;br /&gt;
!model!!distro||kernel!!fglrx!!PM!!success!!comments&lt;br /&gt;
|-&lt;br /&gt;
|{{T42}}||SUSE 9.3||2.6.11||8.14.13||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T41p}}||???||2.6.14||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T42p}}||Debian||2.6.10||Debian packaged||suspend2||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian sid||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 (but not earlier versions!)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian etch||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 and without vbetool&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Ubuntu Breezy||2.6.12-10||8.19.10||swsusp||yes||Perfect.  (Finally.)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.1||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch], requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.2||8.19.10||suspend2 2.2-rc11||yes||requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.19.10||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.20.8||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||FC6||2.6.20-1.2933||8.34.8||swsusp, STR||yes||DRI enabled, occasionally fails, reason unknown.&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}}||???||???||8.19.10||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14||8.19.10||Suspend to RAM||yes||without vbetool or UseDummyXServer, those two ''break'' the resume process here, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14.3||8.20.8||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R52}}||Debian sid||2.6.15-rc5||8.20.8||swsup||yes||both vbetool and UseDummyXServer disabled, DRI enabled, needs [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled - console is garbled until switching back from X&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||suspend2 2.2||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||swsusp||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T60}}||Gentoo 2006.1||2.6.19-suspend2||8.31.5||Suspend2||yes||Everything works: 3D, suspend-to-disk, suspend-to-ram, suspend in X.org, switching to VT's at any moment. Never needed to unload any modules manually, worked immediately. Fglrx driver 8.32.5 totally broke suspend for me, so i'm sticking with 8.31.5. T60 2008-B62 model.&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06||2.6.15||8.25.18||swsusp||no||Switching to VT to suspend: no resume, X restarts; Not switching: suspend works, garbled X display on resume, later X restarts&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06 Text Mode||2.6.15||---||swsusp||yes||suspend works in textmode after rmmod fglrx. &lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Debian/unstable/experimental||2.6.18||8.31.5-1 (from debian experimental)||susptoram hibernate debian packages||yes||suspend and resume works with X, 3D acc., Xv overlay... &lt;br /&gt;
|-&lt;br /&gt;
|{{Z61m}}||Debian Sid||2.6.20.7||8.35.5-1||Suspend to RAM||yes||works without any problems, justs needs the usual acpi_sleep hacks&lt;br /&gt;
|-&lt;br /&gt;
|{{Z61m}}||Debian Sid||2.6.20.7||8.35.5-1||Suspend to Disk (Software Suspend)||yes||works without any problems&lt;br /&gt;
|-&lt;br /&gt;
|{{Z61m}}||Debian Sid||2.6.21||8.35.5-1||Suspend to RAM||yes||fglrx module must not be loaded into the kernel, or it won't resume&lt;br /&gt;
|-&lt;br /&gt;
|{{Z61m}}||openSUSE 10.2||2.6.21.5||8.37.6||suspend2 2.2.10||yes||/sys/power/suspend2/extra_pages_allowance must be set to 20000&lt;br /&gt;
|-&lt;br /&gt;
|{{Z61p}}||ARCH Linux||2.6.20||8.35.5-1||Suspend to RAM||yes||works with KDE suspend&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Troubles with large RAM ===&lt;br /&gt;
Version 8.14.13 (and probably earlier versions) of the driver does not seem to be able to cope with large amounts of RAM: with 512 MB it works, with 1.5 GB it crashes the machine as soon as X is started. The problem is present only if the &amp;lt;tt&amp;gt;fglrx&amp;lt;/tt&amp;gt; kernel module is loaded, but independently of whether {{kernelconf|CONFIG_HIGHMEM||||||}} is enabled. A workaround is to limit RAM by adding the {{bootparm|mem|864m}} kernel parameter.&lt;br /&gt;
&lt;br /&gt;
Version 8.16.20 fixes the problem.&lt;br /&gt;
&lt;br /&gt;
===Display switching ===&lt;br /&gt;
The switching between internal and external display doesn't work with fglrx versions &amp;lt;= 8.24.8, because the driver blocks messing around with the chipset via ACPI. If you want to use this feature (i.e. during presentations), you should use the &amp;lt;tt&amp;gt;vesa&amp;lt;/tt&amp;gt; server instead (experienced with a R52, Kernel 2.6.11, xorg 6.8.2, fglrx 8.16.20). Or boot notebook with CRT connected, it will automatically detect it and display on both.&lt;br /&gt;
&lt;br /&gt;
===Composite Support===&lt;br /&gt;
ATI has not officially supported composite windowing (alpha channel) enabling hardware acclerated translucent windows (primarily for 'eye candy.')  Enabling Composite in KDE and the fglrx driver results in a very pretty desktop but unacceptably slow performance on a T43p with ATI's FireGL T2.  It is still unusable in its current state (as of driver 8.25.18).&lt;br /&gt;
&lt;br /&gt;
ATI promises support in the future when composite is officially supported by Xorg.  Discussion of current status of drivers can be found in the Rage3d forums' (http://rage3d.com/board) Linux area.&lt;br /&gt;
&lt;br /&gt;
Composite support is now supported with recent Mesa and Xorg &amp;gt; 7 with the open source 3d radeon drivers (if you run debian unstable, you should be all set.)  It works with the [[R300]] / FireGL T2 series as found on the T43p, but noticably slows down the system.  This has made rapid progress in speed with the latest few releases and with kernel 2.6.21, it is finally usable with an R300 based card.  Expect drivers to improve in the future, but it seems that composite does require a very fast video card and system.&lt;br /&gt;
&lt;br /&gt;
===Hardlock on X logout===&lt;br /&gt;
Up from driver version 8.19.10 you will experience a system hard lock when logging out from X, if the session manager (kdm/gdm) is not properly configured. You have to tell the session manager to restart X.&lt;br /&gt;
&lt;br /&gt;
In the kdm config file (gentoo: {{path|/usr/kde/&amp;lt;VERSION&amp;gt;/share/config/kdm/kdmrc}}) you have to add following to the section &amp;lt;code&amp;gt;[X-:*-Core]&amp;lt;/code&amp;gt;: &lt;br /&gt;
 TerminateServer=true&lt;br /&gt;
&lt;br /&gt;
In the gdm config (/etc/gdm/gdm.conf) file add the following to the daemon-section:&lt;br /&gt;
 AlwaysRestartServer=true&lt;br /&gt;
&lt;br /&gt;
Information from the ATI bugtracker: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another reason of hardlock my be using the wrong AGP driver. Make sure that you have proper drivers for your motherboard loaded before fglrx: (gentoo: {{path|/etc/modules.autoload.d/kernel-2.6}}):&lt;br /&gt;
 intel-agp&lt;br /&gt;
 fglrx&lt;br /&gt;
&lt;br /&gt;
A common problem seems to be mistakenly using ATI Chipset drivers instead of Intel.&lt;br /&gt;
&lt;br /&gt;
Information from gentoo bugtracker: &amp;lt;s&amp;gt;[http://bugs.gentoo.org/show_bug.cgi?id=113685 113685]&amp;lt;/s&amp;gt;. Fixed in 8.25.18&lt;br /&gt;
&lt;br /&gt;
===Cannot switch to VT===&lt;br /&gt;
&lt;br /&gt;
With usplash boot enabled, it may not be possible to switch to a VT from X (Using Alt+Fn). Tested on T60p (Mobility Fire GLV5200) on Ubuntu 6.06 / 6.10 and fglrx 8.25.18 / 8.28.8.  Display may become garbled and system might freeze. Solution (testet on Ubuntu 6.10) is to either remove the &amp;quot;splash&amp;quot; kernel boot parameter or add &amp;quot;vga=791&amp;quot; parameter (&amp;quot;vga=794&amp;quot; can be used on 1400x1050 panel).&lt;br /&gt;
&lt;br /&gt;
http://ati.cchtml.com/show_bug.cgi?id=37 &amp;lt;br&amp;gt;&lt;br /&gt;
https://launchpad.net/distros/ubuntu/+source/usplash/+bug/63558&lt;br /&gt;
&lt;br /&gt;
===Flickering Display===&lt;br /&gt;
&lt;br /&gt;
Some people have reported problems with their display flickering when using ati-drivers newer than 8.14.13. The problem is unclear&lt;br /&gt;
(possibly associated with an incorrect modeline setting) and no known solution exists except to use the open source radeon drivers.&lt;br /&gt;
You can follow this problem here: http://ati.cchtml.com/show_bug.cgi?id=248&lt;br /&gt;
&lt;br /&gt;
===Error messages in system log===&lt;br /&gt;
&lt;br /&gt;
If you find something like the following in {{path|/var/log/messages}}:&lt;br /&gt;
&lt;br /&gt;
:{{cmdresult|kernel: mtrr: base(0xc0000000) is not aligned on a size(0x7ff0000) boundary}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22)}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_unlock] *ERROR* Process 5132 using kernel context 0}}&lt;br /&gt;
&lt;br /&gt;
try to execute the following line and reload the fglrx module:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|1=echo &amp;quot;base=0xd0000000 size=0x8000000 type=write-combining&amp;quot; &amp;gt; /proc/mtrr}}&lt;br /&gt;
&lt;br /&gt;
More detailed instructions can be found [http://ubuntuforums.org/showthread.php?t=115104 here].&lt;br /&gt;
&lt;br /&gt;
===Hang when logging out===&lt;br /&gt;
&lt;br /&gt;
A common problem is that when logging out from X, instead of gettign the KDM or GDM prompt, the system hangs.&lt;br /&gt;
&lt;br /&gt;
This is discussed, including workarounds here: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
===No power saving when CRT in use===&lt;br /&gt;
&lt;br /&gt;
When both CRT and LCD are in use, power saving cannot be enabled.&lt;br /&gt;
&lt;br /&gt;
This is reported here: http://ati.cchtml.com/show_bug.cgi?id=304&lt;br /&gt;
&lt;br /&gt;
===WineX / Cedega Installs Software But Errors on Loading Games===&lt;br /&gt;
&lt;br /&gt;
Some users may experience problems with certain FIREGL cards (in my case an ibm t43p laptop with a v3200 ati firegl) whereby projects such as cedega and wine refuse to work with 3d graphics, but native binaries (e.g. quake 4) work fine. A possible workaround is to add the following line in the drivers section of your /etc/X11/xorg.conf &lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;UseFastTLS&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This option used to be configured with the older ati drivers when you ran &amp;quot;fglrxconfig&amp;quot;. I have not yet found a way to get it to appear with &amp;quot;aticonfig&amp;quot;, hence the manual insertion. This option is good for several linux distros I have tried, fedora core 5, ubuntu dapper and suse 10.1. It does not appear to effect performance on natively run programs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This may cause problems on machines with a Linux kernel version of 2.6.20 or higher (observed choppy video and video color inversion on T60p with both 2.6.20 and 2.6.21).}}&lt;br /&gt;
&lt;br /&gt;
===Line Appears Below Mouse Cursor===&lt;br /&gt;
&lt;br /&gt;
Some users have reported seeing a line approximately 1 mouse height below the bottom edge of the cursor, which follows the mouse and appears to change color based on the image below the cursor.  This has been seen to happen using fglrx without the kernel module installed (in 2D mode) and additionally on external displays or multiple X servers.  To work around the problem, try disabling the DGA extension by making the following changes to your XFree86.conf or xorg.conf file.  Replace (or comment-out)&lt;br /&gt;
 Load &amp;quot;extmod&amp;quot;&lt;br /&gt;
with&lt;br /&gt;
 SubSection  &amp;quot;extmod&amp;quot;&lt;br /&gt;
  Option  &amp;quot;omit xfree86-dga&amp;quot;&lt;br /&gt;
 EndSubSection&lt;br /&gt;
&lt;br /&gt;
===Freeze while using OpenGL Apps===&lt;br /&gt;
&lt;br /&gt;
Some OpenGL applications such as screensavers or games (SecondLife) cause freezes.  The cursor still moves, but otherwise the machine is unresponsive.  This is the case with Xorg 7.1 and fglrx 8.29.6 using an x1400 and other cards.  The solution is to add the following options to the video Device section in xorg.conf:&lt;br /&gt;
 Option &amp;quot;Capabilities&amp;quot; &amp;quot;0x00000800&amp;quot;&lt;br /&gt;
 Option &amp;quot;KernelModuleParm&amp;quot; &amp;quot;locked-userpages=0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Xv doesn't work correctly with drivers &amp;gt;= 8.36 and Xyyyy-cards===&lt;br /&gt;
&lt;br /&gt;
See [http://ati.cchtml.com/show_bug.cgi?id=677] for further information. It seems as if only Xyyyy-cards are affected. Problem: graphical glitches with mplayer, programs like xine and totem might not start up at all. 8.35 doesn't seem to be affected&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
The following patches might be needed for certain versions of fglrx. Before you apply any of these, make sure that you really need them, as some distributions include all the necessary patches with the appropriate package (e.g. ati-drivers in gentoo).&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.35.5===&lt;br /&gt;
* [http://whoopie.gmxhome.de/linux/patches/2.6.20/fglrx-8.35.5-for-2.6.20.patch For kernel 2.6.20], part of the Fedora packaging scripts in the ATI installer&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.34.8===&lt;br /&gt;
* [http://whoopie.gmxhome.de/linux/patches/2.6.20/fglrx-8.34.8-for-2.6.20.patch For kernel 2.6.20]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.32.5===&lt;br /&gt;
* [http://whoopie.gmxhome.de/linux/patches/2.6.19/fglrx-8.32.5-for-2.6.19.patch For kernel 2.6.19]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.23.7===&lt;br /&gt;
* For kernel 2.6.16: [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.22.5-intermodule.patch &amp;lt;tt&amp;gt;intermodule&amp;lt;/tt&amp;gt; patch] and [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.23.7-noiommu.patch &amp;lt;tt&amp;gt;noiommu&amp;lt;/tt&amp;gt; patch]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.21.7===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.20.8===&lt;br /&gt;
&lt;br /&gt;
* [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 for kernel 2.6.15]&lt;br /&gt;
or&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx (problem met at least with version 8.18.8)===&lt;br /&gt;
* [http://lkml.org/lkml/2005/9/22/183 for kernel &amp;gt;= 2.6.13 ]  Missing verify_area bug&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.8.25 ===&lt;br /&gt;
* [http://www.rage3d.com/board/showthread.php?t=33798874 for kernels &amp;gt;= 2.6.10]&lt;br /&gt;
* [http://www.gehirn.org.uk/wiki/images/8.8.25-kernel-2.6.11+.patch For kernels &amp;gt;= 2.6.11-rc1]&lt;br /&gt;
&lt;br /&gt;
===Links ===&lt;br /&gt;
* [http://gentoo-wiki.com/HOWTO_ATI_Drivers Gentoo HOWTO ATI]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_hwclock&amp;diff=29357</id>
		<title>Problems with hwclock</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_hwclock&amp;diff=29357"/>
		<updated>2007-04-16T20:21:20Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Possible solutions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses the problem with /dev/rtc on certain models.&lt;br /&gt;
&lt;br /&gt;
== Problem description ==&lt;br /&gt;
On bootup,a message like this shows up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;select() to /dev/rtc to wait for clock tick timed out&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The RTC kernel driver can't handle the system clock.&lt;br /&gt;
&lt;br /&gt;
== Possible solutions ==&lt;br /&gt;
&lt;br /&gt;
=== Using the --directisa switch of hwclock(8) ===&lt;br /&gt;
The '''hwclock''' command knows the parameter ''--directisa'' to access the system clock &amp;quot;directly&amp;quot; instead of accessing it by using /dev/rtc. There are several ways of doing this automatically. One is to move /sbin/hwclock (or whereever it is located on your system) to '''/sbin/hwclock.dist''' and create the following shell script, which you place at /sbin/hwclock&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
/sbin/hwclock.dist --directisa $*&amp;lt;/pre&amp;gt;&lt;br /&gt;
Make the script executable (apply the same permissions you had for ''hwclock'' before) and keep your packaging system from overwriting it on updates.&lt;br /&gt;
&lt;br /&gt;
Another way of doing this is editing the initscript of hwclock (e.g., /etc/init.d/hwclock.sh in Debian) so that &amp;quot;--directisa&amp;quot; is passed as a parameter&lt;br /&gt;
&lt;br /&gt;
=== Compiling RTC-support into the kernel instead of as a module ===&lt;br /&gt;
&lt;br /&gt;
Compiling RTC-support (CONFIG_RTC) into the kernel instead of compiling it as a module seems to work also. Tested on: 2.6.20.6 at Thinkpad {{Z61m}} 9450-3HG&lt;br /&gt;
&lt;br /&gt;
== Affected Models ==&lt;br /&gt;
&lt;br /&gt;
*Thinkpad {{T60}}&lt;br /&gt;
*Thinkpad {{T60p}}&lt;br /&gt;
*Thinkpad {{X60s}}&lt;br /&gt;
*Thinkpad {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
== Affected Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
*Linux, all flavours. Tested with kernel 2.6.18, 2.6.19, 2.6.20.6&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_hwclock&amp;diff=29356</id>
		<title>Problems with hwclock</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_hwclock&amp;diff=29356"/>
		<updated>2007-04-16T20:03:43Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses the problem with /dev/rtc on certain models.&lt;br /&gt;
&lt;br /&gt;
== Problem description ==&lt;br /&gt;
On bootup,a message like this shows up:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;select() to /dev/rtc to wait for clock tick timed out&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The RTC kernel driver can't handle the system clock.&lt;br /&gt;
&lt;br /&gt;
== Possible solutions ==&lt;br /&gt;
&lt;br /&gt;
The '''hwclock''' command knows the parameter ''--directisa'' to access the system clock directly. To make this the default behavior, move /sbin/hwclock (or whereever it is located on your system) to '''/sbin/hwclock.dist''' and create the following shell script on the previous location:&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
/sbin/hwclock.dist --directisa $*&amp;lt;/pre&amp;gt;&lt;br /&gt;
Make the script executable (apply the same permissions you had for ''hwclock'' before) and keep your packaging system from overwriting it on updates.&lt;br /&gt;
&lt;br /&gt;
== Affected Models ==&lt;br /&gt;
&lt;br /&gt;
*Thinkpad {{T60}}&lt;br /&gt;
*Thinkpad {{T60p}}&lt;br /&gt;
*Thinkpad {{X60s}}&lt;br /&gt;
*Thinkpad {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
== Affected Operating Systems ==&lt;br /&gt;
&lt;br /&gt;
*Linux, all flavours. Tested with kernel 2.6.18, 2.6.19, 2.6.20.6&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=28313</id>
		<title>Problem with high pitch noises</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=28313"/>
		<updated>2007-02-19T11:59:56Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Affected Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on strange high pitch, low volume noises emitted by ThinkPads.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
Even though ThinkPads are known as very silent notebooks, they tend to emit different, mostly high pitch noises in certain circumstances. The noises are of low volume and hence not realized by everyone or at least tolerated by most people. However, there are those with &amp;quot;bat like ears&amp;quot; that hear them and might be annoyed by that.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
Noises have been experienced in the following situations:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | situation&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | noise description&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | affected models&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Plugged into AC / running at high CPU frequency&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
soft crackling, buzzing noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41}}&lt;br /&gt;
**2379-DJU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42p}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad connected to power and switched off, with battery fully charged&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
moving windows or just the mouse in xorg&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
strange noise like a rapid series of very short high pitch noises adding to a constant kind of whistling (only as long as the movement goes)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power or working on battery, also when suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise also when HD is powered down.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T23}}&lt;br /&gt;
**2647-DG4&lt;br /&gt;
*{{X24}}&lt;br /&gt;
**2662-MWG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power battery charged less than 60%&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise till battery is charged more than 60%.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GEG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constantly, if AC connected&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitched, low volume constant noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T40}}&lt;br /&gt;
**2373-88U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When the CPU freq jumps up to 1Ghz or above, or when the laptop is in suspend mode&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constant high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R50}}&lt;br /&gt;
**1829-6DM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
(May come from harddisk.)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
continuous, intermittent, low volume, high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{600X}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ACPI puts the processor into the C3 or C4 power saving states (i.e., the system is idle).&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{X41}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
*{{T43p}}&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
*{{T21}}&lt;br /&gt;
*{{T20}}&lt;br /&gt;
**2648-46U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Cpufreqd (or powernowd etc.) slows down the processor, for exemple at the end of an heavy task.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When on battery&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Noise level varies from inaudible to clearly audible, screeching sound, or sometimes beeping (when wifi is on). &lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R51}}&lt;br /&gt;
**EHG-1829&lt;br /&gt;
*{{R52}}&lt;br /&gt;
**1858-A11&lt;br /&gt;
**1846-B5G&lt;br /&gt;
*{{R60}}&lt;br /&gt;
**9461-DXG&lt;br /&gt;
**9462-77G&lt;br /&gt;
**9456-HTG&lt;br /&gt;
**9461-DXG&lt;br /&gt;
*{{R60e}}&lt;br /&gt;
**0657-A9G&lt;br /&gt;
**0657-3LG&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
**1871-4AG&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
**1951-24G&lt;br /&gt;
**1951-24G&lt;br /&gt;
**2007-49G&lt;br /&gt;
**2007-FUG&lt;br /&gt;
*{{T60p}}&lt;br /&gt;
**2007-FBG&lt;br /&gt;
*{{x60}}&lt;br /&gt;
*{{x31}}&lt;br /&gt;
**2673-CBU&lt;br /&gt;
*{{Z61m}}&lt;br /&gt;
**9450-3HG&lt;br /&gt;
**9452-128&lt;br /&gt;
**9452-W5Q&lt;br /&gt;
*{{Z61t}}&lt;br /&gt;
**9440-2QU&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CPU is used much AND laptop is on AC power AND the TFT panel is enabled.&lt;br /&gt;
| Screetching high pitch noise, like a million crickets&lt;br /&gt;
| &lt;br /&gt;
* {{X41}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Network is pluged in and networkload is ~100%.&lt;br /&gt;
| low volume highfreq. pitch noise from left speaker or cpu.&lt;br /&gt;
|&lt;br /&gt;
*{{Z60m}}, {{Z60t}}&lt;br /&gt;
*{{T40}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2687-DDU&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
All, though Linux appears especially susceptible.&lt;br /&gt;
&lt;br /&gt;
==Possible sources==&lt;br /&gt;
&lt;br /&gt;
* '''CPU activity:''' On some models the noise is triggered by certain CPU power states or activity patterns (as proven [http://www.wisdom.weizmann.ac.il/~tromer/acoustic here]).&lt;br /&gt;
* '''Graphics processor:''' In some models from the T2x era, e.g. the {{T23}}, the problem was related to the graphics circuitry and occured especially or only while making use of DirectDraw functions. IBM was able to fix it through a BIOS upgrade.&lt;br /&gt;
* '''Hard disk:''' On some ThinkPads the processor and hard disk are adjacent and produce similar noise. For example, in the {{X41}} the sound generated by the hard disk is likely to be loudest at the vent.&lt;br /&gt;
* '''Gigabit Ethernet processor:''' In some models (e.g., {{T43}}) high ethernet activity causes a high pitch noise.&lt;br /&gt;
&lt;br /&gt;
* '''Screen brightness:''' on an {{X31}}, a hissing sound is started whenever screen brightness is not full.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
The problem is highly specific to operating system, model and even individual machines. There is no universal solution, but on most machines one of the following will reduce or eliminate the noise (possibly at some cost in power consumption).&lt;br /&gt;
&lt;br /&gt;
==Solutions for CPU-triggered noise==&lt;br /&gt;
&lt;br /&gt;
===Limit ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
There are eight ACPI CPU power states, called C1 through C8 (but the ThinkPad BIOS often remaps them and uses only C1 to C4). Often only the extreme power saving modes C4 or C3 produce the noise, so the noise can be stopped by instructing the Linux ACPI code to use only lower modes.&lt;br /&gt;
&lt;br /&gt;
To forbid the ACPI driver from using C4 (this fixed the problem with on some ThinkPad {{T43}}, {{T43p}} and {{T41}}):&lt;br /&gt;
* If the ACPI processor component is compiled as built-in (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=y&amp;lt;/tt&amp;gt;):&lt;br /&gt;
**Pass the {{bootparm|max_cstate|3}} kernel argument.&lt;br /&gt;
* If the ACPI processor component is loaded as a module (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=m&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;processor&amp;lt;/tt&amp;gt; shows in the output of {{cmdroot|lsmod}}), do either of:&lt;br /&gt;
** Pass the {{bootparm|processor.max_cstate|3}} kernel argument (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** Add &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; to {{path|/etc/modprobe.conf}} (or {{path|/etc/modprobe.conf.local}}, or {{path|/etc/modprobe.d/...}}, depending on your system) (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** {{cmdroot|echo 3 &amp;gt;  /sys/module/processor/parameters/max_cstate}} (this can be changed in runtime for experimentation). (If may need to be set again upon resume from suspend, e.g., in the wakeup script.)&lt;br /&gt;
** (On Ubuntu 5.10, the default kernel uses &amp;lt;code&amp;gt;processor&amp;lt;/code&amp;gt; as a module.  Unfortunately, the script loading it, {{path|/etc/init.d/acpid}}, ignores the &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; setting in {{path|/etc/modprobe.d/&amp;lt;my file&amp;gt;}}.  As a solution for this specific problem, add the line &amp;lt;code&amp;gt;echo 2 &amp;gt; /sys/module/processor/parameters/max_cstate&amp;lt;/code&amp;gt; directly to {{path|/etc/init.d/acpid}}, at the end of the function &amp;lt;code&amp;gt;load_modules()&amp;lt;/code&amp;gt;, immediately after the line &amp;lt;code&amp;gt;echo &amp;quot;$PRINTK&amp;quot; &amp;gt; /proc/sys/kernel/printk&amp;lt;/code&amp;gt;.)&lt;br /&gt;
** On Gentoo: Configure your Thinkpad as described in the [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide].  Then as root create the files {{path|/etc/init.d/limit-sleep-states}} and {{path|/etc/conf.d/limit-sleep-states}} as below. After that just issue the command {{cmdroot|rc-update add limit-sleep-states default}} to limit the sleep states only when running on AC power, or {{cmdroot|rc-update add limit-sleep-states default battery}} to always limit the sleep states.&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/init.d/limit-sleep-states&lt;br /&gt;
 #!/sbin/runscript&lt;br /&gt;
 &lt;br /&gt;
 depend() {&lt;br /&gt;
 	need acpid&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 start() {&lt;br /&gt;
 	ebegin &amp;quot;Limiting CPU sleep state to C${LIMIT_CSTATE}&amp;quot;&lt;br /&gt;
 	echo $LIMIT_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
 	eend $?&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 stop() {&lt;br /&gt;
        ebegin &amp;quot;Removing CPU sleep state limit&amp;quot;&lt;br /&gt;
        echo $REMOVE_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
        eend $?&lt;br /&gt;
 }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/conf.d/limit-sleep-states&lt;br /&gt;
 # limit CPU sleep state to the following value (adjust accordingly)&lt;br /&gt;
 LIMIT_CSTATE=3&lt;br /&gt;
 # some value which is higher than all available sleep states&lt;br /&gt;
 REMOVE_CSTATE=8&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
To also forbid the C3 state, replace &amp;quot;&amp;lt;tt&amp;gt;3&amp;lt;/tt&amp;gt;&amp;quot; with &amp;quot;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt;&amp;quot; above (this fixed the problem on some ThinkPad {{X40}}, {{X41}}, {{X60}}, {{T60}}, {{Z61t}} and {{R52}}, as well as on {{T20}} where C4 is not supported at all).&lt;br /&gt;
&lt;br /&gt;
Note that these options affect power consumption when the CPU is idle. For example, here is the [[How to measure power consumption|measured power consumption]] on a ThinkPad {{T43}}:&lt;br /&gt;
* {{bootparm|processor.max_cstate|4}}: 15160mW (default, noisy)&lt;br /&gt;
* {{bootparm|processor.max_cstate|3}}: 15770mW (660mW higher, silent)&lt;br /&gt;
* {{bootparm|processor.max_cstate|2}}: 16100mW (2940mW higher, silent)&lt;br /&gt;
&lt;br /&gt;
One can control how often Linux tries to enter the C3 state by using the {{bootparm|processor.bm_history|&amp;lt;bitmask&amp;gt;}} parameter on kernels with a scheduler frequency below 800Hz (and if you have noise problems, you really should not be running the kernel at 1000Hz...).  Setting {{bootparm|processor.bm_history|0xFFFFFFFF}} will cause C3 to be entered less often.  This will waste more power as the CPU won't do C3 or C4 as often, but at least it doesn't forbid C3 and C4 permanently, unlike {{bootparm|max_cstate|2}}.&lt;br /&gt;
&lt;br /&gt;
See the [http://thinkwiki.org/wiki?title=Talk:Problem_with_high_pitch_noises discussion page] for further information and success reports.&lt;br /&gt;
&lt;br /&gt;
*Jakob Schou Pedersen: Editing the file {{path|/etc/init.d/acpid}} as described above (the last solution) worked on my T43 :-)&lt;br /&gt;
&lt;br /&gt;
===Turn off CPU power saving in the BIOS===&lt;br /&gt;
&lt;br /&gt;
Go into the BIOS and turn off the power saving processor feature that puts it into idle mode. (This worked on a ThinkPad {{T43}}, {{T21}}, {{X60s}} and {{Z61m}}). However, this also affects power consumption when the CPU is idle, it's similar to disabling the C4/C3 ACPI CPU power state. For example, on a Z61m 9450-3HG, a full charged battery with power management enabled in the BIOS provides the notebook with power for about 3.5h, if disabled, the battery-lifetime is only about 2h.&lt;br /&gt;
&lt;br /&gt;
===Disable ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
Completely disable CPU ACPI power states. Discussion:&lt;br /&gt;
&lt;br /&gt;
*From Martin Steigerwald: I made the observation that I get at least less high pitch noises on my {{T23}} when I do not use the two ACPI modules &amp;quot;processor&amp;quot; and &amp;quot;thermal&amp;quot; (depends on the first one). I have no clue, why. Anyone with similar experiences?&lt;br /&gt;
:Omar Yasin: I've got a {{R52}} and when I load the same ACPIO modules the high pitch noises are not as loud but I can still hear them.&lt;br /&gt;
*Kaspar Schleiser: On my {{T23}} the noise is less loud when setting max_cstate to 2, but to completely silence it, I have to set it to &amp;quot;1&amp;quot;. Is that the same as removing the &amp;quot;processor&amp;quot;-module? &amp;quot;cat /proc/acpi/battery/BAT0/state&amp;quot; does not show increased power drain.&lt;br /&gt;
*Niko Ehrenfeuchter: I'm experiencing the same here on my {{X24}}. Removing the &amp;quot;processor&amp;quot; module also stops the pitch noise, which does ONLY occur when setting the CPU to maximum speed (using cpufreq). On low speed it's completely silent, even having loaded the processor module.&lt;br /&gt;
&lt;br /&gt;
*Rolf Adelsberger: I can confirm this: the high pitch noise is only remarkable (at least with my ears ;-) ) if the processor speed is set to maximum frequency.&lt;br /&gt;
&lt;br /&gt;
*Stefan Baums: My {{X41}} produced a high-pitched crackle from the processor vent on the left.  Changing HZ did nothing, and the 'processor' module could not easily be removed from the system (Ubuntu 5.04).  What solved the problem for me was adding {{bootparm|idle|halt}} to the boot command line. Unfortunately, this solution only lasts until the first hibernation or suspend - when the computer ({{X41}}) resumes, the high-pitched crackle is back.&lt;br /&gt;
&lt;br /&gt;
* The {{bootparm|idle|halt}} solution combined with setting &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; in the kernel fixes the problem on a {{T43}}.&lt;br /&gt;
&lt;br /&gt;
* jhatch:  {{bootparm|idle|halt}} plus &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; also worked on my {{T43}}.  It still reverts back to noisy after a suspend/resume though.  This needs to be fixed...&lt;br /&gt;
&lt;br /&gt;
===Change the timer interrupt frequency===&lt;br /&gt;
&lt;br /&gt;
Change the &amp;quot;HZ&amp;quot; kernel constants to alter the frequency of timer interrupts. Discussion:&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The timer interrupt frequency (HZ) in current Linux kernels is directly tied to the kernel task scheduler.  Lower frequencies provide larger time-slices and thus also higher latencies (which may kill latency-sensitive applications like audio processing). 100Hz ended up as the recommended &amp;quot;server&amp;quot; setting (because it increases disk/CPU throughput in a latency-insensitive environment).  Higher frequencies are better for latency-sensitive applications, and improve desktop responsivity at the cost of less processor throughput. 1000Hz ended up as the recommended &amp;quot;desktop&amp;quot; setting.}}&lt;br /&gt;
&lt;br /&gt;
*Andreas Karnahl: i've read in several forums it has something to do with the &amp;quot;idle&amp;quot;-state (or &amp;quot;C3&amp;quot;) of the processor. There is a frequency called &amp;quot;timer interrupt&amp;quot; (or so mething like that). Since kernel 2.6x it is set to 1000 Hz by default (compared to 100 Hz in Kernel 2.4x). The exact reason i don't know, but it is safe to change this frequency to 100 Hz in kernel 2.6x (by the way, windows up to XP uses 100 Hz by default).&amp;lt;br /&amp;gt;Just do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
:   In {{path|[path to kernel-sources]/include/asm-i386/param.h}} find the line&lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 1000&amp;lt;/code&amp;gt;&lt;br /&gt;
:   and change the value of HZ to 100: &lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt;&lt;br /&gt;
:Then recompile the kernel.&amp;lt;br /&amp;gt;After i changed it on my ThinkPad {{A30}} (under SuSE 9.2 and 9.3) and recompiling the kernel the high pitch noise is gone away.&lt;br /&gt;
&lt;br /&gt;
* Omar Yasin: Worked on my {{R52}}, thanks.&lt;br /&gt;
&lt;br /&gt;
* [[User:Thinker|Thinker]]: In modern kernels this constant is in the kernel configuration {{kernelconf|CONFIG_HZ|Processor type and features||Timer Frequency|||||}}.&lt;br /&gt;
&lt;br /&gt;
===Prevent idling===&lt;br /&gt;
&lt;br /&gt;
Indirectly avoid power saving states by making sure the CPU is rarely idle:&lt;br /&gt;
&lt;br /&gt;
* Paul RIVIER: Here is a really simple workaround. C3 / C4 states are mainly called when the cpu freq is higher than required, for example if your cpufreqd is lazy to slow down the frequency but quick to raise it. That is why I use powernowd with the builtin &amp;quot;passive&amp;quot; mode, which is lazy for raising frequency, but quick to go back to the lowest. Now I don't hear them as often as before, as I avoid C3/C4 states at high frequency.&lt;br /&gt;
&lt;br /&gt;
* The problem also occurs on my {{X41}} with 2.6.11. Setting up [[How to make use of Dynamic Frequency Scaling|frequency scaling]] with the &amp;lt;code&amp;gt;ondemand&amp;lt;/code&amp;gt; governor makes things a lot better, as the processor does not stay with the maximum frequency when in idle mode. It can be still heard sometimes, though.&lt;br /&gt;
&lt;br /&gt;
* On a {{T43}} the noise was gone after dropping cpufreqd and switching to the ondemand governor - maybe because of the high sampling rate? (used the default: 10ms)&lt;br /&gt;
&lt;br /&gt;
===Change the processor voltage===&lt;br /&gt;
&lt;br /&gt;
Reducing the processor voltage (when possible) may decrease or eliminate the noise. On one ThinkPad {{T43}}, [[Pentium M undervolting and underclocking|undervolting the Pentium M processor]] eliminated the high-pitched noise. Compared to the other solutions this has the benefit of lower power consumption, both due to the undervolting itself and because there is no need to forbid high APCI CPU power saving modes.&lt;br /&gt;
&lt;br /&gt;
==Solutions for screen brightness related sounds==&lt;br /&gt;
&lt;br /&gt;
===Disable BIOS brightness control===&lt;br /&gt;
&lt;br /&gt;
The sound starts when on batteries as the BIOS automatically reduces screen brightness. To disable this, simply switch Config&amp;gt;Display&amp;gt;Brightness from&lt;br /&gt;
Normal to High. See also [[User:Piccobello/Hissing sound on battery|here]].&lt;br /&gt;
&lt;br /&gt;
==Other solutions==&lt;br /&gt;
&lt;br /&gt;
===Disable UltraBay===&lt;br /&gt;
*Naheed Vora: My {{T41}} (2373-268) started to give high pitch noise ocassionally, when I upgraded to 2.6.11 kernel. I tried to unload lot of modules but finally figured out that disabling bay stops the noise. If you have [[ibm-acpi]], do (need a cleaner solution): {{cmduser|echo eject &amp;gt;/proc/acpi/ibm/bay}} .&lt;br /&gt;
&lt;br /&gt;
===Disable IrDA===&lt;br /&gt;
*Mike Perry: I was able to cure an intermittent high-pitched whine on both my {{X24}} and {{X40}} by disabling the Infrared port.&lt;br /&gt;
&lt;br /&gt;
===Disable the Linuxant Modem Driver===&lt;br /&gt;
*Joern Heissler: I made another experience. I played around with linuxant conexant [[Modem Devices|modem]] drivers. After loading them I got some noise on my {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
===Media Player paused===&lt;br /&gt;
*Eilif Muller: On my {{R52}} the high-pitched noises go away if I load XMMS, play something then pause it.&lt;br /&gt;
*Jacob: On my {{T43}} DGU it goes away if I open mplayerc.exe and press play then pause it. This is the high-pitched noise that only shows up when I'm on battery.&lt;br /&gt;
&lt;br /&gt;
''I'd guess that the above tip works as when xmms or similar is running, it is uncompressing compressed audio/video, which is a processor intensive action.  Keeping this paused means that the app won't 'let go' of the processor, forcing it to stay up and running, which stops it entering the higher powersave modes.''&lt;br /&gt;
&lt;br /&gt;
===nice yes===&lt;br /&gt;
&lt;br /&gt;
Run the command: &lt;br /&gt;
 {{cmduser|nice yes &amp;gt; /dev/null}}.&lt;br /&gt;
&lt;br /&gt;
This is a good way to test whether the processor is causing the interference, since it forces the CPU to stay at full power. Of course, this will make your system get warm, and probably turn on the fan, as well as eating power.&lt;br /&gt;
&lt;br /&gt;
===Upgrade BIOS===&lt;br /&gt;
On a ThinkPad {{X60s}}, [[BIOS_Upgrade|upgrading the BIOS]] to version 1.06 eliminated the high pitch noise when running on battery.&lt;br /&gt;
&lt;br /&gt;
===Disable USB===&lt;br /&gt;
On one {{T43}} and one {{X60}}, (partially) disabling USB using {{cmdroot|rmmod uhci_hcd}} significantly reduced the noise.&lt;br /&gt;
&lt;br /&gt;
This is likely a CPU-induced noise case, as disabling USB UHCI will reduce a lot the amount of busmaster activity while the computer is idle, and thus has a direct effect on the need for ACPI C-state transitions from C3/C4 to C2 or lower states in a {{T43}} or {{X60}}.&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=28272</id>
		<title>Problem with high pitch noises</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=28272"/>
		<updated>2007-02-17T14:37:26Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Affected Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on strange high pitch, low volume noises emitted by ThinkPads.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
Even though ThinkPads are known as very silent notebooks, they tend to emit different, mostly high pitch noises in certain circumstances. The noises are of low volume and hence not realized by everyone or at least tolerated by most people. However, there are those with &amp;quot;bat like ears&amp;quot; that hear them and might be annoyed by that.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
Noises have been experienced in the following situations:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | situation&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | noise description&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | affected models&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Plugged into AC / running at high CPU frequency&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
soft crackling, buzzing noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41}}&lt;br /&gt;
**2379-DJU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42p}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad connected to power and switched off, with battery fully charged&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
moving windows or just the mouse in xorg&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
strange noise like a rapid series of very short high pitch noises adding to a constant kind of whistling (only as long as the movement goes)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power or working on battery, also when suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise also when HD is powered down.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T23}}&lt;br /&gt;
**2647-DG4&lt;br /&gt;
*{{X24}}&lt;br /&gt;
**2662-MWG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power battery charged less than 60%&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise till battery is charged more than 60%.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GEG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constantly, if AC connected&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitched, low volume constant noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T40}}&lt;br /&gt;
**2373-88U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When the CPU freq jumps up to 1Ghz or above, or when the laptop is in suspend mode&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constant high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R50}}&lt;br /&gt;
**1829-6DM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
(May come from harddisk.)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
continuous, intermittent, low volume, high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{600X}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ACPI puts the processor into the C3 or C4 power saving states (i.e., the system is idle).&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{X41}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
*{{T43p}}&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
*{{T21}}&lt;br /&gt;
*{{T20}}&lt;br /&gt;
**2648-46U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Cpufreqd (or powernowd etc.) slows down the processor, for exemple at the end of an heavy task.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When on battery&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Noise level varies from inaudible to clearly audible, screeching sound, or sometimes beeping (when wifi is on). &lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R51}}&lt;br /&gt;
**EHG-1829&lt;br /&gt;
*{{R52}}&lt;br /&gt;
**1858-A11&lt;br /&gt;
**1846-B5G&lt;br /&gt;
*{R60}&lt;br /&gt;
**9461-DXG&lt;br /&gt;
**9462-77G&lt;br /&gt;
**9456-HTG&lt;br /&gt;
**9461-DXG&lt;br /&gt;
*{{R60e}}&lt;br /&gt;
**0657-A9G&lt;br /&gt;
**0657-3LG&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
**1871-4AG&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
**1951-24G&lt;br /&gt;
**1951-24G&lt;br /&gt;
**2007-49G&lt;br /&gt;
**2007-FUG&lt;br /&gt;
*{{T60p}}&lt;br /&gt;
**2007-FBG&lt;br /&gt;
*{{x60}}&lt;br /&gt;
*{{x31}}&lt;br /&gt;
**2673-CBU&lt;br /&gt;
*{{Z61m}}&lt;br /&gt;
**9450-3HG&lt;br /&gt;
**9452-128&lt;br /&gt;
**9452-W5Q&lt;br /&gt;
*{{Z61t}}&lt;br /&gt;
**9440-2QU&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CPU is used much AND laptop is on AC power AND the TFT panel is enabled.&lt;br /&gt;
| Screetching high pitch noise, like a million crickets&lt;br /&gt;
| &lt;br /&gt;
* {{X41}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Network is pluged in and networkload is ~100%.&lt;br /&gt;
| low volume highfreq. pitch noise from left speaker or cpu.&lt;br /&gt;
|&lt;br /&gt;
*{{Z60m}}, {{Z60t}}&lt;br /&gt;
*{{T40}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2687-DDU&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
All, though Linux appears especially susceptible.&lt;br /&gt;
&lt;br /&gt;
==Possible sources==&lt;br /&gt;
&lt;br /&gt;
* '''CPU activity:''' On some models the noise is triggered by certain CPU power states or activity patterns (as proven [http://www.wisdom.weizmann.ac.il/~tromer/acoustic here]).&lt;br /&gt;
* '''Graphics processor:''' In some models from the T2x era, e.g. the {{T23}}, the problem was related to the graphics circuitry and occured especially or only while making use of DirectDraw functions. IBM was able to fix it through a BIOS upgrade.&lt;br /&gt;
* '''Hard disk:''' On some ThinkPads the processor and hard disk are adjacent and produce similar noise. For example, in the {{X41}} the sound generated by the hard disk is likely to be loudest at the vent.&lt;br /&gt;
* '''Gigabit Ethernet processor:''' In some models (e.g., {{T43}}) high ethernet activity causes a high pitch noise.&lt;br /&gt;
&lt;br /&gt;
* '''Screen brightness:''' on an {{X31}}, a hissing sound is started whenever screen brightness is not full.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
The problem is highly specific to operating system, model and even individual machines. There is no universal solution, but on most machines one of the following will reduce or eliminate the noise (possibly at some cost in power consumption).&lt;br /&gt;
&lt;br /&gt;
==Solutions for CPU-triggered noise==&lt;br /&gt;
&lt;br /&gt;
===Limit ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
There are eight ACPI CPU power states, called C1 through C8 (but the ThinkPad BIOS often remaps them and uses only C1 to C4). Often only the extreme power saving modes C4 or C3 produce the noise, so the noise can be stopped by instructing the Linux ACPI code to use only lower modes.&lt;br /&gt;
&lt;br /&gt;
To forbid the ACPI driver from using C4 (this fixed the problem with on some ThinkPad {{T43}}, {{T43p}} and {{T41}}):&lt;br /&gt;
* If the ACPI processor component is compiled as built-in (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=y&amp;lt;/tt&amp;gt;):&lt;br /&gt;
**Pass the {{bootparm|max_cstate|3}} kernel argument.&lt;br /&gt;
* If the ACPI processor component is loaded as a module (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=m&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;processor&amp;lt;/tt&amp;gt; shows in the output of {{cmdroot|lsmod}}), do either of:&lt;br /&gt;
** Pass the {{bootparm|processor.max_cstate|3}} kernel argument (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** Add &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; to {{path|/etc/modprobe.conf}} (or {{path|/etc/modprobe.conf.local}}, or {{path|/etc/modprobe.d/...}}, depending on your system) (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** {{cmdroot|echo 3 &amp;gt;  /sys/module/processor/parameters/max_cstate}} (this can be changed in runtime for experimentation). (If may need to be set again upon resume from suspend, e.g., in the wakeup script.)&lt;br /&gt;
** (On Ubuntu 5.10, the default kernel uses &amp;lt;code&amp;gt;processor&amp;lt;/code&amp;gt; as a module.  Unfortunately, the script loading it, {{path|/etc/init.d/acpid}}, ignores the &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; setting in {{path|/etc/modprobe.d/&amp;lt;my file&amp;gt;}}.  As a solution for this specific problem, add the line &amp;lt;code&amp;gt;echo 2 &amp;gt; /sys/module/processor/parameters/max_cstate&amp;lt;/code&amp;gt; directly to {{path|/etc/init.d/acpid}}, at the end of the function &amp;lt;code&amp;gt;load_modules()&amp;lt;/code&amp;gt;, immediately after the line &amp;lt;code&amp;gt;echo &amp;quot;$PRINTK&amp;quot; &amp;gt; /proc/sys/kernel/printk&amp;lt;/code&amp;gt;.)&lt;br /&gt;
** On Gentoo: Configure your Thinkpad as described in the [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide].  Then as root create the files {{path|/etc/init.d/limit-sleep-states}} and {{path|/etc/conf.d/limit-sleep-states}} as below. After that just issue the command {{cmdroot|rc-update add limit-sleep-states default}} to limit the sleep states only when running on AC power, or {{cmdroot|rc-update add limit-sleep-states default battery}} to always limit the sleep states.&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/init.d/limit-sleep-states&lt;br /&gt;
 #!/sbin/runscript&lt;br /&gt;
 &lt;br /&gt;
 depend() {&lt;br /&gt;
 	need acpid&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 start() {&lt;br /&gt;
 	ebegin &amp;quot;Limiting CPU sleep state to C${LIMIT_CSTATE}&amp;quot;&lt;br /&gt;
 	echo $LIMIT_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
 	eend $?&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 stop() {&lt;br /&gt;
        ebegin &amp;quot;Removing CPU sleep state limit&amp;quot;&lt;br /&gt;
        echo $REMOVE_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
        eend $?&lt;br /&gt;
 }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/conf.d/limit-sleep-states&lt;br /&gt;
 # limit CPU sleep state to the following value (adjust accordingly)&lt;br /&gt;
 LIMIT_CSTATE=3&lt;br /&gt;
 # some value which is higher than all available sleep states&lt;br /&gt;
 REMOVE_CSTATE=8&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
To also forbid the C3 state, replace &amp;quot;&amp;lt;tt&amp;gt;3&amp;lt;/tt&amp;gt;&amp;quot; with &amp;quot;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt;&amp;quot; above (this fixed the problem on some ThinkPad {{X40}}, {{X41}}, {{X60}}, {{T60}}, {{Z61t}} and {{R52}}, as well as on {{T20}} where C4 is not supported at all).&lt;br /&gt;
&lt;br /&gt;
Note that these options affect power consumption when the CPU is idle. For example, here is the [[How to measure power consumption|measured power consumption]] on a ThinkPad {{T43}}:&lt;br /&gt;
* {{bootparm|processor.max_cstate|4}}: 15160mW (default, noisy)&lt;br /&gt;
* {{bootparm|processor.max_cstate|3}}: 15770mW (660mW higher, silent)&lt;br /&gt;
* {{bootparm|processor.max_cstate|2}}: 16100mW (2940mW higher, silent)&lt;br /&gt;
&lt;br /&gt;
One can control how often Linux tries to enter the C3 state by using the {{bootparm|processor.bm_history|&amp;lt;bitmask&amp;gt;}} parameter on kernels with a scheduler frequency below 800Hz (and if you have noise problems, you really should not be running the kernel at 1000Hz...).  Setting {{bootparm|processor.bm_history|0xFFFFFFFF}} will cause C3 to be entered less often.  This will waste more power as the CPU won't do C3 or C4 as often, but at least it doesn't forbid C3 and C4 permanently, unlike {{bootparm|max_cstate|2}}.&lt;br /&gt;
&lt;br /&gt;
See the [http://thinkwiki.org/wiki?title=Talk:Problem_with_high_pitch_noises discussion page] for further information and success reports.&lt;br /&gt;
&lt;br /&gt;
*Jakob Schou Pedersen: Editing the file {{path|/etc/init.d/acpid}} as described above (the last solution) worked on my T43 :-)&lt;br /&gt;
&lt;br /&gt;
===Turn off CPU power saving in the BIOS===&lt;br /&gt;
&lt;br /&gt;
Go into the BIOS and turn off the power saving processor feature that puts it into idle mode. (This worked on a ThinkPad {{T43}}, {{T21}}, {{X60s}} and {{Z61m}}). However, this also affects power consumption when the CPU is idle, it's similar to disabling the C4/C3 ACPI CPU power state. For example, on a Z61m 9450-3HG, a full charged battery with power management enabled in the BIOS provides the notebook with power for about 3.5h, if disabled, the battery-lifetime is only about 2h.&lt;br /&gt;
&lt;br /&gt;
===Disable ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
Completely disable CPU ACPI power states. Discussion:&lt;br /&gt;
&lt;br /&gt;
*From Martin Steigerwald: I made the observation that I get at least less high pitch noises on my {{T23}} when I do not use the two ACPI modules &amp;quot;processor&amp;quot; and &amp;quot;thermal&amp;quot; (depends on the first one). I have no clue, why. Anyone with similar experiences?&lt;br /&gt;
:Omar Yasin: I've got a {{R52}} and when I load the same ACPIO modules the high pitch noises are not as loud but I can still hear them.&lt;br /&gt;
*Kaspar Schleiser: On my {{T23}} the noise is less loud when setting max_cstate to 2, but to completely silence it, I have to set it to &amp;quot;1&amp;quot;. Is that the same as removing the &amp;quot;processor&amp;quot;-module? &amp;quot;cat /proc/acpi/battery/BAT0/state&amp;quot; does not show increased power drain.&lt;br /&gt;
*Niko Ehrenfeuchter: I'm experiencing the same here on my {{X24}}. Removing the &amp;quot;processor&amp;quot; module also stops the pitch noise, which does ONLY occur when setting the CPU to maximum speed (using cpufreq). On low speed it's completely silent, even having loaded the processor module.&lt;br /&gt;
&lt;br /&gt;
*Rolf Adelsberger: I can confirm this: the high pitch noise is only remarkable (at least with my ears ;-) ) if the processor speed is set to maximum frequency.&lt;br /&gt;
&lt;br /&gt;
*Stefan Baums: My {{X41}} produced a high-pitched crackle from the processor vent on the left.  Changing HZ did nothing, and the 'processor' module could not easily be removed from the system (Ubuntu 5.04).  What solved the problem for me was adding {{bootparm|idle|halt}} to the boot command line. Unfortunately, this solution only lasts until the first hibernation or suspend - when the computer ({{X41}}) resumes, the high-pitched crackle is back.&lt;br /&gt;
&lt;br /&gt;
* The {{bootparm|idle|halt}} solution combined with setting &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; in the kernel fixes the problem on a {{T43}}.&lt;br /&gt;
&lt;br /&gt;
* jhatch:  {{bootparm|idle|halt}} plus &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; also worked on my {{T43}}.  It still reverts back to noisy after a suspend/resume though.  This needs to be fixed...&lt;br /&gt;
&lt;br /&gt;
===Change the timer interrupt frequency===&lt;br /&gt;
&lt;br /&gt;
Change the &amp;quot;HZ&amp;quot; kernel constants to alter the frequency of timer interrupts. Discussion:&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The timer interrupt frequency (HZ) in current Linux kernels is directly tied to the kernel task scheduler.  Lower frequencies provide larger time-slices and thus also higher latencies (which may kill latency-sensitive applications like audio processing). 100Hz ended up as the recommended &amp;quot;server&amp;quot; setting (because it increases disk/CPU throughput in a latency-insensitive environment).  Higher frequencies are better for latency-sensitive applications, and improve desktop responsivity at the cost of less processor throughput. 1000Hz ended up as the recommended &amp;quot;desktop&amp;quot; setting.}}&lt;br /&gt;
&lt;br /&gt;
*Andreas Karnahl: i've read in several forums it has something to do with the &amp;quot;idle&amp;quot;-state (or &amp;quot;C3&amp;quot;) of the processor. There is a frequency called &amp;quot;timer interrupt&amp;quot; (or so mething like that). Since kernel 2.6x it is set to 1000 Hz by default (compared to 100 Hz in Kernel 2.4x). The exact reason i don't know, but it is safe to change this frequency to 100 Hz in kernel 2.6x (by the way, windows up to XP uses 100 Hz by default).&amp;lt;br /&amp;gt;Just do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
:   In {{path|[path to kernel-sources]/include/asm-i386/param.h}} find the line&lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 1000&amp;lt;/code&amp;gt;&lt;br /&gt;
:   and change the value of HZ to 100: &lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt;&lt;br /&gt;
:Then recompile the kernel.&amp;lt;br /&amp;gt;After i changed it on my ThinkPad {{A30}} (under SuSE 9.2 and 9.3) and recompiling the kernel the high pitch noise is gone away.&lt;br /&gt;
&lt;br /&gt;
* Omar Yasin: Worked on my {{R52}}, thanks.&lt;br /&gt;
&lt;br /&gt;
* [[User:Thinker|Thinker]]: In modern kernels this constant is in the kernel configuration {{kernelconf|CONFIG_HZ|Processor type and features||Timer Frequency|||||}}.&lt;br /&gt;
&lt;br /&gt;
===Prevent idling===&lt;br /&gt;
&lt;br /&gt;
Indirectly avoid power saving states by making sure the CPU is rarely idle:&lt;br /&gt;
&lt;br /&gt;
* Paul RIVIER: Here is a really simple workaround. C3 / C4 states are mainly called when the cpu freq is higher than required, for example if your cpufreqd is lazy to slow down the frequency but quick to raise it. That is why I use powernowd with the builtin &amp;quot;passive&amp;quot; mode, which is lazy for raising frequency, but quick to go back to the lowest. Now I don't hear them as often as before, as I avoid C3/C4 states at high frequency.&lt;br /&gt;
&lt;br /&gt;
* The problem also occurs on my {{X41}} with 2.6.11. Setting up [[How to make use of Dynamic Frequency Scaling|frequency scaling]] with the &amp;lt;code&amp;gt;ondemand&amp;lt;/code&amp;gt; governor makes things a lot better, as the processor does not stay with the maximum frequency when in idle mode. It can be still heard sometimes, though.&lt;br /&gt;
&lt;br /&gt;
* On a {{T43}} the noise was gone after dropping cpufreqd and switching to the ondemand governor - maybe because of the high sampling rate? (used the default: 10ms)&lt;br /&gt;
&lt;br /&gt;
===Change the processor voltage===&lt;br /&gt;
&lt;br /&gt;
Reducing the processor voltage (when possible) may decrease or eliminate the noise. On one ThinkPad {{T43}}, [[Pentium M undervolting and underclocking|undervolting the Pentium M processor]] eliminated the high-pitched noise. Compared to the other solutions this has the benefit of lower power consumption, both due to the undervolting itself and because there is no need to forbid high APCI CPU power saving modes.&lt;br /&gt;
&lt;br /&gt;
==Solutions for screen brightness related sounds==&lt;br /&gt;
&lt;br /&gt;
===Disable BIOS brightness control===&lt;br /&gt;
&lt;br /&gt;
The sound starts when on batteries as the BIOS automatically reduces screen brightness. To disable this, simply switch Config&amp;gt;Display&amp;gt;Brightness from&lt;br /&gt;
Normal to High. See also [[User:Piccobello/Hissing sound on battery|here]].&lt;br /&gt;
&lt;br /&gt;
==Other solutions==&lt;br /&gt;
&lt;br /&gt;
===Disable UltraBay===&lt;br /&gt;
*Naheed Vora: My {{T41}} (2373-268) started to give high pitch noise ocassionally, when I upgraded to 2.6.11 kernel. I tried to unload lot of modules but finally figured out that disabling bay stops the noise. If you have [[ibm-acpi]], do (need a cleaner solution): {{cmduser|echo eject &amp;gt;/proc/acpi/ibm/bay}} .&lt;br /&gt;
&lt;br /&gt;
===Disable IrDA===&lt;br /&gt;
*Mike Perry: I was able to cure an intermittent high-pitched whine on both my {{X24}} and {{X40}} by disabling the Infrared port.&lt;br /&gt;
&lt;br /&gt;
===Disable the Linuxant Modem Driver===&lt;br /&gt;
*Joern Heissler: I made another experience. I played around with linuxant conexant [[Modem Devices|modem]] drivers. After loading them I got some noise on my {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
===Media Player paused===&lt;br /&gt;
*Eilif Muller: On my {{R52}} the high-pitched noises go away if I load XMMS, play something then pause it.&lt;br /&gt;
*Jacob: On my {{T43}} DGU it goes away if I open mplayerc.exe and press play then pause it. This is the high-pitched noise that only shows up when I'm on battery.&lt;br /&gt;
&lt;br /&gt;
''I'd guess that the above tip works as when xmms or similar is running, it is uncompressing compressed audio/video, which is a processor intensive action.  Keeping this paused means that the app won't 'let go' of the processor, forcing it to stay up and running, which stops it entering the higher powersave modes.''&lt;br /&gt;
&lt;br /&gt;
===nice yes===&lt;br /&gt;
&lt;br /&gt;
Run the command: &lt;br /&gt;
 {{cmduser|nice yes &amp;gt; /dev/null}}.&lt;br /&gt;
&lt;br /&gt;
This is a good way to test whether the processor is causing the interference, since it forces the CPU to stay at full power. Of course, this will make your system get warm, and probably turn on the fan, as well as eating power.&lt;br /&gt;
&lt;br /&gt;
===Upgrade BIOS===&lt;br /&gt;
On a ThinkPad {{X60s}}, [[BIOS_Upgrade|upgrading the BIOS]] to version 1.06 eliminated the high pitch noise when running on battery.&lt;br /&gt;
&lt;br /&gt;
===Disable USB===&lt;br /&gt;
On one {{T43}} and one {{X60}}, (partially) disabling USB using {{cmdroot|rmmod uhci_hcd}} significantly reduced the noise.&lt;br /&gt;
&lt;br /&gt;
This is likely a CPU-induced noise case, as disabling USB UHCI will reduce a lot the amount of busmaster activity while the computer is idle, and thus has a direct effect on the need for ACPI C-state transitions from C3/C4 to C2 or lower states in a {{T43}} or {{X60}}.&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=28271</id>
		<title>Problem with high pitch noises</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=28271"/>
		<updated>2007-02-17T14:36:53Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Affected Models */ see http://thinkpad-forum.de//thread.php?threadid=11164&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on strange high pitch, low volume noises emitted by ThinkPads.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
Even though ThinkPads are known as very silent notebooks, they tend to emit different, mostly high pitch noises in certain circumstances. The noises are of low volume and hence not realized by everyone or at least tolerated by most people. However, there are those with &amp;quot;bat like ears&amp;quot; that hear them and might be annoyed by that.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
Noises have been experienced in the following situations:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | situation&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | noise description&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | affected models&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Plugged into AC / running at high CPU frequency&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
soft crackling, buzzing noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41}}&lt;br /&gt;
**2379-DJU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42p}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad connected to power and switched off, with battery fully charged&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
moving windows or just the mouse in xorg&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
strange noise like a rapid series of very short high pitch noises adding to a constant kind of whistling (only as long as the movement goes)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power or working on battery, also when suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise also when HD is powered down.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T23}}&lt;br /&gt;
**2647-DG4&lt;br /&gt;
*{{X24}}&lt;br /&gt;
**2662-MWG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power battery charged less than 60%&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise till battery is charged more than 60%.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GEG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constantly, if AC connected&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitched, low volume constant noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T40}}&lt;br /&gt;
**2373-88U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When the CPU freq jumps up to 1Ghz or above, or when the laptop is in suspend mode&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constant high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R50}}&lt;br /&gt;
**1829-6DM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
(May come from harddisk.)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
continuous, intermittent, low volume, high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{600X}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ACPI puts the processor into the C3 or C4 power saving states (i.e., the system is idle).&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{X41}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
*{{T43p}}&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
*{{T21}}&lt;br /&gt;
*{{T20}}&lt;br /&gt;
**2648-46U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Cpufreqd (or powernowd etc.) slows down the processor, for exemple at the end of an heavy task.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When on battery&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Noise level varies from inaudible to clearly audible, screeching sound, or sometimes beeping (when wifi is on). &lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R51}}&lt;br /&gt;
**EHG-1829&lt;br /&gt;
*{{R52}}&lt;br /&gt;
**1858-A11&lt;br /&gt;
**1846-B5G&lt;br /&gt;
*{R60}&lt;br /&gt;
**9461-DXG&lt;br /&gt;
**9462-77G&lt;br /&gt;
**9456-HTG&lt;br /&gt;
**9461-DXG&lt;br /&gt;
*{R60e}&lt;br /&gt;
**0657-A9G&lt;br /&gt;
**0657-3LG&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
**1871-4AG&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
**1951-24G&lt;br /&gt;
**1951-24G&lt;br /&gt;
**2007-49G&lt;br /&gt;
**2007-FUG&lt;br /&gt;
*{{T60p}&lt;br /&gt;
**2007-FBG&lt;br /&gt;
*{{x60}}&lt;br /&gt;
*{{x31}}&lt;br /&gt;
**2673-CBU&lt;br /&gt;
*{{Z61m}}&lt;br /&gt;
**9450-3HG&lt;br /&gt;
**9452-128&lt;br /&gt;
**9452-W5Q&lt;br /&gt;
*{{Z61t}}&lt;br /&gt;
**9440-2QU&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CPU is used much AND laptop is on AC power AND the TFT panel is enabled.&lt;br /&gt;
| Screetching high pitch noise, like a million crickets&lt;br /&gt;
| &lt;br /&gt;
* {{X41}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Network is pluged in and networkload is ~100%.&lt;br /&gt;
| low volume highfreq. pitch noise from left speaker or cpu.&lt;br /&gt;
|&lt;br /&gt;
*{{Z60m}}, {{Z60t}}&lt;br /&gt;
*{{T40}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2687-DDU&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
All, though Linux appears especially susceptible.&lt;br /&gt;
&lt;br /&gt;
==Possible sources==&lt;br /&gt;
&lt;br /&gt;
* '''CPU activity:''' On some models the noise is triggered by certain CPU power states or activity patterns (as proven [http://www.wisdom.weizmann.ac.il/~tromer/acoustic here]).&lt;br /&gt;
* '''Graphics processor:''' In some models from the T2x era, e.g. the {{T23}}, the problem was related to the graphics circuitry and occured especially or only while making use of DirectDraw functions. IBM was able to fix it through a BIOS upgrade.&lt;br /&gt;
* '''Hard disk:''' On some ThinkPads the processor and hard disk are adjacent and produce similar noise. For example, in the {{X41}} the sound generated by the hard disk is likely to be loudest at the vent.&lt;br /&gt;
* '''Gigabit Ethernet processor:''' In some models (e.g., {{T43}}) high ethernet activity causes a high pitch noise.&lt;br /&gt;
&lt;br /&gt;
* '''Screen brightness:''' on an {{X31}}, a hissing sound is started whenever screen brightness is not full.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
The problem is highly specific to operating system, model and even individual machines. There is no universal solution, but on most machines one of the following will reduce or eliminate the noise (possibly at some cost in power consumption).&lt;br /&gt;
&lt;br /&gt;
==Solutions for CPU-triggered noise==&lt;br /&gt;
&lt;br /&gt;
===Limit ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
There are eight ACPI CPU power states, called C1 through C8 (but the ThinkPad BIOS often remaps them and uses only C1 to C4). Often only the extreme power saving modes C4 or C3 produce the noise, so the noise can be stopped by instructing the Linux ACPI code to use only lower modes.&lt;br /&gt;
&lt;br /&gt;
To forbid the ACPI driver from using C4 (this fixed the problem with on some ThinkPad {{T43}}, {{T43p}} and {{T41}}):&lt;br /&gt;
* If the ACPI processor component is compiled as built-in (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=y&amp;lt;/tt&amp;gt;):&lt;br /&gt;
**Pass the {{bootparm|max_cstate|3}} kernel argument.&lt;br /&gt;
* If the ACPI processor component is loaded as a module (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=m&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;processor&amp;lt;/tt&amp;gt; shows in the output of {{cmdroot|lsmod}}), do either of:&lt;br /&gt;
** Pass the {{bootparm|processor.max_cstate|3}} kernel argument (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** Add &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; to {{path|/etc/modprobe.conf}} (or {{path|/etc/modprobe.conf.local}}, or {{path|/etc/modprobe.d/...}}, depending on your system) (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** {{cmdroot|echo 3 &amp;gt;  /sys/module/processor/parameters/max_cstate}} (this can be changed in runtime for experimentation). (If may need to be set again upon resume from suspend, e.g., in the wakeup script.)&lt;br /&gt;
** (On Ubuntu 5.10, the default kernel uses &amp;lt;code&amp;gt;processor&amp;lt;/code&amp;gt; as a module.  Unfortunately, the script loading it, {{path|/etc/init.d/acpid}}, ignores the &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; setting in {{path|/etc/modprobe.d/&amp;lt;my file&amp;gt;}}.  As a solution for this specific problem, add the line &amp;lt;code&amp;gt;echo 2 &amp;gt; /sys/module/processor/parameters/max_cstate&amp;lt;/code&amp;gt; directly to {{path|/etc/init.d/acpid}}, at the end of the function &amp;lt;code&amp;gt;load_modules()&amp;lt;/code&amp;gt;, immediately after the line &amp;lt;code&amp;gt;echo &amp;quot;$PRINTK&amp;quot; &amp;gt; /proc/sys/kernel/printk&amp;lt;/code&amp;gt;.)&lt;br /&gt;
** On Gentoo: Configure your Thinkpad as described in the [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide].  Then as root create the files {{path|/etc/init.d/limit-sleep-states}} and {{path|/etc/conf.d/limit-sleep-states}} as below. After that just issue the command {{cmdroot|rc-update add limit-sleep-states default}} to limit the sleep states only when running on AC power, or {{cmdroot|rc-update add limit-sleep-states default battery}} to always limit the sleep states.&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/init.d/limit-sleep-states&lt;br /&gt;
 #!/sbin/runscript&lt;br /&gt;
 &lt;br /&gt;
 depend() {&lt;br /&gt;
 	need acpid&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 start() {&lt;br /&gt;
 	ebegin &amp;quot;Limiting CPU sleep state to C${LIMIT_CSTATE}&amp;quot;&lt;br /&gt;
 	echo $LIMIT_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
 	eend $?&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 stop() {&lt;br /&gt;
        ebegin &amp;quot;Removing CPU sleep state limit&amp;quot;&lt;br /&gt;
        echo $REMOVE_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
        eend $?&lt;br /&gt;
 }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/conf.d/limit-sleep-states&lt;br /&gt;
 # limit CPU sleep state to the following value (adjust accordingly)&lt;br /&gt;
 LIMIT_CSTATE=3&lt;br /&gt;
 # some value which is higher than all available sleep states&lt;br /&gt;
 REMOVE_CSTATE=8&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
To also forbid the C3 state, replace &amp;quot;&amp;lt;tt&amp;gt;3&amp;lt;/tt&amp;gt;&amp;quot; with &amp;quot;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt;&amp;quot; above (this fixed the problem on some ThinkPad {{X40}}, {{X41}}, {{X60}}, {{T60}}, {{Z61t}} and {{R52}}, as well as on {{T20}} where C4 is not supported at all).&lt;br /&gt;
&lt;br /&gt;
Note that these options affect power consumption when the CPU is idle. For example, here is the [[How to measure power consumption|measured power consumption]] on a ThinkPad {{T43}}:&lt;br /&gt;
* {{bootparm|processor.max_cstate|4}}: 15160mW (default, noisy)&lt;br /&gt;
* {{bootparm|processor.max_cstate|3}}: 15770mW (660mW higher, silent)&lt;br /&gt;
* {{bootparm|processor.max_cstate|2}}: 16100mW (2940mW higher, silent)&lt;br /&gt;
&lt;br /&gt;
One can control how often Linux tries to enter the C3 state by using the {{bootparm|processor.bm_history|&amp;lt;bitmask&amp;gt;}} parameter on kernels with a scheduler frequency below 800Hz (and if you have noise problems, you really should not be running the kernel at 1000Hz...).  Setting {{bootparm|processor.bm_history|0xFFFFFFFF}} will cause C3 to be entered less often.  This will waste more power as the CPU won't do C3 or C4 as often, but at least it doesn't forbid C3 and C4 permanently, unlike {{bootparm|max_cstate|2}}.&lt;br /&gt;
&lt;br /&gt;
See the [http://thinkwiki.org/wiki?title=Talk:Problem_with_high_pitch_noises discussion page] for further information and success reports.&lt;br /&gt;
&lt;br /&gt;
*Jakob Schou Pedersen: Editing the file {{path|/etc/init.d/acpid}} as described above (the last solution) worked on my T43 :-)&lt;br /&gt;
&lt;br /&gt;
===Turn off CPU power saving in the BIOS===&lt;br /&gt;
&lt;br /&gt;
Go into the BIOS and turn off the power saving processor feature that puts it into idle mode. (This worked on a ThinkPad {{T43}}, {{T21}}, {{X60s}} and {{Z61m}}). However, this also affects power consumption when the CPU is idle, it's similar to disabling the C4/C3 ACPI CPU power state. For example, on a Z61m 9450-3HG, a full charged battery with power management enabled in the BIOS provides the notebook with power for about 3.5h, if disabled, the battery-lifetime is only about 2h.&lt;br /&gt;
&lt;br /&gt;
===Disable ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
Completely disable CPU ACPI power states. Discussion:&lt;br /&gt;
&lt;br /&gt;
*From Martin Steigerwald: I made the observation that I get at least less high pitch noises on my {{T23}} when I do not use the two ACPI modules &amp;quot;processor&amp;quot; and &amp;quot;thermal&amp;quot; (depends on the first one). I have no clue, why. Anyone with similar experiences?&lt;br /&gt;
:Omar Yasin: I've got a {{R52}} and when I load the same ACPIO modules the high pitch noises are not as loud but I can still hear them.&lt;br /&gt;
*Kaspar Schleiser: On my {{T23}} the noise is less loud when setting max_cstate to 2, but to completely silence it, I have to set it to &amp;quot;1&amp;quot;. Is that the same as removing the &amp;quot;processor&amp;quot;-module? &amp;quot;cat /proc/acpi/battery/BAT0/state&amp;quot; does not show increased power drain.&lt;br /&gt;
*Niko Ehrenfeuchter: I'm experiencing the same here on my {{X24}}. Removing the &amp;quot;processor&amp;quot; module also stops the pitch noise, which does ONLY occur when setting the CPU to maximum speed (using cpufreq). On low speed it's completely silent, even having loaded the processor module.&lt;br /&gt;
&lt;br /&gt;
*Rolf Adelsberger: I can confirm this: the high pitch noise is only remarkable (at least with my ears ;-) ) if the processor speed is set to maximum frequency.&lt;br /&gt;
&lt;br /&gt;
*Stefan Baums: My {{X41}} produced a high-pitched crackle from the processor vent on the left.  Changing HZ did nothing, and the 'processor' module could not easily be removed from the system (Ubuntu 5.04).  What solved the problem for me was adding {{bootparm|idle|halt}} to the boot command line. Unfortunately, this solution only lasts until the first hibernation or suspend - when the computer ({{X41}}) resumes, the high-pitched crackle is back.&lt;br /&gt;
&lt;br /&gt;
* The {{bootparm|idle|halt}} solution combined with setting &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; in the kernel fixes the problem on a {{T43}}.&lt;br /&gt;
&lt;br /&gt;
* jhatch:  {{bootparm|idle|halt}} plus &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; also worked on my {{T43}}.  It still reverts back to noisy after a suspend/resume though.  This needs to be fixed...&lt;br /&gt;
&lt;br /&gt;
===Change the timer interrupt frequency===&lt;br /&gt;
&lt;br /&gt;
Change the &amp;quot;HZ&amp;quot; kernel constants to alter the frequency of timer interrupts. Discussion:&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The timer interrupt frequency (HZ) in current Linux kernels is directly tied to the kernel task scheduler.  Lower frequencies provide larger time-slices and thus also higher latencies (which may kill latency-sensitive applications like audio processing). 100Hz ended up as the recommended &amp;quot;server&amp;quot; setting (because it increases disk/CPU throughput in a latency-insensitive environment).  Higher frequencies are better for latency-sensitive applications, and improve desktop responsivity at the cost of less processor throughput. 1000Hz ended up as the recommended &amp;quot;desktop&amp;quot; setting.}}&lt;br /&gt;
&lt;br /&gt;
*Andreas Karnahl: i've read in several forums it has something to do with the &amp;quot;idle&amp;quot;-state (or &amp;quot;C3&amp;quot;) of the processor. There is a frequency called &amp;quot;timer interrupt&amp;quot; (or so mething like that). Since kernel 2.6x it is set to 1000 Hz by default (compared to 100 Hz in Kernel 2.4x). The exact reason i don't know, but it is safe to change this frequency to 100 Hz in kernel 2.6x (by the way, windows up to XP uses 100 Hz by default).&amp;lt;br /&amp;gt;Just do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
:   In {{path|[path to kernel-sources]/include/asm-i386/param.h}} find the line&lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 1000&amp;lt;/code&amp;gt;&lt;br /&gt;
:   and change the value of HZ to 100: &lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt;&lt;br /&gt;
:Then recompile the kernel.&amp;lt;br /&amp;gt;After i changed it on my ThinkPad {{A30}} (under SuSE 9.2 and 9.3) and recompiling the kernel the high pitch noise is gone away.&lt;br /&gt;
&lt;br /&gt;
* Omar Yasin: Worked on my {{R52}}, thanks.&lt;br /&gt;
&lt;br /&gt;
* [[User:Thinker|Thinker]]: In modern kernels this constant is in the kernel configuration {{kernelconf|CONFIG_HZ|Processor type and features||Timer Frequency|||||}}.&lt;br /&gt;
&lt;br /&gt;
===Prevent idling===&lt;br /&gt;
&lt;br /&gt;
Indirectly avoid power saving states by making sure the CPU is rarely idle:&lt;br /&gt;
&lt;br /&gt;
* Paul RIVIER: Here is a really simple workaround. C3 / C4 states are mainly called when the cpu freq is higher than required, for example if your cpufreqd is lazy to slow down the frequency but quick to raise it. That is why I use powernowd with the builtin &amp;quot;passive&amp;quot; mode, which is lazy for raising frequency, but quick to go back to the lowest. Now I don't hear them as often as before, as I avoid C3/C4 states at high frequency.&lt;br /&gt;
&lt;br /&gt;
* The problem also occurs on my {{X41}} with 2.6.11. Setting up [[How to make use of Dynamic Frequency Scaling|frequency scaling]] with the &amp;lt;code&amp;gt;ondemand&amp;lt;/code&amp;gt; governor makes things a lot better, as the processor does not stay with the maximum frequency when in idle mode. It can be still heard sometimes, though.&lt;br /&gt;
&lt;br /&gt;
* On a {{T43}} the noise was gone after dropping cpufreqd and switching to the ondemand governor - maybe because of the high sampling rate? (used the default: 10ms)&lt;br /&gt;
&lt;br /&gt;
===Change the processor voltage===&lt;br /&gt;
&lt;br /&gt;
Reducing the processor voltage (when possible) may decrease or eliminate the noise. On one ThinkPad {{T43}}, [[Pentium M undervolting and underclocking|undervolting the Pentium M processor]] eliminated the high-pitched noise. Compared to the other solutions this has the benefit of lower power consumption, both due to the undervolting itself and because there is no need to forbid high APCI CPU power saving modes.&lt;br /&gt;
&lt;br /&gt;
==Solutions for screen brightness related sounds==&lt;br /&gt;
&lt;br /&gt;
===Disable BIOS brightness control===&lt;br /&gt;
&lt;br /&gt;
The sound starts when on batteries as the BIOS automatically reduces screen brightness. To disable this, simply switch Config&amp;gt;Display&amp;gt;Brightness from&lt;br /&gt;
Normal to High. See also [[User:Piccobello/Hissing sound on battery|here]].&lt;br /&gt;
&lt;br /&gt;
==Other solutions==&lt;br /&gt;
&lt;br /&gt;
===Disable UltraBay===&lt;br /&gt;
*Naheed Vora: My {{T41}} (2373-268) started to give high pitch noise ocassionally, when I upgraded to 2.6.11 kernel. I tried to unload lot of modules but finally figured out that disabling bay stops the noise. If you have [[ibm-acpi]], do (need a cleaner solution): {{cmduser|echo eject &amp;gt;/proc/acpi/ibm/bay}} .&lt;br /&gt;
&lt;br /&gt;
===Disable IrDA===&lt;br /&gt;
*Mike Perry: I was able to cure an intermittent high-pitched whine on both my {{X24}} and {{X40}} by disabling the Infrared port.&lt;br /&gt;
&lt;br /&gt;
===Disable the Linuxant Modem Driver===&lt;br /&gt;
*Joern Heissler: I made another experience. I played around with linuxant conexant [[Modem Devices|modem]] drivers. After loading them I got some noise on my {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
===Media Player paused===&lt;br /&gt;
*Eilif Muller: On my {{R52}} the high-pitched noises go away if I load XMMS, play something then pause it.&lt;br /&gt;
*Jacob: On my {{T43}} DGU it goes away if I open mplayerc.exe and press play then pause it. This is the high-pitched noise that only shows up when I'm on battery.&lt;br /&gt;
&lt;br /&gt;
''I'd guess that the above tip works as when xmms or similar is running, it is uncompressing compressed audio/video, which is a processor intensive action.  Keeping this paused means that the app won't 'let go' of the processor, forcing it to stay up and running, which stops it entering the higher powersave modes.''&lt;br /&gt;
&lt;br /&gt;
===nice yes===&lt;br /&gt;
&lt;br /&gt;
Run the command: &lt;br /&gt;
 {{cmduser|nice yes &amp;gt; /dev/null}}.&lt;br /&gt;
&lt;br /&gt;
This is a good way to test whether the processor is causing the interference, since it forces the CPU to stay at full power. Of course, this will make your system get warm, and probably turn on the fan, as well as eating power.&lt;br /&gt;
&lt;br /&gt;
===Upgrade BIOS===&lt;br /&gt;
On a ThinkPad {{X60s}}, [[BIOS_Upgrade|upgrading the BIOS]] to version 1.06 eliminated the high pitch noise when running on battery.&lt;br /&gt;
&lt;br /&gt;
===Disable USB===&lt;br /&gt;
On one {{T43}} and one {{X60}}, (partially) disabling USB using {{cmdroot|rmmod uhci_hcd}} significantly reduced the noise.&lt;br /&gt;
&lt;br /&gt;
This is likely a CPU-induced noise case, as disabling USB UHCI will reduce a lot the amount of busmaster activity while the computer is idle, and thus has a direct effect on the need for ACPI C-state transitions from C3/C4 to C2 or lower states in a {{T43}} or {{X60}}.&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Rescue_and_Recovery&amp;diff=27555</id>
		<title>Rescue and Recovery</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Rescue_and_Recovery&amp;diff=27555"/>
		<updated>2007-01-06T21:25:31Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* MBR written by GRUB */ didn't work here, don't know the exact error message of grub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;&amp;quot; | __NOTOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Rescue and Recovery===&lt;br /&gt;
Rescue and Recovery version 3.0 consists of a bootable partition containing various system recovery tools, including full recovery of the preinstalled Windows XP partition. It can be activated by pressing the {{ibmkey|ThinkPad|#494949}}, {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkVantage|#495988}} [[ThinkPad Button|Button]] during system boot. It contains a FAT filesystem (labeled &amp;quot;IBM_SERVICE&amp;quot;), and has partition type 0x12 (&amp;quot;Compaq diagnostics&amp;quot; in &amp;lt;tt&amp;gt;fdisk&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
As opposed to a [[Hidden Protected Area|Hidden Protected Area]] Recovery partitions are ordinary partitions, accessible through the partition table. As they are ordinary partitions they are accessible by ordinary partitioning tools. They should be dealt carefully with.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
==Proper MBR==&lt;br /&gt;
{{WARN|Only tinker with the MBR and the Rescue and Recovery partition if you know what you're doing. Mistakes can leave the system unbootable and can make it very difficult to retrieve the data on the harddisk.}}&lt;br /&gt;
&lt;br /&gt;
Consideration 6 of the Readme states:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;quot;The Master Boot Record (MBR) must be configured properly for the Rescue and Recovery application to function properly.  When possible, the Rescue and Recovery application attempts to ensure the proper configuration of the MBR.  This can only occur if the Rescue and Recovery application is installed after other applications that requires the MBR.&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Apparently, the MBR is not &amp;quot;configured properly&amp;quot; if LILO or GRUB have written it. The following is the case:&lt;br /&gt;
*The default bootloader seems to ignore the active bit and always boots the first partition instead&lt;br /&gt;
*The default bootloader contains code to catch a press of the appropriate button during bootup and launch the Rescue and Recovery application in that case&lt;br /&gt;
*Before launching the Rescue and Recovery application at system boot, the default bootloader changes the partition type of the Rescue and Recovery partiton to 0x0b, otherwise it changes it to 0x12 (to hide it from Windows)&lt;br /&gt;
*The Rescue and Recovery application assumes that the first partition contains Windows&lt;br /&gt;
*The Rescue and Recovery partition needs to be of type 0x0b (FAT32) otherwise the default bootloader will not launch the Rescue and Recovery application (this conflicts with a point above)&lt;br /&gt;
&lt;br /&gt;
Since neither LILO nor GRUB catch the press of the button (an undocumented mechanism anyway) it is not possible to launch the Rescue and Recovery application by pressing the appropriate button during system boot, once LILO or GRUB have altered the MBR for their boot procedure.&lt;br /&gt;
&lt;br /&gt;
IBM provides a program to manage the Rescue and Recovery bootloader. It is located in {{path|C:\Program Files\IBM ThinkVantage\Common\BMGR}} or {{path|C:\Program Files\Common Files\Lenovo\BMGR}}. It can select the partition to boot, and also allows for rewriting the MBR if it was written by another bootloader. More information is needed about this program.&lt;br /&gt;
&lt;br /&gt;
===MBR written by GRUB===&lt;br /&gt;
If the MBR was written by GRUB you can still use GRUB to launch the Rescue and Recovery application. However if you leave the type of the Rescue and Recovery partition to 0x12 (Compaq diagnostics), this will result in an error message &amp;quot;c000021a, Fatal System Error&amp;quot; if you try to launch it. To avoid that and to make sure the recovery partition always is of the right type, add a line to change the partition type to 0x0b to the Rescue and Recovery partition's entry in your {{path|/boot/grub/menu.lst}}. Assuming your Rescue and Recovery partition is the second partition, it could look like this: Please note that there are people who report that this didn't work, for example it didn't work on a {{Z61m}} 9450-3HG.&lt;br /&gt;
&lt;br /&gt;
  title           IBM Rescue and Recovery&lt;br /&gt;
  root            (hd0,1)&lt;br /&gt;
  '''parttype        (hd0,1) 0x0b'''&lt;br /&gt;
  '''unhide          (hd0,1)'''&lt;br /&gt;
  chainloader     +1&lt;br /&gt;
&lt;br /&gt;
Also add an &amp;lt;tt&amp;gt;unhide&amp;lt;/tt&amp;gt; line here because we are going to hide the Rescue and Recovery partition on every boot of Windows, so we need to unhide it, when the recovery partition is booted. This is because if we don't hide the partition when booting Windows, it would be visible and accessable there and that's not what we want. So, assuming that Windows is on the first partition, the Windows entry could now look like this:&lt;br /&gt;
  title           Windows&lt;br /&gt;
  root            (hd0,0)&lt;br /&gt;
  '''hide            (hd0,1)'''&lt;br /&gt;
  chainloader     +1&lt;br /&gt;
&lt;br /&gt;
===GRUB in a partition's boot sector===&lt;br /&gt;
A way to have your Access IBM button still functional on bootup, is to create a separate {{path|/boot}} partition, install GRUB to that partition and make it active. This will leave the MBR untouched.&lt;br /&gt;
{{NOTE|If the above finding is true that the MBR ignores the active bit, that partition has to be the first one. In most recent Linux distributions it is not easy to create /boot as first partition and shrink the Windows partition. In that case the Windows bootloader can be used to boot Windows and Linux, also preserving the Rescue and Recovery functionality. See below.}}&lt;br /&gt;
*In the BIOS, set the IBM Predesktop Area to 'Secure'.&lt;br /&gt;
*Boot your Linux distribution's installation CD.&lt;br /&gt;
*Follow the instructions and go through the regular installation process.&lt;br /&gt;
*Create a '''primary partition''' for /boot (the other stuff can go into the extended partitions) and when the time comes to install GRUB, make sure you install it into the boot sector of the boot partition.&lt;br /&gt;
*Set this boot partition as active.&lt;br /&gt;
&lt;br /&gt;
===Using NTLDR to boot Linux===&lt;br /&gt;
It is possible to configure the Windows bootloader to also boot Linux (installed on separate partition). This allows to preserve the Rescue and Recovery functionality at system boot (as MBR is not modified), Windows XP (booted via its native bootloader) and Linux (booted from its own partition by Windows XP bootloader). A quick and dirty howto, regarding applying this procedure to Ubuntu Dapper Drake installation can be found [http://gawrysiak.org/corvus/?p=4 here].&lt;br /&gt;
&lt;br /&gt;
==Older versions of Rescue and Recovery==&lt;br /&gt;
Some Thinkpads (e.g., T23 and T30) do not come with a Recovery CD, but also do not support the [[Hidden Protected Area]].  These ThinkPads have an older version of Rescue and Recovery preloaded on the hard disk to implement the factory recovery function.  Most of the comments above also apply to the older versions, with the following differences:&lt;br /&gt;
*The recovery partition type is 0x1c, hidden FAT32, LBA-mapped (or 0xc when unhidden).&lt;br /&gt;
*The boot manager program is in {{path|C:\IBMTOOLS\RECOVERY}} and only runs in a 16-bit DOS environment&lt;br /&gt;
{{Fixme|name of this boot manager needed}}&lt;br /&gt;
*The IBM Predesktop area runs atop of Windows 98 (command-line) instead of WinPE&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
* IBM page on [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4Q2QAK ThinkVantage Rescue and Recovery].&lt;br /&gt;
* [ftp://ftp.software.ibm.com/pc/pccbbs/thinkvantage_en/tvtrnr3_1027en.txt Rescue and Recovery Readme]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-46088 IBM page about accessing the Recovery Partition if Linux has been installed and the F11 button no longer works]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-54483 IBM Rescue and Recovery repair diskette]&lt;br /&gt;
&lt;br /&gt;
==Models featuring this technology==&lt;br /&gt;
* ThinkPad {{T23}}, {{T30}} (R&amp;amp;R 2.0)&lt;br /&gt;
* ThinkPad {{T42}}&lt;br /&gt;
* ThinkPad {{T43}}, {{T43p}}&lt;br /&gt;
* ThinkPad {{T60}}, {{T60p}}&lt;br /&gt;
* ThinkPad {{R52}}&lt;br /&gt;
* ThinkPad {{Z60m}}&lt;br /&gt;
* Thinkpad {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=High-pitch_noise_from_AC-Adapter&amp;diff=27554</id>
		<title>High-pitch noise from AC-Adapter</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=High-pitch_noise_from_AC-Adapter&amp;diff=27554"/>
		<updated>2007-01-06T21:09:34Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== High-pitch noise from AC-Adapter ==&lt;br /&gt;
&lt;br /&gt;
This appears in some AC adapters shipped with some {{T60}}, {{T60p}}, {{Z61m}} (they're possibly shipped with others, too)&lt;br /&gt;
So far, Lenovo did not offer any feedback for this problem.&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ordering_Recovery_CDs&amp;diff=27403</id>
		<title>Ordering Recovery CDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ordering_Recovery_CDs&amp;diff=27403"/>
		<updated>2006-12-31T17:30:41Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* What happens then */ happened to me&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on getting Recovery CDs from IBM.&lt;br /&gt;
&lt;br /&gt;
The information on this page is unofficial. It is gathered from personal experiences. It is here to raise your chances of success when you give it a try yourself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==About Recovery CDs==&lt;br /&gt;
Recovery CDs enable you to reproduce the original software state on your ThinkPad. Until the beginning of 2001 IBM delivered recovery CDs with the ThinkPads, but starting with the A30/T23/X22 models ThinkPads have a [[Predesktop Area]], which's purpose is to make Recovery CDs obsolete. However, this is flawed logic, since you will lose both the installed OS AND the [[Predesktop Area]] upon failure of the hard drive. Also, if you buy a drive upgrade the [[Predesktop Area]] will not be on the new drive. Furthermore, spyware and viruses are lately being designed to infiltrate recovery partitions, so if you restore the system from such, you will restore the invading malware along with it. For the time being, Recovery CDs are available on request.&lt;br /&gt;
&lt;br /&gt;
Recovery CDs are localized, meaning that there are specific versions for each language. The language you will get depends on the language of the OS that was shipped with your ThinkPad. There's usually no way to get CDs in a different language from IBM.&lt;br /&gt;
&lt;br /&gt;
==How to get them==&lt;br /&gt;
&lt;br /&gt;
===Creating Recovery CDs from the preinstalled O/S===&lt;br /&gt;
In some ThinkPads IBM supplies a utility to create the recovery CDs.  You'll find a utility called &amp;quot;Create Recovery Discs&amp;quot; in the &amp;quot;ACCESS IBM&amp;quot; folder of the Start Menu.  To create the Recovery discs, you'll need a CD/DVD writer and blank media.  The Product Recovery discs set consist of one Rescue and Recovery disc (size of 1 CD-R) and one or more Product recovery discs (size of 1 DVD-R).&lt;br /&gt;
&lt;br /&gt;
Others might want to read the appendix &amp;quot;Creating an image of the hard drive&amp;quot; in this [ftp://ftp.software.ibm.com/pc/pccbbs/access_ibm_en/hpa_aibm.pdf document] from IBM for instructions. It is also usefull when replacing the hard disk. If your Thinkpad does not have a floppy drive, you could try to create a FAT partition on the harddisk and copy the files &amp;quot;fwbackup.exe&amp;quot; and &amp;quot;fwrestor.exe&amp;quot; there.&lt;br /&gt;
&lt;br /&gt;
===From IBM===&lt;br /&gt;
Should you fail to create a set of recovery discs before your harddrive fails, you may try to contact IBM service and request for a set.&lt;br /&gt;
This can be done by eMail or phone.&lt;br /&gt;
[http://www.ibm.com/support/ Support phone numbers] are available online.&lt;br /&gt;
They are officially called ''Recovery CD service parts.''&lt;br /&gt;
If you actually get them, or not, seems to be more a personal decision of the service person dealing with you than following fixed rules. Also it seems to depend on your country (see below).&lt;br /&gt;
&lt;br /&gt;
They will usually expect you to tell them a good reason for your request (see below).&lt;br /&gt;
As with every service request, you'll also have to provide your model and serial number to verify the warranty state.&lt;br /&gt;
The warranty for your ThinkPad is usually quite long though (3 years in my case), and you can&lt;br /&gt;
[http://www-307.ibm.com/pc/support/site.wss/ check online] if your warranty is still in force.&lt;br /&gt;
The model number is also used to determine which CDs you will get.&lt;br /&gt;
&lt;br /&gt;
Orders placed during the first month after purchase have proven to be the most successful. Note some people needed to pay a $45.00 fee, plus shipping and tax, for the CDs, regardless of when ordering them. Again, this seems to depend on the mood of the service rep that handles your case.&lt;br /&gt;
&lt;br /&gt;
Note that Recovery CDs are only available for Windows XP Professional for the X24, as per the Customer Service Center in Atlanta, GA. All other operating systems (Windows 2000, 98SE, OS/2, etc...) are no longer available. XP Home was apparently never available for the X24.&lt;br /&gt;
&lt;br /&gt;
====Good reasons to tell====&lt;br /&gt;
*You replaced (or will be replacing) your hard drive.&lt;br /&gt;
*You installed Linux or some other OS and accidentally removed/destroyed the [[Predesktop Area]].&lt;br /&gt;
*You bought a machine in one country (e.g Germany) and need to convert the OS to use  a different language (e.g. English).&lt;br /&gt;
&lt;br /&gt;
====What happens then====&lt;br /&gt;
The time of delivery varies. In some cases its very fast (times from 16h to 3 days have been reported), on the other hand it has been reported that the time of delivery is very high, three weeks for example. The shipping can happen without prior confirmation of your request, so don't be worried if you hear nothing within this time.&lt;br /&gt;
&lt;br /&gt;
A Dutch IBM customer reported next-day delivery of recovery CDs, on three different occasions. A customer in Belgium had to wait 8 days, so sometimes delivery is not that fast.&lt;br /&gt;
&lt;br /&gt;
Apparently recovery CDs to the UK are now shipped from Hungary, with an estimated delivery of 8-9 days. Experience shows they tend to come a little sooner. It seems likely that this is now the source for all of Europe.&lt;br /&gt;
&lt;br /&gt;
====Country overview====&lt;br /&gt;
Please put an entry for your country into this table if it's missing and you made a try to get the Recovery CDs.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | CDs received in&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#ffcfbc;&amp;quot; | CDs were denied in &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*Argentina&lt;br /&gt;
*Austria&lt;br /&gt;
*Australia (depends on the service rep &amp;amp; reason)&lt;br /&gt;
*Brazil&lt;br /&gt;
*Belgium&lt;br /&gt;
*Canada&lt;br /&gt;
*Denmark&lt;br /&gt;
*Estonia&lt;br /&gt;
*Finland&lt;br /&gt;
*France&lt;br /&gt;
*Germany (cost: 39,90 Euro (+VAT) if device is out of warranty), otherwise is free&lt;br /&gt;
*Italy&lt;br /&gt;
*The Netherlands&lt;br /&gt;
*New Zealand&lt;br /&gt;
*Norway&lt;br /&gt;
*Poland (60 PLN +VAT (on warranty) via IBM Poland business partner)&lt;br /&gt;
*Philippines&lt;br /&gt;
*Spain&lt;br /&gt;
*Sweden&lt;br /&gt;
*Switzerland&lt;br /&gt;
*UK&lt;br /&gt;
*USA ($45 if out of warranty [in one case, at least])&lt;br /&gt;
*Turkey&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#fff0e0;&amp;quot; |&lt;br /&gt;
*Israel, but received after calling IBM Europe&lt;br /&gt;
*Australia, payment was requested&lt;br /&gt;
*India, just a plain &amp;quot;not possible&amp;quot;&lt;br /&gt;
*Russia, service reps claim that these CDs are not for end-users&lt;br /&gt;
*UK, denied using first reason (must be an IBM HDD), received using second reason.&lt;br /&gt;
*Hungary, service reps claim that these CDs are not for end-users&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Windows]] [[Category:A30]] [[Category:A30p]] [[Category:A31]] [[Category:A31p]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]][[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=27205</id>
		<title>Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=27205"/>
		<updated>2006-12-22T20:17:41Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Hardlock on X logout */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses issues with the ATI proprietary [[fglrx]] display driver.&lt;br /&gt;
&lt;br /&gt;
== Known Troubles and Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== X-specific issues ===&lt;br /&gt;
&lt;br /&gt;
ATI proprietary drivers version 8.21.7 and later work with x.org 6.9.&lt;br /&gt;
&lt;br /&gt;
If you are running an older version (8.20.8) under Debian sid and you upgrade your xserver-xorg, apt will force you to remove any debian-packaged fglrx drivers (package fglrx-driver depends on x.org &amp;lt;&amp;lt; 6.8.99).  You can just download the driver from the ATI site and install after modifying the Debian packager script to allow dependencies to be satisfied by x.org 6.9, or just download 8.21.7 and install manually.  See talk page for step-by-step commands.&lt;br /&gt;
&lt;br /&gt;
After installing the fglrx driver, you can use module-assist to build the appropriate kernel module.&lt;br /&gt;
&lt;br /&gt;
=== Kernel-specific troubles ===&lt;br /&gt;
&lt;br /&gt;
Using ATI drivers &amp;lt;=8.21.7 with kernel &amp;gt;=2.6.15 needs a [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch].  (see table below for detail.) If you can't compile the driver modules with 2.6.15 or later, you should apply this [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch patch] instead. &lt;br /&gt;
&lt;br /&gt;
If you do not use one of these patches, you may experience peculiar lockups of X.  Try {{cmduser|fglrxinfo}} - if your shell hangs at the end of this command, you may have an issue and should try the patch or upgrade.&lt;br /&gt;
&lt;br /&gt;
Although unproven, there is a substantial amount of user / developer concern that the above patches prevent hard lockups but do not provide full reliability with 2.6.15 and there are larger / redisgn issues preventing compatibility.  These issues have been fixed with later ATI drivers (&amp;gt; 8.21.7) so you can simply upgrade if you are running a more modern kernel.&lt;br /&gt;
&lt;br /&gt;
=== No hardware acceleration ===&lt;br /&gt;
&lt;br /&gt;
====Acceleration lost after driver update====&lt;br /&gt;
If you lose hardware acceleration after a driver update this can be caused by an old fglrx kernel module being loaded.&lt;br /&gt;
&lt;br /&gt;
Check out {{path|1=/var/log/Xorg.0.log}} for a message like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(WW) fglrx(0): Kernel Module version does *not* match driver.&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can verify this yourself by looking at the version message some lines above. It should read something not matching the installed version like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0): Kernel Module Version Information:&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Name: fglrx&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Version: 8.10.19&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The cause for this trouble might be that there resist multiple versions of the fglrx module within the kernel module search path.&amp;lt;br&amp;gt;&lt;br /&gt;
Go to {{path|1=/lib/modules/&amp;lt;your linux kernel version&amp;gt;/}} and type {{cmdroot|1=grep fglrx modules.dep}}.&amp;lt;br&amp;gt;&lt;br /&gt;
If grep finds multiple lines you nailed down the problem. All you have to do now is to delete any versions of the module (look at the filedate) but the most current one. Then run {{cmdroot|1=depmod}} and you are done.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Newer versions (8.21.7) of the fglrx module seem to be installed in the &amp;lt;code&amp;gt;extra/&amp;lt;/code&amp;gt; subdirectory.&amp;lt;br&amp;gt;&lt;br /&gt;
Older versions (8.19.10) used to be located in the &amp;lt;code&amp;gt;kernel/drivers/char/drm/&amp;lt;/code&amp;gt; subdirectory.}}&lt;br /&gt;
&lt;br /&gt;
====GCC 3.4====&lt;br /&gt;
If the ATI driver works only without the hardware acceleration, take into consideration that {{path|fglrx_dri.so}} was linked against libstdc++.so.5 which may not be present if your system uses gcc-3.4.&lt;br /&gt;
&lt;br /&gt;
To fix this, compile gcc-3.3.5 and copy &amp;lt;tt&amp;gt;libstdc++.so.5*&amp;lt;/tt&amp;gt; to {{path|/usr/lib}} and update the dynamic linker cache via {{cmdroot|ldconfig}}.&lt;br /&gt;
&lt;br /&gt;
Or install a compat package for your favorite distro. FC4 users can do:&lt;br /&gt;
:{{cmdroot|yum install libstdc++.so.5}}&lt;br /&gt;
&lt;br /&gt;
====radeonfb framebuffer====&lt;br /&gt;
Another possible cause for broken hardware acceleration (2D and 3D) is the radeonfb framebuffer: Switching to vesafb or vesafb-tng is reported to solve the problem on some systems. Also it has proven helpful to not perform {{cmdroot|modprobe fglrx}} after boot but to have the module loaded via {{path|/etc/modules.autoload/kernel2.x}} at boottime instead.&lt;br /&gt;
&lt;br /&gt;
====Perpetual Mesa GLX Indirect on Debian====&lt;br /&gt;
If you've done everything right and you're still seeing:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|fglrxinfo}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.1)}}&lt;br /&gt;
&lt;br /&gt;
try this:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkdir -p /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
&lt;br /&gt;
Thanks to Maciej Matysiak for the clear debug [http://lists.debian.org/debian-amd64/2006/02/msg00217.html here] and solution [http://lists.debian.org/debian-amd64/2006/02/msg00311.html here].&lt;br /&gt;
&lt;br /&gt;
More generally, use LIBGL_DEBUG=verbose fglrxinfo, to see what's happening, and whether you get this:&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL error: dlopen /usr/X11R6/lib/modules/dri/fglrx_dri.so failed (/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory)}}&lt;br /&gt;
:{{cmdresult|libGL error: unable to find driver: fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.2)}}&lt;br /&gt;
&lt;br /&gt;
instead of that:&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: busid is PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: minor is 0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: node name is /dev/dri/card0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: open result is 4, (OK)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmOpenMinor returns 4}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmGetBusid reports PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|Can't open configuration file /home/merlin/.drirc: No such file or directory.}}&lt;br /&gt;
:{{cmdresult|fglrx: DPD supported.}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: ATI Technologies Inc.}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: MOBILITY FIREGL T2 Pentium 4 (SSE2) (FireGL) (GNU_ICD)}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 2.0.5879 (8.26.18)}}&lt;br /&gt;
&lt;br /&gt;
I have contacted ATI to add that info by default, the mesa guys to do that in glxinfo too, as well as the debian packager to fix the debian packaging bug (2006/07/22), so hopefully the situation will improve soon&lt;br /&gt;
&lt;br /&gt;
You may have to run fglrxinfo as root to get this detail rather than a useless message.&lt;br /&gt;
&lt;br /&gt;
=== Softlink hell ===&lt;br /&gt;
The [[fglrx]] installer replaces the standard X.org OpenGL implementation (Mesa) with its own files, potentially causing collisions with the distribution's file and package management. It is best to install the driver via a package built for your distribution, which will typically include the necessary kludges to make things work. See the [[fglrx]] page for pointers.&lt;br /&gt;
&lt;br /&gt;
====Discussion====&lt;br /&gt;
If using {{cmduser|fglrxinfo}} after installing [[fglrx]] indicates that you are still using the mesa indirect software GL renderer, you likely have some misplaced softlinks.  It seems like it has to do with an apt-get upgrade that sometimes replaces these links.  Anyway, go to&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
and list your GL libraries and links&lt;br /&gt;
:{{cmdroot|ls -la *GL*}}&lt;br /&gt;
You should see something like the following two lines amoung others:&lt;br /&gt;
:{{cmdresult|libGL.so -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
:{{cmdresult|libGL.so.1 -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
If you see a link to a mesa library (something like {{cmdresult|... -&amp;gt; libGL.mesa.1.2}}), then that's your problem!  Restore the softlink like this (use your actual library version, though):&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
&lt;br /&gt;
For some reason, this link might &amp;quot;break&amp;quot; later, giving you the software rendering once more.  Even after renaming the mesa library to something like &amp;lt;tt&amp;gt;mesa.bkup&amp;lt;/tt&amp;gt;, the system might still find it and link to it despite the name change.  If you have to do this a lot, you could write a restoreGL script.&lt;br /&gt;
&lt;br /&gt;
=====Gentoo=====&lt;br /&gt;
{{Gentoo}} has built in tools for managing the OpenGL symlinks.  They seem to be replacing the old tool with a new one, so one of the following should work for you:&lt;br /&gt;
:{{cmdroot|opengl-update ati}} or&lt;br /&gt;
:{{cmdroot|eselect opengl set ati}}&lt;br /&gt;
Eselect is new, and still ~x86 (as of the end of 2005), so you may not have it yet.  &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; is the old tried-and-true method for managing the symlinks.  If &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; doesn't fix it for you, you should probably tell [http://bugs.gentoo.org Gentoo Bugzilla] (assuming they don't know yet).&lt;br /&gt;
&lt;br /&gt;
If {{cmdroot|ldd /usr/X11R6/bin/glxinfo}} shows that your system still uses the xorg-x11 mesa libs after trying one of the above commands, i.e. a line like this:&lt;br /&gt;
:{{cmdresult|1=libGL.so.1 =&amp;gt; /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0x400a8000)}}&lt;br /&gt;
you will also need to relink {{path|libGl.so.1.2}}:&lt;br /&gt;
:{{cmdroot|cd /usr/lib/opengl/xorg-x11/lib/}}&lt;br /&gt;
:{{cmdroot|mv libGL.so.1.2 libGL.so.1.2_backup}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/libGL.so.1.2 libGL.so.1.2}}&lt;br /&gt;
After another restart of X {{cmduser|fglrxinfo}} should show that it's using the right libs now.&lt;br /&gt;
&lt;br /&gt;
=====Debian=====&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|rm /usr/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|rm /usr/X11R6/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
:{{cmdroot|cp /usr/lib/fglrx/diversions/lib/libGL.so.1.2 .}}&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
:{{cmdroot|ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Troubles using software suspend ===&lt;br /&gt;
When the computer resumes from suspend, X only displays a garbled image and the computer is frozen.&lt;br /&gt;
The problem is acknowledged in ATI's release notes and in knowledge base entry &amp;lt;strike&amp;gt;[https://support.ati.com/ics/support/KBResult.asp?searchFor=Search+Words&amp;amp;search.x=0&amp;amp;search.y=0&amp;amp;searchOption=id&amp;amp;questionID=737-218+&amp;amp;task=knowledge&amp;amp;searchTime=-1&amp;amp;productID=&amp;amp;folderID=-1&amp;amp;resultLimit=50 737-218]&amp;lt;/strike&amp;gt; [https://support.ati.com/ics/support/KBAnswer.asp?questionID=218 737-218]. Driver version 8.19.10 has &amp;quot;initial support for Suspend and Resume&amp;quot; but is working very nicely for most people (verified on T43, T43p and T42) without vbetool.&lt;br /&gt;
&lt;br /&gt;
If you are using an older version of fglrx, using [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] to save/restore the video card state before/after suspend worked for some people. If you use [[Software Suspend 2|Software Suspend 2 (suspend2)]] scripts, you can simply uncomment &amp;lt;tt&amp;gt;EnableVbetool yes&amp;lt;/tt&amp;gt; in {{path|/etc/hibernate/hibernate.conf}}. Be aware though that it breaks suspend/resume for drivers beginning with version 8.19.10, so remember to disable it again when upgrading.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ tested with the following configurations&lt;br /&gt;
!model!!distro||kernel!!fglrx!!PM!!success!!comments&lt;br /&gt;
|-&lt;br /&gt;
|{{T42}}||SUSE 9.3||2.6.11||8.14.13||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T41p}}||???||2.6.14||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T42p}}||Debian||2.6.10||Debian packaged||suspend2||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian sid||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 (but not earlier versions!)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian etch||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 and without vbetool&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Ubuntu Breezy||2.6.12-10||8.19.10||swsusp||yes||Perfect.  (Finally.)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.1||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch], requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.2||8.19.10||suspend2 2.2-rc11||yes||requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.19.10||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.20.8||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}}||???||???||8.19.10||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14||8.19.10||Suspend to RAM||yes||without vbetool or UseDummyXServer, those two ''break'' the resume process here, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14.3||8.20.8||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R52}}||Debian sid||2.6.15-rc5||8.20.8||swsup||yes||both vbetool and UseDummyXServer disabled, DRI enabled, needs [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled - console is garbled until switching back from X&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||suspend2 2.2||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||swsusp||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06||2.6.15||8.25.18||swsusp||no||Switching to VT to suspend: no resume, X restarts; Not switching: suspend works, garbled X display on resume, later X restarts&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06 Text Mode||2.6.15||---||swsusp||yes||suspend works in textmode after rmmod fglrx. &lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Debian/unstable/experimental||2.6.18||8.31.5-1 (from debian experimental)||susptoram hibernate debian packages||yes||suspend and resume works with X, 3D acc., Xv overlay... &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Troubles with large RAM ===&lt;br /&gt;
Version 8.14.13 (and probably earlier versions) of the driver does not seem to be able to cope with large amounts of RAM: with 512 MB it works, with 1.5 GB it crashes the machine as soon as X is started. The problem is present only if the &amp;lt;tt&amp;gt;fglrx&amp;lt;/tt&amp;gt; kernel module is loaded, but independently of whether {{kernelconf|CONFIG_HIGHMEM||||||}} is enabled. A workaround is to limit RAM by adding the {{bootparm|mem|864m}} kernel parameter.&lt;br /&gt;
&lt;br /&gt;
Version 8.16.20 fixes the problem.&lt;br /&gt;
&lt;br /&gt;
===Display switching ===&lt;br /&gt;
The switching between internal and external display doesn't work with fglrx versions &amp;lt;= 8.24.8, because the driver blocks messing around with the chipset via ACPI. If you want to use this feature (i.e. during presentations), you should use the &amp;lt;tt&amp;gt;vesa&amp;lt;/tt&amp;gt; server instead (experienced with a R52, Kernel 2.6.11, xorg 6.8.2, fglrx 8.16.20). Or boot notebook with CRT connected, it will automatically detect it and display on both.&lt;br /&gt;
&lt;br /&gt;
===Composite Support===&lt;br /&gt;
ATI has not officially supported composite windowing (alpha channel) enabling hardware acclerated translucent windows (primarily for 'eye candy.')  Enabling Composite in KDE and the fglrx driver results in a very pretty desktop but unacceptably slow performance on a T43p with ATI's FireGL T2.  It is still unusable in its current state (as of driver 8.25.18).&lt;br /&gt;
&lt;br /&gt;
ATI promises support in the future when composite is officially supported by Xorg.  Discussion of current status of drivers can be found in the Rage3d forums' (http://rage3d.com/board) Linux area.&lt;br /&gt;
&lt;br /&gt;
Composite support is now supported with recent Mesa and Xorg &amp;gt; 7 with the open source 3d radeon drivers (if you run debian unstable, you should be all set.)  It works with the [[R300]] / FireGL T2 series as found on the T43p, but noticably slows down the system.  This has made rapid progress in speed with the latest few releases and kernel 2.6.18, and is finally usable with an R300 based card.  Expect drivers to improve in the future, but it seems that composite does require a very fast video card and system.&lt;br /&gt;
&lt;br /&gt;
===Hardlock on X logout===&lt;br /&gt;
Up from driver version 8.19.10 you will experience a system hard lock when logging out from X, if the session manager (kdm/gdm) is not properly configured. You have to tell the session manager to restart X.&lt;br /&gt;
&lt;br /&gt;
In the kdm config file (gentoo: {{path|/usr/kde/&amp;lt;VERSION&amp;gt;/share/config/kdm/kdmrc}}) you have to add following to the section &amp;lt;code&amp;gt;[X-:*-Core]&amp;lt;/code&amp;gt;: &lt;br /&gt;
 TerminateServer=true&lt;br /&gt;
&lt;br /&gt;
In the gdm config (/etc/gdm/gdm.conf) file add the following to the daemon-section:&lt;br /&gt;
 AlwaysRestartServer=true&lt;br /&gt;
&lt;br /&gt;
Information from the ATI bugtracker: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another reason of hardlock my be using the wrong AGP driver. Make sure that you have proper drivers for your motherboard loaded before fglrx: (gentoo: {{path|/etc/modules.autoload.d/kernel-2.6}}):&lt;br /&gt;
 intel-agp&lt;br /&gt;
 fglrx&lt;br /&gt;
&lt;br /&gt;
A common problem seems to be mistakenly using ATI Chipset drivers instead of Intel.&lt;br /&gt;
&lt;br /&gt;
Information from gentoo bugtracker: http://bugs.gentoo.org/show_bug.cgi?id=113685&lt;br /&gt;
&lt;br /&gt;
===Cannot switch to VT===&lt;br /&gt;
&lt;br /&gt;
With usplash boot enabled, it may not be possible to switch to a VT from X (Using Alt+Fn). Tested on T60p (Mobility Fire GLV5200) on Ubuntu 6.06 / 6.10 and fglrx 8.25.18 / 8.28.8. Display may become garbled and system might freeze. Solution (testet on Ubuntu 6.10) is to either remove the &amp;quot;splash&amp;quot; kernel boot parameter or add &amp;quot;vga=791&amp;quot; parameter.&lt;br /&gt;
&lt;br /&gt;
http://ati.cchtml.com/show_bug.cgi?id=37 &amp;lt;br&amp;gt;&lt;br /&gt;
https://launchpad.net/distros/ubuntu/+source/usplash/+bug/63558&lt;br /&gt;
&lt;br /&gt;
===Flickering Display===&lt;br /&gt;
&lt;br /&gt;
Some people have reported problems with their display flickering when using ati-drivers newer than 8.14.13. The problem is unclear&lt;br /&gt;
(possibly associated with an incorrect modeline setting) and no known solution exists except to use the open source radeon drivers.&lt;br /&gt;
You can follow this problem here: http://ati.cchtml.com/show_bug.cgi?id=248&lt;br /&gt;
&lt;br /&gt;
===Error messages in system log===&lt;br /&gt;
&lt;br /&gt;
If you find something like the following in {{path|/var/log/messages}}:&lt;br /&gt;
&lt;br /&gt;
:{{cmdresult|kernel: mtrr: base(0xc0000000) is not aligned on a size(0x7ff0000) boundary}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22)}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_unlock] *ERROR* Process 5132 using kernel context 0}}&lt;br /&gt;
&lt;br /&gt;
try to execute the following line and reload the fglrx module:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|1=echo &amp;quot;base=0xd0000000 size=0x8000000 type=write-combining&amp;quot; &amp;gt; /proc/mtrr}}&lt;br /&gt;
&lt;br /&gt;
More detailed instructions can be found [http://ubuntuforums.org/showthread.php?t=115104 here].&lt;br /&gt;
&lt;br /&gt;
===Hang when logging out===&lt;br /&gt;
&lt;br /&gt;
A common problem is that when logging out from X, instead of gettign the KDM or GDM prompt, the system hangs.&lt;br /&gt;
&lt;br /&gt;
This is discussed, including workarounds here: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
===No power saving when CRT in use===&lt;br /&gt;
&lt;br /&gt;
When both CRT and LCD are in use, power saving cannot be enabled.&lt;br /&gt;
&lt;br /&gt;
This is reported here: http://ati.cchtml.com/show_bug.cgi?id=304&lt;br /&gt;
&lt;br /&gt;
===WineX / Cedega Installs Software But Errors on Loading Games===&lt;br /&gt;
&lt;br /&gt;
Some users may experience problems with certain FIREGL cards (in my case an ibm t43p laptop with a v3200 ati firegl) whereby projects such as cedega and wine refuse to work with 3d graphics, but native binaries (e.g. quake 4) work fine. A possible workaround is to add the following line in the drivers section of your /etc/X11/xorg.conf &lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;UseFastTLS&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This option used to be configured with the older ati drivers when you ran &amp;quot;fglrxconfig&amp;quot;. I have not yet found a way to get it to appear with &amp;quot;aticonfig&amp;quot;, hence the manual insertion. This option is good for several linux distros I have tried, fedora core 5, ubuntu dapper and suse 10.1. It does not appear to effect performance on natively run programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Line Appears Below Mouse Cursor===&lt;br /&gt;
&lt;br /&gt;
Some users have reported seeing a line approximately 1 mouse height below the bottom edge of the cursor, which follows the mouse and appears to change color based on the image below the cursor.  This has been seen to happen using fglrx without the kernel module installed (in 2D mode) and additionally on external displays or multiple X servers.  To work around the problem, try disabling the DGA extension by making the following changes to your XFree86.conf or xorg.conf file.  Replace (or comment-out)&lt;br /&gt;
 Load &amp;quot;extmod&amp;quot;&lt;br /&gt;
with&lt;br /&gt;
 SubSection  &amp;quot;extmod&amp;quot;&lt;br /&gt;
  Option  &amp;quot;omit xfree86-dga&amp;quot;&lt;br /&gt;
 EndSubSection&lt;br /&gt;
&lt;br /&gt;
===Freeze while using OpenGL Apps===&lt;br /&gt;
&lt;br /&gt;
Some OpenGL applications such as screensavers or games (SecondLife) cause freezes.  The cursor still moves, but otherwise the machine is unresponsive.  This is the case with Xorg 7.1 and fglrx 8.29.6 using an x1400 and other cards.  The solution is to add the following options to the video Device section in xorg.conf:&lt;br /&gt;
 Option &amp;quot;Capabilities&amp;quot; &amp;quot;0x00000800&amp;quot;&lt;br /&gt;
 Option &amp;quot;KernelModuleParm&amp;quot; &amp;quot;locked-userpages=0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
The following patches might be needed for certain versions of fglrx.&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.32.5===&lt;br /&gt;
* [http://whoopie.gmxhome.de/linux/patches/2.6.19/fglrx-8.32.5-for-2.6.19.patch For kernel 2.6.19]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.23.7===&lt;br /&gt;
* For kernel 2.6.16: [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.22.5-intermodule.patch &amp;lt;tt&amp;gt;intermodule&amp;lt;/tt&amp;gt; patch] and [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.23.7-noiommu.patch &amp;lt;tt&amp;gt;noiommu&amp;lt;/tt&amp;gt; patch]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.21.7===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.20.8===&lt;br /&gt;
&lt;br /&gt;
* [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 for kernel 2.6.15]&lt;br /&gt;
or&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx (problem met at least with version 8.18.8)===&lt;br /&gt;
* [http://lkml.org/lkml/2005/9/22/183 for kernel &amp;gt;= 2.6.13 ]  Missing verify_area bug&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.8.25 ===&lt;br /&gt;
* [http://www.rage3d.com/board/showthread.php?t=33798874 for kernels &amp;gt;= 2.6.10]&lt;br /&gt;
* [http://www.gehirn.org.uk/wiki/images/8.8.25-kernel-2.6.11+.patch For kernels &amp;gt;= 2.6.11-rc1]&lt;br /&gt;
&lt;br /&gt;
===Links ===&lt;br /&gt;
* [http://gentoo-wiki.com/HOWTO_ATI_Drivers Gentoo HOWTO ATI]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_protect_the_harddisk_through_APS&amp;diff=27051</id>
		<title>How to protect the harddisk through APS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_protect_the_harddisk_through_APS&amp;diff=27051"/>
		<updated>2006-12-16T14:45:47Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: +cat z61m&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page tells you how to make the [[Active Protection System]] work under Linux to protect your harddrive from damage in case of a notebook drop or other kind of impact while it is running.&lt;br /&gt;
&lt;br /&gt;
Specific instructions for {{Fedora}} can be found [[Installing_Fedora_Core_5_on_a_ThinkPad_X41_Tablet#Harddrive_Active_Protection_System_.28HDAPS.29|here]].&lt;br /&gt;
&lt;br /&gt;
== How APS works in Linux ==&lt;br /&gt;
APS in Linux consists of four components on the software side:&lt;br /&gt;
* The [[HDAPS]] driver (included in recent kernels). It exports a sysfs interface providing the acceleration values.&lt;br /&gt;
* The [http://www.dresco.co.uk/hdaps/ &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;] disk protection kernel patch, which exports a sysfs interface that enables an ide or sata disk to be protected by a userspace process.&lt;br /&gt;
* The [http://www.dresco.co.uk/hdaps/ &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;] disk protection userspace daemon. It monitors the acceleration values through the HDAPS interface and automatically initiates disk protection through the hdaps_protect interface - given that the movement exceeds a user specified threshold.&lt;br /&gt;
* Optional: the [http://roy.marples.name/node/269 khdapsmonitor KDE System Tray applet] or [http://www.oakcourt.dyndns.org/projects/khdapsmon/ &amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt; KDE System Tray applet] or the [http://www.dresco.co.uk/hdaps/ &amp;lt;tt&amp;gt;gnome-hdaps-applet&amp;lt;/tt&amp;gt;]. These applets provide a visual indication of the disk protection status and also a graphical interface for adjusting configuration options for &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
As mentioned above, the hdaps kernel driver found in recent kernels is only responsible for reading the accelerometer data and exporting it through the sysfs interface. &lt;br /&gt;
&lt;br /&gt;
In order to use this information to protect the disk, some additional steps are required.&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest hdaps_protect disk protection kernel patches.&lt;br /&gt;
* Enable the drivers in the kernel (requires kernel rebuild).&lt;br /&gt;
* Download, build and configure the hdapsd userspace daemon.&lt;br /&gt;
* Download and build one of the applets to get a real-time representation of the disk protection status.&lt;br /&gt;
&lt;br /&gt;
===Getting the files===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Latest Sources&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt; and the &amp;lt;tt&amp;gt;gnome-hdaps-applet&amp;lt;/tt&amp;gt;: http://www.dresco.co.uk/hdaps&lt;br /&gt;
*&amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt;: http://www.oakcourt.dyndns.org/projects/khdapsmon/&lt;br /&gt;
|-&lt;br /&gt;
! {{Debian}}&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gnome-hdaps-applet&amp;lt;/tt&amp;gt;:&lt;br /&gt;
:{{cmdroot|deb http://www.oakcourt.dyndns.org/debian/ ./}}&lt;br /&gt;
:{{cmdroot|deb-src http://www.oakcourt.dyndns.org/debian/ ./}}&lt;br /&gt;
|-&lt;br /&gt;
! {{Fedora}}&lt;br /&gt;
| see instructions [[Installing_Fedora_Core_5_on_a_ThinkPad_X41_Tablet#Harddrive_Active_Protection_System_.28HDAPS.29|here]]&lt;br /&gt;
*kernel RPM packages including &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt;: http://www.dresco.co.uk/hdaps/ &lt;br /&gt;
*kernel RPM packages including &amp;lt;tt&amp;gt;hdaps_protect&amp;lt;/tt&amp;gt; and [[Software Suspend 2]]: http://mhensler.de/swsusp/download/yum/development/fc5/ (build 2084_2 and up)&lt;br /&gt;
|-&lt;br /&gt;
! {{Gentoo}}&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt; ebuild: http://bugs.gentoo.org/show_bug.cgi?id=119845&lt;br /&gt;
*&amp;lt;tt&amp;gt;khdapsmon&amp;lt;/tt&amp;gt; ebuild: http://bugs.gentoo.org/show_bug.cgi?id=124175&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Adding kernel support ===&lt;br /&gt;
A kernel patch is required for disk head parking and queue freezing.&lt;br /&gt;
&lt;br /&gt;
==== Manually patching and compiling a kernel ====&lt;br /&gt;
As root, do:&lt;br /&gt;
:{{cmdroot|cd /usr/src/linux}}&lt;br /&gt;
:{{cmdroot|patch -p1 &amp;lt; ~/hdaps_protect.20060409.patch}}&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
:{{cmdroot|make}}&lt;br /&gt;
:{{cmdroot|make modules_install}}&lt;br /&gt;
&lt;br /&gt;
=== Installing hdapsd ===&lt;br /&gt;
==== Manual compilation from source ====&lt;br /&gt;
* Download the &amp;lt;tt&amp;gt;hdapsd&amp;lt;/tt&amp;gt; sources (see above)&lt;br /&gt;
* Compile using {{cmdroot|gcc -o hdapsd hdapsd-*.c}}&lt;br /&gt;
* Run {{cmdroot|./hdapsd -d sda -s 12 -a}} (replace &amp;lt;tt&amp;gt;sda&amp;lt;/tt&amp;gt; with your hard disk device; run {{cmdroot|./hdapsd}} without arguments for help)&lt;br /&gt;
&lt;br /&gt;
==== Gentoo ====&lt;br /&gt;
{{Gentoo}} users can try the ebuild attached to [http://bugs.gentoo.org/show_bug.cgi?id=119845 gentoo bug 119845].&lt;br /&gt;
{{NOTE|1=hdapsd was added to the official portage tree on the 26th June 2006.}}&lt;br /&gt;
*Add hdapsd support in your kernel: device drivers -&amp;gt; hardware monitoring -&amp;gt; ... (you need it as a module if you want to use tp_smapi and hdaps, see [[Tp_smapi]])&lt;br /&gt;
*Download the ebuild, use same ebuild date as the kernel-patch.&lt;br /&gt;
*Make known the portage an extern ebuild path and add the following line to {{path|/etc/make.conf}}:&lt;br /&gt;
 PORTDIR_OVERLAY=&amp;quot;/usr/local/portage/&amp;quot; (or any other location)&lt;br /&gt;
*Create directory {{path|/usr/local/portage}} and {{path|/usr/local/portage/app-laptop/}}&lt;br /&gt;
*Copy the downloaded ebuild to {{path|/usr/local/portage/app-laptop}} ({{path|/usr/local/portage/app-laptop/hdapsd}} should now exists)&lt;br /&gt;
*Make portage known the new ebuild and creat digist with:&lt;br /&gt;
:{{cmdroot|ebuild /usr/local/portage/app-laptop/hdapsd/hdapsd-20060326.ebuild digest}}&lt;br /&gt;
*Optional: Copy source file to portage distfiles (if no internet connection is available): &lt;br /&gt;
:{{cmdroot|cp hdapsd-20060326.c /usr/portage/distfiles}}&lt;br /&gt;
*Accept the x86 keyword for this package: {{cmdroot|echo &amp;quot;app-laptop/hdapsd ~x86&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.keywords}}&lt;br /&gt;
*Install hdapsd with: {{cmdroot|emerge hdapsd}}.&lt;br /&gt;
*Edit {{path|/etc/conf.d/hdapsd}} (change your harddrive if neccessary: mine is sda, and change the value from 5, 5 is to sensitive, 12 is a good value in my opinion).&lt;br /&gt;
*start deamon with: {{cmdroot|/etc/init.d/hdapsd start}}&lt;br /&gt;
*Optional: add to default runlevel: {{cmdroot|rc-update add hdapsd default, rc-update add hdapsd battery}}&lt;br /&gt;
Write an eMail to abartel[Ã¤d]htwm.de, if you want to get my hdapsd-20060326.ebuild and please upload it.&lt;br /&gt;
&lt;br /&gt;
=== Building an applet ===&lt;br /&gt;
====hdaps-gl====&lt;br /&gt;
*Make sure you have installed hdaps [and loaded] and ?opengl?&lt;br /&gt;
*Download &amp;lt;tt&amp;gt;hdaps-gl-0.0.5&amp;lt;/tt&amp;gt; from the web.&lt;br /&gt;
*Extract files to {{path|/opt/hdaps-gl}}.&lt;br /&gt;
*{{cmdroot|make}}&lt;br /&gt;
*Start the applet: {{cmdroot|./hdaps-gl}}&lt;br /&gt;
&lt;br /&gt;
====khdapsmon====&lt;br /&gt;
This application uses GNU autotools, so building it is the same as any other autotooled program:&lt;br /&gt;
*extract the source somewhere and change to that directory,&lt;br /&gt;
*run {{cmdroot|./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install}}.&lt;br /&gt;
See [[#Getting the files|above]] for Debian packages and a Gentoo ebuild.&lt;br /&gt;
&lt;br /&gt;
====gnome-hdaps-applet====&lt;br /&gt;
=====Debian/Ubuntu=====&lt;br /&gt;
Packages available at site listed above (with source packages that can do the building for you)&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
See the [[Problem with APS harddisk parking]] page for troubleshooting APS issues.&lt;br /&gt;
{{NOTE|1=If you use [[tp_smapi]], remember to include the option &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; when [[Tp_smapi#Installation|installing tp_smapi]]. Also, you might need to build the hdaps driver as module.}}&lt;br /&gt;
&lt;br /&gt;
==Further Information==&lt;br /&gt;
*Additonal information and support is available through the [[Mailinglists#HDAPS Developers Mailinglist|hdaps-devel]] mailinglist and its archive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Z61m]]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=27050</id>
		<title>HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=27050"/>
		<updated>2006-12-16T14:44:54Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: +cat: z61m&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
=== HDAPS - IBM Active Protection System Linux Driver ===&lt;br /&gt;
This is the Linux driver for monitoring the acceleratometer known as [[Active Protection System|IBM Active Protection System]].&lt;br /&gt;
&lt;br /&gt;
The driver only enables reading of the acceleration data. It does '''not''' perform [[#Harddisk Protection|automatic disk head parking]]. But there are already some other useful [[#Applications|applications]] for HDAPS, using the {{path|/sys}} interface it provides.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
*provides accelerometer values via sysfs&lt;br /&gt;
*provides a joystick type input device&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage / Availability ===&lt;br /&gt;
*[http://hdaps.sourceforge.net/ Project Homepage]&lt;br /&gt;
*The driver is included in the 2.6-mm series of kernels since August, 26th 2005.&lt;br /&gt;
*The driver is now in the mainline (2.6.14).&lt;br /&gt;
*The [[tp_smapi]] package contains some patches to this driver. These are necessary for some recent models, and recommended for all.&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
A driver is included in recent Linux kernels and is actively maintained. &lt;br /&gt;
&lt;br /&gt;
=== How to install the driver ===&lt;br /&gt;
If you are using a version of the Linux kernel &amp;lt; 2.6.14, please upgrade. I struggled long and hard to get the driver working with an old version of the kernel, and it was a mess. I gave up, upgraded my kernel, and one recompile later, HDAPS was working.&lt;br /&gt;
&lt;br /&gt;
=== Harddisk Protection ===&lt;br /&gt;
As mentioned above, the hdaps kernel driver is only responsible for reading the accelerometer data and exporting it through the sysfs interface. In order to use this information to protect the disk, some additional steps are required.&lt;br /&gt;
&lt;br /&gt;
See [[How to protect the harddisk through APS]].&lt;br /&gt;
&lt;br /&gt;
=== Input device support ===&lt;br /&gt;
The hdaps driver in the lastest kernels (2.6.14 and later?) also exports a joystick type input device, which can be used by games.&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
====Disk head parking====&lt;br /&gt;
You will need the kernel patch and userspace daemon. The GUI monitoring is optional.&lt;br /&gt;
* Kernel patch (apply using 'patch -p1 -l &amp;lt; hdaps_xx.patch')&lt;br /&gt;
**[http://lwn.net/Articles/154923/ disk park patch] &amp;lt;tt&amp;gt;an experimental patch for parking the disk (Linux 2.6.14 for 2.6.15 see below)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.14.patch disk park patch adapted for the t41p model] &amp;lt;tt&amp;gt; kernel 2.6.14 *([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.15.patch disk park patch adapted for the t41p model] &amp;lt;tt&amp;gt; kernel 2.6.15 *([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060118.patch sata/ide disk protection patch for 2.6.15]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060430.patch Latest sata/ide disk protection patch for 2.6.16]&lt;br /&gt;
**[http://whoopie.gmxhome.de/linux/patches/2.6.16-tj/05-hdaps_protect-20060430-for-2.6.16-tj.patch Latest sata/ide disk protection patch for use with the libata hotplug 2.6.16.16 patches] - See [[How_to_hotswap_UltraBay_devices]]&lt;br /&gt;
**[http://whoopie.gmxhome.de/linux/patches/2.6.17.14-tj/03-hdaps_protect-20060430-for-2.6.17-tj.patch Latest sata/ide disk protection patch for use with the libata hotplug 2.6.17.4 patches] - See [[How_to_hotswap_UltraBay_devices]]&lt;br /&gt;
**[http://exitzero.de/t41p-configs/hdaps_protect-2.6.17.1-20060625.patch Untested patch for 2.6.17.1]: see [http://thread.gmane.org/gmane.linux.drivers.hdaps.devel/708/focus=708]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect-2.6.18.3-2.patch Latest sata/ide disk protection patch for 2.6.18.3]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.kernel/470413 Latest sata/ide disk protection patch for 2.6.19-rc6]&lt;br /&gt;
*Userspace daemon&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdapsd-20060409.c  userspace parking daemon]&lt;br /&gt;
**[ftp://rohrmoser-engineering.de/pub/  hdapsd-&amp;lt;date&amp;gt;.c  is an improved version of the daemon, which computes an adaptive sensivity threshold]&lt;br /&gt;
*GUI monitoring&lt;br /&gt;
**[http://www.oakcourt.dyndns.org/projects/khdapsmon/ khdapsmon] &amp;lt;tt&amp;gt;KDE System Tray app similar to the Windows one (also at [http://www.kde-apps.org/content/show.php?content=34134 kde-apps.org])&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://roy.marples.name/node/269 khdapmonitor] Another userfriendly KDE System Tray Monitor&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/gnome-hdaps-applet-20060120.tar.gz gnome-hdaps-applet] &amp;lt;tt&amp;gt;visual display of disk protection status in gnome panel&amp;lt;/tt&amp;gt;&lt;br /&gt;
See [[How to protect the harddisk through APS]] for more information.&lt;br /&gt;
&lt;br /&gt;
====Security &amp;amp; safety====&lt;br /&gt;
*[[Script for theft alarm using HDAPS]]&lt;br /&gt;
&lt;br /&gt;
====Tilt monitoring====&lt;br /&gt;
*[http://www.mulliner.org/collin/gkibm-acpi.php gkhdaps] &amp;lt;tt&amp;gt;a GKrellM applet displaying tilt data&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://rlove.org/log/2005082203.html gnome-tilt] &amp;lt;tt&amp;gt;a gnome applet showing tilt data&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Visualisation (of ThinkPad orientation)====&lt;br /&gt;
*[http://rlove.org/log/2005082401.html hdaps-gl] &amp;lt;tt&amp;gt;a little app animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdapsgl-applet] &amp;lt;tt&amp;gt; a GNOME applet animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://sourceforge.net/project/showfiles.php?group_id=138242 wmadhps] &amp;lt;tt&amp;gt;a WindowMaker DockApp animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.cs.cmu.edu/~ecc/gyro.tar.gz OpenGL gyroscope hack] &amp;lt;tt&amp;gt;keeps your display levelled when tilting the ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Games====&lt;br /&gt;
*Robert Love mentions a [http://icculus.org/neverball/ Neverball] patch on [http://rlove.org/log/2005100302.html his blog] to keep the display aligned. However, the link there seems broken.&lt;br /&gt;
*Turn your ThinkPad into a Jedi Weapon (hey, it [http://isnoop.net/blog/2006/05/20/macsaber-turn-your-mac-into-a-jedi-weapon works for Mac laptops])&lt;br /&gt;
&lt;br /&gt;
====Other====&lt;br /&gt;
&lt;br /&gt;
*[http://blog.micampe.it/articles/2006/06/04/here-comes-the-smackpad smack.py] - switch workspace by smacking your laptop, inspired by the [http://blog.medallia.com/2006/05/smacbook_pro.html SmackBook] (an [http://weblogs.mozillazine.org/gerv/archives/2006/09/stablilised_smackpad.html improved version] adds stabilization])&lt;br /&gt;
*[http://www.gnome.org/~fherrera/gtollina.c GTollina] - another smack program for use with compiz (video [http://www.gnome.org/~fherrera/blog/gtollina.html here]).&lt;br /&gt;
*[http://blog.odonnell.nu/61.html xmms-smack.py] - move through your xmms playlist by smacking, based on the two smack scripts above.&lt;br /&gt;
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw02aKnockBasedCommands KnockBasedCommands] - Execute commands by tapping your laptop.&lt;br /&gt;
&lt;br /&gt;
=== Interesting links related to this project ===&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/hdaps-devel HDAPS mailinglist and its archive]&lt;br /&gt;
* #hdaps channel on irc.freenode.org&lt;br /&gt;
* [https://sourceforge.net/projects/hdaps/ hdaps projects] overview of userspace programs using hdaps&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-HDFIRM IBM ThinkPads hardware drive firmware site]&lt;br /&gt;
* [http://www.paul.sladen.org/thinkpad-r31/accelerometer.html http://www.paul.sladen.org/thinkpad-r31/accelerometer/]&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=119845 Gentoo ebuild for hdaps driver and daemon including a initscript*&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137345 Gentoo ebuild for gkhdaps gkrell plugin&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137350 Gentoo ebuild for hdaps-gl application&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137351 Gentoo ebuild for gnome hdapsgl-applet&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137352 Gentoo ebuild for gnome tilt application&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137353 Gentoo ebuild for wmhdaps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:R60]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Drivers]] [[Category:Z61m]]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=27049</id>
		<title>How to control fan speed</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_control_fan_speed&amp;diff=27049"/>
		<updated>2006-12-16T14:36:04Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Supported models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses methods for controlling the system fan.&lt;br /&gt;
&lt;br /&gt;
==For Linux==&lt;br /&gt;
===Using a patched kernel===&lt;br /&gt;
{{WARN|This patch is superceded by the patches in [[ibm-acpi]] [[Git]] repository}}&lt;br /&gt;
&lt;br /&gt;
The [[Patch for controlling fan speed]] provides a convenient interface via {{path|/proc/acpi/ibm/fan}}.&lt;br /&gt;
&lt;br /&gt;
Manual speed control can be done through the [[patch for controlling fan speed]]:&lt;br /&gt;
&lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 level:          auto&lt;br /&gt;
 speed:          4219&lt;br /&gt;
 commands:       enable, disable, level &amp;lt;level&amp;gt;&lt;br /&gt;
                 (&amp;lt;level&amp;gt; is 0-7, auto or disengaged)&lt;br /&gt;
 &lt;br /&gt;
 '''#echo level 2 &amp;gt; /proc/acpi/ibm/fan'''&lt;br /&gt;
 &lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 level:          2&lt;br /&gt;
 speed:          3142&lt;br /&gt;
 commands:       enable, disable, level &amp;lt;level&amp;gt;&lt;br /&gt;
                 (&amp;lt;level&amp;gt; is 0-7, auto or disengaged)&lt;br /&gt;
&lt;br /&gt;
===Using a stock kernel===&lt;br /&gt;
&lt;br /&gt;
If you have the [[ibm-acpi]] module loaded with &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt;, you can control the fan without patching the kernel by directly writing to the relevant embedded controller register using {{path|/proc/acpi/ibm/ecdump}}. &lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x00 &amp;gt; /proc/acpi/ibm/ecdump}} (fan off)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x02 &amp;gt; /proc/acpi/ibm/ecdump}} (low speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x04 &amp;gt; /proc/acpi/ibm/ecdump}} (medium speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x07 &amp;gt; /proc/acpi/ibm/ecdump}} (maximum speed)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x80 &amp;gt; /proc/acpi/ibm/ecdump}} (automatic - default)&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 0x2F 0x40 &amp;gt; /proc/acpi/ibm/ecdump}} (disengaged)&lt;br /&gt;
&lt;br /&gt;
See the specifications below for the meaning of these modes.&lt;br /&gt;
&lt;br /&gt;
===On/off control using stock kernel===&lt;br /&gt;
&lt;br /&gt;
If you only wish to turn the fan on and off (with automatic control when it's on), you can use the following.&lt;br /&gt;
&lt;br /&gt;
When loading [[ibm-acpi]] v0.11 with experimental switch ({{cmdroot|1=modprobe ibm_acpi experimental=1}}), it is possible to read and write the status of fan:&lt;br /&gt;
&lt;br /&gt;
 '''#cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         enabled&lt;br /&gt;
 speed:          3580&lt;br /&gt;
 commands:       enable, disable&lt;br /&gt;
 &lt;br /&gt;
 '''#echo disable &amp;gt; /proc/acpi/ibm/fan'''&lt;br /&gt;
 &lt;br /&gt;
 '''cat /proc/acpi/ibm/fan'''&lt;br /&gt;
 status:         disabled&lt;br /&gt;
 speed:          0&lt;br /&gt;
 commands:       enable, disable&lt;br /&gt;
&lt;br /&gt;
When off, the fan will then '''never''' wake up. It is advised to use an automated control script to reduce the chance of hardware damage.&lt;br /&gt;
&lt;br /&gt;
===Automated control scripts===&lt;br /&gt;
&lt;br /&gt;
An [[ACPI fan control script#Variable speed control scripts|ACPI fan control script]] can be to override the firmware's fan algorithm with gentler, quieter version. It monitors the laptop's [[thermal sensors]] and sets the fan speed accordingly, according to customizable thresholds. For the default behavior, simply save the [[ACPI fan control script#Variable speed control scripts|script]] as {{path|tp-fancontrol}} and run; note that this script requires you to modprobe the ibm_acpi module as &amp;quot;modprobe ibm_acpi experimental=1&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
{{cmdroot|./tp-fancontrol}}&lt;br /&gt;
&lt;br /&gt;
==For Windows==&lt;br /&gt;
&lt;br /&gt;
Shimodax's ThinkPad fan control tool offers similar functionality (see [http://forum.thinkpads.com/viewtopic.php?t=17715 forum discussion] at thinkpads.com).  Source and binaries are available through the [http://sourceforge.net/projects/tp4xfancontrol &amp;quot;Tp4xFanControl&amp;quot;] project on SourceForge.&lt;br /&gt;
&lt;br /&gt;
==Hardware specs==&lt;br /&gt;
&lt;br /&gt;
The following hardware behavior was discovered experimentally by [[User:Thinker|Thinker]] and neither provided by nor confirmed by IBM/Lenovo. The following description may be inaccurate and may vary by model (see list of models above). The terminology probably does not match the one used by IBM/Lenovo engineers.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Information on other models is included in the [[ibm-acpi]] [[Git]] version.}}&lt;br /&gt;
&lt;br /&gt;
ACPI DSDT register _SB.PCI0.LPC.EC.HFSP (8 bits, offset 0x2F in the &amp;lt;tt&amp;gt;EmbeddedController&amp;lt;/tt&amp;gt; address space, accessed through the standard EC interface at IO ports 0x62 and 0x66) is read/writable and has the following meaning:&lt;br /&gt;
 &lt;br /&gt;
 Bits   7 6 5 4 3 2 1 0&lt;br /&gt;
        ---------------&lt;br /&gt;
 Value  1 0 * * * * * *  - automatic&lt;br /&gt;
        * 1 * * * * * *  - disengaged&lt;br /&gt;
        0 0 N N N N N N  - manual (0..63; 0=disable fan, 1=min, ..., 7=max)&lt;br /&gt;
&lt;br /&gt;
In ''automatic'' mode, the embedded controller sets the fan speed automatically according to system temperatures and some unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
In ''manual'' mode, the fan level is forced to the given value and the EC will auto-regulate the fan to maintain at a (roughly) constant RPM, which is model-dependent. Manual speed levels 8-63 yield the same behavior as level 7, and the the ACPI DSDT uses level 7 for the emergency mode it enters upon critical CPU/GPU temperature, so apparently 7 is the real maximum level.&lt;br /&gt;
&lt;br /&gt;
In ''disengaged'' mode, the embedded controller does not read the fan RPM (hence &amp;lt;tt&amp;gt;EmbeddedController&amp;lt;/tt&amp;gt; offset 0x84 is not updated), and does not maintain a stable fan speed. When disengaged mode is entered the fan speed is not immediately changed (except if the fan was disabed, in which case it is turned on at a low level). However, once in disengaged mode, fan speed will slowly increase to ''beyond'' the maximum manual level (this may cause hardware damage!).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The &amp;quot;disengaged&amp;quot; mode has a different behaviour on ThinkPad {{A31}} than that described above.  As above, the fan speed increases beyond the levels of the regular 0-7 speed settings.  However, the speed increase is fairly instantaneous (the change being as fast as the transition between any other two speed levels, except 0 (off) which seems faster, i.e. immediate); and the fan speed reading is ''continuously'' available while in &amp;quot;disengaged&amp;quot; mode.  In the {{A31}}, the speed reaches about 4000 RPM as listed in the table below.}}&lt;br /&gt;
&lt;br /&gt;
After boot, the HFSP register may not reflect the true state of the EC (on some models it reads 0x07 even though the EC is actually in automatic mode).&lt;br /&gt;
&lt;br /&gt;
{{HINT|Apparently the [[Problem with fan noise|pulsing fan noise]] experienced by some users can be cured by repeatedly running 2-4 seconds of manual control followed by 0.5-1 seconds of disengaged mode. The pulse occurs when the the embedded controller computes the fan speed and adjusts the fan voltage adaptively every few seconds (~4.8sec for the ThinkPad T43); the aforementioned mode switching doesn't give it a chance to do so. One of the [[ACPI fan control script#Variable speed control scripts|ACPI fan control scripts]] implements this solution.}}&lt;br /&gt;
&lt;br /&gt;
==Supported models==&lt;br /&gt;
&lt;br /&gt;
The above was successfully tested on the following models:&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{T43}}, {{T43p}} (fan levels RPM: 1-2 = ~3300, 3-5 = ~4100, 6-7 = ~4700; disengaged mode works)&lt;br /&gt;
* ThinkPad {{T42}}, {{T42p}} (fan levels RPM: 1-2 = ~2900, 3-5 = ~3700, 6-7 = ~4700; disengaged mode works at ~5200)&lt;br /&gt;
* ThinkPad {{T41}}, {{T41p}} (fan levels RPM: 1-2 = ~2980, 3-5 = ~3500, 6-7 = ~4050; disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{T40}} (fan levels RPM: 1-2 = ~2950, 3-5 = ~3600, 6-7 = ~4050)&lt;br /&gt;
* ThinkPad {{T30}}&lt;br /&gt;
* ThinkPad {{T22}}&lt;br /&gt;
* ThinkPad {{T23}} (low speed = ~2200, medium and maximum speed = ~4800; disengaged mode works at ~5800)&lt;br /&gt;
* ThinkPad {{R52}}&lt;br /&gt;
* ThinkPad {{R50}} (highest manual level is 3; disengage mode works and reaches much higher RPM)&lt;br /&gt;
* ThinkPad {{R50p}} (disengaged mode works at ~5100)&lt;br /&gt;
* ThinkPad {{R51}} (level 0 = off, level 1-2 = ~3150, level 3-5 = ~3350, level 6 = ~3750, disengaged = ~5100)&lt;br /&gt;
* ThinkPad {{X30}} (level 0 = off, low = ~3900, medium = ~4200, maximum = ~4650, disengaged = ~5900)&lt;br /&gt;
* ThinkPad {{X31}}&lt;br /&gt;
* ThinkPad {{X40}}&lt;br /&gt;
* ThinkPad {{X41T}}&lt;br /&gt;
* ThinkPad {{Z60t}} (fan levels RPM: 1-2 = ~1700, 3-5 = ~2800, 6-7 = ~3500)&lt;br /&gt;
* ThinkPad {{Z60m}} (fan levels like Z60t)&lt;br /&gt;
* ThinkPad {{Z61m}}&lt;br /&gt;
* ThinkPad {{X60}}&lt;br /&gt;
* ThinkPad {{A31}} (fan levels RPM: 0 = off, 1-2 = ~3280-3380 (!), 3-5 = ~3200, 6-7 = ~3380, &amp;quot;disengaged&amp;quot; = ~4000 (see NOTE above))&lt;br /&gt;
Probably other models are supported too (please update this page if you confirm this).&lt;br /&gt;
&lt;br /&gt;
==Models using a different interface==&lt;br /&gt;
&lt;br /&gt;
The following models also work, use a different access method which supported (only) via the {{path|/proc/acpi/ibm/fan}} of [[ibm-acpi]]. No need for patching.&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{600E}}, {{600X}}, {{770E}}, {{770X}} (these use a different fan control interface)&lt;br /&gt;
&lt;br /&gt;
==Unsupported models==&lt;br /&gt;
&lt;br /&gt;
* ThinkPad {{560}} (these models don't have a fan)&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=27015</id>
		<title>Problem with high pitch noises</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=27015"/>
		<updated>2006-12-15T15:45:53Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Turn off CPU power saving in in BIOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on strange high pitch, low volume noises emitted by ThinkPads.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
Even though ThinkPads are known as very silent notebooks, they tend to emit different, mostly high pitch noises in certain circumstances. The noises are of low volume and hence not realized by everyone or at least tolerated by most people. However, there are those with &amp;quot;bat like ears&amp;quot; that hear them and might be annoyed by that.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
Noises have been experienced in the following situations:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | situation&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | noise description&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | affected models&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Plugged into AC / running at high CPU frequency&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
soft crackling, buzzing noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41}}&lt;br /&gt;
**2379-DJU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42p}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad connected to power and switched off, with battery fully charged&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
moving windows or just the mouse in xorg&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
strange noise like a rapid series of very short high pitch noises adding to a constant kind of whistling (only as long as the movement goes)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power or working on battery, also when suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise also when HD is powered down.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T23}}&lt;br /&gt;
**2647-DG4&lt;br /&gt;
*{{X24}}&lt;br /&gt;
**2662-MWG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power battery charged less than 60%&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise till battery is charged more than 60%.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GEG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constantly, if AC connected&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitched, low volume constant noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T40}}&lt;br /&gt;
**2373-88U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When the CPU freq jumps up to 1Ghz or above, or when the laptop is in suspend mode&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constant high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R50}}&lt;br /&gt;
**1829-6DM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
(May come from harddisk.)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
continuous, intermittent, low volume, high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{600X}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ACPI puts the processor into the C3 or C4 power saving states (i.e., the system is idle).&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{X41}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
*{{T43p}}&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
*{{T21}}&lt;br /&gt;
*{{T20}}&lt;br /&gt;
**2648-46U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Cpufreqd (or powernowd etc.) slows down the processor, for exemple at the end of an heavy task.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When on battery&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Noise level varies from inaudible to clearly audible, screeching sound, or sometimes beeping (when wifi is on)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R52}}&lt;br /&gt;
**1858-A11&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
**1871-4AG&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
*{{x60}}&lt;br /&gt;
*{{x31}}&lt;br /&gt;
**2673-CBU&lt;br /&gt;
*{{Z61m}}&lt;br /&gt;
**9450-3HG&lt;br /&gt;
*{{Z61t}}&lt;br /&gt;
**9440-2QU&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CPU is used much AND laptop is on AC power AND the TFT panel is enabled.&lt;br /&gt;
| Screetching high pitch noise, like a million crickets&lt;br /&gt;
| &lt;br /&gt;
* {{X41}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Network is pluged in and networkload is ~100%.&lt;br /&gt;
| low volume highfreq. pitch noise from left speaker or cpu.&lt;br /&gt;
|&lt;br /&gt;
*{{Z60m}}, {{Z60t}}&lt;br /&gt;
*{{T40}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2687-DDU&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
All, though Linux appears especially susceptible.&lt;br /&gt;
&lt;br /&gt;
==Possible sources==&lt;br /&gt;
&lt;br /&gt;
* '''CPU activity:''' On some models the noise is triggered by certain CPU power states or activity patterns (as proven [http://www.wisdom.weizmann.ac.il/~tromer/acoustic here]).&lt;br /&gt;
* '''Graphics processor:''' In some models from the T2x era, e.g. the {{T23}}, the problem was related to the graphics circuitry and occured especially or only while making use of DirectDraw functions. IBM was able to fix it through a BIOS upgrade.&lt;br /&gt;
* '''Hard disk:''' On some ThinkPads the processor and hard disk are adjacent and produce similar noise. For example, in the {{X41}} the sound generated by the hard disk is likely to be loudest at the vent.&lt;br /&gt;
* '''Gigabit Ethernet processor:''' In some models (e.g., {{T43}}) high ethernet activity causes a high pitch noise.&lt;br /&gt;
&lt;br /&gt;
* '''Screen brightness:''' on an {{X31}}, a hissing sound is started whenever screen brightness is not full.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
The problem is highly specific to operating system, model and even individual machines. There is no universal solution, but on most machines one of the following will reduce or eliminate the noise (possibly at some cost in power consumption).&lt;br /&gt;
&lt;br /&gt;
==Solutions for CPU-triggered noise==&lt;br /&gt;
&lt;br /&gt;
===Limit ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
There are four ACPI CPU power states, called C1 through C4. Often only the extreme power saving modes C4 or C3 produce the noise, so the noise can be stopped by insructing the Linux ACPI code to use only lower modes.&lt;br /&gt;
&lt;br /&gt;
To forbid the ACPI driver from using C4 (this fixed the problem with on some ThinkPad {{T43}}, {{T43p}} and {{T41}}):&lt;br /&gt;
* If the ACPI processor component is compiled as built-in (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=y&amp;lt;/tt&amp;gt;):&lt;br /&gt;
**Pass the {{bootparm|max_cstate|3}} kernel argument.&lt;br /&gt;
* If the ACPI processor component is loaded as a module (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=m&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;processor&amp;lt;/tt&amp;gt; shows in the output of {{cmdroot|lsmod}}), do either of:&lt;br /&gt;
** Pass the {{bootparm|processor.max_cstate|3}} kernel argument (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** Add &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; to {{path|/etc/modprobe.conf}} (or {{path|/etc/modprobe.conf.local}}, or {{path|/etc/modprobe.d/...}}, depending on your system) (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** {{cmdroot|echo 3 &amp;gt;  /sys/module/processor/parameters/max_cstate}} (this can be changed in runtime for experimentation). (If may need to be set again upon resume from suspend, e.g., in the wakeup script.)&lt;br /&gt;
** (On Ubuntu 5.10, the default kernel uses &amp;lt;code&amp;gt;processor&amp;lt;/code&amp;gt; as a module.  Unfortunately, the script loading it, {{path|/etc/init.d/acpid}}, ignores the &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; setting in {{path|/etc/modprobe.d/&amp;lt;my file&amp;gt;}}.  As a solution for this specific problem, add the line &amp;lt;code&amp;gt;echo 2 &amp;gt; /sys/module/processor/parameters/max_cstate&amp;lt;/code&amp;gt; directly to {{path|/etc/init.d/acpid}}, at the end of the function &amp;lt;code&amp;gt;load_modules()&amp;lt;/code&amp;gt;, immediately after the line &amp;lt;code&amp;gt;echo &amp;quot;$PRINTK&amp;quot; &amp;gt; /proc/sys/kernel/printk&amp;lt;/code&amp;gt;.)&lt;br /&gt;
** On Gentoo: Configure your Thinkpad as described in the [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide].  Then as root create the files {{path|/etc/init.d/limit-sleep-states}} and {{path|/etc/conf.d/limit-sleep-states}} as below. After that just issue the command {{cmdroot|rc-update add limit-sleep-states default}} to limit the sleep states only when running on AC power, or {{cmdroot|rc-update add limit-sleep-states default battery}} to always limit the sleep states.&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/init.d/limit-sleep-states&lt;br /&gt;
 #!/sbin/runscript&lt;br /&gt;
 &lt;br /&gt;
 depend() {&lt;br /&gt;
 	need acpid&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 start() {&lt;br /&gt;
 	ebegin &amp;quot;Limiting CPU sleep state to C${LIMIT_CSTATE}&amp;quot;&lt;br /&gt;
 	echo $LIMIT_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
 	eend $?&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 stop() {&lt;br /&gt;
        ebegin &amp;quot;Removing CPU sleep state limit&amp;quot;&lt;br /&gt;
        echo $REMOVE_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
        eend $?&lt;br /&gt;
 }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/conf.d/limit-sleep-states&lt;br /&gt;
 # limit CPU sleep state to the following value (adjust accordingly)&lt;br /&gt;
 LIMIT_CSTATE=3&lt;br /&gt;
 # some value which is higher than all available sleep states&lt;br /&gt;
 REMOVE_CSTATE=8&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
To also forbid the C3 state, replace &amp;quot;&amp;lt;tt&amp;gt;3&amp;lt;/tt&amp;gt;&amp;quot; with &amp;quot;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt;&amp;quot; above (this fixed the problem on some ThinkPad {{X40}}, {{X41}}, {{X60}}, {{Z61t}} and {{R52}}, as well as on {{T20}} where C4 is not supported at all):&lt;br /&gt;
&lt;br /&gt;
Note that these options affect power consumption when the CPU is idle. For example, here is the [[How to measure power consumption|measured power consumption]] on a ThinkPad {{T43}}:&lt;br /&gt;
* {{bootparm|processor.max_cstate|4}}: 15160mW (default, noisy)&lt;br /&gt;
* {{bootparm|processor.max_cstate|3}}: 15770mW (660mW higher, silent)&lt;br /&gt;
* {{bootparm|processor.max_cstate|2}}: 16100mW (2940mW higher, silent)&lt;br /&gt;
&lt;br /&gt;
See the [http://thinkwiki.org/wiki?title=Talk:Problem_with_high_pitch_noises discussion page] for further information and success reports.&lt;br /&gt;
&lt;br /&gt;
*Jakob Schou Pedersen: Editing the file {{path|/etc/init.d/acpid}} as described above (the last solution) worked on my T43 :-)&lt;br /&gt;
&lt;br /&gt;
===Turn off CPU power saving in in BIOS===&lt;br /&gt;
&lt;br /&gt;
Go into the BIOS and turn off the power saving processor feature that puts it into idle mode. (This worked on a ThinkPad {{T43}}, {{T21}}, {{X60s}} and {{Z61m}}). However, this also affects power consumption when the CPU is idle, it's similar to disabling the C4/C3 ACPI CPU power state. For example, on a Z61m 9450-3HG, a full charged battery with power management enabled in the BIOS provides the notebook with power for about 3.5h, if disabled, the battery-lifetime is only about 2h.&lt;br /&gt;
&lt;br /&gt;
===Disable ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
Completely disable CPU ACPI power states. Discussion:&lt;br /&gt;
&lt;br /&gt;
*From Martin Steigerwald: I made the observation that I get at least less high pitch noises on my {{T23}} when I do not use the two ACPI modules &amp;quot;processor&amp;quot; and &amp;quot;thermal&amp;quot; (depends on the first one). I have no clue, why. Anyone with similar experiences?&lt;br /&gt;
:Omar Yasin: I've got a {{R52}} and when I load the same ACPIO modules the high pitch noises are not as loud but I can still hear them.&lt;br /&gt;
*Niko Ehrenfeuchter: I'm experiencing the same here on my {{X24}}. Removing the &amp;quot;processor&amp;quot; module also stops the pitch noise, which does ONLY occur when setting the CPU to maximum speed (using cpufreq). On low speed it's completely silent, even having loaded the processor module.&lt;br /&gt;
&lt;br /&gt;
*Rolf Adelsberger: I can confirm this: the high pitch noise is only remarkable (at least with my ears ;-) ) if the processor speed is set to maximum frequency.&lt;br /&gt;
&lt;br /&gt;
*Stefan Baums: My {{X41}} produced a high-pitched crackle from the processor vent on the left.  Changing HZ did nothing, and the 'processor' module could not easily be removed from the system (Ubuntu 5.04).  What solved the problem for me was adding {{bootparm|idle|halt}} to the boot command line. Unfortunately, this solution only lasts until the first hibernation or suspend - when the computer ({{X41}}) resumes, the high-pitched crackle is back.&lt;br /&gt;
&lt;br /&gt;
* The {{bootparm|idle|halt}} solution combined with setting &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; in the kernel fixes the problem on a {{T43}}.&lt;br /&gt;
&lt;br /&gt;
* jhatch:  {{bootparm|idle|halt}} plus &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; also worked on my {{T43}}.  It still reverts back to noisy after a suspend/resume though.  This needs to be fixed...&lt;br /&gt;
&lt;br /&gt;
===Change the timer interrupt frequency===&lt;br /&gt;
&lt;br /&gt;
Change the &amp;quot;HZ&amp;quot; kernel constants to alter the frequency of timer interrupts. Discussion:&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The timer interrupt frequency (HZ) in current Linux kernels is directly tied to the kernel task scheduler.  Lower frequencies provide larger time-slices and thus also higher latencies (which may kill latency-sensitive applications like audio processing). 100Hz ended up as the recommended &amp;quot;server&amp;quot; setting (because it increases disk/CPU throughput in a latency-insensitive environment).  Higher frequencies are better for latency-sensitive applications, and improve desktop responsivity at the cost of less processor throughput. 1000Hz ended up as the recommended &amp;quot;desktop&amp;quot; setting.}}&lt;br /&gt;
&lt;br /&gt;
*Andreas Karnahl: i've read in several forums it has something to do with the &amp;quot;idle&amp;quot;-state (or &amp;quot;C3&amp;quot;) of the processor. There is a frequency called &amp;quot;timer interrupt&amp;quot; (or so mething like that). Since kernel 2.6x it is set to 1000 Hz by default (compared to 100 Hz in Kernel 2.4x). The exact reason i don't know, but it is safe to change this frequency to 100 Hz in kernel 2.6x (by the way, windows up to XP uses 100 Hz by default).&amp;lt;br /&amp;gt;Just do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
:   In {{path|[path to kernel-sources]/include/asm-i386/param.h}} find the line&lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 1000&amp;lt;/code&amp;gt;&lt;br /&gt;
:   and change the value of HZ to 100: &lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt;&lt;br /&gt;
:Then recompile the kernel.&amp;lt;br /&amp;gt;After i changed it on my ThinkPad {{A30}} (under SuSE 9.2 and 9.3) and recompiling the kernel the high pitch noise is gone away.&lt;br /&gt;
&lt;br /&gt;
* Omar Yasin: Worked on my {{R52}}, thanks.&lt;br /&gt;
&lt;br /&gt;
* [[User:Thinker|Thinker]]: In modern kernels this constant is in the kernel configuration {{kernelconf|CONFIG_HZ|Processor type and features||Timer Frequency|||||}}.&lt;br /&gt;
&lt;br /&gt;
===Prevent idling===&lt;br /&gt;
&lt;br /&gt;
Indirectly avoid power saving states by making sure the CPU is rarely idle:&lt;br /&gt;
&lt;br /&gt;
* Paul RIVIER: Here is a really simple workaround. C3 / C4 states are mainly called when the cpu freq is higher than required, for example if your cpufreqd is lazy to slow down the frequency but quick to raise it. That is why I use powernowd with the builtin &amp;quot;passive&amp;quot; mode, which is lazy for raising frequency, but quick to go back to the lowest. Now I don't hear them as often as before, as I avoid C3/C4 states at high frequency.&lt;br /&gt;
&lt;br /&gt;
* The problem also occurs on my {{X41}} with 2.6.11. Setting up [[How to make use of Dynamic Frequency Scaling|frequency scaling]] with the &amp;lt;code&amp;gt;ondemand&amp;lt;/code&amp;gt; governor makes things a lot better, as the processor does not stay with the maximum frequency when in idle mode. It can be still heard sometimes, though.&lt;br /&gt;
&lt;br /&gt;
* On a {{T43}} the noise was gone after dropping cpufreqd and switching to the ondemand governor - maybe because of the high sampling rate? (used the default: 10ms)&lt;br /&gt;
&lt;br /&gt;
===Change the processor voltage===&lt;br /&gt;
&lt;br /&gt;
Reducing the processor voltage (when possible) may decrease or eliminate the noise. On one ThinkPad {{T43}}, [[Pentium M undervolting and underclocking|undervolting the Pentium M processor]] eliminated the high-pitched noise. Compared to the other solutions this has the benefit of lower power consumption, both due to the undervolting itself and because there is no need to forbid high APCI CPU power saving modes.&lt;br /&gt;
&lt;br /&gt;
==Solutions for screen brightness related sounds==&lt;br /&gt;
&lt;br /&gt;
===Disable BIOS brightness control===&lt;br /&gt;
&lt;br /&gt;
The sound starts when on batteries as the BIOS automatically reduces screen brightness. To disable this, simply switch Config&amp;gt;Display&amp;gt;Brightness from&lt;br /&gt;
Normal to High. See also [[User:Piccobello/Hissing sound on battery|here]].&lt;br /&gt;
&lt;br /&gt;
==Other solutions==&lt;br /&gt;
&lt;br /&gt;
===Disable UltraBay===&lt;br /&gt;
*Naheed Vora: My {{T41}} (2373-268) started to give high pitch noise ocassionally, when I upgraded to 2.6.11 kernel. I tried to unload lot of modules but finally figured out that disabling bay stops the noise. If you have [[ibm-acpi]], do (need a cleaner solution): {{cmduser|echo eject &amp;gt;/proc/acpi/ibm/bay}} .&lt;br /&gt;
&lt;br /&gt;
===Disable IrDA===&lt;br /&gt;
*Mike Perry: I was able to cure an intermittent high-pitched whine on both my {{X24}} and {{X40}} by disabling the Infrared port.&lt;br /&gt;
&lt;br /&gt;
===Disable the Linuxant Modem Driver===&lt;br /&gt;
*Joern Heissler: I made another experience. I played around with linuxant conexant [[Modem Devices|modem]] drivers. After loading them I got some noise on my {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
===Media Player paused===&lt;br /&gt;
*Eilif Muller: On my {{R52}} the high-pitched noises go away if I load XMMS, play something then pause it.&lt;br /&gt;
*Jacob: On my {{T43}} DGU it goes away if I open mplayerc.exe and press play then pause it. This is the high-pitched noise that only shows up when I'm on battery.&lt;br /&gt;
&lt;br /&gt;
''I'd guess that the above tip works as when xmms or similar is running, it is uncompressing compressed audio/video, which is a processor intensive action.  Keeping this paused means that the app won't 'let go' of the processor, forcing it to stay up and running, which stops it entering the higher powersave modes.''&lt;br /&gt;
&lt;br /&gt;
===Upgrade BIOS===&lt;br /&gt;
On a ThinkPad [[X60s]], [[BIOS_Upgrade|upgrading the BIOS]] to version 1.06 eliminated the high pitch noise when running on battery.&lt;br /&gt;
&lt;br /&gt;
===Disable USB===&lt;br /&gt;
On one {{T43}} and one {{X60}}, (partially) disabling USB using {{cmdroot|rmmod uhci_hcd}} significantly reduced the noise.&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=27014</id>
		<title>Problem with high pitch noises</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=27014"/>
		<updated>2006-12-15T15:45:26Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: it's just a fact. :(&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on strange high pitch, low volume noises emitted by ThinkPads.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
Even though ThinkPads are known as very silent notebooks, they tend to emit different, mostly high pitch noises in certain circumstances. The noises are of low volume and hence not realized by everyone or at least tolerated by most people. However, there are those with &amp;quot;bat like ears&amp;quot; that hear them and might be annoyed by that.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
Noises have been experienced in the following situations:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | situation&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | noise description&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | affected models&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Plugged into AC / running at high CPU frequency&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
soft crackling, buzzing noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41}}&lt;br /&gt;
**2379-DJU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42p}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad connected to power and switched off, with battery fully charged&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
moving windows or just the mouse in xorg&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
strange noise like a rapid series of very short high pitch noises adding to a constant kind of whistling (only as long as the movement goes)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power or working on battery, also when suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise also when HD is powered down.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T23}}&lt;br /&gt;
**2647-DG4&lt;br /&gt;
*{{X24}}&lt;br /&gt;
**2662-MWG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power battery charged less than 60%&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise till battery is charged more than 60%.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GEG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constantly, if AC connected&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitched, low volume constant noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T40}}&lt;br /&gt;
**2373-88U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When the CPU freq jumps up to 1Ghz or above, or when the laptop is in suspend mode&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constant high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R50}}&lt;br /&gt;
**1829-6DM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
(May come from harddisk.)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
continuous, intermittent, low volume, high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{600X}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ACPI puts the processor into the C3 or C4 power saving states (i.e., the system is idle).&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{X41}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
*{{T43p}}&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
*{{T21}}&lt;br /&gt;
*{{T20}}&lt;br /&gt;
**2648-46U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Cpufreqd (or powernowd etc.) slows down the processor, for exemple at the end of an heavy task.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When on battery&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Noise level varies from inaudible to clearly audible, screeching sound, or sometimes beeping (when wifi is on)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R52}}&lt;br /&gt;
**1858-A11&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
**1871-4AG&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
*{{x60}}&lt;br /&gt;
*{{x31}}&lt;br /&gt;
**2673-CBU&lt;br /&gt;
*{{Z61m}}&lt;br /&gt;
**9450-3HG&lt;br /&gt;
*{{Z61t}}&lt;br /&gt;
**9440-2QU&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| CPU is used much AND laptop is on AC power AND the TFT panel is enabled.&lt;br /&gt;
| Screetching high pitch noise, like a million crickets&lt;br /&gt;
| &lt;br /&gt;
* {{X41}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Network is pluged in and networkload is ~100%.&lt;br /&gt;
| low volume highfreq. pitch noise from left speaker or cpu.&lt;br /&gt;
|&lt;br /&gt;
*{{Z60m}}, {{Z60t}}&lt;br /&gt;
*{{T40}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2687-DDU&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
All, though Linux appears especially susceptible.&lt;br /&gt;
&lt;br /&gt;
==Possible sources==&lt;br /&gt;
&lt;br /&gt;
* '''CPU activity:''' On some models the noise is triggered by certain CPU power states or activity patterns (as proven [http://www.wisdom.weizmann.ac.il/~tromer/acoustic here]).&lt;br /&gt;
* '''Graphics processor:''' In some models from the T2x era, e.g. the {{T23}}, the problem was related to the graphics circuitry and occured especially or only while making use of DirectDraw functions. IBM was able to fix it through a BIOS upgrade.&lt;br /&gt;
* '''Hard disk:''' On some ThinkPads the processor and hard disk are adjacent and produce similar noise. For example, in the {{X41}} the sound generated by the hard disk is likely to be loudest at the vent.&lt;br /&gt;
* '''Gigabit Ethernet processor:''' In some models (e.g., {{T43}}) high ethernet activity causes a high pitch noise.&lt;br /&gt;
&lt;br /&gt;
* '''Screen brightness:''' on an {{X31}}, a hissing sound is started whenever screen brightness is not full.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
The problem is highly specific to operating system, model and even individual machines. There is no universal solution, but on most machines one of the following will reduce or eliminate the noise (possibly at some cost in power consumption).&lt;br /&gt;
&lt;br /&gt;
==Solutions for CPU-triggered noise==&lt;br /&gt;
&lt;br /&gt;
===Limit ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
There are four ACPI CPU power states, called C1 through C4. Often only the extreme power saving modes C4 or C3 produce the noise, so the noise can be stopped by insructing the Linux ACPI code to use only lower modes.&lt;br /&gt;
&lt;br /&gt;
To forbid the ACPI driver from using C4 (this fixed the problem with on some ThinkPad {{T43}}, {{T43p}} and {{T41}}):&lt;br /&gt;
* If the ACPI processor component is compiled as built-in (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=y&amp;lt;/tt&amp;gt;):&lt;br /&gt;
**Pass the {{bootparm|max_cstate|3}} kernel argument.&lt;br /&gt;
* If the ACPI processor component is loaded as a module (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=m&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;processor&amp;lt;/tt&amp;gt; shows in the output of {{cmdroot|lsmod}}), do either of:&lt;br /&gt;
** Pass the {{bootparm|processor.max_cstate|3}} kernel argument (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** Add &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; to {{path|/etc/modprobe.conf}} (or {{path|/etc/modprobe.conf.local}}, or {{path|/etc/modprobe.d/...}}, depending on your system) (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** {{cmdroot|echo 3 &amp;gt;  /sys/module/processor/parameters/max_cstate}} (this can be changed in runtime for experimentation). (If may need to be set again upon resume from suspend, e.g., in the wakeup script.)&lt;br /&gt;
** (On Ubuntu 5.10, the default kernel uses &amp;lt;code&amp;gt;processor&amp;lt;/code&amp;gt; as a module.  Unfortunately, the script loading it, {{path|/etc/init.d/acpid}}, ignores the &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; setting in {{path|/etc/modprobe.d/&amp;lt;my file&amp;gt;}}.  As a solution for this specific problem, add the line &amp;lt;code&amp;gt;echo 2 &amp;gt; /sys/module/processor/parameters/max_cstate&amp;lt;/code&amp;gt; directly to {{path|/etc/init.d/acpid}}, at the end of the function &amp;lt;code&amp;gt;load_modules()&amp;lt;/code&amp;gt;, immediately after the line &amp;lt;code&amp;gt;echo &amp;quot;$PRINTK&amp;quot; &amp;gt; /proc/sys/kernel/printk&amp;lt;/code&amp;gt;.)&lt;br /&gt;
** On Gentoo: Configure your Thinkpad as described in the [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide].  Then as root create the files {{path|/etc/init.d/limit-sleep-states}} and {{path|/etc/conf.d/limit-sleep-states}} as below. After that just issue the command {{cmdroot|rc-update add limit-sleep-states default}} to limit the sleep states only when running on AC power, or {{cmdroot|rc-update add limit-sleep-states default battery}} to always limit the sleep states.&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/init.d/limit-sleep-states&lt;br /&gt;
 #!/sbin/runscript&lt;br /&gt;
 &lt;br /&gt;
 depend() {&lt;br /&gt;
 	need acpid&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 start() {&lt;br /&gt;
 	ebegin &amp;quot;Limiting CPU sleep state to C${LIMIT_CSTATE}&amp;quot;&lt;br /&gt;
 	echo $LIMIT_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
 	eend $?&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 stop() {&lt;br /&gt;
        ebegin &amp;quot;Removing CPU sleep state limit&amp;quot;&lt;br /&gt;
        echo $REMOVE_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
        eend $?&lt;br /&gt;
 }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/conf.d/limit-sleep-states&lt;br /&gt;
 # limit CPU sleep state to the following value (adjust accordingly)&lt;br /&gt;
 LIMIT_CSTATE=3&lt;br /&gt;
 # some value which is higher than all available sleep states&lt;br /&gt;
 REMOVE_CSTATE=8&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
To also forbid the C3 state, replace &amp;quot;&amp;lt;tt&amp;gt;3&amp;lt;/tt&amp;gt;&amp;quot; with &amp;quot;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt;&amp;quot; above (this fixed the problem on some ThinkPad {{X40}}, {{X41}}, {{X60}}, {{Z61t}} and {{R52}}, as well as on {{T20}} where C4 is not supported at all):&lt;br /&gt;
&lt;br /&gt;
Note that these options affect power consumption when the CPU is idle. For example, here is the [[How to measure power consumption|measured power consumption]] on a ThinkPad {{T43}}:&lt;br /&gt;
* {{bootparm|processor.max_cstate|4}}: 15160mW (default, noisy)&lt;br /&gt;
* {{bootparm|processor.max_cstate|3}}: 15770mW (660mW higher, silent)&lt;br /&gt;
* {{bootparm|processor.max_cstate|2}}: 16100mW (2940mW higher, silent)&lt;br /&gt;
&lt;br /&gt;
See the [http://thinkwiki.org/wiki?title=Talk:Problem_with_high_pitch_noises discussion page] for further information and success reports.&lt;br /&gt;
&lt;br /&gt;
*Jakob Schou Pedersen: Editing the file {{path|/etc/init.d/acpid}} as described above (the last solution) worked on my T43 :-)&lt;br /&gt;
&lt;br /&gt;
===Turn off CPU power saving in in BIOS===&lt;br /&gt;
&lt;br /&gt;
Go into the BIOS and turn off the power saving processor feature that puts it into idle mode. (This worked on a ThinkPad {{T43}}, {{T21}}, {{X60s}} and {{Z61m}). However, this also affects power consumption when the CPU is idle, it's similar to disabling the C4/C3 ACPI CPU power state. For example, on a Z61m 9450-3HG, a full charged battery with power management enabled in the BIOS provides the notebook with power for about 3.5h, if disabled, the battery-lifetime is only about 2h.&lt;br /&gt;
&lt;br /&gt;
===Disable ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
Completely disable CPU ACPI power states. Discussion:&lt;br /&gt;
&lt;br /&gt;
*From Martin Steigerwald: I made the observation that I get at least less high pitch noises on my {{T23}} when I do not use the two ACPI modules &amp;quot;processor&amp;quot; and &amp;quot;thermal&amp;quot; (depends on the first one). I have no clue, why. Anyone with similar experiences?&lt;br /&gt;
:Omar Yasin: I've got a {{R52}} and when I load the same ACPIO modules the high pitch noises are not as loud but I can still hear them.&lt;br /&gt;
*Niko Ehrenfeuchter: I'm experiencing the same here on my {{X24}}. Removing the &amp;quot;processor&amp;quot; module also stops the pitch noise, which does ONLY occur when setting the CPU to maximum speed (using cpufreq). On low speed it's completely silent, even having loaded the processor module.&lt;br /&gt;
&lt;br /&gt;
*Rolf Adelsberger: I can confirm this: the high pitch noise is only remarkable (at least with my ears ;-) ) if the processor speed is set to maximum frequency.&lt;br /&gt;
&lt;br /&gt;
*Stefan Baums: My {{X41}} produced a high-pitched crackle from the processor vent on the left.  Changing HZ did nothing, and the 'processor' module could not easily be removed from the system (Ubuntu 5.04).  What solved the problem for me was adding {{bootparm|idle|halt}} to the boot command line. Unfortunately, this solution only lasts until the first hibernation or suspend - when the computer ({{X41}}) resumes, the high-pitched crackle is back.&lt;br /&gt;
&lt;br /&gt;
* The {{bootparm|idle|halt}} solution combined with setting &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; in the kernel fixes the problem on a {{T43}}.&lt;br /&gt;
&lt;br /&gt;
* jhatch:  {{bootparm|idle|halt}} plus &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; also worked on my {{T43}}.  It still reverts back to noisy after a suspend/resume though.  This needs to be fixed...&lt;br /&gt;
&lt;br /&gt;
===Change the timer interrupt frequency===&lt;br /&gt;
&lt;br /&gt;
Change the &amp;quot;HZ&amp;quot; kernel constants to alter the frequency of timer interrupts. Discussion:&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The timer interrupt frequency (HZ) in current Linux kernels is directly tied to the kernel task scheduler.  Lower frequencies provide larger time-slices and thus also higher latencies (which may kill latency-sensitive applications like audio processing). 100Hz ended up as the recommended &amp;quot;server&amp;quot; setting (because it increases disk/CPU throughput in a latency-insensitive environment).  Higher frequencies are better for latency-sensitive applications, and improve desktop responsivity at the cost of less processor throughput. 1000Hz ended up as the recommended &amp;quot;desktop&amp;quot; setting.}}&lt;br /&gt;
&lt;br /&gt;
*Andreas Karnahl: i've read in several forums it has something to do with the &amp;quot;idle&amp;quot;-state (or &amp;quot;C3&amp;quot;) of the processor. There is a frequency called &amp;quot;timer interrupt&amp;quot; (or so mething like that). Since kernel 2.6x it is set to 1000 Hz by default (compared to 100 Hz in Kernel 2.4x). The exact reason i don't know, but it is safe to change this frequency to 100 Hz in kernel 2.6x (by the way, windows up to XP uses 100 Hz by default).&amp;lt;br /&amp;gt;Just do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
:   In {{path|[path to kernel-sources]/include/asm-i386/param.h}} find the line&lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 1000&amp;lt;/code&amp;gt;&lt;br /&gt;
:   and change the value of HZ to 100: &lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt;&lt;br /&gt;
:Then recompile the kernel.&amp;lt;br /&amp;gt;After i changed it on my ThinkPad {{A30}} (under SuSE 9.2 and 9.3) and recompiling the kernel the high pitch noise is gone away.&lt;br /&gt;
&lt;br /&gt;
* Omar Yasin: Worked on my {{R52}}, thanks.&lt;br /&gt;
&lt;br /&gt;
* [[User:Thinker|Thinker]]: In modern kernels this constant is in the kernel configuration {{kernelconf|CONFIG_HZ|Processor type and features||Timer Frequency|||||}}.&lt;br /&gt;
&lt;br /&gt;
===Prevent idling===&lt;br /&gt;
&lt;br /&gt;
Indirectly avoid power saving states by making sure the CPU is rarely idle:&lt;br /&gt;
&lt;br /&gt;
* Paul RIVIER: Here is a really simple workaround. C3 / C4 states are mainly called when the cpu freq is higher than required, for example if your cpufreqd is lazy to slow down the frequency but quick to raise it. That is why I use powernowd with the builtin &amp;quot;passive&amp;quot; mode, which is lazy for raising frequency, but quick to go back to the lowest. Now I don't hear them as often as before, as I avoid C3/C4 states at high frequency.&lt;br /&gt;
&lt;br /&gt;
* The problem also occurs on my {{X41}} with 2.6.11. Setting up [[How to make use of Dynamic Frequency Scaling|frequency scaling]] with the &amp;lt;code&amp;gt;ondemand&amp;lt;/code&amp;gt; governor makes things a lot better, as the processor does not stay with the maximum frequency when in idle mode. It can be still heard sometimes, though.&lt;br /&gt;
&lt;br /&gt;
* On a {{T43}} the noise was gone after dropping cpufreqd and switching to the ondemand governor - maybe because of the high sampling rate? (used the default: 10ms)&lt;br /&gt;
&lt;br /&gt;
===Change the processor voltage===&lt;br /&gt;
&lt;br /&gt;
Reducing the processor voltage (when possible) may decrease or eliminate the noise. On one ThinkPad {{T43}}, [[Pentium M undervolting and underclocking|undervolting the Pentium M processor]] eliminated the high-pitched noise. Compared to the other solutions this has the benefit of lower power consumption, both due to the undervolting itself and because there is no need to forbid high APCI CPU power saving modes.&lt;br /&gt;
&lt;br /&gt;
==Solutions for screen brightness related sounds==&lt;br /&gt;
&lt;br /&gt;
===Disable BIOS brightness control===&lt;br /&gt;
&lt;br /&gt;
The sound starts when on batteries as the BIOS automatically reduces screen brightness. To disable this, simply switch Config&amp;gt;Display&amp;gt;Brightness from&lt;br /&gt;
Normal to High. See also [[User:Piccobello/Hissing sound on battery|here]].&lt;br /&gt;
&lt;br /&gt;
==Other solutions==&lt;br /&gt;
&lt;br /&gt;
===Disable UltraBay===&lt;br /&gt;
*Naheed Vora: My {{T41}} (2373-268) started to give high pitch noise ocassionally, when I upgraded to 2.6.11 kernel. I tried to unload lot of modules but finally figured out that disabling bay stops the noise. If you have [[ibm-acpi]], do (need a cleaner solution): {{cmduser|echo eject &amp;gt;/proc/acpi/ibm/bay}} .&lt;br /&gt;
&lt;br /&gt;
===Disable IrDA===&lt;br /&gt;
*Mike Perry: I was able to cure an intermittent high-pitched whine on both my {{X24}} and {{X40}} by disabling the Infrared port.&lt;br /&gt;
&lt;br /&gt;
===Disable the Linuxant Modem Driver===&lt;br /&gt;
*Joern Heissler: I made another experience. I played around with linuxant conexant [[Modem Devices|modem]] drivers. After loading them I got some noise on my {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
===Media Player paused===&lt;br /&gt;
*Eilif Muller: On my {{R52}} the high-pitched noises go away if I load XMMS, play something then pause it.&lt;br /&gt;
*Jacob: On my {{T43}} DGU it goes away if I open mplayerc.exe and press play then pause it. This is the high-pitched noise that only shows up when I'm on battery.&lt;br /&gt;
&lt;br /&gt;
''I'd guess that the above tip works as when xmms or similar is running, it is uncompressing compressed audio/video, which is a processor intensive action.  Keeping this paused means that the app won't 'let go' of the processor, forcing it to stay up and running, which stops it entering the higher powersave modes.''&lt;br /&gt;
&lt;br /&gt;
===Upgrade BIOS===&lt;br /&gt;
On a ThinkPad [[X60s]], [[BIOS_Upgrade|upgrading the BIOS]] to version 1.06 eliminated the high pitch noise when running on battery.&lt;br /&gt;
&lt;br /&gt;
===Disable USB===&lt;br /&gt;
On one {{T43}} and one {{X60}}, (partially) disabling USB using {{cmdroot|rmmod uhci_hcd}} significantly reduced the noise.&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=High-pitch_noise_from_AC-Adapter&amp;diff=26890</id>
		<title>High-pitch noise from AC-Adapter</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=High-pitch_noise_from_AC-Adapter&amp;diff=26890"/>
		<updated>2006-12-08T00:00:15Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== High-pitch noise from AC-Adapter ==&lt;br /&gt;
&lt;br /&gt;
This appears in some AC adapters shipped with some T60, T60p, Z61m (they're possibly shipped with others, too)&lt;br /&gt;
So far, Lenovo did not offer any feedback for this problem.&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=26693</id>
		<title>Problem with high pitch noises</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_high_pitch_noises&amp;diff=26693"/>
		<updated>2006-12-01T20:19:33Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Affected Models */ on my z61m (9450-3hg)  the problem also occurs, PLUS: the noise level varies significantly!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on strange high pitch, low volume noises emitted by ThinkPads.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
Even though ThinkPads are known as very silent notebooks, they tend to emit different, mostly high pitch noises in certain circumstances. The noises are of low volume and hence not realized by everyone or at least tolerated by most people. However, there are those with &amp;quot;bat like ears&amp;quot; that hear them and might be annoyed by that.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
Noises have been experienced in the following situations:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | situation&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | noise description&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#DDDDDD;&amp;quot; | affected models&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Plugged into AC / running at high CPU frequency&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
soft crackling, buzzing noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41}}&lt;br /&gt;
**2379-DJU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42p}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ThinkPad connected to power and switched off, with battery fully charged&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
constant high pitch noise&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
moving windows or just the mouse in xorg&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
strange noise like a rapid series of very short high pitch noises adding to a constant kind of whistling (only as long as the movement goes)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GHG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power or working on battery, also when suspended to RAM&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise also when HD is powered down.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T23}}&lt;br /&gt;
**2647-DG4&lt;br /&gt;
*{{X24}}&lt;br /&gt;
**2662-MWG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Thinkpad connected to power battery charged less than 60%&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitch noise till battery is charged more than 60%.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T41p}}&lt;br /&gt;
**2373-GEG&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constantly, if AC connected&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High pitched, low volume constant noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T40}}&lt;br /&gt;
**2373-88U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When the CPU freq jumps up to 1Ghz or above, or when the laptop is in suspend mode&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Constant high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R50}}&lt;br /&gt;
**1829-6DM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
(May come from harddisk.)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
continuous, intermittent, low volume, high pitched&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{600X}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
ACPI puts the processor into the C3 or C4 power saving states (i.e., the system is idle).&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{X41}}&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
*{{T43p}}&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
*{{T21}}&lt;br /&gt;
*{{T20}}&lt;br /&gt;
**2648-46U&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Cpufreqd (or powernowd etc.) slows down the processor, for exemple at the end of an heavy task.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
High-pitched crackling noise.&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{T42}}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
When on battery&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
Noise level varies from inaudible to clearly audible, screeching sound, or sometimes beeping (when wifi is on)&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
*{{R52}}&lt;br /&gt;
**1858-A11&lt;br /&gt;
*{{T43}}&lt;br /&gt;
**2686-DGU&lt;br /&gt;
**1871-4AG&lt;br /&gt;
*{{T60}}&lt;br /&gt;
**2007-72U&lt;br /&gt;
*{{x60}}&lt;br /&gt;
*{{x31}}&lt;br /&gt;
**2673-CBU&lt;br /&gt;
*{{Z61m}}&lt;br /&gt;
**9450-3HG&lt;br /&gt;
|-&lt;br /&gt;
| CPU is used much AND laptop is on AC power AND the TFT panel is enabled.&lt;br /&gt;
| Screetching high pitch noise, like a million crickets&lt;br /&gt;
| &lt;br /&gt;
* {{X41}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Network is pluged in and networkload is ~100%.&lt;br /&gt;
| low volume highfreq. pitch noise from left speaker or cpu.&lt;br /&gt;
|&lt;br /&gt;
*{{Z60m}}, {{Z60t}}&lt;br /&gt;
*{{T40}},{{T43}}&lt;br /&gt;
**2687-DDU&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
All, though Linux appears especially susceptible.&lt;br /&gt;
&lt;br /&gt;
==Possible sources==&lt;br /&gt;
&lt;br /&gt;
* '''CPU activity:''' On some models the noise is triggered by certain CPU power states or activity patterns (as proven [http://www.wisdom.weizmann.ac.il/~tromer/acoustic here]).&lt;br /&gt;
* '''Graphics processor:''' In some models from the T2x era, e.g. the {{T23}}, the problem was related to the graphics circuitry and occured especially or only while making use of DirectDraw functions. IBM was able to fix it through a BIOS upgrade.&lt;br /&gt;
* '''Hard disk:''' On some ThinkPads the processor and hard disk are adjacent and produce similar noise. For example, in the {{X41}} the sound generated by the hard disk is likely to be loudest at the vent.&lt;br /&gt;
* '''Gigabit Ethernet processor:''' In some models (e.g., {{T43}}) high ethernet activity causes a high pitch noise.&lt;br /&gt;
&lt;br /&gt;
* '''Screen brightness:''' on an {{X31}}, a hissing sound is started whenever screen brightness is not full.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
The problem is highly specific to operating system, model and even individual machines. There is no universal solution, but on most machines one of the following will reduce or eliminate the noise (possibly at some cost in power consumption).&lt;br /&gt;
&lt;br /&gt;
==Solutions for CPU-triggered noise==&lt;br /&gt;
&lt;br /&gt;
===Limit ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
There are four ACPI CPU power states, called C1 through C4. Often only the extreme power saving modes C4 or C3 produce the noise, so the noise can be stopped by insructing the Linux ACPI code to use only lower modes.&lt;br /&gt;
&lt;br /&gt;
To forbid the ACPI driver from using C4 (this fixed the problem with on some ThinkPad {{T43}}, {{T43p}} and {{T41}}):&lt;br /&gt;
* If the ACPI processor component is compiled as built-in (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=y&amp;lt;/tt&amp;gt;):&lt;br /&gt;
**Pass the {{bootparm|max_cstate|3}} kernel argument.&lt;br /&gt;
* If the ACPI processor component is loaded as a module (&amp;lt;tt&amp;gt;CONFIG_ACPI_PROCESSOR=m&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;processor&amp;lt;/tt&amp;gt; shows in the output of {{cmdroot|lsmod}}), do either of:&lt;br /&gt;
** Pass the {{bootparm|processor.max_cstate|3}} kernel argument (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** Add &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; to {{path|/etc/modprobe.conf}} (or {{path|/etc/modprobe.conf.local}}, or {{path|/etc/modprobe.d/...}}, depending on your system) (this does not work in Ubuntu 5.10 with default kernel).&lt;br /&gt;
** {{cmdroot|echo 3 &amp;gt;  /sys/module/processor/parameters/max_cstate}} (this can be changed in runtime for experimentation). (If may need to be set again upon resume from suspend, e.g., in the wakeup script.)&lt;br /&gt;
** (On Ubuntu 5.10, the default kernel uses &amp;lt;code&amp;gt;processor&amp;lt;/code&amp;gt; as a module.  Unfortunately, the script loading it, {{path|/etc/init.d/acpid}}, ignores the &amp;lt;code&amp;gt;options processor max_cstate=3&amp;lt;/code&amp;gt; setting in {{path|/etc/modprobe.d/&amp;lt;my file&amp;gt;}}.  As a solution for this specific problem, add the line &amp;lt;code&amp;gt;echo 2 &amp;gt; /sys/module/processor/parameters/max_cstate&amp;lt;/code&amp;gt; directly to {{path|/etc/init.d/acpid}}, at the end of the function &amp;lt;code&amp;gt;load_modules()&amp;lt;/code&amp;gt;, immediately after the line &amp;lt;code&amp;gt;echo &amp;quot;$PRINTK&amp;quot; &amp;gt; /proc/sys/kernel/printk&amp;lt;/code&amp;gt;.)&lt;br /&gt;
** On Gentoo: Configure your Thinkpad as described in the [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide].  Then as root create the files {{path|/etc/init.d/limit-sleep-states}} and {{path|/etc/conf.d/limit-sleep-states}} as below. Then just issue the command {{cmdroot|rc-update add limit-sleep-states default}} to limit the sleep states only when running on AC power, or {{cmdroot|rc-update add limit-sleep-states default battery}} to always limit the sleep states.&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/init.d/limit-sleep-states&lt;br /&gt;
 #!/sbin/runscript&lt;br /&gt;
 &lt;br /&gt;
 depend() {&lt;br /&gt;
 	need acpid&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 start() {&lt;br /&gt;
 	ebegin &amp;quot;Limiting CPU sleep state to C${LIMIT_CSTATE}&amp;quot;&lt;br /&gt;
 	echo $LIMIT_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
 	eend $?&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 stop() {&lt;br /&gt;
        ebegin &amp;quot;Removing CPU sleep state limit&amp;quot;&lt;br /&gt;
        echo $REMOVE_CSTATE &amp;gt; /sys/module/processor/parameters/max_cstate&lt;br /&gt;
        eend $?&lt;br /&gt;
 }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/conf.d/limit-sleep-states&lt;br /&gt;
 # limit CPU sleep state to the following value (adjust accordingly)&lt;br /&gt;
 LIMIT_CSTATE=3&lt;br /&gt;
 # some value which is higher than all available sleep states&lt;br /&gt;
 REMOVE_CSTATE=8&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
To also forbid the C3 state, replace &amp;quot;&amp;lt;tt&amp;gt;3&amp;lt;/tt&amp;gt;&amp;quot; with &amp;quot;&amp;lt;tt&amp;gt;2&amp;lt;/tt&amp;gt;&amp;quot; above (this fixed the problem on some ThinkPad {{X40}}, {{X41}}, {{X60}}, and {{R52}}, as well as on {{T20}} where C4 is not supported at all):&lt;br /&gt;
&lt;br /&gt;
Note that these options affect power consumption when the CPU is idle. For example, here is the [[How to measure power consumption|measured power consumption]] on a ThinkPad {{T43}}:&lt;br /&gt;
* {{bootparm|processor.max_cstate|4}}: 15160mW (default, noisy)&lt;br /&gt;
* {{bootparm|processor.max_cstate|3}}: 15770mW (660mW higher, silent)&lt;br /&gt;
* {{bootparm|processor.max_cstate|2}}: 16100mW (2940mW higher, silent)&lt;br /&gt;
&lt;br /&gt;
See the [http://thinkwiki.org/wiki?title=Talk:Problem_with_high_pitch_noises discussion page] for further information and success reports.&lt;br /&gt;
&lt;br /&gt;
*Jakob Schou Pedersen: Editing the file {{path|/etc/init.d/acpid}} as described above (the last solution) worked on my T43 :-)&lt;br /&gt;
&lt;br /&gt;
===Turn off CPU power saving in in BIOS===&lt;br /&gt;
&lt;br /&gt;
Go into the BIOS and turn off the power saving processor feature that puts it into idle mode. (This worked on a ThinkPad {{T43}}, {{T21}} and {{X60s}}.)&lt;br /&gt;
&lt;br /&gt;
===Disable ACPI CPU power states===&lt;br /&gt;
&lt;br /&gt;
Completely disable CPU ACPI power states. Discussion:&lt;br /&gt;
&lt;br /&gt;
*From Martin Steigerwald: I made the observation that I get at least less high pitch noises on my {{T23}} when I do not use the two ACPI modules &amp;quot;processor&amp;quot; and &amp;quot;thermal&amp;quot; (depends on the first one). I have no clue, why. Anyone with similar experiences?&lt;br /&gt;
:Omar Yasin: I've got a {{R52}} and when I load the same ACPIO modules the high pitch noises are not as loud but I can still hear them.&lt;br /&gt;
*Niko Ehrenfeuchter: I'm experiencing the same here on my {{X24}}. Removing the &amp;quot;processor&amp;quot; module also stops the pitch noise, which does ONLY occur when setting the CPU to maximum speed (using cpufreq). On low speed it's completely silent, even having loaded the processor module.&lt;br /&gt;
&lt;br /&gt;
*Rolf Adelsberger: I can confirm this: the high pitch noise is only remarkable (at least with my ears ;-) ) if the processor speed is set to maximum frequency.&lt;br /&gt;
&lt;br /&gt;
*Stefan Baums: My {{X41}} produced a high-pitched crackle from the processor vent on the left.  Changing HZ did nothing, and the 'processor' module could not easily be removed from the system (Ubuntu 5.04).  What solved the problem for me was adding {{bootparm|idle|halt}} to the boot command line. Unfortunately, this solution only lasts until the first hibernation or suspend - when the computer ({{X41}}) resumes, the high-pitched crackle is back.&lt;br /&gt;
&lt;br /&gt;
* The {{bootparm|idle|halt}} solution combined with setting &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; in the kernel fixes the problem on a {{T43}}.&lt;br /&gt;
&lt;br /&gt;
* jhatch:  {{bootparm|idle|halt}} plus &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt; also worked on my {{T43}}.  It still reverts back to noisy after a suspend/resume though.  This needs to be fixed...&lt;br /&gt;
&lt;br /&gt;
===Change the timer interrupt frequency===&lt;br /&gt;
&lt;br /&gt;
Change the &amp;quot;HZ&amp;quot; kernel constants to alter the frequency of timer interrupts. Discussion:&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The timer interrupt frequency (HZ) in current Linux kernels is directly tied to the kernel task scheduler.  Lower frequencies provide larger time-slices and thus also higher latencies (which may kill latency-sensitive applications like audio processing). 100Hz ended up as the recommended &amp;quot;server&amp;quot; setting (because it increases disk/CPU throughput in a latency-insensitive environment).  Higher frequencies are better for latency-sensitive applications, and improve desktop responsivity at the cost of less processor throughput. 1000Hz ended up as the recommended &amp;quot;desktop&amp;quot; setting.}}&lt;br /&gt;
&lt;br /&gt;
*Andreas Karnahl: i've read in several forums it has something to do with the &amp;quot;idle&amp;quot;-state (or &amp;quot;C3&amp;quot;) of the processor. There is a frequency called &amp;quot;timer interrupt&amp;quot; (or so mething like that). Since kernel 2.6x it is set to 1000 Hz by default (compared to 100 Hz in Kernel 2.4x). The exact reason i don't know, but it is safe to change this frequency to 100 Hz in kernel 2.6x (by the way, windows up to XP uses 100 Hz by default).&amp;lt;br /&amp;gt;Just do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
:   In {{path|[path to kernel-sources]/include/asm-i386/param.h}} find the line&lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 1000&amp;lt;/code&amp;gt;&lt;br /&gt;
:   and change the value of HZ to 100: &lt;br /&gt;
::       &amp;lt;code&amp;gt;#define HZ 100&amp;lt;/code&amp;gt;&lt;br /&gt;
:Then recompile the kernel.&amp;lt;br /&amp;gt;After i changed it on my ThinkPad {{A30}} (under SuSE 9.2 and 9.3) and recompiling the kernel the high pitch noise is gone away.&lt;br /&gt;
&lt;br /&gt;
* Omar Yasin: Worked on my {{R52}}, thanks.&lt;br /&gt;
&lt;br /&gt;
* [[User:Thinker|Thinker]]: In modern kernels this constant is in the kernel configuration {{kernelconf|CONFIG_HZ|Processor type and features||Timer Frequency|||||}}.&lt;br /&gt;
&lt;br /&gt;
===Prevent idling===&lt;br /&gt;
&lt;br /&gt;
Indirectly avoid power saving states by making sure the CPU is rarely idle:&lt;br /&gt;
&lt;br /&gt;
* Paul RIVIER: Here is a really simple workaround. C3 / C4 states are mainly called when the cpu freq is higher than required, for example if your cpufreqd is lazy to slow down the frequency but quick to raise it. That is why I use powernowd with the builtin &amp;quot;passive&amp;quot; mode, which is lazy for raising frequency, but quick to go back to the lowest. Now I don't hear them as often as before, as I avoid C3/C4 states at high frequency.&lt;br /&gt;
&lt;br /&gt;
* The problem also occurs on my {{X41}} with 2.6.11. Setting up [[How to make use of Dynamic Frequency Scaling|frequency scaling]] with the &amp;lt;code&amp;gt;ondemand&amp;lt;/code&amp;gt; governor makes things a lot better, as the processor does not stay with the maximum frequency when in idle mode. It can be still heard sometimes, though.&lt;br /&gt;
&lt;br /&gt;
* On a {{T43}} the noise was gone after dropping cpufreqd and switching to the ondemand governor - maybe because of the high sampling rate? (used the default: 10ms)&lt;br /&gt;
&lt;br /&gt;
===Change the processor voltage===&lt;br /&gt;
&lt;br /&gt;
Reducing the processor voltage (when possible) may decrease or eliminate the noise. On one ThinkPad {{T43}}, [[Pentium M undervolting and underclocking|undervolting the Pentium M processor]] eliminated the high-pitched noise. Compared to the other solutions this has the benefit of lower power consumption, both due to the undervolting itself and because there is no need to forbid high APCI CPU power saving modes.&lt;br /&gt;
&lt;br /&gt;
==Solutions for screen brightness related sounds==&lt;br /&gt;
&lt;br /&gt;
===Disable BIOS brightness control===&lt;br /&gt;
&lt;br /&gt;
The sound starts when on batteries as the BIOS automatically reduces screen brightness. To disable this, simply switch Config&amp;gt;Display&amp;gt;Brightness from&lt;br /&gt;
Normal to High. See also [[User:Piccobello/Hissing sound on battery|here]].&lt;br /&gt;
&lt;br /&gt;
==Other solutions==&lt;br /&gt;
&lt;br /&gt;
===Disable UltraBay===&lt;br /&gt;
*Naheed Vora: My {{T41}} (2373-268) started to give high pitch noise ocassionally, when I upgraded to 2.6.11 kernel. I tried to unload lot of modules but finally figured out that disabling bay stops the noise. If you have [[ibm-acpi]], do (need a cleaner solution): {{cmduser|echo eject &amp;gt;/proc/acpi/ibm/bay}} .&lt;br /&gt;
&lt;br /&gt;
===Disable IrDA===&lt;br /&gt;
*Mike Perry: I was able to cure an intermittent high-pitched whine on both my {{X24}} and {{X40}} by disabling the Infrared port.&lt;br /&gt;
&lt;br /&gt;
===Disable the Linuxant Modem Driver===&lt;br /&gt;
*Joern Heissler: I made another experience. I played around with linuxant conexant [[Modem Devices|modem]] drivers. After loading them I got some noise on my {{T42p}}.&lt;br /&gt;
&lt;br /&gt;
===Media Player paused===&lt;br /&gt;
*Eilif Muller: On my {{R52}} the high-pitched noises go away if I load XMMS, play something then pause it.&lt;br /&gt;
*Jacob: On my {{T43}} DGU it goes away if I open mplayerc.exe and press play then pause it. This is the high-pitched noise that only shows up when I'm on battery.&lt;br /&gt;
&lt;br /&gt;
''I'd guess that the above tip works as when xmms or similar is running, it is uncompressing compressed audio/video, which is a processor intensive action.  Keeping this paused means that the app won't 'let go' of the processor, forcing it to stay up and running, which stops it entering the higher powersave modes.''&lt;br /&gt;
&lt;br /&gt;
===Upgrade BIOS===&lt;br /&gt;
On a ThinkPad [[X60s]], [[BIOS_Upgrade|upgrading the BIOS]] to version 1.06 eliminated the high pitch noise when running on battery.&lt;br /&gt;
&lt;br /&gt;
===Disable USB===&lt;br /&gt;
On one {{T43}} and one {{X60}}, (partially) disabling USB using {{cmdroot|rmmod uhci_hcd}} significantly reduced the noise.&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Hitachi_Travelstar_5K100&amp;diff=26459</id>
		<title>Hitachi Travelstar 5K100</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Hitachi_Travelstar_5K100&amp;diff=26459"/>
		<updated>2006-11-16T19:30:42Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Models shipped with this disk */ my thinkpad z61m features a hitachi drive&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
This is a family of 5400RPM 2.5&amp;quot; hard disks manufactured by Hitachi.  They are available in various sizes, and in both PATA (ATA-6) and SATA interfaces.  Only the ATA-6 disks were shipped with ThinkPads though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+PATA (ATA-6) interface models:&lt;br /&gt;
! Model !! Size&lt;br /&gt;
|-&lt;br /&gt;
|HTS541010G9AT00 || 100GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541080G9AT00 || 80GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541060G9AT00 || 60GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541040G9AT00 || 40GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541030G9AT00 || 30GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541020G9AT00 || 20GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|+SATA-I interface models:&lt;br /&gt;
! Model !! Size&lt;br /&gt;
|-&lt;br /&gt;
|HTS541010G9SA00 || 100GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541080G9SA00 || 80GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541060G9SA00 || 60GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541040G9SA00 || 40GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541030G9SA00 || 30GB&lt;br /&gt;
|-&lt;br /&gt;
|HTS541020G9SA00 || 20GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
* [http://www.hitachigst.com/hdd/support/5k100/5k100_ov.htm Overview]&lt;br /&gt;
* [http://www.hitachigst.com/hdd/support/5k100/5k100.htm General specifications]&lt;br /&gt;
* [http://www.hitachigst.com/tech/techlib.nsf/techdocs/98F75D1B2B25C42F86256EBC0065A2F9/$file/T5K100_sp.pdf Detailed specifications (ATA-6 models)]&lt;br /&gt;
* [http://www.hitachigst.com/tech/techlib.nsf/products/Travelstar_5K100 Technical documents]&lt;br /&gt;
&lt;br /&gt;
==Models shipped with this disk==&lt;br /&gt;
* {{T43}}, {{T43p}}&lt;br /&gt;
* ThinkPad {{R52}}&lt;br /&gt;
* Thinkpad {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
==Firmware==&lt;br /&gt;
&lt;br /&gt;
On some ThinkPad models, you must buy the IBM-branded version of this drive, since the Hitachi-branded version has an incompatible and unupgradable firmware (see [[Problem with non-ThinkPad hard disks]]).&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Harddisk Drives]]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ethernet_Controllers&amp;diff=26331</id>
		<title>Ethernet Controllers</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ethernet_Controllers&amp;diff=26331"/>
		<updated>2006-11-11T17:52:09Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Broadcom Gigabit (10/100/1000) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Internal Ethernet controller ==&lt;br /&gt;
&lt;br /&gt;
A variety of [[Ethernet]] controllers is integrated into almost all models starting with the introduction of the A, T and X series.&lt;br /&gt;
&lt;br /&gt;
The Ethernet controller is located on either a MiniPCI card, Communications Daughter Card (CDC), or integrated on the systemboard.&lt;br /&gt;
&lt;br /&gt;
=== 3COM Fast Ethernet (10/100) ===&lt;br /&gt;
MiniPCI cards featuring this chip:&lt;br /&gt;
*[[3Com 10/100 Ethernet Mini-PCI Adapter with 56K Modem]]&lt;br /&gt;
&lt;br /&gt;
=== Intel Fast Ethernet (10/100) ===&lt;br /&gt;
CDC and MiniPCI cards featuring this chip:&lt;br /&gt;
*[[Ethernet Daughter Card (EDC)]]&lt;br /&gt;
*[[Intel 10/100 Ethernet Mini-PCI Adapter with 56K Modem]]&lt;br /&gt;
*[[Intel PRO/100 SP Mobile Combo Adapter]]&lt;br /&gt;
*[[Mini-PCI Ethernet card]]&lt;br /&gt;
*[[Xircom 10/100 EtherJet Mini PCI Adapter with 56K Modem]]&lt;br /&gt;
&lt;br /&gt;
In addition, this chip is integrated into select systemboards of the following machines:&amp;lt;br&amp;gt;&lt;br /&gt;
'''Intel 82550GY'''&lt;br /&gt;
* {{R30}}&lt;br /&gt;
'''Intel 82558'''&lt;br /&gt;
* [[SelectaBase PC Card Enabler with Advanced EtherJet]]&lt;br /&gt;
* [[ThinkPad Port Replicator with Advanced EtherJet]]&lt;br /&gt;
'''Intel 82562ET'''&lt;br /&gt;
* {{R31}}, {{R32}}&lt;br /&gt;
* {{T30}}&lt;br /&gt;
* {{X30}}&lt;br /&gt;
'''Intel 82562EZ'''&lt;br /&gt;
* {{R40}}, {{R50e}}, {{R50}}, {{R51}}&lt;br /&gt;
* {{T40}}&lt;br /&gt;
* {{X31}}&lt;br /&gt;
&lt;br /&gt;
Driver: [[e100]] (The 'e100' driver is the suggested driver, but '[[eepro100]]' should also work.)&lt;br /&gt;
&lt;br /&gt;
=== Intel Gigabit (10/100/1000) ===&lt;br /&gt;
Chipset: Intel PRO/1000 MT Mobile Ethernet&amp;lt;br /&amp;gt;&lt;br /&gt;
Driver: [[e1000]]&lt;br /&gt;
&lt;br /&gt;
This chip is integrated into select systemboards of the following machines:&amp;lt;br&amp;gt;&lt;br /&gt;
'''Intel 82540EP'''&lt;br /&gt;
* {{R50}}, {{R50p}}, {{R51}}&lt;br /&gt;
* {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}&lt;br /&gt;
* {{X31}}, {{X32}}&lt;br /&gt;
'''Intel 82541GI'''&lt;br /&gt;
* {{X40}}&lt;br /&gt;
'''Intel 82573L''' (PCI-Express)&lt;br /&gt;
* {{T60}}, {{T60p}}&lt;br /&gt;
* {{X60}}, {{X60s}}&lt;br /&gt;
Note: This chip supports Auto-MDIX, meaning you will never need a crossover ethernet cable.&amp;lt;br&amp;gt;&lt;br /&gt;
Note: The first signs of explicit support for this chip in 2.6 kernels is with 2.6.12-rc2.&amp;lt;br&amp;gt;&lt;br /&gt;
Note: Red Hat Enterprise Linux 3.0 (2.4 kernel based) begins 82573L support with Update 7.&amp;lt;br&amp;gt;&lt;br /&gt;
Note: Some users report issues: [[Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: Some users have reported [http://forum.thinkpads.com/viewtopic.php?p=201279&amp;amp;sid=787564d7cf9de5d7d76b0cb312a98c61 latency problems] with e1000 driver. It seems, that [http://agenda.clustermonkey.net/index.php/Tuning_Intel_e1000_NICs switching off Interupt Throttle Rate (ITR)] helps. &amp;lt;br&amp;gt;&lt;br /&gt;
Note: [http://support.intel.com/support/network/sb/CS-009209.htm Additional configuration options from Intel]&lt;br /&gt;
&lt;br /&gt;
For Gentoo users - compile e1000 as a kernel module and add 'options e1000 InterruptThrottleRate=0,0' to /etc/modules.d/e1000&lt;br /&gt;
&lt;br /&gt;
=== Broadcom Fast Ethernet (10/100) ===&lt;br /&gt;
Driver: [[tg3]] or [[bcm5700]]&lt;br /&gt;
&lt;br /&gt;
This chip is integrated into select systemboards of the following machines:&amp;lt;br&amp;gt;&lt;br /&gt;
'''Broadcom BCM5901'''&lt;br /&gt;
* {{G40}}, {{G41}}&lt;br /&gt;
* {{R40e}}&lt;br /&gt;
'''Broadcom BCM5751F'''&lt;br /&gt;
* {{R51e}}&lt;br /&gt;
&lt;br /&gt;
=== Broadcom Gigabit (10/100/1000) ===&lt;br /&gt;
Chipset: Broadcom BCM5751M&amp;lt;br&amp;gt;&lt;br /&gt;
Driver: [[tg3]] or [[bcm5700]]&lt;br /&gt;
&lt;br /&gt;
This chip is integrated into select systemboards of the following machines:&lt;br /&gt;
* {{R52}}, {{R60}}&lt;br /&gt;
* {{G41}}&lt;br /&gt;
* {{T43}}, {{T43p}}&lt;br /&gt;
* {{X41}}, {{X41T}}&lt;br /&gt;
* {{Z60m}}, {{Z60t}}&lt;br /&gt;
* {{Z61m}}, {{Z61p}}&lt;br /&gt;
&lt;br /&gt;
Note: There are some problems with the driver since kernel 2.6.17 (at least on a Z61p, Z61m). After an ifdown &amp;amp;&amp;amp; ifup it doesn't work anymore. A possible workaround is to build the tg3-driver as a module and reload it when this problem occours. Rebooting the machine would also be possible.&lt;br /&gt;
&lt;br /&gt;
The T43 with a stock Linus 2.6.18.1 kernel does not have any problems. &lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ethernet_Controllers&amp;diff=26330</id>
		<title>Ethernet Controllers</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ethernet_Controllers&amp;diff=26330"/>
		<updated>2006-11-11T17:48:44Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: /* Broadcom Gigabit (10/100/1000) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Internal Ethernet controller ==&lt;br /&gt;
&lt;br /&gt;
A variety of [[Ethernet]] controllers is integrated into almost all models starting with the introduction of the A, T and X series.&lt;br /&gt;
&lt;br /&gt;
The Ethernet controller is located on either a MiniPCI card, Communications Daughter Card (CDC), or integrated on the systemboard.&lt;br /&gt;
&lt;br /&gt;
=== 3COM Fast Ethernet (10/100) ===&lt;br /&gt;
MiniPCI cards featuring this chip:&lt;br /&gt;
*[[3Com 10/100 Ethernet Mini-PCI Adapter with 56K Modem]]&lt;br /&gt;
&lt;br /&gt;
=== Intel Fast Ethernet (10/100) ===&lt;br /&gt;
CDC and MiniPCI cards featuring this chip:&lt;br /&gt;
*[[Ethernet Daughter Card (EDC)]]&lt;br /&gt;
*[[Intel 10/100 Ethernet Mini-PCI Adapter with 56K Modem]]&lt;br /&gt;
*[[Intel PRO/100 SP Mobile Combo Adapter]]&lt;br /&gt;
*[[Mini-PCI Ethernet card]]&lt;br /&gt;
*[[Xircom 10/100 EtherJet Mini PCI Adapter with 56K Modem]]&lt;br /&gt;
&lt;br /&gt;
In addition, this chip is integrated into select systemboards of the following machines:&amp;lt;br&amp;gt;&lt;br /&gt;
'''Intel 82550GY'''&lt;br /&gt;
* {{R30}}&lt;br /&gt;
'''Intel 82558'''&lt;br /&gt;
* [[SelectaBase PC Card Enabler with Advanced EtherJet]]&lt;br /&gt;
* [[ThinkPad Port Replicator with Advanced EtherJet]]&lt;br /&gt;
'''Intel 82562ET'''&lt;br /&gt;
* {{R31}}, {{R32}}&lt;br /&gt;
* {{T30}}&lt;br /&gt;
* {{X30}}&lt;br /&gt;
'''Intel 82562EZ'''&lt;br /&gt;
* {{R40}}, {{R50e}}, {{R50}}, {{R51}}&lt;br /&gt;
* {{T40}}&lt;br /&gt;
* {{X31}}&lt;br /&gt;
&lt;br /&gt;
Driver: [[e100]] (The 'e100' driver is the suggested driver, but '[[eepro100]]' should also work.)&lt;br /&gt;
&lt;br /&gt;
=== Intel Gigabit (10/100/1000) ===&lt;br /&gt;
Chipset: Intel PRO/1000 MT Mobile Ethernet&amp;lt;br /&amp;gt;&lt;br /&gt;
Driver: [[e1000]]&lt;br /&gt;
&lt;br /&gt;
This chip is integrated into select systemboards of the following machines:&amp;lt;br&amp;gt;&lt;br /&gt;
'''Intel 82540EP'''&lt;br /&gt;
* {{R50}}, {{R50p}}, {{R51}}&lt;br /&gt;
* {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}&lt;br /&gt;
* {{X31}}, {{X32}}&lt;br /&gt;
'''Intel 82541GI'''&lt;br /&gt;
* {{X40}}&lt;br /&gt;
'''Intel 82573L''' (PCI-Express)&lt;br /&gt;
* {{T60}}, {{T60p}}&lt;br /&gt;
* {{X60}}, {{X60s}}&lt;br /&gt;
Note: This chip supports Auto-MDIX, meaning you will never need a crossover ethernet cable.&amp;lt;br&amp;gt;&lt;br /&gt;
Note: The first signs of explicit support for this chip in 2.6 kernels is with 2.6.12-rc2.&amp;lt;br&amp;gt;&lt;br /&gt;
Note: Red Hat Enterprise Linux 3.0 (2.4 kernel based) begins 82573L support with Update 7.&amp;lt;br&amp;gt;&lt;br /&gt;
Note: Some users report issues: [[Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid]]&amp;lt;br&amp;gt;&lt;br /&gt;
Note: Some users have reported [http://forum.thinkpads.com/viewtopic.php?p=201279&amp;amp;sid=787564d7cf9de5d7d76b0cb312a98c61 latency problems] with e1000 driver. It seems, that [http://agenda.clustermonkey.net/index.php/Tuning_Intel_e1000_NICs switching off Interupt Throttle Rate (ITR)] helps. &amp;lt;br&amp;gt;&lt;br /&gt;
Note: [http://support.intel.com/support/network/sb/CS-009209.htm Additional configuration options from Intel]&lt;br /&gt;
&lt;br /&gt;
For Gentoo users - compile e1000 as a kernel module and add 'options e1000 InterruptThrottleRate=0,0' to /etc/modules.d/e1000&lt;br /&gt;
&lt;br /&gt;
=== Broadcom Fast Ethernet (10/100) ===&lt;br /&gt;
Driver: [[tg3]] or [[bcm5700]]&lt;br /&gt;
&lt;br /&gt;
This chip is integrated into select systemboards of the following machines:&amp;lt;br&amp;gt;&lt;br /&gt;
'''Broadcom BCM5901'''&lt;br /&gt;
* {{G40}}, {{G41}}&lt;br /&gt;
* {{R40e}}&lt;br /&gt;
'''Broadcom BCM5751F'''&lt;br /&gt;
* {{R51e}}&lt;br /&gt;
&lt;br /&gt;
=== Broadcom Gigabit (10/100/1000) ===&lt;br /&gt;
Chipset: Broadcom BCM5751M&amp;lt;br&amp;gt;&lt;br /&gt;
Driver: [[tg3]] or [[bcm5700]]&lt;br /&gt;
&lt;br /&gt;
This chip is integrated into select systemboards of the following machines:&lt;br /&gt;
* {{R52}}, {{R60}}&lt;br /&gt;
* {{G41}}&lt;br /&gt;
* {{T43}}, {{T43p}}&lt;br /&gt;
* {{X41}}, {{X41T}}&lt;br /&gt;
* {{Z60m}}, {{Z60t}}&lt;br /&gt;
* {{Z61m}}, {{Z61p}}&lt;br /&gt;
&lt;br /&gt;
Note: There are some problems with the driver since kernel 2.6.17 (at least on a Z61p, Z61m).  After an ifdown &amp;amp;&amp;amp; ifup it doesn't work anymore (Reboot required).  The T43 with a stock Linus 2.6.18.1 kernel does not have any problems.&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_SATA_and_Linux&amp;diff=26329</id>
		<title>Talk:Problems with SATA and Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_SATA_and_Linux&amp;diff=26329"/>
		<updated>2006-11-11T17:42:43Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: libata.atapi_enabled didn't work, #define ATA_ENABLE_PATA worked!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
I'm running gentoo on my T43; I had problems with X11 (opensource radeon driver) and a SATA-patched kernel (I tried both 2.6.14 and 2.6.15-gentoo). Suspend to RAM worked nicely, but starting X freezed the machine after a short time. I tried removing radeonfb from the kernel; with vesafb, everything seems to work.&lt;br /&gt;
&lt;br /&gt;
-- Stefan, 10 Jan 2006&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
That's strange - with the libata passthrough (IDE driver not in kernel) as set up in the text, my t43p DVD drive also will not record as hinted in the wikipage...  DMA works fine, so DVD playing / ripping is smooth and quick.  CD record functions also are absent.  I have PATA enabled, and the suspend + SMART patches applied over 2.6.14.2.&lt;br /&gt;
--------&lt;br /&gt;
I can confirm this with 2.6.14.4, however with 2.6.15/15.1 with sata_pm patch it works.&lt;br /&gt;
&lt;br /&gt;
-- Rasto, 24 Jan 2006&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
regarding the &amp;quot;BIOS error 2010 on user-installed hard disk&amp;quot;:&lt;br /&gt;
the text says that corruption occurs if you use a harddisk without the specific ibm bios. would be interesting if it is possible to fix this problem in the kernel so that you can use any disk and the kernel doesn't use specific ATA commands which are known to cause problems.&lt;br /&gt;
&lt;br /&gt;
in the tabook i didn't find any specification of the SATA bridge. it would be interesting:&lt;br /&gt;
1) what type it is&lt;br /&gt;
2) if it is fixed on the mainboard or if it is possible to solder in a new one&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Another interesting question is whether these ThinkPads can be hacked to accept a real SATA system disk, by bypassing the SATA-to-PATA bridge (this would probably involve some soldering and cutting). If the BIOS can also handle that then it may come in handy, since some new high-capacity 2.5&amp;quot; disks have only SATA versions.&lt;br /&gt;
--[[User:Thinker|Thinker]] 02:56, 8 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Z series'''&lt;br /&gt;
&lt;br /&gt;
Since the Z series uses a SATA controller and disk, without the bridge, would it be possible to make SATA ATAPI support as a module that you could load only when using the optical drive?  Then, for everyday use, the experimental options of PATA and ATAPI with ata_piix would not be needed, moving you one step further in the direction of stability.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I have an R52 with Ubuntu Breezy and no problems with SATA (I personally asked the developers to include the needed patches).&lt;br /&gt;
&lt;br /&gt;
However, I'd like to know wheter there are any advantages with this configuration. Future proof? Power saving? Speed?&lt;br /&gt;
&lt;br /&gt;
Anybody cares to comment?&lt;br /&gt;
&lt;br /&gt;
-- [[User:Micampe|Michele]]&lt;br /&gt;
&lt;br /&gt;
Straight SATA, like in the Z60m/t, will provide better upgrade options in the long run (the hard disk industry is slowly but surely moving to SATA), and maybe a small performance increase if your drive, controller and OS support command queueing (they probably don't). However, with the hybrid ThinkPad models that use a SATA-to-PATA bridge, like your R52, you get all the drawbacks and none of the benefits; plus there's the horrible issue with [[Problem with non-ThinkPad hard disks|drive compatibility]]. My impression is that Lenovo did this just as a convenient (for them!) transition path, in order to use new chipsets without comitting to (temporarily) scarcer and more expensive drives. In any case, they didn't even have the decency to make the UltraBay Slim accept SATA drives. &lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:10, 3 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
There is a [[UltraBay Slim SATA HDD Adapter]], but only compatible with the Z series (at least for the moment).&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 03:12, 4 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Is it possible to enable AHCI on the Z60m?  There doesn't seem to be an option for it in the BIOS, even after updating to the latest BIOS version (1.19).  I don't think it's enabled by default since the &amp;quot;ata_piix&amp;quot; driver finds my controller and the &amp;quot;ahci&amp;quot; driver doesn't.&lt;br /&gt;
&lt;br /&gt;
--[[User:Wyzard|Wyzard]] 06:06, 12 August 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, I got it working with compatibility instead of AHCI (X60s) but I would like to know whats the difference between those two? Anybody with a quick explanation?&lt;br /&gt;
&lt;br /&gt;
@Wyzard: AFAIK you have to switch it within BIOS and if you can't then you can't use ata_piix.&lt;br /&gt;
&lt;br /&gt;
--[[User:elm|elm]] 16:46, 12 August 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== updated libata_passthru.patch ==&lt;br /&gt;
&lt;br /&gt;
FYI: when using the Suspend-to-RAM patch from http://lkml.org/lkml/2005/9/23/97 against 2.6.14 the libata_passthru.patch from the article doesn't apply any more, so I've put up an updated version at http://linux.spiney.org/system/files?file=02_libata_passthru.fixed.patch&lt;br /&gt;
&lt;br /&gt;
I give no warranties whatsoever whether it works or kills your hardware, but since I just removed duplicate parts already in the Suspend-to-RAM patch it should be ok.&lt;br /&gt;
&lt;br /&gt;
--[[User:spiney|spiney]] 19:04, 4 Nov 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
Hi&lt;br /&gt;
&lt;br /&gt;
Running 2.6.16-rc4 and I'm running into scsci errors and Input/output&lt;br /&gt;
errrors when resuming from suspend to ram.  The suspend patch is&lt;br /&gt;
supposed to be in 2.6.16-rc1 and I'm booting with&lt;br /&gt;
&lt;br /&gt;
title= 2.6.16-rc4&lt;br /&gt;
root (hd0,0)&lt;br /&gt;
kernel /boot/kernel-2.6.16-rc4  root=/dev/sda3 ro combined_mode=libata&lt;br /&gt;
libata.atapi_enabled=1 acpi_sleep=s3_bios processor.max_cstate=2&lt;br /&gt;
elevator=cfq ide1=noprobe&lt;br /&gt;
&lt;br /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Don't know about -rc4, but -rc3 worked without problems, could you try that one instead? Maybe there was some bug introduced between these two versions. What's combined_mode=libata BTW?&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 08:28, 23 February 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== ATA_ENABLE_PATA PCI IDs ==&lt;br /&gt;
&lt;br /&gt;
Spiney, could you extend the article to explain what and why are the PCI IDs in the footnote about ATA_ENABLE_PATA?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:59, 4 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, done, feel free to fix the table because I'm a bit struggling with Wiki-style editing. ;) As for the why, those PCI IDs are the only ones affected by the ATA_ENABLE_PATA, as seen in {{path|drivers/scsi/ata_piix.c}} in the kernel source.&lt;br /&gt;
&lt;br /&gt;
--[[User:spiney|spiney]] 11:19, 5 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Will other cards work without ATA_ENABLE_PATA, or just fail? In the former case your instructions are right, but in the latter case we should tell the user to check the list of IDs in his ''current'' kernel and, if there's no match, to give up in the first place instead of following the rest of the instructions.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 12:48, 5 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
AFAICT if the chipset is supported by libata it will work, regardless of what low-level driver is used. Of course if there is no low-level driver for the chipset then even using the harddisk via libata will fail, but that's a different story. At least ATA_ENABLE_PATA will then make no difference since it's Intel PIIX (and compatible) only.&lt;br /&gt;
&lt;br /&gt;
--[[User:spiney|spiney]] 13:24, 5 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Not sure I got you. Is there any case where the instructions will work without ATA_ENABLE_PATA, given that all ThinkPad optical drives are PATA?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 13:41, 5 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The instructions will work without ATA_ENABLE_PATA unless the Thinkpad uses one of the three chipsets listed in the article, as long as libata works at all, i.e. the system drive shows up as /dev/sda. The #define doesn't change the behaviour of libata for any other chipset, it's [http://linux.yyz.us/sata/sata-status.html#ich5 ata_piix] only.&lt;br /&gt;
&lt;br /&gt;
Since I don't have a machine with one of the three chipsets (anyone?), I can't tell whether those work at all with libata, but I guess there's a reason why they're not enabled by default. It's just that defining ATA_ENABLE_PATA is only making sense for these three chipsets.&lt;br /&gt;
&lt;br /&gt;
Any clearer now? If not, just run {{cmd|grep -r ATA_ENABLE_PATA /path/to/kernelsource|}} and see how seldom and where the #define is used.&lt;br /&gt;
&lt;br /&gt;
--[[User:spiney|spiney]] 14:55, 5 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
All clear now. I thought it will work only if you have these chipsets ''and'' ATA_ENABLE_PATA=1. Thanks for the explanation!&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:12, 5 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Does any of the relevant ThinkPad models (listed in the article) use these chips? They look too old to be found on the SATA models.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:35, 9 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I don't think so, I was about to add &amp;quot;in the unlikely event that you own one of these chipsets&amp;quot; or something.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 07:56, 10 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== DVD DMA with ide/sata as module ==&lt;br /&gt;
&lt;br /&gt;
Did anyone get DVD DMA to work with either the IDE or SATA drivers compiled as modules? If so, please fill in the missing details in that section. I have it working only with both IDE and SATA built-in.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:58, 16 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Basically using a Live-CD with a recent kernel (is there one with 2.6.14 already?) would be sufficient, since they usually use an initrd or something similar, don't they? I'll give the Debian distribution kernel a try when I get around to it  (bit busy atm), after all there's 2.6.14 in sid.&lt;br /&gt;
&lt;br /&gt;
But for people using their own kernel compiled from source I see no point in doing the module+initrd thing anyway, unless you want LVM for the root filesystem or other funky stuff.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:22, 16 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hi&lt;br /&gt;
&lt;br /&gt;
Can anyone tell me how those modules are called?&lt;br /&gt;
&lt;br /&gt;
Thomas&lt;br /&gt;
--[[User:Thomas|thomas]] 19:48, 23 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Where the hell do I find the libata module? &lt;br /&gt;
&lt;br /&gt;
--[[User:squashball|squashball]] 09:09, 11 June 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
The relevant driver is called ata_piix. The ata_piix driver uses a chunk of shared kernel code called libata.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 09:33, 11 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Ok, Thanks. Nevertheless I am not able to get my drive working. It's a T60...&lt;br /&gt;
&lt;br /&gt;
--[[User:squashball|squashball]] 12:29, 12 June 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Your T60 uses AHCI by default. You have to change the BIOS settings to &amp;quot;compatibility mode&amp;quot; to use the HDD and DVD drive with ata_piix. Then, you're also able to hotswap your ultrabay. But for this, a patch for ibm_acpi is needed.&lt;br /&gt;
&lt;br /&gt;
--[[User:Whoopie|Whoopie]] 14:57, 12 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Yeah, thanks, it's working now! Where was I supposed to find this info?&lt;br /&gt;
EDIT: But DMA is still off and can't be enabled.&lt;br /&gt;
&lt;br /&gt;
--[[User:squashball|squashball]] 07:58, 13 June 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
DMA is enabled by default with libata. Do a &amp;quot;dmesg |grep DMA&amp;quot; and you'll see. You can't use hdparm to see the settings for your hdd. BTW, if you have more questions, you could join IRC ##ibmthinkpad.&lt;br /&gt;
&lt;br /&gt;
--[[User:Whoopie|Whoopie]] 11:04, 13 June 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== occasional hang upon resume with various kernels ==&lt;br /&gt;
&lt;br /&gt;
I keep having trouble with resume after suspend to ram. Occasionally, it takes longer to wake up and then is in a semi-hanged &lt;br /&gt;
state, i.e. nothing having to do with actual reading from the disk works. (what was running, as aterm &lt;br /&gt;
is still running, ls works, when the listing is buffered, but hangs if it is not). &lt;br /&gt;
Kernel is 2.6.15 with sata-pm patch. Later 2.6.15 kernels hang always and it's the same with 2.6.16. &lt;br /&gt;
Could perhaps somebody, for whom it works without problems post his .config somewhere? &lt;br /&gt;
I'm out of ideas. &lt;br /&gt;
&lt;br /&gt;
--[[User:Rasto|Rasto]] 14:46, 20 March 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
I have the same problem with my x41 and 2.6.16 or 2.6.16-r1 running on Gentoo. Sometimes resume is ok and sometimes the disk doesn't resume. I can't see any log because the disk is unwritable after resume. The logs on F12 is full of io error.&lt;br /&gt;
I tested many different kernel configs, unloading modules before suspend, stopping services...&lt;br /&gt;
Like Rasto, I'm out of ideas...&lt;br /&gt;
&lt;br /&gt;
--[[User:Pplr|Pplr]] 19:21, 8 April 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
You could try http://rtr.ca/dell_i9300/kernel/kernel-2.6.16/02_libata_resume_fix.patch&lt;br /&gt;
This patch worked for me.&lt;br /&gt;
&lt;br /&gt;
--[[User:Whoopie|Whoopie]] 21:21, 8 April 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Hello, according to the first lines of the article, resume does not work prior to kernel 2.6.16, i.e. the computer hangs up just a second after it comes back. I just switched from 2.6.15 to 2.6.16 but the problem still remains. I have a Z60M thinkpad. So this has obviously the same problem as the T60.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Bjoern.thalheim|BjÃ¶rn]] 14:37, 10 April 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Increasing the timeouts seems to do the trick. I applied it about two weeks ago, and it works since. &lt;br /&gt;
&lt;br /&gt;
-- [[User:Rasto|Rasto]] 09:59, 11 April 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Ubuntu Dapper with 2.6.15-23 is also exhibiting this problem even though the sata_pm patch is applied.  Bjorn, which timeout are you referring to?&lt;br /&gt;
&lt;br /&gt;
-- [[User:nmuntz|nmuntz]] 09:08, 13 June 2006 (MDT)&lt;br /&gt;
&lt;br /&gt;
== Suspend to RAM on X41 not working with Debian-packaged 2.6.16 ==&lt;br /&gt;
&lt;br /&gt;
I just tried the Debian package of the Linux 2.6.16 kernel on my [[X41]] to see if suspend-to-RAM would work. Unfortunately, it didn't. The laptop suspends just fine, but when it's turned back on, the backlight remains off, there is a lot of disk activity for a while, and then the computer just shuts off. When turned on again, it boots normally. Suspend-to-disk works fine, just like before.&lt;br /&gt;
&lt;br /&gt;
On a different note, CPU throttling broke on my system with the new kernel. I can no longer modprobe acpi-cpufreq. [[User:Ehn|Ehn]] 04:28, 22 March 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
:The latter issue was solved by using speedstep-centrino instead of acpi-cpufreq. [[User:Ehn|Ehn]] 23:25, 9 April 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Neither problem is related to this article, so it's unlikely to be answered here.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:37, 22 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hm. It seems to be a problem with sata power management for me, so I guess this could be one of the places. &lt;br /&gt;
&lt;br /&gt;
[[User:Rasto|Rasto]] 17:45, 22 March 2006 (CET)&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Ehn, by &amp;quot;disk activity&amp;quot; do you mean a constantly on HDD LED and no disk movement noises, or ''real'' disk activity with the LED flashing and disk noise? The former is likely to be the SATA problem, the latter rules out the SATA problem.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:44, 22 March 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
:The latter. There is real disk activity, indicated by LED flashing &amp;lt;em&amp;gt;and&amp;lt;/em&amp;gt; disk movement noise, for about 30 seconds, before the machine gives up and shuts down. If this is not SATA-related, what might it be? [[User:Ehn|Ehn]] 23:23, 9 April 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Sorry, I didn't realize Ehn has two problems, and I considered your post as aimed at my and Ehn's. Never mind then.&lt;br /&gt;
&lt;br /&gt;
[[User:Rasto|Rasto]] 10:47, 23 March 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Problem with 2.6.16 ==&lt;br /&gt;
&lt;br /&gt;
ok, seems like we have a new problem:&lt;br /&gt;
After upgrading from 2.6.15 to 2.6.16 my DVD device is not recognised anymore by libsata.&lt;br /&gt;
The only way to get working is by using the ide layer - without DMA of course.&lt;br /&gt;
Can anyone confirm this?&lt;br /&gt;
&lt;br /&gt;
--[[User:Defiant|Erik]] 17:49, 23 Mar 2006 (CET)&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
Try the kernel parameter '''combined_mode=libata''', does this help? Also, have you enabled libata's ATAPI support as described in the article?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:31, 23 March 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Yes, I'm using the command line parameter libata.atapi_enable=1 - up to 2.6.15 it works fine.&lt;br /&gt;
About the combined_mode parameter: Also tried it, though the Author of this patch mentioned that the default behavior did not changed.&lt;br /&gt;
I will continue hungting this problem when I find some time.&lt;br /&gt;
&lt;br /&gt;
--[[User:Defiant|Erik]] 7:12, 24 Mar 2006 (CET)&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
I can confirm Eriks problem.  After updating to 2.6.16 I have it, too.  libata.atapi_enable=1 is still on kernel command line.  With some help of Michael Ott I figured out that this only happens if you have the current suspend2 patches applied.&lt;br /&gt;
Using a vanilla 2.6.16 works as expected. &lt;br /&gt;
&lt;br /&gt;
--[[User:Mobst|mobst]]  14:30, 24 Mar 2006 (CET)&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
Ahh thanks. Finding the problem in the suspend2 patch should be an easy task.&lt;br /&gt;
I just hope for some free time this weekend!&lt;br /&gt;
&lt;br /&gt;
--[[User:Defiant|Erik]] 18:31, 24 Mar 2006 (CET)&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
Uhm, looks like [[ZolnOtt|ZolnOtt]] was faster, he added the note to&lt;br /&gt;
http://thinkwiki.org/wiki/Problems_with_SATA_and_Linux#No_DMA_on_DVD_drive&lt;br /&gt;
&lt;br /&gt;
--[[User:Defiant|Erik]] 20:02, 24 Mar 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
== Patch against SATA-resume problem with T60 ==&lt;br /&gt;
&lt;br /&gt;
I only have a Fujitsu-Siemens C1320, but I had the same problem with resuming from suspend with a SATA disk and kernel 2.6.16 as mentioned for the T60.  I solved the problem for me by merging several patches (patches.fixes/libata-increase-timeout-for-resume, patches.fixes/ahci-suspend, patches.fixes/ahci-atapi-sense-request, patches.drivers/libata-acpi-suspend, patches.fixes/libata-resume-drive_port-mode, patches.fixes/ahci-init-on-resume, patches.drivers/libata-device-spindown)&lt;br /&gt;
from the OpenSuSE kernel 2.6.16-12 to vanilla 2.6.16.5. You'll find my patch at http://www.spinnaker.de/linux/c1320/sata-resume-2.6.16.5.patch.  I expect this to solve the T60 problem, so I provide the patch here, as this wiki helped me so much with my laptop.&lt;br /&gt;
&lt;br /&gt;
--[[User:Rrosenfeld|Rrosenfeld]] 23:12, 16 April 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
I just want to let you know that I managed to get Suspend-to-RAM working on the T60. I'm using Gentoo's suspend2-sources-2.6.16-r2 as base and applied the above patches from Rrosenfeld (thanks!) and additionally this [https://bugzilla.novell.com/attachment.cgi?id=75844&amp;amp;action=view one] (here the corresponding [https://bugzilla.novell.com/show_bug.cgi?id=162090 bug]).&lt;br /&gt;
&lt;br /&gt;
--[[User:Sts|sts]] 22:52, 17 April 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
same here. applied both patches to gentoo suspend-sources-2.6.16-r5 --- working. sweet.&lt;br /&gt;
&lt;br /&gt;
--[[User:Husemann|dr who]] 21:51, 3 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
however: powersave (powersaved) is a spoiler: it will cause the resume operation to get stuck at &amp;quot;reading back caches&amp;quot; and eventually result in a kernel panic. stopping powersaved before hibernating does not prevent it: it seems that running powersaved just once will screw things up. interesting and nasty. but not a show stopper (IMHO).&lt;br /&gt;
&lt;br /&gt;
--[[User:Husemann|dr who]] 17:14, 10 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
that's not powersaved's fault. kernel panics are always kernel (or hardware) bugs. i experienced this kind of lockups when using different cpufreq governors at once (that's probaly something one shoudln't do?). i'm now using only cpufreq_userspace and don't have any problems.&lt;br /&gt;
&lt;br /&gt;
--[[User:Sts|sts]] 15:11, 11 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Having exactly the same SATA wakeup problem on my Z60t, using FC5. Can the patch from rosenfeld be applied also to the FC5 kernelsource?&lt;br /&gt;
&lt;br /&gt;
--[[User:SzentivÃ¡nyi|szenti]] 21:29, 11 May 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Latest fedora (FC5) 2.6.17-1.2139_FC5smp kernel solved the problem on my T60p. I have successfully resumed a number of times now.&lt;br /&gt;
&lt;br /&gt;
--[[User:Gfbarros|Guil]] 20:38, 27 June 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Vanilla 2.6.17.8 lets me suspend and resume on a T60p.  But I had to set the SATA mode to Compatibility (ata-piix) in the BIOS.  The other catch is that if you suspend from a console rather than X, you get a black screen.  Fn-F7 back to X gets your display back.  Of course, if you don't have X up, you're kind of stuck and the safest thing to do is to tell the machine to reboot.  The keyboard still works, so you have to type blind.&lt;br /&gt;
&lt;br /&gt;
--jlquinn 17 Aug 2006 (signature button didn't work properly)&lt;br /&gt;
&lt;br /&gt;
jlquinn: see [[How to recover from corrupted textmode]].&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:20, 17 August 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
By giving the kernel the option acpi_sleep=s3_bios I've managed to get suspend to work from the console mode - though I still have the SATA-problem.  I'm running the gentoo kernel 2.6.17-r8, and will now try the tips from jlquinn...&lt;br /&gt;
&lt;br /&gt;
--[[User:Tobixen|Tobixen]] 14:15, 10 October 2006 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== removal of cd/dvd problems rambling? ==&lt;br /&gt;
&lt;br /&gt;
Should we remove the ramblings that are now the last section of the page?  That's just generic information on how to properly use cdrecord (and it is incomplete and incorrect to add insult to injury...).  If you use libata with ATAPI enabled and a new kernel, it *just works*, as the drive will look like a 100% SCSI device to cdrecord...&lt;br /&gt;
&lt;br /&gt;
--[[User:Hmh|hmh]] 06:12, 4 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
Agreed.&lt;br /&gt;
--[[User:Thinker|Thinker]] 14:01, 4 October 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
== libata.atapi_enabled didn't work, #define ATA_ENABLE_PATA worked! ==&lt;br /&gt;
&lt;br /&gt;
Hi there, I own a Thinkpad Z61m (fairly new), using a kernel which doesnt include IDE support (2.6.18.2). The libata.atapi_enabled=1 option didn't work, which means only the Hard Disk, and not the DVD-drive got recognized. However, adding ATA_ENABLE_PATA ''did'' work, now I don't need any option at all to modprobe.conf/bootloader config! lspci says: &amp;quot;IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)&amp;quot; PCIID: 8086:27df&lt;br /&gt;
&lt;br /&gt;
May be useful for somebody :) Bye! --[[User:Theclaw|Theclaw]] 18:42, 11 November 2006 (CET)&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Hidden_Protected_Area&amp;diff=26309</id>
		<title>Hidden Protected Area</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Hidden_Protected_Area&amp;diff=26309"/>
		<updated>2006-11-10T21:11:08Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== The Hidden Protected Area ===&lt;br /&gt;
The Hidden Protected Area (also known as the Host Protected Area and as the Predesktop Area) is a special area (usually a few gigabytes in size) located at the end of a hard disk. It is preinstalled on the harddisks of some ThinkPads. It is normally hidden to the software running on your ThinkPad. It includes all the software and data needed to recover the preloaded state of the ThinkPad. The HPA also includes some diagnostic tools and a (MS Windows only) backup tool.&lt;br /&gt;
&lt;br /&gt;
The HPA was introduced with the R/T/X 40 series of ThinkPads. It is refered to as the Predesktop Area in the BIOS Setup Utility. Recent ThinkPads can have a (hidden) partition that is also called [[Predesktop Area|Predesktop Area]] in the BIOS Setup Utility. That (hidden) partition is not an HPA. More information can be found in [[Rescue and Recovery | Rescue and Recovery]],&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:10px;width:10px;white-space:nowrap;&amp;quot; | [[Image:hpa.jpg|IBM PreDesktop Area]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==General information about the HPA==&lt;br /&gt;
As opposed to [[Rescue and Recovery|Recovery Partitions]], Protected Service Areas (PSAs) such as the HPA are (let's say) images of partitions written to the end of a harddisk. They are only accessible through their BEER. The general idea is that, under control of the BIOS, the PSAs are totally hidden from all ordinary software, including malware (viruses, trojans, spyware). They are only accessible when permitted by the BIOS, and even then only through special HPA-aware tools. Under GNU/Linux they are only accessible with low level tools like dd.&lt;br /&gt;
&lt;br /&gt;
The HPA is based on [http://www.phoenix.com/en/Products/Trusted+Applications/Phoenix+FirstWare/default.htm Phoenix FirstWare]. FirstWare is (in short) an implementation of two technologies: BEER and PARTIES. (Yes, those names are correct!) BEER (Boot Engineering Extension Record) and PARTIES (Protected Area Run Time Interface Extension Services) are described in [http://www.t13.org/project/d1367r3-PARTIES.pdf this T13 working draft]. There is a more general introduction to PARTIES on the [http://www-1.ibm.com/support/docview.wss?rs=0&amp;amp;uid=psg1MIGR-51248&amp;amp;loc=en_US IBM site]. FirstWare depends on certain [http://en.wikipedia.org/wiki/Advanced_Technology_Attachment#ATA_standards_versions.2C_transfer_rates.2C_and_features ATA-5] commands, so it won't work with lower ATA level (earlier) drives or even with all ATA-5 drives. Unfortunately, there is no public HPA compatibility tester or list of compatible drives.&lt;br /&gt;
&lt;br /&gt;
Basically, what's going on is that the Phoenix BIOS commands the drive to hide the last few gigabytes of the hard disk (the HPA). The to non-HPA aware software, the drive appears to have a smaller size. Note that this is just a setting in the BIOS and can be disabled. The HPA can be accessed by pressing {{ibmkey|Access IBM|#495988}} or {{key|Enter}} at boot time. The BIOS will then parse the BEER (128 bytes, situated in the last sector of 512 bytes of the harddisk) and the &amp;quot;Directory of Services&amp;quot; (consisting of directory entries of 64 bytes each, starting in the last sector and spilling over into the previous sectors) to see what part of the HPA should be launched. In (most?) ThinkPads the BEER tells the BIOS to launch the Access IBM Predesktop Area. The system will then actually be booting into a (minimal) DOS environment which is able to launch a graphical shell (called Phoenix FirstSight). IBM has simply rebranded this graphical shell to the Access IBM Predesktop Area. From this graphical shell one can launch several tools (BIOS Setup Utility, diagnostic tools, recovery tools).&lt;br /&gt;
&lt;br /&gt;
==Three BIOS options==&lt;br /&gt;
The BIOS has three settings for the &amp;quot;IBM Predesktop Area&amp;quot; (in the Security category):&lt;br /&gt;
*Secure: No user or SW-initiated changes; Contents hidden from OS&lt;br /&gt;
*Normal: Change allowed; Contents hidden from OS&lt;br /&gt;
*Disabled: Not Usable; Visible and Reclaimable&lt;br /&gt;
&lt;br /&gt;
Normal is the default setting. One can boot into the Predesktop Area when either Secure or Normal is set. When Disabled is set the Predesktop Area will not boot. According to the [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-46023 Predesktop Area white paper] the HPA is both &amp;quot;locked&amp;quot;{{footnote|1}} and &amp;quot;hidden&amp;quot; when Secure is set and only &amp;quot;hidden&amp;quot; when normal is set. In practice the result seems to be that the HPA is totally unavailable to the Linux kernel (and therefore all applications) when Secure is set. (The HPA should be unavailable in &amp;quot;Secure mode&amp;quot; for all operating systems, MS Windows included.) One would expect the HPA to be only accessable to HPA aware tools when Normal is set. However, recent kernels disable the HPA by default when Normal is set. Note that [http://marc.theaimsgroup.com/?l=linux-ide&amp;amp;w=2&amp;amp;r=1&amp;amp;s=Host+protected+area&amp;amp;q=b recent threads on linux-ide] suggest that the ThinkPad will reenable the HPA on resume and thus causing (possibly serious) conflicts with the GNU/Linux system (that assumes the HPA is still available).&lt;br /&gt;
&lt;br /&gt;
With Disabled you should be able to safely reclaim the area used by the HPA (to GNU/Linux it basically is unallocated space on the harddisk).&lt;br /&gt;
&lt;br /&gt;
==Details of the HPA==&lt;br /&gt;
Fabrice Bellet describes a [http://bellet.info/laptop/t40.html#the_predesktop_area technique he used] to explore the HPA of his ThinkPad T40, using GNU/Linux tools. This technique is only for the more curious or more careless people. It uses &amp;quot;dd&amp;quot; to copy the sectors on the harddisk containing the HPA from &amp;quot;/dev/hda&amp;quot; to a new file: when using &amp;quot;dd&amp;quot; on &amp;quot;/dev/hda&amp;quot; you are only one small typo away from an unrecoverable disaster!&lt;br /&gt;
&lt;br /&gt;
Here follows a more detailed description of the HPA on a ThinkPad T41 (60 GB harddisk) to contrast his findings.&lt;br /&gt;
&lt;br /&gt;
On this ThinkPad T41 the HPA is 3,4 GB in size. It contains 8 consecutive PSAs (Protected Service Areas). Six of those start with an x86 boot sector.&lt;br /&gt;
&lt;br /&gt;
* The first PSA is 3,2 GB in size. The OEM-ID of the boot sector is: &amp;quot;IBM  7.1&amp;quot;. It seems to hold a copy of the preloaded OS and everything needed to generate a bootable DVD-ROM for it, even an El Torito boot image and a boot catalog: see [[Backing up the preloaded OS]].&lt;br /&gt;
&lt;br /&gt;
* The second PSA is exactly 2 MB in size. According to its entry in the Directory of Service it's the &amp;quot;BIOSWORKAREA&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* The third PSA is only 7,4 MB in size. The OEM-ID of the boot sector is: &amp;quot;MSWIN4.1&amp;quot;. It seems to be an image of a 1,44 MB bootable floppy disk (with MS DOS) and a directory containig 6 MB of FirstWare tools. It will be launched by the &amp;quot;Recover to factory contents&amp;quot; tool of the Predesktop Area. Those &amp;quot;factory contents&amp;quot; should be the data on the first PSA.&lt;br /&gt;
&lt;br /&gt;
* The fourth PSA is only 1,4 MB in size. The OEM-ID of the boot sector is: &amp;quot;IBM  7.1&amp;quot;. It too seems to be an image of a (sort of) 1,44 MB bootable floppy disk. It will be launched by the &amp;quot;Restore your backups&amp;quot; tool of the Predesktop Area.&lt;br /&gt;
&lt;br /&gt;
* The fifth PSA is again 7,4 MB in size. The OEM-ID of the boot sector is: &amp;quot;IBM  7.0&amp;quot;. It will be launched by the &amp;quot;Run diagnostics&amp;quot; tool of the Predesktop Area.&lt;br /&gt;
&lt;br /&gt;
* The sixth PSA is also 7,4 MB in size and the OEM-ID of the boot sector also is: &amp;quot;IBM  7.0&amp;quot;. It will be launched by the &amp;quot;Create diagnostic disks&amp;quot; tool of the Predesktop Area. It contains a copy of a (sort of) bootable 1,44 MB floppy disk, some tools and compressed copies of the diagnostic disks.&lt;br /&gt;
&lt;br /&gt;
* The seventh PSA is only 1,4 MB in size. The OEM-ID of the boot sector is &amp;quot;PHOENIX&amp;quot;. It seems to be a copy of a (sort of) 1.44 MB bootable floppy disk too and only contains a (minimal) DOS and the FirstSight application. Basically, this is the Access IBM Predesktop Area.&lt;br /&gt;
&lt;br /&gt;
* The eigth PSA is 101 MB in size. It doesn't have a boot sector. It contains the FirstWare Reserved Area. That probably is some sort of swap space for the FirstWare system.&lt;br /&gt;
&lt;br /&gt;
==Accessing the HPA from Linux==&lt;br /&gt;
While Fabrice Bellet's method, described in the previous section, works in many cases, it has some serious flaws. The most important one -- is that each PSA has to be formated (i.e. has to posses a filesystem), and the size this filesystem has to be equal to the size of the PSA. If the HPA has some sort of a swap partition, or the filesystem size is a few megabytes less than the PSA's size, then we will not be able to find any following PSA(s).&lt;br /&gt;
&lt;br /&gt;
A more systematic approach would be just to use the BEER record to find the exact LBA addresses of all PSA(s). The idea is to use the [http://www.t13.org/project/d1367r3-PARTIES.pdf T13 working draft] of the BEER specs. There is some serious discussion on this matter going on in [[Talk:Predesktop_Area|Talk:Predesktop_Area]], but so far they didn't release any code to the public. As an interim solution, we can use a free open-source [http://colimit.googlepages.com clone of the Phoenix utility fwdir]. If we first disable the &amp;quot;IBM Predesktop Area&amp;quot; in BIOS (which, essentially, sends appropriate SETMAX command to the harddrive), then the whole harddrive will be accessible from the userspace. Now, if we run fwdir, a typical output of this utility would look like&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
 #   ID  Name                           1st Sector Sectors Sec Icon Flag&lt;br /&gt;
&lt;br /&gt;
 0 0000h FirstWare Reserved Area         234231736  204800   0  00h  03h&lt;br /&gt;
 1 0001h CONSOLE                         234170510   61226   0  FCh  01h&lt;br /&gt;
 2 0140h Recover Pro                     234088523   81987   0  00h  01h&lt;br /&gt;
 3 0104h Factory Restore                 234085638    2885   0  03h  03h&lt;br /&gt;
 4 0120h RADA Data                       234020102   65536   0  00h  02h&lt;br /&gt;
 5 0108h Factory Data                    230026502 3993600   0  00h  02h&lt;br /&gt;
 6 0141h Recover Pro Records             229616902  409600   0  00h  02h&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Once we know all the LBA addresses of the first sectors of all PSA(s) and their sizes, we can extract any particular PSA. E.g. the &amp;quot;Factory Data&amp;quot; PSA in this example can be extracted with&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
 dd if=/dev/hda of=/tmp/FacDat.img skip=230026502 count=3993600&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
But if we are only interested in the contents of this PSA partition, there is no need to extract it to a file and later mount it through a loop-device. It can be done right away with&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
 mount /dev/hda /mnt/fwdata -t vfat -o ro,offset=`expr 512 &amp;quot;*&amp;quot; 230026502`&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Of course, there is no way to know in advance which particular filesystem each PSA has (if any). This still has to be found by trial and error (because &amp;quot;mount -t auto&amp;quot; does not always work). In the above example, the &amp;quot;CONSOLE&amp;quot; PSA is formated in ext2.&lt;br /&gt;
&lt;br /&gt;
==How to reclaim the HPA==&lt;br /&gt;
After disabling the &amp;quot;IBM Predesktop Area&amp;quot; (with the BIOS option &amp;quot;Disabled&amp;quot;, see above) it's possible to reclaim the area used by the HPA. Then one can include that area in a partition with standard tools (i.e. fdisk, mkfs) as it will be treated just as regular free space of the hard disk.&lt;br /&gt;
&lt;br /&gt;
==Alternative uses?==&lt;br /&gt;
It might be possible to use the FirstWare tools included in the HPA to make the HPA more useful for GNU/Linux purposes. For instance, the copy of the preloaded OS could be replaced with an emergency backup of your GNU/Linux distribution. Maybe the Predesktop area could be even used to boot into a GNU/Linux rescue system. Whether the Phoenix proprietary tools really allow alternative uses and whether those tools do not make it too hard to accomplish those cannot yet be said. It seems realistic to assume that the benefits of those alternative uses aren't worth the effort to accomplish them. Still, it might be fun (altough possibly hazardous to your system) to try ...&lt;br /&gt;
&lt;br /&gt;
==Problems caused by the HPA==&lt;br /&gt;
As of Linux 2.6.18, having a HPA may cause errors when resuming the laptop from suspend-to-RAM or suspend-to-disk.  See the section called &amp;quot;SectorIdNotFound disk errors when laptop is resumed&amp;quot; in [[Problems with ACPI suspend-to-ram | ACPI suspend problems]].&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-46023 Predesktop Area white paper]&lt;br /&gt;
*[http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-46025 Predesktop Aministrator Utility (DOS)]&lt;br /&gt;
*[http://webstore.ansi.org/ansidocstore/product.asp?sku=ANSI+INCITS+346-2001 Protected Area Run Time Interface Extension Services (PARTIES) ANSI INCITS 346-2001 ($30)]&lt;br /&gt;
*[http://www.t13.org/project/d1367r3-PARTIES.pdf The latest free draft of ANSI INCITS 346-2001 (BEER specs)]&lt;br /&gt;
*[http://www.phoenix.com/NR/rdonlyres/7465D3CF-B0E3-4F64-9122-47D9C83028D0/0/cme_firstware_wp.pdf Phoenix FirstWare White Paper]&lt;br /&gt;
*[http://www.win.tue.nl/~aeb/linux/Large-Disk-11.html Section 11 of the Large Disk HOWTO (Clipped disks)]&lt;br /&gt;
&lt;br /&gt;
==Models featuring this Technology==&lt;br /&gt;
*ThinkPad {{R40}}, {{R40e}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}}, {{R52}}&lt;br /&gt;
*ThinkPad {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}&lt;br /&gt;
*ThinkPad {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41T}}&lt;br /&gt;
*ThinkPad {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
# Presumably by having the BIOS use the SET MAX security extension. The BIOS seems to set a password for the HPA at boot (using the SETMAX-SET PASSWORD command) and after that use that password to issue a SETMAX-LOCK command. Since the password is unknown (and most likely changes at every Secure boot) the HPA is inaccessable to all programs running on the ThinkPad.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;Something similar would be possible running in Normal mode. Then a program could issue the SETMAX-SET PASSWORD command. At the moment there's no program running under GNU/Linux capable of doing that. Of course this is possibly less secure: it's (theoretically) possible that other (rogue) programs get hold of that password.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Rescue_and_Recovery&amp;diff=26308</id>
		<title>Rescue and Recovery</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Rescue_and_Recovery&amp;diff=26308"/>
		<updated>2006-11-10T21:10:41Z</updated>

		<summary type="html">&lt;p&gt;Theclaw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;&amp;quot; | __NOTOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
===Rescue and Recovery===&lt;br /&gt;
Rescue and Recovery version 3.0 consists of a bootable partition containing various system recovery tools, including full recovery of the preinstalled Windows XP partition. It can be activated by pressing the {{ibmkey|ThinkPad|#494949}}, {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkVantage|#495988}} [[ThinkPad Button|Button]] during system boot. It contains a FAT filesystem (labeled &amp;quot;IBM_SERVICE&amp;quot;), and has partition type 0x12 (&amp;quot;Compaq diagnostics&amp;quot; in &amp;lt;tt&amp;gt;fdisk&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
As opposed to a [[Hidden Protected Area|Hidden Protected Area]] Recovery partitions are ordinary partitions, accessible through the partition table. As they are ordinary partitions they are accessible by ordinary partitioning tools. They should be dealt carefully with.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
==Proper MBR==&lt;br /&gt;
{{WARN|Only tinker with the MBR and the Rescue and Recovery partition if you know what you're doing. Mistakes can leave the system unbootable and can make it very difficult to retrieve the data on the harddisk.}}&lt;br /&gt;
&lt;br /&gt;
Consideration 6 of the Readme states:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;quot;The Master Boot Record (MBR) must be configured properly for the Rescue and Recovery application to function properly.  When possible, the Rescue and Recovery application attempts to ensure the proper configuration of the MBR.  This can only occur if the Rescue and Recovery application is installed after other applications that requires the MBR.&amp;quot;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Apparently, the MBR is not &amp;quot;configured properly&amp;quot; if LILO or GRUB have written it. The following is the case:&lt;br /&gt;
*the default bootloader seems to ignore the active bit and always boots the first partition instead&lt;br /&gt;
*the default bootloader contains code to catch a press of the appropriate button during bootup and launch the Rescue and Recovery application in that case&lt;br /&gt;
*before launching the Rescue and Recovery application at system boot, the default bootloader changes the partition type of the Rescue and Recovery partiton to 0x0b, otherwise it changes it to 0x12 (to hide it from Windows)&lt;br /&gt;
*the Rescue and Recovery application assumes that the first partition contains Windows&lt;br /&gt;
*the Rescue and Recovery partition needs to be of type 0x0b (FAT32) otherwise the default bootloader will not launch the Rescue and Recovery application&lt;br /&gt;
&lt;br /&gt;
Since neither LILO nor GRUB catch the press of the button (an undocumented mechanism anyway) it is not possible to launch the Rescue and Recovery application by pressing the appropriate button during system boot, once LILO or GRUB have altered the MBR for their boot procedure.&lt;br /&gt;
&lt;br /&gt;
IBM provides a program to manage the Rescue and Recovery bootloader. It is located in {{path|C:\Program Files\IBM ThinkVantage\Common\BMGR}} or {{path|C:\Program Files\Common Files\Lenovo\BMGR}}. It can select the partition to boot, and also allows for rewriting the MBR if it was written by another bootloader.&lt;br /&gt;
&lt;br /&gt;
===MBR written by GRUB===&lt;br /&gt;
If the MBR was written by GRUB you can still use GRUB to launch the Rescue and Recovery application. However if you leave the type of the Rescue and Recovery partition to 0x12 (Compaq diagnostics), this will result in an error message &amp;quot;c000021a, Fatal System Error&amp;quot; if you try to launch it. To avoid that and to make sure the recovery partition always is of the right type, add a line to change the partition type to 0x0b to the Rescue and Recovery partition's entry in your {{path|/boot/grub/menu.lst}}. Assuming your Rescue and Recovery partition is the second partition, it could look like this:&lt;br /&gt;
  title           IBM Rescue and Recovery&lt;br /&gt;
  root            (hd0,1)&lt;br /&gt;
  '''parttype        (hd0,1) 0x0b'''&lt;br /&gt;
  '''unhide          (hd0,1)'''&lt;br /&gt;
  chainloader     +1&lt;br /&gt;
&lt;br /&gt;
Also add an &amp;lt;tt&amp;gt;unhide&amp;lt;/tt&amp;gt; line here because we are going to hide the Rescue and Recovery partition on every boot of Windows, so we need to unhide it, when the recovery partition is booted. This is because if we don't hide the partition when booting Windows, it would be visible and accessable there and that's not what we want. So, assuming that Windows is on the first partition, the Windows entry could now look like this:&lt;br /&gt;
  title           Windows&lt;br /&gt;
  root            (hd0,0)&lt;br /&gt;
  '''hide            (hd0,1)'''&lt;br /&gt;
  chainloader     +1&lt;br /&gt;
&lt;br /&gt;
===GRUB in a partitions boot sector===&lt;br /&gt;
A way to have your Access IBM button still functional on bootup, is to create a separate {{path|/boot}} partition, install GRUB to that partition and make it active. This will leave the MBR untouched.&lt;br /&gt;
{{NOTE|If the above finding is true that the MBR ignores the active bit, that partition has to be the first one. In most recent Linux distributions it is not easy to create /boot as first partition and shrink the Windows partition. In that case the Windows bootloader can be used to boot Windows and Linux, also preserving the Rescue and Recovery functionality. See below.}}&lt;br /&gt;
*In the BIOS, set the IBM Predesktop Area to 'Secure'.&lt;br /&gt;
*Boot your Linux distribution's installation CD.&lt;br /&gt;
*Follow the instructions and go through the regular installation process.&lt;br /&gt;
*Create a '''primary partition''' for /boot (the other stuff can go into the extended partitions) and when the time comes to install GRUB, make sure you install it into the boot sector of the boot partition.&lt;br /&gt;
*Set this boot partition as active.&lt;br /&gt;
&lt;br /&gt;
===Using NTLDR to boot Linux===&lt;br /&gt;
It is possible to configure the Windows bootloader to also boot Linux (installed on separate partition). This allows to preserve the Rescue and Recovery functionality at system boot (as MBR is not modified), Windows XP (booted via its native bootloader) and Linux (booted from its own partition by Windows XP bootloader). A quick and dirty howto, regarding applying this procedure to Ubuntu Dapper Drake installation can be found [http://gawrysiak.org/corvus/?p=4 here].&lt;br /&gt;
&lt;br /&gt;
==Older versions of Rescue and Recovery==&lt;br /&gt;
Some Thinkpads (e.g., T23 and T30) do not come with a Recovery CD, but also do not support the [[Hidden Protected Area]].  These ThinkPads have an older version of Rescue and Recovery preloaded on the hard disk to implement the factory recovery function.  Most of the comments above also apply to the older versions, with the following differences:&lt;br /&gt;
*The recovery partition type is 0x1c, hidden FAT32, LBA-mapped (or 0xc when unhidden).&lt;br /&gt;
*The boot manager program is in {{path|C:\IBMTOOLS\RECOVERY}} and only runs in a 16-bit DOS environment&lt;br /&gt;
{{Fixme|name of this boot manager needed}}&lt;br /&gt;
*The IBM Predesktop area runs atop of Windows 98 (command-line) instead of WinPE&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
* IBM page on [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4Q2QAK ThinkVantage Rescue and Recovery].&lt;br /&gt;
* [ftp://ftp.software.ibm.com/pc/pccbbs/thinkvantage_en/tvtrnr3_1027en.txt Rescue and Recovery Readme]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-46088 IBM page about accessing the Recovery Partition if Linux has been installed and the F11 button no longer works]&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-54483 IBM Rescue and Recovery repair diskette]&lt;br /&gt;
&lt;br /&gt;
==Models featuring this technology==&lt;br /&gt;
* ThinkPad {{T23}}, {{T30}} (R&amp;amp;R 2.0)&lt;br /&gt;
* ThinkPad {{T42}}&lt;br /&gt;
* ThinkPad {{T43}}, {{T43p}}&lt;br /&gt;
* ThinkPad {{R52}}&lt;br /&gt;
* ThinkPad {{Z60m}}&lt;br /&gt;
* Thinkpad {{Z61m}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Theclaw</name></author>
		
	</entry>
</feed>