<?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=ZolnOtt</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=ZolnOtt"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/ZolnOtt"/>
	<updated>2026-05-23T14:10:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Thermal_Sensors&amp;diff=24027</id>
		<title>Thermal Sensors</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Thermal_Sensors&amp;diff=24027"/>
		<updated>2006-08-06T22:49:30Z</updated>

		<summary type="html">&lt;p&gt;ZolnOtt: /* Utilities for viewing temperatures */&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 summarizes known information about the locations and properties of thermal sensors on ThinkPad laptops. &lt;br /&gt;
|}&lt;br /&gt;
==Accessing the sensors==&lt;br /&gt;
===Basic ACPI system temperature sensors===&lt;br /&gt;
The primary means of accessing the thermal sensors is through the [[ibm-acpi]] module. When the module is loaded, the first 8 sensors (some of which may be inactive) are shown in {{path|/proc/acpi/ibm/thermal}}:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /proc/acpi/ibm/thermal}}&lt;br /&gt;
:{{cmdresult|temperatures:   44 41 33 42 33 -128 30 -128}}&lt;br /&gt;
&lt;br /&gt;
A value of -128 (i.e., 0x80 hex) means the sensor is not connected. For example, above the two -128 values belong to the UltraBay battery, which is not plugged in.&lt;br /&gt;
&lt;br /&gt;
===Extra ACPI system temperature sensors===&lt;br /&gt;
&lt;br /&gt;
On recent ThinkPad models, three extra sensors are accessible through ACPI at Embedded Controller offsets 0xC0 to 0xC2. There are two ways to access them:&lt;br /&gt;
&lt;br /&gt;
====Accessing the extra ACPI sensors through &amp;lt;tt&amp;gt;ecdump&amp;lt;/tt&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Load [[ibm-acpi]] with the &amp;lt;tt&amp;gt;experimental=1&amp;lt;/tt&amp;gt; option, and parse {{path|/proc/acpi/ibm/ecdump}}:&lt;br /&gt;
:{{cmdroot|perl -ne 'm/^EC 0xc0: .(..) .(..) .(..) / or next; print hex($1).&amp;quot; &amp;quot;.hex($2).&amp;quot; &amp;quot;.hex($3).&amp;quot;\n&amp;quot;' &amp;lt; /proc/acpi/ibm/ecdump}}&lt;br /&gt;
:{{cmdresult|40 48 43}}&lt;br /&gt;
&lt;br /&gt;
Future models might provide additional extra sensors beyond those three. To see all candidates:&lt;br /&gt;
:{{cmdroot|perl -ne 'print join(&amp;quot; &amp;quot;,map(hex,m/\w+/g)).&amp;quot;\n&amp;quot; if s/^EC 0xc0://' &amp;lt; /proc/acpi/ibm/ecdump}}&lt;br /&gt;
:{{cmdresult|40 48 43 128 128 128 128 128 0 0 0 0 0 0 0 0}}&lt;br /&gt;
&lt;br /&gt;
====Patch for accessing the extra ACPI sensors through &amp;lt;tt&amp;gt;thermal&amp;lt;/tt&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
To make the extra 3 sensors show up on {{path|/proc/acpi/ibm/thermal}} just like the 8 basic sensors, apply the {{CodeRef|ibm_acpi-extra-thermal.patch}} kernel patch to [[ibm-acpi]].&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /proc/acpi/ibm/thermal}}&lt;br /&gt;
:{{cmdresult|temperatures:   44 41 33 42 33 -128 30 -128 40 48 43}}&lt;br /&gt;
&lt;br /&gt;
If you apply this patch in conjunction with [[ACPI_fan_control_script#Comprehensive_bash_script_with_fine_control_over_fan_speed|tp-fancontrol]], you'll need tp-fancontrol 0.2.9 or newer.&lt;br /&gt;
&lt;br /&gt;
===HDAPS temperature sensor===&lt;br /&gt;
The [[Active Protection System]] accelerometer also reports a temperature, which is identical to one of the ACPI sensors. The corresponding sensor is actually not inside the HDAPS chip, but fairly close.&lt;br /&gt;
:{{cmdroot|cat /sys/bus/platform/drivers/hdaps/hdaps/temp1}}&lt;br /&gt;
:{{cmdresult|41}}&lt;br /&gt;
&lt;br /&gt;
===Harddisks SMART temperature sensor===&lt;br /&gt;
Finally, the system hard disk temperature can be read through the disk's SMART interface:&lt;br /&gt;
:{{cmdroot|&amp;lt;nowiki&amp;gt;smartctl -A /dev/hda | grep Temperature&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:{{cmdresult|194 Temperature_Celsius     0x0022   145   097   000    Old_age   Always       -       31}}&lt;br /&gt;
&lt;br /&gt;
Or, for SATA-equipped models running a recent Linux kernel (see [[Problems with SATA and Linux]]):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|&amp;lt;nowiki&amp;gt;smartctl -A -d ata /dev/sda | grep Temperature&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
:{{cmdresult|194 Temperature_Celsius     0x0022   145   097   000    Old_age   Always       -       31}}&lt;br /&gt;
&lt;br /&gt;
When the [[UltraBay Slim HDD Adapter]] or [[UltraBay Slim SATA HDD Adapter]] are used, the second hard disk will typically provide another temperature readout via its SMART interface, analogously to the above.&lt;br /&gt;
&lt;br /&gt;
==Utilities for viewing temperatures==&lt;br /&gt;
&lt;br /&gt;
The following utilities display the ThinkPad-specific thermal sensor readouts:&lt;br /&gt;
* The above shell commands.&lt;br /&gt;
* The &amp;quot;Sensors&amp;quot; builtin of [[GKrellM]] can show 6 specific ACPI sensors (out of up to 11).&lt;br /&gt;
* [http://www.kde-look.org/content/show.php?content=33257 CPU Info] is a KDE applet that can display the 8 first ACPI sensors as well as the HDAPS sensor. Limited to showing one sensor at a time.&lt;br /&gt;
* [http://www.kraus.tk/projects/IBMDoK/ IBMDoK], another KDE applet. Shows 4 specific sensors (out of up to 11). So far only tested at the {{T60}}.&lt;br /&gt;
* [http://www.zolnott.de/software/applications/ibm-acpi-applet-for-gnome-210-and-higher.html IBM ACPI applet] is a small gnome panel applet which shows the fan speed and thermal informations&lt;br /&gt;
&lt;br /&gt;
==Sensor locations==&lt;br /&gt;
This information is model specific.&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{R51}}===&lt;br /&gt;
The [[ibm-acpi]] documentation includes the report by Thomas Gruber:&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    Mini-PCI&lt;br /&gt;
 0x7A        3                    HDD&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    System battery&lt;br /&gt;
 0x7D        6                    UltraBay battery&lt;br /&gt;
 0x7E        7                    System battery&lt;br /&gt;
 0x7F        8                    UltraBay battery&lt;br /&gt;
 0xC0        none                 ?&lt;br /&gt;
 0xC1        none                 ?&lt;br /&gt;
 0xC2        none                 ?&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T40}}===&lt;br /&gt;
The location of one of the sensors is identified [http://forum.thinkpads.com/viewtopic.php?t=11574 here].&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    System board under rear left corner of Mini-PCI module&lt;br /&gt;
 0x7A        3                    ?&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    Battery&lt;br /&gt;
 0x7D        6                    n/a&lt;br /&gt;
 0x7E        7                    Battery&lt;br /&gt;
 0x7F        8                    n/a&lt;br /&gt;
 0xC0        none                 n/a&lt;br /&gt;
 0xC1        none                 n/a&lt;br /&gt;
 0xC2        none                 n/a&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T43}}, {{T43p}}===&lt;br /&gt;
Found by Shmidoax using cooling spray to cool down components and observe the effect on the sensors.&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU&lt;br /&gt;
 0x79        2                    Between PCMCIA slot and CPU (same as HDAPS module)&lt;br /&gt;
 0x7A        3                    PCMCIA slot&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    System battery (front left = charging circuit)&lt;br /&gt;
 0x7D        6                    UltraBay battery?&lt;br /&gt;
 0x7E        7                    System battery (rear right)&lt;br /&gt;
 0x7F        8                    UltraBay battery?&lt;br /&gt;
 0xC0        none                 Bus between Northbridge and DRAM&lt;br /&gt;
 0xC1        none                 Southbridge (under Mini-PCI card, under touchpad)&lt;br /&gt;
 0xC2        none                 Power circuitry, on underside of system board under F2 key&lt;br /&gt;
{{gallery_start}}&lt;br /&gt;
{{thumb|T43-thermal-sensors.jpg|ThinkPad T43 sensor locations}}&lt;br /&gt;
{{thumb|T43-2668-thermal-sensors-zoom.jpg|ThinkPad T43 sensor locations detail}}&lt;br /&gt;
{{thumb|T43p-H8S2161.jpg|ThinkPad T43/p 26xx Embedded Controller Renesas H8S/2161BV}}&lt;br /&gt;
{{gallery_end}}&lt;br /&gt;
&lt;br /&gt;
===ThinkPad {{T60}}===&lt;br /&gt;
Found by Marco Kraus for use in [http://www.kraus.tk/projects/IBMDoK/ IBMDok].&lt;br /&gt;
 EC offset   Index in &amp;quot;thermal&amp;quot;   Location (estimated)&lt;br /&gt;
 0x78        1                    CPU 0&lt;br /&gt;
 0x79        2                    HDD&lt;br /&gt;
 0x7A        3                    HDD&lt;br /&gt;
 0x7B        4                    GPU&lt;br /&gt;
 0x7C        5                    Battery&lt;br /&gt;
 0x7D        6                    n/a&lt;br /&gt;
 0x7E        7                    Battery&lt;br /&gt;
 0x7F        8                    n/a&lt;br /&gt;
 0xC0        none                 ?&lt;br /&gt;
 0xC1        none                 ?&lt;br /&gt;
 0xC2        none                 ?&lt;br /&gt;
&lt;br /&gt;
The CPU thermal sensors seem to be exposed in both {{path|/proc/acpi/thermal_zone/THM0/temperature}} and {{path|/proc/acpi/thermal_zone/THM1/temperature}}, though the latter curiously seems to exist only in this file and nowhere in {{path|/proc/acpi/ibm/ecdump}}.&lt;/div&gt;</summary>
		<author><name>ZolnOtt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=21110</id>
		<title>Problems with SATA and Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=21110"/>
		<updated>2006-03-24T21:24:32Z</updated>

		<summary type="html">&lt;p&gt;ZolnOtt: /* No DMA on DVD drive */&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;
Some ThinkPad models use a SATA controller for the system hard disk. This causes several complications for Linux installation. The following lists these problems and known workarounds. Note that the details are often version- and distribution-specific.&lt;br /&gt;
&lt;br /&gt;
===Models using a SATA disk interface===&lt;br /&gt;
Models using a SATA controller and a SATA system disk:&lt;br /&gt;
*ThinkPad {{T60}}, {{T60p}}&lt;br /&gt;
*ThinkPad {{X60}}, {{X60s}}&lt;br /&gt;
*ThinkPad {{Z60t}}, {{Z60m}}&lt;br /&gt;
Models using a SATA controller and a PATA (IDE) system disk with a SATA-to-PATA bridge:&lt;br /&gt;
*ThinkPad {{T43}}, {{T43p}}&lt;br /&gt;
*ThinkPad {{R52}}&lt;br /&gt;
*ThinkPad {{X41}}, {{X41T}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Some of these problems (namely SMART support, power management and disk information) are solved in Linux 2.6.15 with the inclusion of libata pass-through. See the SATA driver [http://linux-ata.org/features.html features], [http://linux-ata.org/software-status.html software status] and [http://linux-ata.org/sata-status.html hardware status].}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Hang on resume from suspend to RAM==&lt;br /&gt;
&lt;br /&gt;
Linux kernels prior to 2.6.16 do not support suspend and resume for SATA devices. As a result, the machine hangs upon the first disk access after resume. A kernel patch ([http://lkml.org/lkml/2005/5/2/46 LKML posting]) fixes this by adding SATA power management support.&lt;br /&gt;
&lt;br /&gt;
Kernel 2.6.16 and later fixes this problem.&lt;br /&gt;
&lt;br /&gt;
===Patches===&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/sata_pm.2.6.12.diff Patch for kernel 2.6.12]&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/sata_pm.2.6.13-rc5.diff Patch for kernel 2.6.13-rc5]&lt;br /&gt;
* [http://lkml.org/lkml/2005/9/23/97 Patch for kernel 2.6.14]&lt;br /&gt;
* [http://www.xenotime.net/linux/SATA/2.6.15-rc/libata_suspend.patch Patch for kernel 2.6.15-rc4]&lt;br /&gt;
* [http://tpctl.sourceforge.net/tmp/sata_pm.2.6.15-rc6.patch Patch for kernels 2.6.15-rc6 through 2.6.15]&lt;br /&gt;
&lt;br /&gt;
Some distributions already include this patch (e.g., {{Ubuntu}} Breezy, {{Gentoo}}'s gentoo-sources 2.6.15-r1), but some don't (e.g., {{Fedora}} 4). If your distribution doesn't include the patch, you will need to compile your own kernel with this patch included.&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* RedHat Bugzilla [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=169201 bug 169201: &amp;quot;SATA drives fail on laptop suspend&amp;quot;]&lt;br /&gt;
* [http://lkml.org/lkml/2005/11/15/385 Fix to libata.h recommended on LKML] in case you get &amp;quot;ata: abnormal state 0x80 on port 0x1F7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Failed resume from suspend to disk==&lt;br /&gt;
&lt;br /&gt;
Suspend to disk (using [[swsusp]] or [[Software Suspend 2]]) needs to load the memory image from the SATA disk. For this to work, you either need an initrd with all the necessary SATA modules, or the SATA drivers compiled into the kernel.&lt;br /&gt;
&lt;br /&gt;
==DVD drive not recognized==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; SATA driver grabs ownership over the IDE ports when it is loaded, but (by default) does not support PATA ATAPI devices such as the Ultrabay optical drives. Thus, if the &amp;lt;tt&amp;gt;ide&amp;lt;/tt&amp;gt; driver is compiled as a module and loaded after &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt;, the DVD drive will not be recognized by either driver.&lt;br /&gt;
&lt;br /&gt;
Either of the following configurations will work:&lt;br /&gt;
* For kernel 2.6.14 and newer: enable ATAPI support in the SATA system using {{bootparm|libata.atapi_enabled|1}} (see below; this is experimental).&lt;br /&gt;
* Compile IDE into the kernel (non-module).&lt;br /&gt;
* Compile both IDE and SATA as modules and make sure IDE is loaded first (the module is called 'ide_generic').&lt;br /&gt;
&lt;br /&gt;
Note that the optical drive must be in the Ultrabay during system boot (Ultrabay device swapping is currently unsupported).&lt;br /&gt;
&lt;br /&gt;
==No DMA on DVD drive==&lt;br /&gt;
&lt;br /&gt;
Using the IDE driver, DMA support cannot be enabled on an Ultrabay optical drive:&lt;br /&gt;
&lt;br /&gt;
 # hdparm -d1 /dev/hdc&lt;br /&gt;
 &lt;br /&gt;
 /dev/hdc:&lt;br /&gt;
  setting using_dma to 1 (on)&lt;br /&gt;
  HDIO_SET_DMA failed: Operation not permitted&lt;br /&gt;
  using_dma    =  0 (off)&lt;br /&gt;
&lt;br /&gt;
As a result, the optical drive is slow, and in particular, too slow to play video DVDs.&lt;br /&gt;
&lt;br /&gt;
One workaround is to use employ the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver (instead of the IDE driver) for the optical drive. This requires enabling the ATAPI support of the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver, which is under active development and not yet stable. Using this will probably devour all your data and go on to eat all the food in your fridge. But if you have full backups and an empty fridge, do the following:&lt;br /&gt;
&lt;br /&gt;
* Grab the latest kernel (must be 2.6.14 or newer; the relevant code is under active development).&lt;br /&gt;
* Do one of the following:&lt;br /&gt;
** Enable the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt;) drivers as built-in, and add {{bootparm|libata.atapi_enabled|1}} to your kernel command line (e.g., in in {{path|/boot/grub/menu.lst}}).&lt;br /&gt;
** Enable &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt;) as modules (this is often the default) and add &amp;quot;&amp;lt;tt&amp;gt;options libata atapi_enabled=1&amp;lt;/tt&amp;gt;&amp;quot; to your {{path|/etc/modprobe.conf}} (or the equivalent in your distribution).&lt;br /&gt;
* Do one of the following:&lt;br /&gt;
** Disable the IDE system.&lt;br /&gt;
** Build the IDE driver as built-in (this is often the default) and add the {{bootparm|hdc|noprobe}} kernel argument (e.g., in in {{path|/boot/grub/menu.lst}}).&lt;br /&gt;
** Build the IDE driver as module and add &amp;quot;&amp;lt;tt&amp;gt;options ide hdc=noprobe&amp;lt;/tt&amp;gt;&amp;quot; to your {{path|/etc/modprobe.conf}} (or the equivalent in your distribution).&lt;br /&gt;
* If you chose to use modules above, regenerate your &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
There are a problem using the 2.6.16 kernel and suspend2 2.2.1&lt;br /&gt;
* [http://lists.suspend2.net/lurker/message/20060322.082452.873dc526.en.html Alexander E. Patrakov notice] that after deleting the 4000-libata-rollup-2616-rc3.patch the DVD drive works again &lt;br /&gt;
After that i works for me on my {{T43}}&lt;br /&gt;
&lt;br /&gt;
If this doesn't work, use {{cmd|lspci -vn|}} to check whether one of the following chipsets is used in the Thinkpad:&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;
!PCI ID &lt;br /&gt;
!Name&lt;br /&gt;
|-&lt;br /&gt;
|8086:7111&lt;br /&gt;
|Intel 82371AB/EB/MB PIIX4 IDE&lt;br /&gt;
|-&lt;br /&gt;
|8086:24db&lt;br /&gt;
|Intel 82801EB/ER (ICH5/ICH5R) IDE Controller&lt;br /&gt;
|-&lt;br /&gt;
|8086:25a2&lt;br /&gt;
|Intel 6300ESB PATA Storage Controller&lt;br /&gt;
|}&lt;br /&gt;
If yes, enable support for these chipsets has to be enabled by setting&lt;br /&gt;
 #define ATA_ENABLE_PATA&lt;br /&gt;
in {{path|include/linux/libata.h}} (and report your ThinkPad model in the discussion page).&lt;br /&gt;
&lt;br /&gt;
There have been reports that DVD burning doesn't work under this configuration, but it seems to work with kernel 2.6.14 and later (tested on a ThinkPad {{T43}} and {{T43p}} with a [[UltraBay Slim DVD Multi-Burner Plus]]).&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* RedHat Bugzilla [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=163418 bug 163418: &amp;quot;can't enable DMA on DVD drive&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==No DMA on system hard disk==&lt;br /&gt;
&lt;br /&gt;
In recent Linux kernels, there are two modules capable of handling the ICH6 disk controller:&lt;br /&gt;
* &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt;: the disk shows as {{path|/dev/sda}} and DMA is enabled.&lt;br /&gt;
* Generic IDE driver (&amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt;): the disk shows as {{path|/dev/hda}} and DMA is disabled.&lt;br /&gt;
&lt;br /&gt;
The simplest way to enable DMA is to force the IDE driver to ignore the system hard disk by passing the {{bootparm|hda|noprobe}} kernel argument. The driver will then be handled by the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver. Note that this will change its device name to {{path|/dev/sda}} (which may require changes in {{path|/etc/fstab}} and the boot loader) and may cause other problems as listed above.&lt;br /&gt;
&lt;br /&gt;
(Observed on a ThinkPad T43 with Fedora Core kernel 2.6.13-1.1526_FC4.)&lt;br /&gt;
&lt;br /&gt;
==No SMART support==&lt;br /&gt;
&lt;br /&gt;
Prior to kernel 2.6.15, the Linux SATA system did not support SMART commands (e.g., via smartctl).&lt;br /&gt;
&lt;br /&gt;
The necessary capability is &amp;quot;libata pass-through&amp;quot;, which was incorporated into Linux 2.6.15-rc1 and later. A patch is available for older kernels:&lt;br /&gt;
* Kernel 2.6.12: http://rtr.ca/dell_i9300/kernel/kernel-2.6.12/03_libata_passthru.patch&lt;br /&gt;
* Kernel 2.6.13: http://rtr.ca/dell_i9300/kernel/kernel-2.6.13/02_libata_passthru.patch&lt;br /&gt;
* Kernel 2.6.14: http://www.foo.fh-furtwangen.de/~koenigr/02_libata_passthru.fixed.again.patch&lt;br /&gt;
* Kernel 2.6.14 with the above suspend-to-RAM patch: http://linux.spiney.org/system/files?file=02_libata_passthru.fixed.patch&lt;br /&gt;
&lt;br /&gt;
After applying the patch, run smartctl with the &amp;quot;-d ata&amp;quot; parameter:&lt;br /&gt;
:{{cmdroot|smartctl -d ata -a /dev/sda}}&lt;br /&gt;
&lt;br /&gt;
==No disk power management==&lt;br /&gt;
&lt;br /&gt;
Prior to kernel 2.6.15, the Linux SATA system did not support power management commands on these models.&lt;br /&gt;
&lt;br /&gt;
The above patches for SMART support resolves this, and in particular enables the following commands:&lt;br /&gt;
* {{cmdroot|hdparm -y}} (spin down)&lt;br /&gt;
* {{cmdroot|hdparm -S num}} (automatic spin down timeout)&lt;br /&gt;
* {{cmdroot|hdparm -B num}} (advanced power management level)&lt;br /&gt;
Note that this command is still rejected:&lt;br /&gt;
* {{cmdroot|hdparm -M num}} (acoustic management)&lt;br /&gt;
(Tested with patched kernels 2.6.13.1 and 2.6.12-4 and a 60GB 7200RPM disk model HTS726060M9AT00.)&lt;br /&gt;
&lt;br /&gt;
Note that even when [[Laptop-mode]] is used, the &amp;quot;hddtemp&amp;quot; daemon (as shipped with Fedora Core 4) will wake up the disk every minute, and must thus be disabled for power management to be effective. Its accesses are not visibile through the {{path|/proc/sys/vm/block_dump}} facility. It is unclear whether disk temperature can be monitored without causing the disk to spin up (on the {{T43}}, none of the {{path|/proc/acpi/ibm/thermal}} values corresponds to the disk's built-in temperature sensor).&lt;br /&gt;
&lt;br /&gt;
==No disk information==&lt;br /&gt;
&lt;br /&gt;
Prior to kernel 2.6.15, on these models the disk information could not be read by the standard commands such as:&lt;br /&gt;
*{{cmdroot|hdparm -i /dev/sda}}&lt;br /&gt;
*{{cmdroot|hdparm -I /dev/sda}}&lt;br /&gt;
The latter is fixed by the above patch for SMART support.&lt;br /&gt;
&lt;br /&gt;
==No swapping of UltraBay device==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; driver does not yet support hot-swapping (or warm-swapping) of PATA devices. If you use a DVD or 2nd PATA HDD via the &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; (SATA) driver, to swap them in or out you must power down the machine.&lt;br /&gt;
&lt;br /&gt;
If you use the &amp;lt;tt&amp;gt;ide&amp;lt;/tt&amp;gt; driver for a PATA UltraBay device, hot-swapping might work using [[lt_hotswap]], &amp;lt;tt&amp;gt;hdparm&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;idectl&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; (please report). However, since you use the &amp;lt;tt&amp;gt;ide&amp;lt;/tt&amp;gt; driver, DMA will be disabled (see above).&lt;br /&gt;
&lt;br /&gt;
If you use a SATA device in the UltraBay, &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; hot-swapping might work (please report).&lt;br /&gt;
&lt;br /&gt;
Swapping of the [[UltraBay Slim Battery]] does work.&lt;br /&gt;
&lt;br /&gt;
==BIOS error 2010 on user-installed hard disk==&lt;br /&gt;
&lt;br /&gt;
While not a Linux issue, note that there is an issue with installing alternative PATA (IDE) hard disks as the system drive. Unless the disk is one of the few approved disks listed inside the BIOS, you will get an BIOS error 2010 during system boot, and the disk may operate unreliably. See [[Problem with non-ThinkPad hard disks]].&lt;/div&gt;</summary>
		<author><name>ZolnOtt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=21084</id>
		<title>Problems with SATA and Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=21084"/>
		<updated>2006-03-24T06:59:16Z</updated>

		<summary type="html">&lt;p&gt;ZolnOtt: /* No DMA on DVD drive */&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;
Some ThinkPad models use a SATA controller for the system hard disk. This causes several complications for Linux installation. The following lists these problems and known workarounds. Note that the details are often version- and distribution-specific.&lt;br /&gt;
&lt;br /&gt;
===Models using a SATA disk interface===&lt;br /&gt;
Models using a SATA controller and a SATA system disk:&lt;br /&gt;
*ThinkPad {{T60}}, {{T60p}}&lt;br /&gt;
*ThinkPad {{X60}}, {{X60s}}&lt;br /&gt;
*ThinkPad {{Z60t}}, {{Z60m}}&lt;br /&gt;
Models using a SATA controller and a PATA (IDE) system disk with a SATA-to-PATA bridge:&lt;br /&gt;
*ThinkPad {{T43}}, {{T43p}}&lt;br /&gt;
*ThinkPad {{R52}}&lt;br /&gt;
*ThinkPad {{X41}}, {{X41T}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Some of these problems (namely SMART support, power management and disk information) are solved in Linux 2.6.15 with the inclusion of libata pass-through. See the SATA driver [http://linux-ata.org/features.html features], [http://linux-ata.org/software-status.html software status] and [http://linux-ata.org/sata-status.html hardware status].}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Hang on resume from suspend to RAM==&lt;br /&gt;
&lt;br /&gt;
Linux kernels prior to 2.6.16 do not support suspend and resume for SATA devices. As a result, the machine hangs upon the first disk access after resume. A kernel patch ([http://lkml.org/lkml/2005/5/2/46 LKML posting]) fixes this by adding SATA power management support.&lt;br /&gt;
&lt;br /&gt;
Kernel 2.6.16 and later fixes this problem.&lt;br /&gt;
&lt;br /&gt;
===Patches===&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/sata_pm.2.6.12.diff Patch for kernel 2.6.12]&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/sata_pm.2.6.13-rc5.diff Patch for kernel 2.6.13-rc5]&lt;br /&gt;
* [http://lkml.org/lkml/2005/9/23/97 Patch for kernel 2.6.14]&lt;br /&gt;
* [http://www.xenotime.net/linux/SATA/2.6.15-rc/libata_suspend.patch Patch for kernel 2.6.15-rc4]&lt;br /&gt;
* [http://tpctl.sourceforge.net/tmp/sata_pm.2.6.15-rc6.patch Patch for kernels 2.6.15-rc6 through 2.6.15]&lt;br /&gt;
&lt;br /&gt;
Some distributions already include this patch (e.g., {{Ubuntu}} Breezy, {{Gentoo}}'s gentoo-sources 2.6.15-r1), but some don't (e.g., {{Fedora}} 4). If your distribution doesn't include the patch, you will need to compile your own kernel with this patch included.&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* RedHat Bugzilla [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=169201 bug 169201: &amp;quot;SATA drives fail on laptop suspend&amp;quot;]&lt;br /&gt;
* [http://lkml.org/lkml/2005/11/15/385 Fix to libata.h recommended on LKML] in case you get &amp;quot;ata: abnormal state 0x80 on port 0x1F7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Failed resume from suspend to disk==&lt;br /&gt;
&lt;br /&gt;
Suspend to disk (using [[swsusp]] or [[Software Suspend 2]]) needs to load the memory image from the SATA disk. For this to work, you either need an initrd with all the necessary SATA modules, or the SATA drivers compiled into the kernel.&lt;br /&gt;
&lt;br /&gt;
==DVD drive not recognized==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; SATA driver grabs ownership over the IDE ports when it is loaded, but (by default) does not support PATA ATAPI devices such as the Ultrabay optical drives. Thus, if the &amp;lt;tt&amp;gt;ide&amp;lt;/tt&amp;gt; driver is compiled as a module and loaded after &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt;, the DVD drive will not be recognized by either driver.&lt;br /&gt;
&lt;br /&gt;
Either of the following configurations will work:&lt;br /&gt;
* For kernel 2.6.14 and newer: enable ATAPI support in the SATA system using {{bootparm|libata.atapi_enabled|1}} (see below; this is experimental).&lt;br /&gt;
* Compile IDE into the kernel (non-module).&lt;br /&gt;
* Compile both IDE and SATA as modules and make sure IDE is loaded first (the module is called 'ide_generic').&lt;br /&gt;
&lt;br /&gt;
Note that the optical drive must be in the Ultrabay during system boot (Ultrabay device swapping is currently unsupported).&lt;br /&gt;
&lt;br /&gt;
==No DMA on DVD drive==&lt;br /&gt;
&lt;br /&gt;
Using the IDE driver, DMA support cannot be enabled on an Ultrabay optical drive:&lt;br /&gt;
&lt;br /&gt;
 # hdparm -d1 /dev/hdc&lt;br /&gt;
 &lt;br /&gt;
 /dev/hdc:&lt;br /&gt;
  setting using_dma to 1 (on)&lt;br /&gt;
  HDIO_SET_DMA failed: Operation not permitted&lt;br /&gt;
  using_dma    =  0 (off)&lt;br /&gt;
&lt;br /&gt;
As a result, the optical drive is slow, and in particular, too slow to play video DVDs.&lt;br /&gt;
&lt;br /&gt;
One workaround is to use employ the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver (instead of the IDE driver) for the optical drive. This requires enabling the ATAPI support of the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver, which is under active development and not yet stable. Using this will probably devour all your data and go on to eat all the food in your fridge. But if you have full backups and an empty fridge, do the following:&lt;br /&gt;
&lt;br /&gt;
* Grab the latest kernel (must be 2.6.14 or newer; the relevant code is under active development).&lt;br /&gt;
* Do one of the following:&lt;br /&gt;
** Enable the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt;) drivers as built-in, and add {{bootparm|libata.atapi_enabled|1}} to your kernel command line (e.g., in in {{path|/boot/grub/menu.lst}}).&lt;br /&gt;
** Enable &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt;) as modules (this is often the default) and add &amp;quot;&amp;lt;tt&amp;gt;options libata atapi_enabled=1&amp;lt;/tt&amp;gt;&amp;quot; to your {{path|/etc/modprobe.conf}} (or the equivalent in your distribution).&lt;br /&gt;
* Do one of the following:&lt;br /&gt;
** Disable the IDE system.&lt;br /&gt;
** Build the IDE driver as built-in (this is often the default) and add the {{bootparm|hdc|noprobe}} kernel argument (e.g., in in {{path|/boot/grub/menu.lst}}).&lt;br /&gt;
** Build the IDE driver as module and add &amp;quot;&amp;lt;tt&amp;gt;options ide hdc=noprobe&amp;lt;/tt&amp;gt;&amp;quot; to your {{path|/etc/modprobe.conf}} (or the equivalent in your distribution).&lt;br /&gt;
* If you chose to use modules above, regenerate your &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
There are new problems using the 2.6.16 kernel&lt;br /&gt;
* I need to patch the kernel with the [http://zeniv.linux.org.uk/%7Ealan/IDE/patch-2.6.16-ide1.gz PATA support to libata patch] form Alan Cox. If using suspend2 you have also delete the 4000-libata-rollup-2616-rc3.patch from suspend2-2.2.1. [http://lists.suspend2.net/lurker/message/20060322.082452.873dc526.en.html Alexander E. Patrakov write this on a mail to suspend2 user mailing list]&lt;br /&gt;
After that i works for me on my {{T43}}&lt;br /&gt;
&lt;br /&gt;
If this doesn't work, use {{cmd|lspci -vn|}} to check whether one of the following chipsets is used in the Thinkpad:&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;
!PCI ID &lt;br /&gt;
!Name&lt;br /&gt;
|-&lt;br /&gt;
|8086:7111&lt;br /&gt;
|Intel 82371AB/EB/MB PIIX4 IDE&lt;br /&gt;
|-&lt;br /&gt;
|8086:24db&lt;br /&gt;
|Intel 82801EB/ER (ICH5/ICH5R) IDE Controller&lt;br /&gt;
|-&lt;br /&gt;
|8086:25a2&lt;br /&gt;
|Intel 6300ESB PATA Storage Controller&lt;br /&gt;
|}&lt;br /&gt;
If yes, enable support for these chipsets has to be enabled by setting&lt;br /&gt;
 #define ATA_ENABLE_PATA&lt;br /&gt;
in {{path|include/linux/libata.h}} (and report your ThinkPad model in the discussion page).&lt;br /&gt;
&lt;br /&gt;
There have been reports that DVD burning doesn't work under this configuration, but it seems to work with kernel 2.6.14 and later (tested on a ThinkPad {{T43}} and {{T43p}} with a [[UltraBay Slim DVD Multi-Burner Plus]]).&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* RedHat Bugzilla [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=163418 bug 163418: &amp;quot;can't enable DMA on DVD drive&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==No DMA on system hard disk==&lt;br /&gt;
&lt;br /&gt;
In recent Linux kernels, there are two modules capable of handling the ICH6 disk controller:&lt;br /&gt;
* &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt;: the disk shows as {{path|/dev/sda}} and DMA is enabled.&lt;br /&gt;
* Generic IDE driver (&amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt;): the disk shows as {{path|/dev/hda}} and DMA is disabled.&lt;br /&gt;
&lt;br /&gt;
The simplest way to enable DMA is to force the IDE driver to ignore the system hard disk by passing the {{bootparm|hda|noprobe}} kernel argument. The driver will then be handled by the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver. Note that this will change its device name to {{path|/dev/sda}} (which may require changes in {{path|/etc/fstab}} and the boot loader) and may cause other problems as listed above.&lt;br /&gt;
&lt;br /&gt;
(Observed on a ThinkPad T43 with Fedora Core kernel 2.6.13-1.1526_FC4.)&lt;br /&gt;
&lt;br /&gt;
==No SMART support==&lt;br /&gt;
&lt;br /&gt;
Prior to kernel 2.6.15, the Linux SATA system did not support SMART commands (e.g., via smartctl).&lt;br /&gt;
&lt;br /&gt;
The necessary capability is &amp;quot;libata pass-through&amp;quot;, which was incorporated into Linux 2.6.15-rc1 and later. A patch is available for older kernels:&lt;br /&gt;
* Kernel 2.6.12: http://rtr.ca/dell_i9300/kernel/kernel-2.6.12/03_libata_passthru.patch&lt;br /&gt;
* Kernel 2.6.13: http://rtr.ca/dell_i9300/kernel/kernel-2.6.13/02_libata_passthru.patch&lt;br /&gt;
* Kernel 2.6.14: http://www.foo.fh-furtwangen.de/~koenigr/02_libata_passthru.fixed.again.patch&lt;br /&gt;
* Kernel 2.6.14 with the above suspend-to-RAM patch: http://linux.spiney.org/system/files?file=02_libata_passthru.fixed.patch&lt;br /&gt;
&lt;br /&gt;
After applying the patch, run smartctl with the &amp;quot;-d ata&amp;quot; parameter:&lt;br /&gt;
:{{cmdroot|smartctl -d ata -a /dev/sda}}&lt;br /&gt;
&lt;br /&gt;
==No disk power management==&lt;br /&gt;
&lt;br /&gt;
Prior to kernel 2.6.15, the Linux SATA system did not support power management commands on these models.&lt;br /&gt;
&lt;br /&gt;
The above patches for SMART support resolves this, and in particular enables the following commands:&lt;br /&gt;
* {{cmdroot|hdparm -y}} (spin down)&lt;br /&gt;
* {{cmdroot|hdparm -S num}} (automatic spin down timeout)&lt;br /&gt;
* {{cmdroot|hdparm -B num}} (advanced power management level)&lt;br /&gt;
Note that this command is still rejected:&lt;br /&gt;
* {{cmdroot|hdparm -M num}} (acoustic management)&lt;br /&gt;
(Tested with patched kernels 2.6.13.1 and 2.6.12-4 and a 60GB 7200RPM disk model HTS726060M9AT00.)&lt;br /&gt;
&lt;br /&gt;
Note that even when [[Laptop-mode]] is used, the &amp;quot;hddtemp&amp;quot; daemon (as shipped with Fedora Core 4) will wake up the disk every minute, and must thus be disabled for power management to be effective. Its accesses are not visibile through the {{path|/proc/sys/vm/block_dump}} facility. It is unclear whether disk temperature can be monitored without causing the disk to spin up (on the {{T43}}, none of the {{path|/proc/acpi/ibm/thermal}} values corresponds to the disk's built-in temperature sensor).&lt;br /&gt;
&lt;br /&gt;
==No disk information==&lt;br /&gt;
&lt;br /&gt;
Prior to kernel 2.6.15, on these models the disk information could not be read by the standard commands such as:&lt;br /&gt;
*{{cmdroot|hdparm -i /dev/sda}}&lt;br /&gt;
*{{cmdroot|hdparm -I /dev/sda}}&lt;br /&gt;
The latter is fixed by the above patch for SMART support.&lt;br /&gt;
&lt;br /&gt;
==No swapping of UltraBay device==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; driver does not yet support hot-swapping (or warm-swapping) of PATA devices. If you use a DVD or 2nd PATA HDD via the &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; (SATA) driver, to swap them in or out you must power down the machine.&lt;br /&gt;
&lt;br /&gt;
If you use the &amp;lt;tt&amp;gt;ide&amp;lt;/tt&amp;gt; driver for a PATA UltraBay device, hot-swapping might work using [[lt_hotswap]], &amp;lt;tt&amp;gt;hdparm&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;idectl&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; (please report). However, since you use the &amp;lt;tt&amp;gt;ide&amp;lt;/tt&amp;gt; driver, DMA will be disabled (see above).&lt;br /&gt;
&lt;br /&gt;
If you use a SATA device in the UltraBay, &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; hot-swapping might work (please report).&lt;br /&gt;
&lt;br /&gt;
Swapping of the [[UltraBay Slim Battery]] does work.&lt;br /&gt;
&lt;br /&gt;
==BIOS error 2010 on user-installed hard disk==&lt;br /&gt;
&lt;br /&gt;
While not a Linux issue, note that there is an issue with installing alternative PATA (IDE) hard disks as the system drive. Unless the disk is one of the few approved disks listed inside the BIOS, you will get an BIOS error 2010 during system boot, and the disk may operate unreliably. See [[Problem with non-ThinkPad hard disks]].&lt;/div&gt;</summary>
		<author><name>ZolnOtt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=21083</id>
		<title>Problems with SATA and Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=21083"/>
		<updated>2006-03-24T06:57:44Z</updated>

		<summary type="html">&lt;p&gt;ZolnOtt: /* No DMA on DVD drive */&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;
Some ThinkPad models use a SATA controller for the system hard disk. This causes several complications for Linux installation. The following lists these problems and known workarounds. Note that the details are often version- and distribution-specific.&lt;br /&gt;
&lt;br /&gt;
===Models using a SATA disk interface===&lt;br /&gt;
Models using a SATA controller and a SATA system disk:&lt;br /&gt;
*ThinkPad {{T60}}, {{T60p}}&lt;br /&gt;
*ThinkPad {{X60}}, {{X60s}}&lt;br /&gt;
*ThinkPad {{Z60t}}, {{Z60m}}&lt;br /&gt;
Models using a SATA controller and a PATA (IDE) system disk with a SATA-to-PATA bridge:&lt;br /&gt;
*ThinkPad {{T43}}, {{T43p}}&lt;br /&gt;
*ThinkPad {{R52}}&lt;br /&gt;
*ThinkPad {{X41}}, {{X41T}}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Some of these problems (namely SMART support, power management and disk information) are solved in Linux 2.6.15 with the inclusion of libata pass-through. See the SATA driver [http://linux-ata.org/features.html features], [http://linux-ata.org/software-status.html software status] and [http://linux-ata.org/sata-status.html hardware status].}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Hang on resume from suspend to RAM==&lt;br /&gt;
&lt;br /&gt;
Linux kernels prior to 2.6.16 do not support suspend and resume for SATA devices. As a result, the machine hangs upon the first disk access after resume. A kernel patch ([http://lkml.org/lkml/2005/5/2/46 LKML posting]) fixes this by adding SATA power management support.&lt;br /&gt;
&lt;br /&gt;
Kernel 2.6.16 and later fixes this problem.&lt;br /&gt;
&lt;br /&gt;
===Patches===&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/sata_pm.2.6.12.diff Patch for kernel 2.6.12]&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/sata_pm.2.6.13-rc5.diff Patch for kernel 2.6.13-rc5]&lt;br /&gt;
* [http://lkml.org/lkml/2005/9/23/97 Patch for kernel 2.6.14]&lt;br /&gt;
* [http://www.xenotime.net/linux/SATA/2.6.15-rc/libata_suspend.patch Patch for kernel 2.6.15-rc4]&lt;br /&gt;
* [http://tpctl.sourceforge.net/tmp/sata_pm.2.6.15-rc6.patch Patch for kernels 2.6.15-rc6 through 2.6.15]&lt;br /&gt;
&lt;br /&gt;
Some distributions already include this patch (e.g., {{Ubuntu}} Breezy, {{Gentoo}}'s gentoo-sources 2.6.15-r1), but some don't (e.g., {{Fedora}} 4). If your distribution doesn't include the patch, you will need to compile your own kernel with this patch included.&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* RedHat Bugzilla [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=169201 bug 169201: &amp;quot;SATA drives fail on laptop suspend&amp;quot;]&lt;br /&gt;
* [http://lkml.org/lkml/2005/11/15/385 Fix to libata.h recommended on LKML] in case you get &amp;quot;ata: abnormal state 0x80 on port 0x1F7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Failed resume from suspend to disk==&lt;br /&gt;
&lt;br /&gt;
Suspend to disk (using [[swsusp]] or [[Software Suspend 2]]) needs to load the memory image from the SATA disk. For this to work, you either need an initrd with all the necessary SATA modules, or the SATA drivers compiled into the kernel.&lt;br /&gt;
&lt;br /&gt;
==DVD drive not recognized==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; SATA driver grabs ownership over the IDE ports when it is loaded, but (by default) does not support PATA ATAPI devices such as the Ultrabay optical drives. Thus, if the &amp;lt;tt&amp;gt;ide&amp;lt;/tt&amp;gt; driver is compiled as a module and loaded after &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt;, the DVD drive will not be recognized by either driver.&lt;br /&gt;
&lt;br /&gt;
Either of the following configurations will work:&lt;br /&gt;
* For kernel 2.6.14 and newer: enable ATAPI support in the SATA system using {{bootparm|libata.atapi_enabled|1}} (see below; this is experimental).&lt;br /&gt;
* Compile IDE into the kernel (non-module).&lt;br /&gt;
* Compile both IDE and SATA as modules and make sure IDE is loaded first (the module is called 'ide_generic').&lt;br /&gt;
&lt;br /&gt;
Note that the optical drive must be in the Ultrabay during system boot (Ultrabay device swapping is currently unsupported).&lt;br /&gt;
&lt;br /&gt;
==No DMA on DVD drive==&lt;br /&gt;
&lt;br /&gt;
Using the IDE driver, DMA support cannot be enabled on an Ultrabay optical drive:&lt;br /&gt;
&lt;br /&gt;
 # hdparm -d1 /dev/hdc&lt;br /&gt;
 &lt;br /&gt;
 /dev/hdc:&lt;br /&gt;
  setting using_dma to 1 (on)&lt;br /&gt;
  HDIO_SET_DMA failed: Operation not permitted&lt;br /&gt;
  using_dma    =  0 (off)&lt;br /&gt;
&lt;br /&gt;
As a result, the optical drive is slow, and in particular, too slow to play video DVDs.&lt;br /&gt;
&lt;br /&gt;
One workaround is to use employ the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver (instead of the IDE driver) for the optical drive. This requires enabling the ATAPI support of the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver, which is under active development and not yet stable. Using this will probably devour all your data and go on to eat all the food in your fridge. But if you have full backups and an empty fridge, do the following:&lt;br /&gt;
&lt;br /&gt;
* Grab the latest kernel (must be 2.6.14 or newer; the relevant code is under active development).&lt;br /&gt;
* Do one of the following:&lt;br /&gt;
** Enable the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt;) drivers as built-in, and add {{bootparm|libata.atapi_enabled|1}} to your kernel command line (e.g., in in {{path|/boot/grub/menu.lst}}).&lt;br /&gt;
** Enable &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt;) as modules (this is often the default) and add &amp;quot;&amp;lt;tt&amp;gt;options libata atapi_enabled=1&amp;lt;/tt&amp;gt;&amp;quot; to your {{path|/etc/modprobe.conf}} (or the equivalent in your distribution).&lt;br /&gt;
* Do one of the following:&lt;br /&gt;
** Disable the IDE system.&lt;br /&gt;
** Build the IDE driver as built-in (this is often the default) and add the {{bootparm|hdc|noprobe}} kernel argument (e.g., in in {{path|/boot/grub/menu.lst}}).&lt;br /&gt;
** Build the IDE driver as module and add &amp;quot;&amp;lt;tt&amp;gt;options ide hdc=noprobe&amp;lt;/tt&amp;gt;&amp;quot; to your {{path|/etc/modprobe.conf}} (or the equivalent in your distribution).&lt;br /&gt;
* If you chose to use modules above, regenerate your &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
There are new problems using the 2.6.16 kernel&lt;br /&gt;
* I need to patch the kernel with the [http://zeniv.linux.org.uk/%7Ealan/IDE/patch-2.6.16-ide1.gz PATA support to libata patch] form Alan Cox. If using suspend2 you have also delete the 4000-libata-rollup-2616-rc3.patch from suspend2-2.2.1. [http://lists.suspend2.net/lurker/message/20060322.082452.873dc526.en.html Alexander E. Patrakov write this on a mail to suspend2 user mailing list]&lt;br /&gt;
After that i works for me on my [[T43]]&lt;br /&gt;
&lt;br /&gt;
If this doesn't work, use {{cmd|lspci -vn|}} to check whether one of the following chipsets is used in the Thinkpad:&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;
!PCI ID &lt;br /&gt;
!Name&lt;br /&gt;
|-&lt;br /&gt;
|8086:7111&lt;br /&gt;
|Intel 82371AB/EB/MB PIIX4 IDE&lt;br /&gt;
|-&lt;br /&gt;
|8086:24db&lt;br /&gt;
|Intel 82801EB/ER (ICH5/ICH5R) IDE Controller&lt;br /&gt;
|-&lt;br /&gt;
|8086:25a2&lt;br /&gt;
|Intel 6300ESB PATA Storage Controller&lt;br /&gt;
|}&lt;br /&gt;
If yes, enable support for these chipsets has to be enabled by setting&lt;br /&gt;
 #define ATA_ENABLE_PATA&lt;br /&gt;
in {{path|include/linux/libata.h}} (and report your ThinkPad model in the discussion page).&lt;br /&gt;
&lt;br /&gt;
There have been reports that DVD burning doesn't work under this configuration, but it seems to work with kernel 2.6.14 and later (tested on a ThinkPad {{T43}} and {{T43p}} with a [[UltraBay Slim DVD Multi-Burner Plus]]).&lt;br /&gt;
&lt;br /&gt;
===Links===&lt;br /&gt;
* RedHat Bugzilla [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=163418 bug 163418: &amp;quot;can't enable DMA on DVD drive&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==No DMA on system hard disk==&lt;br /&gt;
&lt;br /&gt;
In recent Linux kernels, there are two modules capable of handling the ICH6 disk controller:&lt;br /&gt;
* &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt;: the disk shows as {{path|/dev/sda}} and DMA is enabled.&lt;br /&gt;
* Generic IDE driver (&amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt;): the disk shows as {{path|/dev/hda}} and DMA is disabled.&lt;br /&gt;
&lt;br /&gt;
The simplest way to enable DMA is to force the IDE driver to ignore the system hard disk by passing the {{bootparm|hda|noprobe}} kernel argument. The driver will then be handled by the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver. Note that this will change its device name to {{path|/dev/sda}} (which may require changes in {{path|/etc/fstab}} and the boot loader) and may cause other problems as listed above.&lt;br /&gt;
&lt;br /&gt;
(Observed on a ThinkPad T43 with Fedora Core kernel 2.6.13-1.1526_FC4.)&lt;br /&gt;
&lt;br /&gt;
==No SMART support==&lt;br /&gt;
&lt;br /&gt;
Prior to kernel 2.6.15, the Linux SATA system did not support SMART commands (e.g., via smartctl).&lt;br /&gt;
&lt;br /&gt;
The necessary capability is &amp;quot;libata pass-through&amp;quot;, which was incorporated into Linux 2.6.15-rc1 and later. A patch is available for older kernels:&lt;br /&gt;
* Kernel 2.6.12: http://rtr.ca/dell_i9300/kernel/kernel-2.6.12/03_libata_passthru.patch&lt;br /&gt;
* Kernel 2.6.13: http://rtr.ca/dell_i9300/kernel/kernel-2.6.13/02_libata_passthru.patch&lt;br /&gt;
* Kernel 2.6.14: http://www.foo.fh-furtwangen.de/~koenigr/02_libata_passthru.fixed.again.patch&lt;br /&gt;
* Kernel 2.6.14 with the above suspend-to-RAM patch: http://linux.spiney.org/system/files?file=02_libata_passthru.fixed.patch&lt;br /&gt;
&lt;br /&gt;
After applying the patch, run smartctl with the &amp;quot;-d ata&amp;quot; parameter:&lt;br /&gt;
:{{cmdroot|smartctl -d ata -a /dev/sda}}&lt;br /&gt;
&lt;br /&gt;
==No disk power management==&lt;br /&gt;
&lt;br /&gt;
Prior to kernel 2.6.15, the Linux SATA system did not support power management commands on these models.&lt;br /&gt;
&lt;br /&gt;
The above patches for SMART support resolves this, and in particular enables the following commands:&lt;br /&gt;
* {{cmdroot|hdparm -y}} (spin down)&lt;br /&gt;
* {{cmdroot|hdparm -S num}} (automatic spin down timeout)&lt;br /&gt;
* {{cmdroot|hdparm -B num}} (advanced power management level)&lt;br /&gt;
Note that this command is still rejected:&lt;br /&gt;
* {{cmdroot|hdparm -M num}} (acoustic management)&lt;br /&gt;
(Tested with patched kernels 2.6.13.1 and 2.6.12-4 and a 60GB 7200RPM disk model HTS726060M9AT00.)&lt;br /&gt;
&lt;br /&gt;
Note that even when [[Laptop-mode]] is used, the &amp;quot;hddtemp&amp;quot; daemon (as shipped with Fedora Core 4) will wake up the disk every minute, and must thus be disabled for power management to be effective. Its accesses are not visibile through the {{path|/proc/sys/vm/block_dump}} facility. It is unclear whether disk temperature can be monitored without causing the disk to spin up (on the {{T43}}, none of the {{path|/proc/acpi/ibm/thermal}} values corresponds to the disk's built-in temperature sensor).&lt;br /&gt;
&lt;br /&gt;
==No disk information==&lt;br /&gt;
&lt;br /&gt;
Prior to kernel 2.6.15, on these models the disk information could not be read by the standard commands such as:&lt;br /&gt;
*{{cmdroot|hdparm -i /dev/sda}}&lt;br /&gt;
*{{cmdroot|hdparm -I /dev/sda}}&lt;br /&gt;
The latter is fixed by the above patch for SMART support.&lt;br /&gt;
&lt;br /&gt;
==No swapping of UltraBay device==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; driver does not yet support hot-swapping (or warm-swapping) of PATA devices. If you use a DVD or 2nd PATA HDD via the &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; (SATA) driver, to swap them in or out you must power down the machine.&lt;br /&gt;
&lt;br /&gt;
If you use the &amp;lt;tt&amp;gt;ide&amp;lt;/tt&amp;gt; driver for a PATA UltraBay device, hot-swapping might work using [[lt_hotswap]], &amp;lt;tt&amp;gt;hdparm&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;idectl&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; (please report). However, since you use the &amp;lt;tt&amp;gt;ide&amp;lt;/tt&amp;gt; driver, DMA will be disabled (see above).&lt;br /&gt;
&lt;br /&gt;
If you use a SATA device in the UltraBay, &amp;lt;tt&amp;gt;libata&amp;lt;/tt&amp;gt; hot-swapping might work (please report).&lt;br /&gt;
&lt;br /&gt;
Swapping of the [[UltraBay Slim Battery]] does work.&lt;br /&gt;
&lt;br /&gt;
==BIOS error 2010 on user-installed hard disk==&lt;br /&gt;
&lt;br /&gt;
While not a Linux issue, note that there is an issue with installing alternative PATA (IDE) hard disks as the system drive. Unless the disk is one of the few approved disks listed inside the BIOS, you will get an BIOS error 2010 during system boot, and the disk may operate unreliably. See [[Problem with non-ThinkPad hard disks]].&lt;/div&gt;</summary>
		<author><name>ZolnOtt</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Sid_(June_2005)_on_a_ThinkPad_T43&amp;diff=21073</id>
		<title>Installing Debian Sid (June 2005) on a ThinkPad T43</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Sid_(June_2005)_on_a_ThinkPad_T43&amp;diff=21073"/>
		<updated>2006-03-23T22:52:22Z</updated>

		<summary type="html">&lt;p&gt;ZolnOtt: /* External Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Please update with any contextual or cosmetic changes you feel appropriate.&lt;br /&gt;
&lt;br /&gt;
June 30, 2005: Installing Debian/Sid (Unstable) on the T43 proved to be a very long process. Support for the relatively new machine should get much better over time, perhaps making much of this guide unnecessary. A great deal of useful information can be found in the T43 Category hardware page, and the other T-Series installation guides over on the Debian Category page.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
===Partitioning the hard drive===&lt;br /&gt;
The thinkpad comes with Windows XP preinstalled but not set up. If you want to keep Windows it may be a good idea to turn on the machine and let it go through the Windows setup process before shrinking the partition. One step of the process is to convert the FAT32 windows parition to NTFS. The FAT32 partition may be easier to resize, but ntfsresize in Linux works fine too. For easy resizing, boot up in Knoppix 3.9+ with kernel 2.6 (earlier versions of Knoppix do not contain a 2.6 Kernel capable of handling the SATA drive). Once Knoppix is loaded head over to K-&amp;gt;System-&amp;gt;QtParted and you will be presented with a nice GUI for resizing the Windows partition. The Windows NTFS and IBM system restore FAT32 partitions take up 2/4 primary paritions, which doesn't leave much room for expansion. Between QtParted and cfdisk I partitioned my hard drive as:&lt;br /&gt;
&lt;br /&gt;
 - sda1 Primary      NTFS             20 GB&lt;br /&gt;
 - sda3 Primary      Linux (reiser4)  20 GB   (/)&lt;br /&gt;
 - Extended                           remaining space (~30GB)&lt;br /&gt;
    |- sda5 Logical  Linux (ext3)     256 MB  (/boot)&lt;br /&gt;
    |- sda6 Logical  Linux (ext3)     30 GB   (/storage)&lt;br /&gt;
 - sda2 Primary      FAT32 (system restore)&lt;br /&gt;
&lt;br /&gt;
If I started over I would probably put everything in a single extended parition. The reiser4 root parition here causes a lot of trouble because of the lack of widespread reiser4 support. The strategy here is to install the base system on sda6, compile a kernel with reiser4 support, and move everything back over to sda3. Obviously this can be skipped if you want to stick with ext3 or something else. The ext3 boot partition is also necessary since GRUB does not support reiser4 easily. sda6 will eventually become a FAT32 parition to share data between Windows and Linux. In the beginning you may find it useful to have an extra copy of everything on sda6 to use as a fall back in case something goes wrong. Also a swap partition can be useful if you want to be able to hibernate using swsusp or [[Software Suspend 2]] (note the latter can also use a swap file), or if you have less than 1GB of memory. The inside of the drive (last sectors) can be ~50% slower than the outside (first sectors), so put frequently accessed portions up front.&lt;br /&gt;
&lt;br /&gt;
===Running the net install===&lt;br /&gt;
As of June, 2005, the net installer still ships with a 2.6.8 kernel that will not read the SATA drive. It will be necessary to boot with kernel 2.4 to install the system (using legacy IDE drivers without DMA support - slow but manageable). To get all the latest and greatest, edit /apt/sources.list by hand and put in:&lt;br /&gt;
&lt;br /&gt;
  - deb http://http.us.debian.org/debian unstable main contrib non-free&lt;br /&gt;
  - deb-src http://http.us.debian.org/debian unstable main contrib non-free&lt;br /&gt;
  - deb http://http.us.debian.org/debian experimental main contrib non-free&lt;br /&gt;
  - deb-src http://http.us.debian.org/debian experimental main contrib non-free&lt;br /&gt;
&lt;br /&gt;
the experimental repository may be necessary since the packages in unstable don't always have their dependencies satisfied within unstable. Don't worry since experimental packages must be manually installed. There is no need to install extra stuff at this point (X, etc) as it all can be taken care of after the system is working.&lt;br /&gt;
===Choosing a kernel===&lt;br /&gt;
Debian strips the Broadcom Tigon3 driver out of their 2.6.11 kernels. Also the Intel Pro/Wireless 2200/2915 drivers are unavailable. You can try to go the [http://newbiedoc.sourceforge.net/system/kernel-pkg.html Debian-way] and download the Debian source and non-free patches while using the Debian modules tools to add support for everything. I decided to go over to [http://www.kernel.org www.kernel.org] and get the latest mm kernel (2.6.12-mm2 at the time). Kernel building instructions are [http://kerneltrap.org/node/875 here]. I started with the original Debian 2.6.11-1 configuration file (found in /boot), and made the major changes:&lt;br /&gt;
&lt;br /&gt;
* P4 optimizations&lt;br /&gt;
* Preemptible Kernel&lt;br /&gt;
* built-in support for ext2, ext3, reiser4 (comes with mm kernel)&lt;br /&gt;
* built-in relevant SCSI and SATA support (ata_piix)&lt;br /&gt;
* Broadcom tg3 and IPW2200 modules&lt;br /&gt;
&lt;br /&gt;
Also a number of little things can be removed and customized ([http://www.mit.edu/~lindy/t43/linux-2.6.12-mm2.config .config] file). If you like to do so, go ahead and &amp;quot;apt-get install ccache&amp;quot; then change &amp;quot;gcc&amp;quot; to &amp;quot;ccache gcc&amp;quot; and &amp;quot;g++&amp;quot; to &amp;quot;ccache g++&amp;quot; in the Makefile to speed up future compilations. While gcc 4.0 comes with Debian Unstable, you probably want to use gcc 3.3 (or 2.95 as some suggest). The config file also represents bootsplash 3.1.6 and a SATA ACPI suspend fix patches to the 2.6.12-mm2 kernel (see sections below). The nice thing about built-in filesystem and SATA support is that we don't need an initrd.&lt;br /&gt;
&lt;br /&gt;
Before you boot into a 2.6 kernel, go into &amp;quot;/etc/fstab&amp;quot; and change &amp;quot;hda&amp;quot; to &amp;quot;sda&amp;quot;, etc since the SATA drives are handled through the SCSI drivers.&lt;br /&gt;
&lt;br /&gt;
==Reiser4==&lt;br /&gt;
The mm patch will add reiser4 support to the 2.6.12-mm2 kernel. The next step is to change the root filesystem. Assuming the everything is installed in the ext3 partition on /dev/sda6, the steps are:&lt;br /&gt;
# apt-get install reiser4progs&lt;br /&gt;
# mkfs.reiser4 /dev/sda3&lt;br /&gt;
# boot into a [http://gentoo-wiki.com/TIP_Reiser4_Enabled_Live_CD reiser4-enabled live-CD]&lt;br /&gt;
#*# {{cmdroot|mkdir /mnt/sda6; mount -t ext3 /dev/sda6 /mnt/sda6}}&lt;br /&gt;
#*# {{cmdroot|mkdir /mnt/sda3; mount -t reiser4 /dev/sda3 /mnt/sda3}}&lt;br /&gt;
#*# {{cmdroot|cp -a /mnt/sda6/* /mnt/sda3/}}&lt;br /&gt;
# if you don't want to get a reiser4 live-CD, you can use a regular CD and copy all of /dev/sda6 into a subdirectory, boot back into /dev/sda6 and copy it back to /dev/sda3&lt;br /&gt;
# update the new /etc/fstab and /boot/grub/menu.lst&lt;br /&gt;
==Wireless: Intel Pro/Wireless 2915ABG==&lt;br /&gt;
The 2.6.12-mm2 kernel comes with the ipw2200 driver, but you'll still need to download the firmware from [http://ipw2200.sourceforge.net/firmware.php here] and put it in /lib/firmware. Note that the driver in 2.6.12-mm2 is version 1.0.0 and does not use the latest firmware. Once the driver is set up, apt-get install wireless-tools, check &amp;quot;iwconfig&amp;quot;, and if all is well set up /etc/network/interfaces accordingly.&lt;br /&gt;
&lt;br /&gt;
==Bootsplash==&lt;br /&gt;
Here are some [http://hacks.oreilly.com/pub/h/3124 instructions]. I've had no problems I could trace back to the radeon framebuffer device. vga=834 is for the 1400x1050 display. The bootsplash themes are accessible through the bootsplash.de debian archive, though I haven't yet found one for or adapted one to 1400x1050.&lt;br /&gt;
==ACPI==&lt;br /&gt;
===CPU frequency scaling===&lt;br /&gt;
First the relevant modules must be enabled in the kernel. Both the acpi-cpufreq and speedstep-centrino modules work to some extent, but I wasn't able to clock the CPU below 1.3 GHz with the speedstep-centrino module, while with acpi-cpufreq I had one non-reproduceable issue with the frequency being stuck at 800 MHz. You'll need to put the modules (acpi-cpufreq, cpufreq-ondemand, cpufreq-conservative, cpufreq-powersave) in /etc/modules so that they are loaded at bootup. There are many ways to automatically manage frequency scaling behavior. I chose to use &amp;quot;cpufreqd&amp;quot; with this [http://www.mit.edu/~lindy/t43/cpufreqd.conf configuration], and there is also powernowd using the cpufreq-userspace governor, or writing your own ACPI event scripts.&lt;br /&gt;
===Suspend to RAM===&lt;br /&gt;
The 2.6.12-mm2 kernel will crash on resume because there is no SATA support for suspend. There are patches at [[How to make ACPI work]] which need minimal [http://www.mit.edu/~lindy/t43/sata_pm.2.6.12-mm2.diff changes] to work with 2.6.12-mm2 (note: I have no idea what I'm doing but it seems to work). The video card does not wake up after resume, but the X.org radeon driver will reset the card properly. If you want to get the text consoles back, you'll either have to append &amp;quot;acpi_sleep=s3_bios&amp;quot; to the GRUB kernel arguments for a VGA display, or use vbetool to save/restore video bios state for a framebuffer device (not exactly stable on my machine).&lt;br /&gt;
===Suspend to disk (hibernate)===&lt;br /&gt;
Software suspend comes with the kernel, and [[Software Suspend 2]] looks really nice but messy to patch into 2.6.12-mm2 (didn't really try). Without a swap drive I went for neither since suspend to RAM only takes ~.5 W of power and is much faster. It would be nice to be able to hibernate, switch to windows, and come back. [[Software Suspend 2]] is supposed to be merged with the kernel at some point, so perhaps it's enough to wait for that.&lt;br /&gt;
&lt;br /&gt;
===laptop-mode===&lt;br /&gt;
Laptop-mode is built into the kernel. To easily activate it, 'apt-get install powermgmt-base laptop-mode-tools'. It should help preserve battery life by minimizing hard-drive spin-up, though this depends on the SATA ACPI support.&lt;br /&gt;
&lt;br /&gt;
==X==&lt;br /&gt;
===XFree86===&lt;br /&gt;
The radeon driver in the  4.3.0 XFree86 from Debian unstable is not new enough to support the Mobility X300. I tried the unofficial Debian [http://www.stanchina.net/~flavio/debian/fglrx-installer.html fglrx] drivers, and with some suggestions from this [http://www.linuxquestions.org/questions/showthread.php?s=&amp;amp;threadid=335524 thread] was able to compile against 2.6.12-mm2, but ended up with a radeon driver which crashed my computer (maybe because I had DRI enabled in the kernel).&lt;br /&gt;
===X.org===&lt;br /&gt;
There are experimental X.org packages available [http://www.livejournal.com/users/gravityboy/14794.html here] which I am currently running with X300 support with the opensource drivers. I'm not really sure what I miss out on besides 3D acceleration by doing so.&lt;br /&gt;
&lt;br /&gt;
Try setting in /etc/X11/xorg.conf:&lt;br /&gt;
 Option &amp;quot;DynamicPM&amp;quot; &amp;quot;True&amp;quot;&lt;br /&gt;
which improves battery life considerably ([http://www.sas.upenn.edu/~vbraun/computing/T41/power.html see this page for details]).&lt;br /&gt;
&lt;br /&gt;
Later versions of X.org have renamed the flag to:&lt;br /&gt;
 Option &amp;quot;DynamicClocks&amp;quot; &amp;quot;True&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*http://jefke.free.fr/writings/thinkpad_t43/&lt;br /&gt;
*http://www.zolnott.de/laptop/ibm-t43-uc34nge.html&lt;br /&gt;
*http://www.zolnott.de/laptop/ibm-t43-uc34nge-deutsch.html German translation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Debian]] [[Category:T43]]&lt;/div&gt;</summary>
		<author><name>ZolnOtt</name></author>
		
	</entry>
</feed>