<?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=Spiney</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=Spiney"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Spiney"/>
	<updated>2026-04-22T00:25:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=23518</id>
		<title>List of DMI IDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=23518"/>
		<updated>2006-07-24T15:57:38Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* DMI ID database */ add t43p 2668-g2g&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page maintains a database of [http://en.wikipedia.org/wiki/Desktop_Management_Interface DMI] information which can be used to identify ThinkPad models. It is intended as an aid for driver development.&lt;br /&gt;
&lt;br /&gt;
==DMI ID database==&lt;br /&gt;
&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;
! Model&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;product-name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;product-name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;vendor&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;release-&amp;lt;br /&amp;gt;date&amp;lt;/tt&amp;gt;&lt;br /&gt;
! Embedded controller&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | A series&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}} 2629-USG&lt;br /&gt;
|| IBM || 2629USG || Not Available || IBM || 2629USG || Not Available || IBM || Not Available || IBM || KYET36WW (1.09a) || 10/17/2002 &lt;br /&gt;
|| ''unknown'' || &lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | R series&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad H || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;	String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt; || Note the weird system-version&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad R52  || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006|| &amp;lt;nowiki&amp;gt;      String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-9MG&lt;br /&gt;
|| IBM || 18299MG || ThinkPad R51 || IBM || 18299MG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/                                           27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | T series&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2378-D2U&lt;br /&gt;
|| IBM || 2378D2U || ThinkPad T40 || IBM || 2378D2U || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 23732FG&lt;br /&gt;
|| IBM || 23732FG || ThinkPad T41 || IBM || 23732FG || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373GYG&lt;br /&gt;
|| IBM || 2373GYG || ThinkPad T42p || IBM || 2373GYG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2686-DGU&lt;br /&gt;
|| IBM || 2686DGU || ThinkPad T43 || IBM || 2686DGU || Not Available || IBM || Not Available || IBM || 1YET62WW (1.27 ) || 05/18/2006&lt;br /&gt;
||      String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06    ]- ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-G2G&lt;br /&gt;
|| IBM || 2668G2G || ThinkPad T43p || IBM || 2668G2G || Not Available || IBM || Not Available || IBM || 1YET47WW (1.08 ) || 06/09/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-49G&lt;br /&gt;
|| LENOVO || 200749G || ThinkPad T60 || LENOVO || 200749G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-83U&lt;br /&gt;
|| LENOVO || 200783U || ThinkPad T60p || LENOVO || 200783U || Not Available || LENOVO || Not Available || LENOVO || 79ET60WW (1.05a) || 04/18/2006 || &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT43WW-1.02    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | X series&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1709-47U&lt;br /&gt;
|| LENOVO || 170947U || ThinkPad X60 || LENOVO || 170947U || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1702-55G&lt;br /&gt;
|| LENOVO || 170255G || ThinkPad X60s || LENOVO || 170255G || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | Z series&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9453-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET48WW (1.08 ) || 05/26/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7FHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60t}} 2511-FEU&lt;br /&gt;
|| IBM || 2511FEU || ThinkPad Z60t || IBM || 2511FEU || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Adding entries==&lt;br /&gt;
&lt;br /&gt;
Edit the [[#DMI_ID_database|DMI ID database]] section above. Identify your series (or add a new one), and add an entry of the following form:&lt;br /&gt;
:&amp;lt;tt&amp;gt;!-&amp;lt;/tt&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;| &amp;lt;/tt&amp;gt;&amp;lt;i&amp;gt;description of your model&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 1&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 2&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the two data lines are genereated by the following &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for X in system-{manufacturer,product-name,version} \&lt;br /&gt;
  baseboard-{manufacturer,product-name,version} \&lt;br /&gt;
  chassis-{manufacturer,version} bios-{vendor,version,release-date}; do \&lt;br /&gt;
  echo -n &amp;quot;|| `sudo /usr/sbin/dmidecode -s $X` &amp;quot;; done; echo; \&lt;br /&gt;
  echo &amp;quot;|| &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;`sudo /usr/sbin/dmidecode | grep -i 'embedded controller'`&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; ||&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Software using ThinkPad DMI IDs==&lt;br /&gt;
* [[HDAPS]] driver whitelist&lt;br /&gt;
* [[tp_smapi]] driver whitelist&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:Industry_News&amp;diff=21562</id>
		<title>Template:Industry News</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:Industry_News&amp;diff=21562"/>
		<updated>2006-04-12T17:45:44Z</updated>

		<summary type="html">&lt;p&gt;Spiney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;12.04.2006 New [[fglrx]] driver version 8.24.8 released&lt;br /&gt;
&lt;br /&gt;
09.03.2006 New [[fglrx]] driver version 8.23.7 released&lt;br /&gt;
&lt;br /&gt;
10.02.2006 New [[fglrx]] driver version 8.22.5 released&lt;br /&gt;
&lt;br /&gt;
28.01.2006 Lenovo and others have [http://www.pc.ibm.com/us/thinkpad/tseries/workstation.html first mention] of [[:Category:T60p|T60p]] models.&lt;br /&gt;
&lt;br /&gt;
19.01.2006 New [[fglrx]] driver version 8.21.7 released&lt;br /&gt;
&lt;br /&gt;
14.01.2006 A bit old news: [http://www.businessweek.com/technology/content/dec2005/tc20051221_376268.htm?campaign_id=rss_tech Lenovo hires new CEO from Dell].&lt;br /&gt;
&lt;br /&gt;
05.01.2006 Lenovo [http://www.pc.ibm.com/ww/thinkpad/x-t.html?re=home_primary_us announces] the next step in X and T series: [[:Category:X60|X60]], [[:Category:X60s|X60s]] and [[:Category:T60|T60]].&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:ThinkWiki_News&amp;diff=20880</id>
		<title>Template:ThinkWiki News</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:ThinkWiki_News&amp;diff=20880"/>
		<updated>2006-03-15T07:00:18Z</updated>

		<summary type="html">&lt;p&gt;Spiney: removed fglrx, it's in the &amp;quot;industry watch&amp;quot; news already&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;24.02.2006: ThinkWiki has been upgraded to MediaWiki 1.5.6&lt;br /&gt;
&lt;br /&gt;
21.02.2006: The new [[lt_hotswap]] kernel module enables hot-swapping of drives with full DMA support.&lt;br /&gt;
&lt;br /&gt;
17.02.2006: ThinkWiki has been upgraded to MySQL 5.0.16, PHP/5.1.2 and Apache 2.0.55 for better performance.&lt;br /&gt;
&lt;br /&gt;
11.02.2006: The [http://mmc.drzeus.cx/wiki/Linux/Drivers/sdhci sdhci driver] has been reported to work for [[SD Card slot]]s&lt;br /&gt;
&lt;br /&gt;
10.02.2006: Alpha version of [[Gkrellm-ThinkBat|Gkrellm-ThinkBat]] plugin&lt;br /&gt;
&lt;br /&gt;
30.01.2006: Please test [[KThinkBat|KThinkBat-0.1.5_rc2]]&lt;br /&gt;
&lt;br /&gt;
17.01.2006: Have a look at our new [[ThinkWiki:Anti_Spam_Policy|anti spam policy]]!&lt;br /&gt;
&lt;br /&gt;
14.01.2006: ThinkWiki has been upgraded to [[Special:Version|mediawiki 1.5.5]]&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=20795</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=20795"/>
		<updated>2006-03-10T21:27:14Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* BIOS error 2010 on user-installed hard disk */ undo spam&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;
Current release-candidates for 2.6.16 ([http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.16-rc1 Changelog for 2.6.16-rc1]) have the patch already included, so no more patching will be necessary with 2.6.16.&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;
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>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_SATA_and_Linux&amp;diff=20315</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=20315"/>
		<updated>2006-02-23T07:28:06Z</updated>

		<summary type="html">&lt;p&gt;Spiney: about -rc4, removed one of the questions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
== 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;
&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;
Hi, I have problems with kernel 2.6.14.6 and libata passthrough. After executing twice the command &amp;quot;cdrecord --scanbus&amp;quot; as root, I get the following message many times in dmesg: &amp;quot;sr 1:0:0:0: timing out command, waited 0s&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
--[[User:Whoopie|Whoopie]] 12:53, 14 February 2006 (CET)&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User_talk:Dclatot&amp;diff=20307</id>
		<title>User talk:Dclatot</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User_talk:Dclatot&amp;diff=20307"/>
		<updated>2006-02-22T22:56:10Z</updated>

		<summary type="html">&lt;p&gt;Spiney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I'd suggest you open up a terminal, type&lt;br /&gt;
 man bash&lt;br /&gt;
and look up the sentence &amp;quot;The  environment  for any simple command or function may be augmented temporarily by prefixing it with parameter assignments, as described above in PARAMETERS.  These assignment statements affect only the environment seen by that command.&amp;quot; Or the section &amp;quot;Simple commands &amp;amp; pipelines&amp;quot; in&lt;br /&gt;
 man zshall&lt;br /&gt;
in case you're using zsh. Feel free to read the manual of YOUR shell and find the appropriate documentation. And then try to understand it.&lt;br /&gt;
&lt;br /&gt;
Thank you very much.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 23:56, 22 February 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Script_for_enabling_the_fingerprint_reader_with_BioAPI&amp;diff=20306</id>
		<title>Script for enabling the fingerprint reader with BioAPI</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Script_for_enabling_the_fingerprint_reader_with_BioAPI&amp;diff=20306"/>
		<updated>2006-02-22T22:46:55Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* The script */ ok, let's play ping pong, undid Dcalot's change again&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Using the [[Integrated Fingerprint Reader|integrated fingerprint reader]] under Linux is currently a fairly complicated [[How to enable the fingerprint reader|process]]. The following script automates the installation of the fingerprint software, for some Linux distributions. It covers most components (bioapi framework, driver, pam_bioapi, PAM setup, USB device permissions pamtester and enrolling), and handles all the downloading, patching and installation.&lt;br /&gt;
&lt;br /&gt;
Usage: just copy into a file and run as root.&lt;br /&gt;
&lt;br /&gt;
After installation, all PAM-enabled system functions will use the fingerprint reader (and if it fails, default to the usual password entry). This includes:&lt;br /&gt;
* KDE's KDM login (enter an empty password, then swipe finger)&lt;br /&gt;
* KDE's screensaver (enter an empty password, then swipe finger)&lt;br /&gt;
* Gnome's GDM login&lt;br /&gt;
* &amp;lt;tt&amp;gt;su&amp;lt;/tt&amp;gt; &lt;br /&gt;
* &amp;lt;tt&amp;gt;sudo&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Everything is intalled into {{path|/opt/bioapi}}, so it doesn't pollute your filesystem. The only files affected outside {{path|/opt/bioapi}} are the ldconfig configuration, PAM configuration, {{path|/etc/rc.local}} and a few symlinks in {{path|/lib/security}}.&lt;br /&gt;
&lt;br /&gt;
For details, manual installation and hints for other distributions, see [[How to enable the fingerprint reader]].&lt;br /&gt;
&lt;br /&gt;
===Distributions supported by this script===&lt;br /&gt;
* {{Fedora}} 4&lt;br /&gt;
&lt;br /&gt;
If you add support for additional distributions, please update this script (using conditionals where necessary) instead of branching it.&lt;br /&gt;
&lt;br /&gt;
==The script==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Install UPEK fingerprint reader driver and associated software on Linux systems.&lt;br /&gt;
# Source: http://thinkwiki.org/wiki/Script_for_enabling_the_fingerprint_reader&lt;br /&gt;
&lt;br /&gt;
set -e -E -x -u   # verbose, abort if anything fails&lt;br /&gt;
&lt;br /&gt;
WHERE=/opt/bioapi&lt;br /&gt;
PASSWD_ENROLLS=0   # should &amp;quot;passwd&amp;quot; do fingerprint enrollment (always)?&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Install bioapi:&lt;br /&gt;
&lt;br /&gt;
mkdir -p $WHERE&lt;br /&gt;
wget -N http://www.qrivy.net/~michael/blua/bioapi/bioapi-latest.tar.bz2&lt;br /&gt;
sha1sum --check &amp;lt;&amp;lt;EOF&lt;br /&gt;
932425e847449e9612c6894dcbaf44630aecfc13  bioapi-latest.tar.bz2&lt;br /&gt;
EOF&lt;br /&gt;
tar xjf bioapi-latest.tar.bz2&lt;br /&gt;
pushd bioapi-1.2.2&lt;br /&gt;
./configure --with-Qt-dir=no --prefix=$WHERE&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
install -m644 include/bioapi_util.h $WHERE/include/bioapi_util.h&lt;br /&gt;
install -m644 include/installdefs.h $WHERE/include/installdefs.h&lt;br /&gt;
install -m644 imports/cdsa/v2_0/inc/cssmtype.h $WHERE/include/cssmtype.h&lt;br /&gt;
chmod o-w $WHERE/var/bioapi&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Tell ldconfig about bioapi libraries:&lt;br /&gt;
&lt;br /&gt;
[ -d /etc/ld.so.conf.d ] || { echo &amp;quot;Unsupported distribution: no /etc/ld.so.conf.d directory.&amp;quot;; exit 1; }&lt;br /&gt;
echo $WHERE/lib &amp;gt; /etc/ld.so.conf.d/bioapi.conf&lt;br /&gt;
ldconfig&lt;br /&gt;
ldconfig -p | grep -q bioapi || { echo &amp;quot;ldconfig doesn't see bioapi&amp;quot;; exit 1; }&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Install UPEK driver:&lt;br /&gt;
&lt;br /&gt;
wget -N http://www.upek.com/support/download/TFMESS_BSP_LIN_1.0.zip&lt;br /&gt;
sha1sum --check &amp;lt;&amp;lt;EOF&lt;br /&gt;
c73466b5c3b26415b300d5c5ffb76deaefadeb32  TFMESS_BSP_LIN_1.0.zip&lt;br /&gt;
EOF&lt;br /&gt;
mkdir -p driver&lt;br /&gt;
pushd driver&lt;br /&gt;
unzip ../TFMESS_BSP_LIN_1.0.zip&lt;br /&gt;
PATH=&amp;quot;$PATH:$WHERE/bin&amp;quot; sh install.sh $WHERE/lib/&lt;br /&gt;
cd NonGUI_Sample&lt;br /&gt;
perl -i -pe 'print &amp;quot;#include &amp;lt;stdlib.h&amp;gt;\n//DISABLED: &amp;quot; if m!^#include &amp;quot;port/bioapi_port.h&amp;quot;$!'  main.c&lt;br /&gt;
gcc -o Sample main.c -I$WHERE/include -L$WHERE/lib -lbioapi100 -DUNIX -DLITTLE_ENDIAN&lt;br /&gt;
install Sample -m755 $WHERE/bin/upek-NonGUI_Sample&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
SERIAL=`$WHERE/bin/BioAPITest | sed -ne &amp;quot;/Fingerprint/{n;n;s/^.*: \(.\{9\}\)\(.\{4\}\)\(.\{4\}\)\(.\{4\}\)\(.*\)/\1-\2-\3-\4-\5/gp}&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Install (patched) pam_bioapi:&lt;br /&gt;
&lt;br /&gt;
wget -N http://www.qrivy.net/~michael/blua/pam_bioapi/pam_bioapi-latest.tar.bz2 &lt;br /&gt;
wget -N http://badcode.de/downloads/fingerprint.patch &lt;br /&gt;
sha1sum --check &amp;lt;&amp;lt;EOF&lt;br /&gt;
a0bdf3436e55f7dc8b4795243f08a4c9b399dec8  pam_bioapi-latest.tar.bz2&lt;br /&gt;
619254a5bcd3acb8bf1d72b15ea69bfe00f0f064  fingerprint.patch&lt;br /&gt;
EOF&lt;br /&gt;
tar xjvf pam_bioapi-latest.tar.bz2 &lt;br /&gt;
pushd pam_bioapi-0.2.1 &lt;br /&gt;
patch -p0 &amp;lt; ../fingerprint.patch &lt;br /&gt;
CPPFLAGS=&amp;quot;-I$WHERE/include&amp;quot; LDFLAGS=&amp;quot;-L$WHERE/lib&amp;quot; ./configure --prefix=$WHERE&lt;br /&gt;
make &lt;br /&gt;
make install &lt;br /&gt;
ln -vfs $WHERE/lib/security/pam_bioapi.so* /lib/security/&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Install pamtester:&lt;br /&gt;
&lt;br /&gt;
wget http://mesh.dl.sourceforge.net/sourceforge/pamtester/pamtester-0.1.2.tar.gz&lt;br /&gt;
sha1sum --check &amp;lt;&amp;lt;EOF&lt;br /&gt;
33bcc610d7f208b50a0a23c144bdbd1e2cae4ac6  pamtester-0.1.2.tar.gz&lt;br /&gt;
EOF&lt;br /&gt;
tar xzvf pamtester-0.1.2.tar.gz&lt;br /&gt;
pushd pamtester-0.1.2&lt;br /&gt;
./configure --prefix=$WHERE&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Configure pam to use pam_bioapi:&lt;br /&gt;
&lt;br /&gt;
grep -q 'Fedora Core release 4' /etc/redhat-release || { echo \&lt;br /&gt;
  &amp;quot;I don't know how to configure PAM on this distribution.&lt;br /&gt;
   See: http://thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader#Configuring_pam&amp;quot;;&lt;br /&gt;
   exit 1; }&lt;br /&gt;
&lt;br /&gt;
PAMFILE=/etc/pam.d/system-auth&lt;br /&gt;
if ! grep -q 'pam_bioapi\.so' $PAMFILE; then&lt;br /&gt;
  perl -i -pe '&lt;br /&gt;
    if (!$a &amp;amp;&amp;amp; m/^auth.*pam_unix\.so/) {$a=1; print &lt;br /&gt;
      &amp;quot;auth        sufficient    pam_bioapi.so '$SERIAL' /etc/bioapi/pam/\n&amp;quot;}&lt;br /&gt;
    ' $PAMFILE&lt;br /&gt;
  if [ $PASSWD_ENROLLS == 1 ]; then&lt;br /&gt;
    perl -i -pe '&lt;br /&gt;
      if (!$p &amp;amp;&amp;amp; m/^password/) {$p=1; print&lt;br /&gt;
        &amp;quot;password    required      pam_bioapi.so '$SERIAL' /etc/bioapi/pam/\n&amp;quot;}&lt;br /&gt;
      ' $PAMFILE&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# USB permissions (set now and add to startup):&lt;br /&gt;
&lt;br /&gt;
RC_FILE=/etc/rc.local&lt;br /&gt;
SET_PERMS=$WHERE/bin/set_fingerprint_perms&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; $SET_PERMS &amp;lt;&amp;lt;'EOF'&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Make fingerprint reader USB device world-writable:&lt;br /&gt;
chmod -R a+X /proc/bus/usb&lt;br /&gt;
chmod 666 /proc/bus/usb/`/sbin/lsusb | sed -ne &amp;quot;/0483:2016/s/Bus\ \(.*\)\ Device\ \(.*\):\ .*/\1\/\2/p&amp;quot;`&lt;br /&gt;
EOF&lt;br /&gt;
chmod 755 $SET_PERMS&lt;br /&gt;
&lt;br /&gt;
$SET_PERMS&lt;br /&gt;
&lt;br /&gt;
[ -e $RC_FILE ] || { echo &amp;quot;No $RC_FILE, can't handle this distribution.&amp;quot;; exit 1; }&lt;br /&gt;
if ! grep -q 0483:2016 $SET_PERMS; then&lt;br /&gt;
  echo $SET_PERMS &amp;gt;&amp;gt; $RC_FILE&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Enroll:&lt;br /&gt;
&lt;br /&gt;
mkdir -p /etc/bioapi/pam/$SERIAL&lt;br /&gt;
pushd /etc/bioapi/pam/$SERIAL&lt;br /&gt;
read -p &amp;quot;Now enroll all relevant Unix accounts (press Enter to start).&amp;quot;&lt;br /&gt;
$WHERE/bin/upek-NonGUI_Sample&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Done:&lt;br /&gt;
&lt;br /&gt;
set +x&lt;br /&gt;
cat&amp;lt;&amp;lt;EOF&lt;br /&gt;
&lt;br /&gt;
Success.&lt;br /&gt;
* To test the fingerprint-enabled PAM login, run:&lt;br /&gt;
  $WHERE/bin/pamtester -v login USERNAME authenticate&lt;br /&gt;
* Add the following command to your resume-from-suspend script:&lt;br /&gt;
  $WHERE/bin/set_fingerprint_perms&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ideas for improvement==&lt;br /&gt;
* Support more distributions&lt;br /&gt;
* Minimize changes to {{path|/etc/pam.d/system-auth}} by creating a separate file (e.g., {{path|/etc/pam.d/bioapi-auth}}) and &amp;lt;tt&amp;gt;@include&amp;lt;/tt&amp;gt;-ing it.&lt;br /&gt;
* Do something about {{path|/etc/pam.d/sshd}} - it invokes {{path|/etc/pam.d/system-auth}} by stacking, so remote SSH logins now invoke the fingerprint reader... See related discussion in [[How_to_enable_the_fingerprint_reader]].&lt;br /&gt;
* Install and configure a patched xscreensaver (as explained in [[How_to_enable_the_fingerprint_reader]]).&lt;br /&gt;
* Add &amp;quot;&amp;lt;tt&amp;gt;OnResume 10 /opt/bioapi/bin/set_fingerprint_perms&amp;lt;/tt&amp;gt;&amp;quot; to [[Software Suspend 2|suspend2]]'s {{path|/etc/hibernate/hibernate.conf}}?&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User_talk:Akw&amp;diff=20303</id>
		<title>User talk:Akw</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User_talk:Akw&amp;diff=20303"/>
		<updated>2006-02-22T18:43:00Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Backups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Has anybody got useful suggestions?&lt;br /&gt;
Feel free to tell them!&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 11:46, 25 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Suggestion: Introduction of Model-Type Categories ==&lt;br /&gt;
&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
first, thx for sysoping me. I feel honored. ;)&lt;br /&gt;
&lt;br /&gt;
I just thought that we could have categories representing the TP models (not too detailed)...like&lt;br /&gt;
ThinkpadR50, ThinkpadT40p, ThinkpadA21 and so on.&lt;br /&gt;
&lt;br /&gt;
This way we could add the specs, install notes and other pages to the according models category and this way provide a means of crossreferenced &amp;quot;show me all info about my model&amp;quot; access.&lt;br /&gt;
&lt;br /&gt;
What do you think?&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 12:13, 25 Sep 2004 (CEST)&lt;br /&gt;
&lt;br /&gt;
We could add the category views to the List in the Models section, since the specs are only attached to the model-numbers, not to the general name of the models.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 12:16, 25 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Yes, that's a good idea, let's do it. I like the mediawiki category concept.&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 13:01, 25 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hei, it works great.&lt;br /&gt;
&lt;br /&gt;
Seems like we got a good start. ;-)&lt;br /&gt;
I mean, two days and we already have some really useful cross reference information gathering functionality!&lt;br /&gt;
&lt;br /&gt;
However, i have three general issues we should make decisions about:&lt;br /&gt;
&lt;br /&gt;
#If we rename all the Model categories to just T40, 600, X23, they would not all be sorted under T in the Models category, hence leading to better organisation. The backdrawing is that this causes them to spread out in the category listing that one can get by clicking on the Categories link of categorised pages. I think the advantage is bigger than the backdrawing, right? (Good that i just added a lot of them to different pages. ;) )&lt;br /&gt;
#We are using these strange not very expressive internal link names. Mediawiki seems to handle expressive names quite well, so shouldn't we just use real page titles as their links? Makes things easier for editors, makes things more readable in Category views and finally gives us nicer titles to the pages.&lt;br /&gt;
#Is there a way here to get some kind of back-buttons automatically included into the pages? I've seen that the wiki does this on subpages of userpages, but i tried giving hirarchical link structures (with slashes) in the install section and it didn't work the same way. Else i think we should sooner or later start including them by hand.&lt;br /&gt;
&lt;br /&gt;
Greets...[[User:Wyrfel|Wyrfel]] 19:38, 25 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Hi,&lt;br /&gt;
I think so too, hope some others from the mailing list will join the building process.&lt;br /&gt;
&lt;br /&gt;
Issues:&lt;br /&gt;
#Renaming of the model categories: I think it's a good idea! I see if I can patch the mediawiki software to the the Categories link point to ''Category:Main_Page''. I don't like the ''Special:Categories'' anyway, because it shows no treeview.&lt;br /&gt;
#awful pagenames: YES! ''T40psidInstallation'' could be also ''Installing Debian/Sid on a T40p''. Would be much nicer. :-)&lt;br /&gt;
#back-buttons:I don't know if there is an automatically working template or something. I will find it out.&lt;br /&gt;
&lt;br /&gt;
By the way: I saw you are experimenting with designs for the mainpage. My approach was just a quick hack (basically copying from wikipedia..) &lt;br /&gt;
So if you have something nice-looking, just apply it! :-)&lt;br /&gt;
&lt;br /&gt;
See you, [[User:Akw|akw]] 13:13, 26 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
ok, i'll start adjusting pages then. I agree to your point about the Category view...having the Link point to Categories:Main_Page would be nicer.&lt;br /&gt;
&lt;br /&gt;
Concerning the designs...i'd like to experiment a bit more before applying it to the page...not really satisfied so far. However - i got used to your block layout. ;)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 13:28, 26 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
* [[:Category:Main_Page]] ''link patch'': done.&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 14:09, 26 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Great work. I think we are through with point 1 and 2 now.&lt;br /&gt;
&lt;br /&gt;
The Category-Main page looks nice with the pic. I thought that we could add a specific picture to each Models category page. Would be nice.&lt;br /&gt;
I started gathering pictures the like of yours (white background, isometric perspective). I could scale them to a standard size.&lt;br /&gt;
Do you have any idea where i could find them all at once or more quickly than searching google images?&lt;br /&gt;
(Also thought about creating icons for the main page, but that will take a while (to be expected in november the earliest.)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 15:28, 26 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
i just transformed all the distro pages into categories, gives similar advantages as with the ThinkPad models. Also relayouted them a bit while at it.&lt;br /&gt;
&lt;br /&gt;
The bad news is that today is the last day i can do something, probably until middle of october, since the Telekom doesn't manage to give me a new phoneline in time, and from 6th to 12th i'll be in holidays. So good luck...i hope i get the line earlier, but you know the Telekom, i guess.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 12:16, 29 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Hi Wyrfel,&lt;br /&gt;
&lt;br /&gt;
YES... I know the Telekom... Happy holidays, anyway :-) Thanks for all the work.&lt;br /&gt;
&lt;br /&gt;
Ciao, [[User:Akw|akw]] 12:54, 29 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== dynamic 3Dfps ==&lt;br /&gt;
&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
great work you did there again! Some suggestions: A sorting mechanism would be nice (best via up and down arrows on the table headers like in gtk apps) and a filter functionality (via select boxes in the table headers maybe?).&lt;br /&gt;
Also, the dynamic page doesn't have a talk page associated, do you think you might be able to move it there?&lt;br /&gt;
&lt;br /&gt;
Best wishes...&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 01:48, 13 Oct 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
* Sorting/Filtering: Yes, I thought about that, too: I will do it when I find time.&lt;br /&gt;
* Talk page: Unfortunately, &amp;quot;SpecialPages&amp;quot; cannot have discussion. So I put the discussion on the Header-Template ([[Template:Benchmarks_Header]]) which appears on the top of [[Special:Benchmarks]].&lt;br /&gt;
--[[User:Akw|akw]] 12:59, 14 Oct 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
I finished sorting and filtering now. Just have a look at it. :-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 21:54, 15 Oct 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'm impressed. ;) Really.&lt;br /&gt;
Do you do something in the web area professionally?&lt;br /&gt;
----&lt;br /&gt;
Thanks!&lt;br /&gt;
Not yet, I am still a student, but I hope I'll get my studies finished in March/April 2005.&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 15:19, 16 Oct 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== edit page modding? ==&lt;br /&gt;
&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
can you tell me how i can change the edit pages footer? Can't find any info about it and would like to put the policies page there. Is there a special template for this?&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 06:41, 29 Dec 2004 (CET)&lt;br /&gt;
----&lt;br /&gt;
Hmm, don't know. I'll have a look.. Thanks for creating [[Help:Editing]], that's great!&amp;lt;br /&amp;gt;Have a happy new year!&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 20:31, 30 Dec 2004 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
You, too.&lt;br /&gt;
&lt;br /&gt;
[[User:217.230.181.21|217.230.181.21]] 04:43, 31 Dec 2004 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hei, please let the logo contest go until 28th of february at least, i'd like to submit something, but I'll be on holidays until 23rd. ;-)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 03:34, 27 Jan 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
Hi [[User:Wyrfel|Wyrfel]],&lt;br /&gt;
&lt;br /&gt;
superb! that's great!&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 10:20, 28 Jan 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
could you please update the MediaWiki to at least 1.4? We have the problem that one can't use the same template more than 5 times on one page. This is fixed since 1.4. Thanks a lot.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 03:00, 2 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== R51p?? ==&lt;br /&gt;
&lt;br /&gt;
Are you sure the 'R51p' exists?&lt;br /&gt;
&lt;br /&gt;
There is no mention of it on the IBM support site, and tabook.pdf, trwbook.pdf, tawbook.pdf or twbook.pdf also does not mention it.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
You're right, removed it.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 13:02, 5 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===ThinkWiki Update===&lt;br /&gt;
This is great! Thanks a lot. Unfortunately i can't help with the mod_rewrite problem. At work we had trouble with it as well, but i don't know any details about it. Good luck!&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel]] 12:46, 12 May 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
Me agian. ;-) Just wanted to thank you for fixing the image display. (In case this happend accidentially...some images weren't found after the update. It seems to work for all of them now again.)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 02:31, 20 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== page moves/deletes ==&lt;br /&gt;
&lt;br /&gt;
Can you move the following pages:&lt;br /&gt;
&lt;br /&gt;
These machines where marketed with lower-case 'c'&lt;br /&gt;
*360CS -&amp;gt; 360Cs&lt;br /&gt;
*750CS -&amp;gt; 750Cs&lt;br /&gt;
*755CS -&amp;gt; 755Cs&lt;br /&gt;
All the Other 'CS' where marketed with upper-case, so they are fine.&lt;br /&gt;
&lt;br /&gt;
Also can you delete the '701' page, it never existed as discussed on its talk page.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Did these. We also have a mention of a 750e on the [[750 Family Device Support in Linux]] page. This doesn't have a category page, yet and information seems hard to gather. Tonko, if you know anything about it..... ;-)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 00:05, 27 May 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I guess you mean the reference to a '750Ce'. I can find no reference to it in tabook, and also my EMEA references make no mention of it, so I doubt it was sold in either the Americas or EMEA. Could this simply be confusion with the 755CE?&lt;br /&gt;
&lt;br /&gt;
Tonko&lt;br /&gt;
----&lt;br /&gt;
Can you delete the '365' page, such a machine did not exist.&amp;lt;br&amp;gt;&lt;br /&gt;
What did exist was the 365CS, 365C, 365CSD and 365CD for which I created pages.&lt;br /&gt;
&lt;br /&gt;
Also are you sure the 700T existed? it is not in twbook, and my EMEA references do not have it either.&lt;br /&gt;
&lt;br /&gt;
Tonko&lt;br /&gt;
----&lt;br /&gt;
===Vandalism &amp;amp;amp; Spamming===&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
is there a way you can delete the Vova22 and Vova38 user accounts? They have been used for spamming only.&lt;br /&gt;
&lt;br /&gt;
Also, since we get the same kind of spamming attacs over and over again now and the responsible person uses different IPs, is there a way to prevent edits based on their content?&lt;br /&gt;
&lt;br /&gt;
Regards,&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 03:36, 13 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My guess is that this guy is probably using an anonymous proxy such as http://tor.eff.org/ such that his IP address is different each time.&lt;br /&gt;
blocking the IP as such has little effect. Not sure what can be done about it, perhaps as you said we can try to block specific content but that just gets us in the same game spam blockers are in.&lt;br /&gt;
&lt;br /&gt;
Another option would be to require users to login to edit pages, and make it such that bots cannot be used to create userids. But again, I am not sure that is the right option either. But looking at the changes made, the vast majority of valid changes seem to come from people who have a userid...&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 15:25, 13 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
I don't like requiring people to login to edit, but it might be worth thinking about if one can really keep bots from creating accounts. However, this would still allow real person vandalism and we would end up with junk user accounts that are not easy to remove. Also, how would we prevent bots from creating accounts? I do not like the &amp;quot;type the number in the picture below&amp;quot; kind of thing.&lt;br /&gt;
&lt;br /&gt;
I was thinking about something like if a certain text is included in the edit, the whole edit would be rejected or offered for reediting. This way we would only have to maintain a list of links (or even domains) that we don't want to have here. Our job would not be as tough than that of spam blockers, cause we have a limited content target and hence can be sure that certain content is to be excluded.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 17:28, 13 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
For the moment I have protected the Help:Contents page since it seems to be a constant target, and I suspect it is a bot using an anonymous proxy.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 22:43, 13 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Sounds reasonable. I think we can even keep it protected, because standard users normally don't edit there. [[User:Wyrfel|Wyrfel]] 02:46, 14 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Yet another MediaWiki upgrade ==&lt;br /&gt;
&lt;br /&gt;
Hi Akw,&lt;br /&gt;
&lt;br /&gt;
Thanks for running this great site! It really changed the &amp;quot;ThinkPad experience&amp;quot; for me.&lt;br /&gt;
&lt;br /&gt;
There were several MediaWiki security updates released since the present version 1.4.4, and the new MediaWiki 1.5.x offers some nifty features like diff during preview. Any chance of an upgrade?&lt;br /&gt;
----&lt;br /&gt;
Maybe I try the upgrade for christmas ;-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 12:59, 26 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'm trying to provide variable-width notes using the conditional templates (&amp;quot;Template:If defined&amp;quot; etc.) from Wikipedia, but they don't work on ThinkWiki. I guess this is also because of the old MediaWiki version...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 04:08, 27 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Spam filtering ==&lt;br /&gt;
&lt;br /&gt;
Judging by the weather, it must be spam season. Maybe it's possible to reject or silently drop posts based on strings/regexps? Most recent spam seems to have been posted by the same tool, whose favoriate conversation piece are&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;zuenwa1651&amp;quot; style=&amp;quot;overflow: auto; height: 1px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div class=exf align='center' style='overflow:auto; height: 1px;'&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maybe this will buy us some quiet (until the next step in the spammers vs. humans arms race).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:37, 10 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Perhaps it is possible to use $wgSpamBlacklist to setup a regex that blocks the most common spam keywords?&lt;br /&gt;
&lt;br /&gt;
http://meta.wikimedia.org/wiki/Anti-spam_Features&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 03:11, 18 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Good idea, I'll check that tonight or tomorrow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 17:02, 19 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== file uploads disabled ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
As I mentioned already on the [[Issues with the Wiki]] page, file uploads are disabled.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 15:21, 15 January 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Thank you, I fixed this now.&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 18:11, 15 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Backups ==&lt;br /&gt;
&lt;br /&gt;
Just wondering - is there presently some mechanism for off-site backup of all content (database, images, configuration)? If not, I can help with that.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:57, 10 February 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Given the recent database trouble, I'm becoming a bit concerned for our data... What's the situation backup-wise? My offer of help still stands.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:02, 22 February 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Seconded, this Wiki is way too valuable to let it go up in smoke in case the server dies. So in case help is needed, just tell us. BTW, I just noticed this server is located in the same data center I have a couple of servers in, so backup wouldn't even count as 'external' traffic.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:43, 22 February 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=User_talk:Akw&amp;diff=20302</id>
		<title>User talk:Akw</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=User_talk:Akw&amp;diff=20302"/>
		<updated>2006-02-22T18:27:38Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Backups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Has anybody got useful suggestions?&lt;br /&gt;
Feel free to tell them!&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 11:46, 25 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Suggestion: Introduction of Model-Type Categories ==&lt;br /&gt;
&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
first, thx for sysoping me. I feel honored. ;)&lt;br /&gt;
&lt;br /&gt;
I just thought that we could have categories representing the TP models (not too detailed)...like&lt;br /&gt;
ThinkpadR50, ThinkpadT40p, ThinkpadA21 and so on.&lt;br /&gt;
&lt;br /&gt;
This way we could add the specs, install notes and other pages to the according models category and this way provide a means of crossreferenced &amp;quot;show me all info about my model&amp;quot; access.&lt;br /&gt;
&lt;br /&gt;
What do you think?&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 12:13, 25 Sep 2004 (CEST)&lt;br /&gt;
&lt;br /&gt;
We could add the category views to the List in the Models section, since the specs are only attached to the model-numbers, not to the general name of the models.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 12:16, 25 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Yes, that's a good idea, let's do it. I like the mediawiki category concept.&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 13:01, 25 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hei, it works great.&lt;br /&gt;
&lt;br /&gt;
Seems like we got a good start. ;-)&lt;br /&gt;
I mean, two days and we already have some really useful cross reference information gathering functionality!&lt;br /&gt;
&lt;br /&gt;
However, i have three general issues we should make decisions about:&lt;br /&gt;
&lt;br /&gt;
#If we rename all the Model categories to just T40, 600, X23, they would not all be sorted under T in the Models category, hence leading to better organisation. The backdrawing is that this causes them to spread out in the category listing that one can get by clicking on the Categories link of categorised pages. I think the advantage is bigger than the backdrawing, right? (Good that i just added a lot of them to different pages. ;) )&lt;br /&gt;
#We are using these strange not very expressive internal link names. Mediawiki seems to handle expressive names quite well, so shouldn't we just use real page titles as their links? Makes things easier for editors, makes things more readable in Category views and finally gives us nicer titles to the pages.&lt;br /&gt;
#Is there a way here to get some kind of back-buttons automatically included into the pages? I've seen that the wiki does this on subpages of userpages, but i tried giving hirarchical link structures (with slashes) in the install section and it didn't work the same way. Else i think we should sooner or later start including them by hand.&lt;br /&gt;
&lt;br /&gt;
Greets...[[User:Wyrfel|Wyrfel]] 19:38, 25 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Hi,&lt;br /&gt;
I think so too, hope some others from the mailing list will join the building process.&lt;br /&gt;
&lt;br /&gt;
Issues:&lt;br /&gt;
#Renaming of the model categories: I think it's a good idea! I see if I can patch the mediawiki software to the the Categories link point to ''Category:Main_Page''. I don't like the ''Special:Categories'' anyway, because it shows no treeview.&lt;br /&gt;
#awful pagenames: YES! ''T40psidInstallation'' could be also ''Installing Debian/Sid on a T40p''. Would be much nicer. :-)&lt;br /&gt;
#back-buttons:I don't know if there is an automatically working template or something. I will find it out.&lt;br /&gt;
&lt;br /&gt;
By the way: I saw you are experimenting with designs for the mainpage. My approach was just a quick hack (basically copying from wikipedia..) &lt;br /&gt;
So if you have something nice-looking, just apply it! :-)&lt;br /&gt;
&lt;br /&gt;
See you, [[User:Akw|akw]] 13:13, 26 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
ok, i'll start adjusting pages then. I agree to your point about the Category view...having the Link point to Categories:Main_Page would be nicer.&lt;br /&gt;
&lt;br /&gt;
Concerning the designs...i'd like to experiment a bit more before applying it to the page...not really satisfied so far. However - i got used to your block layout. ;)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 13:28, 26 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
* [[:Category:Main_Page]] ''link patch'': done.&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 14:09, 26 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Great work. I think we are through with point 1 and 2 now.&lt;br /&gt;
&lt;br /&gt;
The Category-Main page looks nice with the pic. I thought that we could add a specific picture to each Models category page. Would be nice.&lt;br /&gt;
I started gathering pictures the like of yours (white background, isometric perspective). I could scale them to a standard size.&lt;br /&gt;
Do you have any idea where i could find them all at once or more quickly than searching google images?&lt;br /&gt;
(Also thought about creating icons for the main page, but that will take a while (to be expected in november the earliest.)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 15:28, 26 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
i just transformed all the distro pages into categories, gives similar advantages as with the ThinkPad models. Also relayouted them a bit while at it.&lt;br /&gt;
&lt;br /&gt;
The bad news is that today is the last day i can do something, probably until middle of october, since the Telekom doesn't manage to give me a new phoneline in time, and from 6th to 12th i'll be in holidays. So good luck...i hope i get the line earlier, but you know the Telekom, i guess.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 12:16, 29 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Hi Wyrfel,&lt;br /&gt;
&lt;br /&gt;
YES... I know the Telekom... Happy holidays, anyway :-) Thanks for all the work.&lt;br /&gt;
&lt;br /&gt;
Ciao, [[User:Akw|akw]] 12:54, 29 Sep 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== dynamic 3Dfps ==&lt;br /&gt;
&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
great work you did there again! Some suggestions: A sorting mechanism would be nice (best via up and down arrows on the table headers like in gtk apps) and a filter functionality (via select boxes in the table headers maybe?).&lt;br /&gt;
Also, the dynamic page doesn't have a talk page associated, do you think you might be able to move it there?&lt;br /&gt;
&lt;br /&gt;
Best wishes...&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 01:48, 13 Oct 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
* Sorting/Filtering: Yes, I thought about that, too: I will do it when I find time.&lt;br /&gt;
* Talk page: Unfortunately, &amp;quot;SpecialPages&amp;quot; cannot have discussion. So I put the discussion on the Header-Template ([[Template:Benchmarks_Header]]) which appears on the top of [[Special:Benchmarks]].&lt;br /&gt;
--[[User:Akw|akw]] 12:59, 14 Oct 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
I finished sorting and filtering now. Just have a look at it. :-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 21:54, 15 Oct 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'm impressed. ;) Really.&lt;br /&gt;
Do you do something in the web area professionally?&lt;br /&gt;
----&lt;br /&gt;
Thanks!&lt;br /&gt;
Not yet, I am still a student, but I hope I'll get my studies finished in March/April 2005.&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 15:19, 16 Oct 2004 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== edit page modding? ==&lt;br /&gt;
&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
can you tell me how i can change the edit pages footer? Can't find any info about it and would like to put the policies page there. Is there a special template for this?&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 06:41, 29 Dec 2004 (CET)&lt;br /&gt;
----&lt;br /&gt;
Hmm, don't know. I'll have a look.. Thanks for creating [[Help:Editing]], that's great!&amp;lt;br /&amp;gt;Have a happy new year!&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 20:31, 30 Dec 2004 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
You, too.&lt;br /&gt;
&lt;br /&gt;
[[User:217.230.181.21|217.230.181.21]] 04:43, 31 Dec 2004 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hei, please let the logo contest go until 28th of february at least, i'd like to submit something, but I'll be on holidays until 23rd. ;-)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 03:34, 27 Jan 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
Hi [[User:Wyrfel|Wyrfel]],&lt;br /&gt;
&lt;br /&gt;
superb! that's great!&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 10:20, 28 Jan 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
could you please update the MediaWiki to at least 1.4? We have the problem that one can't use the same template more than 5 times on one page. This is fixed since 1.4. Thanks a lot.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 03:00, 2 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== R51p?? ==&lt;br /&gt;
&lt;br /&gt;
Are you sure the 'R51p' exists?&lt;br /&gt;
&lt;br /&gt;
There is no mention of it on the IBM support site, and tabook.pdf, trwbook.pdf, tawbook.pdf or twbook.pdf also does not mention it.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
You're right, removed it.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 13:02, 5 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===ThinkWiki Update===&lt;br /&gt;
This is great! Thanks a lot. Unfortunately i can't help with the mod_rewrite problem. At work we had trouble with it as well, but i don't know any details about it. Good luck!&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel]] 12:46, 12 May 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
Me agian. ;-) Just wanted to thank you for fixing the image display. (In case this happend accidentially...some images weren't found after the update. It seems to work for all of them now again.)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 02:31, 20 May 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== page moves/deletes ==&lt;br /&gt;
&lt;br /&gt;
Can you move the following pages:&lt;br /&gt;
&lt;br /&gt;
These machines where marketed with lower-case 'c'&lt;br /&gt;
*360CS -&amp;gt; 360Cs&lt;br /&gt;
*750CS -&amp;gt; 750Cs&lt;br /&gt;
*755CS -&amp;gt; 755Cs&lt;br /&gt;
All the Other 'CS' where marketed with upper-case, so they are fine.&lt;br /&gt;
&lt;br /&gt;
Also can you delete the '701' page, it never existed as discussed on its talk page.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Did these. We also have a mention of a 750e on the [[750 Family Device Support in Linux]] page. This doesn't have a category page, yet and information seems hard to gather. Tonko, if you know anything about it..... ;-)&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 00:05, 27 May 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I guess you mean the reference to a '750Ce'. I can find no reference to it in tabook, and also my EMEA references make no mention of it, so I doubt it was sold in either the Americas or EMEA. Could this simply be confusion with the 755CE?&lt;br /&gt;
&lt;br /&gt;
Tonko&lt;br /&gt;
----&lt;br /&gt;
Can you delete the '365' page, such a machine did not exist.&amp;lt;br&amp;gt;&lt;br /&gt;
What did exist was the 365CS, 365C, 365CSD and 365CD for which I created pages.&lt;br /&gt;
&lt;br /&gt;
Also are you sure the 700T existed? it is not in twbook, and my EMEA references do not have it either.&lt;br /&gt;
&lt;br /&gt;
Tonko&lt;br /&gt;
----&lt;br /&gt;
===Vandalism &amp;amp;amp; Spamming===&lt;br /&gt;
Hei,&lt;br /&gt;
&lt;br /&gt;
is there a way you can delete the Vova22 and Vova38 user accounts? They have been used for spamming only.&lt;br /&gt;
&lt;br /&gt;
Also, since we get the same kind of spamming attacs over and over again now and the responsible person uses different IPs, is there a way to prevent edits based on their content?&lt;br /&gt;
&lt;br /&gt;
Regards,&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 03:36, 13 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My guess is that this guy is probably using an anonymous proxy such as http://tor.eff.org/ such that his IP address is different each time.&lt;br /&gt;
blocking the IP as such has little effect. Not sure what can be done about it, perhaps as you said we can try to block specific content but that just gets us in the same game spam blockers are in.&lt;br /&gt;
&lt;br /&gt;
Another option would be to require users to login to edit pages, and make it such that bots cannot be used to create userids. But again, I am not sure that is the right option either. But looking at the changes made, the vast majority of valid changes seem to come from people who have a userid...&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 15:25, 13 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
I don't like requiring people to login to edit, but it might be worth thinking about if one can really keep bots from creating accounts. However, this would still allow real person vandalism and we would end up with junk user accounts that are not easy to remove. Also, how would we prevent bots from creating accounts? I do not like the &amp;quot;type the number in the picture below&amp;quot; kind of thing.&lt;br /&gt;
&lt;br /&gt;
I was thinking about something like if a certain text is included in the edit, the whole edit would be rejected or offered for reediting. This way we would only have to maintain a list of links (or even domains) that we don't want to have here. Our job would not be as tough than that of spam blockers, cause we have a limited content target and hence can be sure that certain content is to be excluded.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 17:28, 13 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
For the moment I have protected the Help:Contents page since it seems to be a constant target, and I suspect it is a bot using an anonymous proxy.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 22:43, 13 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Sounds reasonable. I think we can even keep it protected, because standard users normally don't edit there. [[User:Wyrfel|Wyrfel]] 02:46, 14 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Yet another MediaWiki upgrade ==&lt;br /&gt;
&lt;br /&gt;
Hi Akw,&lt;br /&gt;
&lt;br /&gt;
Thanks for running this great site! It really changed the &amp;quot;ThinkPad experience&amp;quot; for me.&lt;br /&gt;
&lt;br /&gt;
There were several MediaWiki security updates released since the present version 1.4.4, and the new MediaWiki 1.5.x offers some nifty features like diff during preview. Any chance of an upgrade?&lt;br /&gt;
----&lt;br /&gt;
Maybe I try the upgrade for christmas ;-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 12:59, 26 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'm trying to provide variable-width notes using the conditional templates (&amp;quot;Template:If defined&amp;quot; etc.) from Wikipedia, but they don't work on ThinkWiki. I guess this is also because of the old MediaWiki version...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 04:08, 27 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Spam filtering ==&lt;br /&gt;
&lt;br /&gt;
Judging by the weather, it must be spam season. Maybe it's possible to reject or silently drop posts based on strings/regexps? Most recent spam seems to have been posted by the same tool, whose favoriate conversation piece are&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;zuenwa1651&amp;quot; style=&amp;quot;overflow: auto; height: 1px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;div class=exf align='center' style='overflow:auto; height: 1px;'&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maybe this will buy us some quiet (until the next step in the spammers vs. humans arms race).&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:37, 10 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Perhaps it is possible to use $wgSpamBlacklist to setup a regex that blocks the most common spam keywords?&lt;br /&gt;
&lt;br /&gt;
http://meta.wikimedia.org/wiki/Anti-spam_Features&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 03:11, 18 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Good idea, I'll check that tonight or tomorrow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 17:02, 19 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== file uploads disabled ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
As I mentioned already on the [[Issues with the Wiki]] page, file uploads are disabled.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 15:21, 15 January 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Thank you, I fixed this now.&lt;br /&gt;
&lt;br /&gt;
--[[User:Akw|akw]] 18:11, 15 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Backups ==&lt;br /&gt;
&lt;br /&gt;
Just wondering - is there presently some mechanism for off-site backup of all content (database, images, configuration)? If not, I can help with that.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:57, 10 February 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Given the recent database trouble, I'm becoming a bit concerned for our data... What's the situation backup-wise? My offer of help still stands.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:02, 22 February 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Seconded, this Wiki is way too valuable to let it go up in smoke in case the server dies. So in case help is needed, just tell us.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:27, 22 February 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Script_for_enabling_the_fingerprint_reader_with_BioAPI&amp;diff=20301</id>
		<title>Script for enabling the fingerprint reader with BioAPI</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Script_for_enabling_the_fingerprint_reader_with_BioAPI&amp;diff=20301"/>
		<updated>2006-02-22T18:22:34Z</updated>

		<summary type="html">&lt;p&gt;Spiney: undid the last change once more, the line is correct&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Using the [[Integrated Fingerprint Reader|integrated fingerprint reader]] under Linux is currently a fairly complicated [[How to enable the fingerprint reader|process]]. The following script automates the installation of the fingerprint software, for some Linux distributions. It covers most components (bioapi framework, driver, pam_bioapi, PAM setup, USB device permissions pamtester and enrolling), and handles all the downloading, patching and installation.&lt;br /&gt;
&lt;br /&gt;
Usage: just copy into a file and run as root.&lt;br /&gt;
&lt;br /&gt;
After installation, all PAM-enabled system functions will use the fingerprint reader (and if it fails, default to the usual password entry). This includes:&lt;br /&gt;
* KDE's KDM login (enter an empty password, then swipe finger)&lt;br /&gt;
* KDE's screensaver (enter an empty password, then swipe finger)&lt;br /&gt;
* Gnome's GDM login&lt;br /&gt;
* &amp;lt;tt&amp;gt;su&amp;lt;/tt&amp;gt; &lt;br /&gt;
* &amp;lt;tt&amp;gt;sudo&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Everything is intalled into {{path|/opt/bioapi}}, so it doesn't pollute your filesystem. The only files affected outside {{path|/opt/bioapi}} are the ldconfig configuration, PAM configuration, {{path|/etc/rc.local}} and a few symlinks in {{path|/lib/security}}.&lt;br /&gt;
&lt;br /&gt;
For details, manual installation and hints for other distributions, see [[How to enable the fingerprint reader]].&lt;br /&gt;
&lt;br /&gt;
===Distributions supported by this script===&lt;br /&gt;
* {{Fedora}} 4&lt;br /&gt;
&lt;br /&gt;
If you add support for additional distributions, please update this script (using conditionals where necessary) instead of branching it.&lt;br /&gt;
&lt;br /&gt;
==The script==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Install UPEK fingerprint reader driver and associated software on Linux systems.&lt;br /&gt;
# Source: http://thinkwiki.org/wiki/Script_for_enabling_the_fingerprint_reader&lt;br /&gt;
&lt;br /&gt;
set -e -E -x -u   # verbose, abort if anything fails&lt;br /&gt;
&lt;br /&gt;
WHERE=/opt/bioapi&lt;br /&gt;
PASSWD_ENROLLS=0   # should &amp;quot;passwd&amp;quot; do fingerprint enrollment (always)?&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Install bioapi:&lt;br /&gt;
&lt;br /&gt;
mkdir -p $WHERE&lt;br /&gt;
wget -N http://www.qrivy.net/~michael/blua/bioapi/bioapi-latest.tar.bz2&lt;br /&gt;
sha1sum --check &amp;lt;&amp;lt;EOF&lt;br /&gt;
932425e847449e9612c6894dcbaf44630aecfc13  bioapi-latest.tar.bz2&lt;br /&gt;
EOF&lt;br /&gt;
tar xjf bioapi-latest.tar.bz2&lt;br /&gt;
pushd bioapi-1.2.2&lt;br /&gt;
./configure --with-Qt-dir=no --prefix=$WHERE&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
install -m644 include/bioapi_util.h $WHERE/include/bioapi_util.h&lt;br /&gt;
install -m644 include/installdefs.h $WHERE/include/installdefs.h&lt;br /&gt;
install -m644 imports/cdsa/v2_0/inc/cssmtype.h $WHERE/include/cssmtype.h&lt;br /&gt;
chmod o-w $WHERE/var/bioapi&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Tell ldconfig about bioapi libraries:&lt;br /&gt;
&lt;br /&gt;
[ -d /etc/ld.so.conf.d ] || { echo &amp;quot;Unsupported distribution: no /etc/ld.so.conf.d directory.&amp;quot;; exit 1; }&lt;br /&gt;
echo $WHERE/lib &amp;gt; /etc/ld.so.conf.d/bioapi.conf&lt;br /&gt;
ldconfig&lt;br /&gt;
ldconfig -p | grep -q bioapi || { echo &amp;quot;ldconfig doesn't see bioapi&amp;quot;; exit 1; }&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Install UPEK driver:&lt;br /&gt;
&lt;br /&gt;
wget -N http://www.upek.com/support/download/TFMESS_BSP_LIN_1.0.zip&lt;br /&gt;
sha1sum --check &amp;lt;&amp;lt;EOF&lt;br /&gt;
c73466b5c3b26415b300d5c5ffb76deaefadeb32  TFMESS_BSP_LIN_1.0.zip&lt;br /&gt;
EOF&lt;br /&gt;
mkdir -p driver&lt;br /&gt;
pushd driver&lt;br /&gt;
unzip ../TFMESS_BSP_LIN_1.0.zip&lt;br /&gt;
PATH=&amp;quot;$PATH:$WHERE/bin&amp;quot; sh install.sh $WHERE/lib/&lt;br /&gt;
cd NonGUI_Sample&lt;br /&gt;
perl -i -pe 'print &amp;quot;#include &amp;lt;stdlib.h&amp;gt;\n//DISABLED: &amp;quot; if m!^#include &amp;quot;port/bioapi_port.h&amp;quot;$!'  main.c&lt;br /&gt;
gcc -o Sample main.c -I$WHERE/include -L$WHERE/lib -lbioapi100 -DUNIX -DLITTLE_ENDIAN&lt;br /&gt;
install Sample -m755 $WHERE/bin/upek-NonGUI_Sample&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
SERIAL=`$WHERE/bin/BioAPITest | sed -ne &amp;quot;/Fingerprint/{n;n;s/^.*: \(.\{9\}\)\(.\{4\}\)\(.\{4\}\)\(.\{4\}\)\(.*\)/\1-\2-\3-\4-\5/gp}&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Install (patched) pam_bioapi:&lt;br /&gt;
&lt;br /&gt;
wget -N http://www.qrivy.net/~michael/blua/pam_bioapi/pam_bioapi-latest.tar.bz2 &lt;br /&gt;
wget -N http://badcode.de/downloads/fingerprint.patch &lt;br /&gt;
sha1sum --check &amp;lt;&amp;lt;EOF&lt;br /&gt;
a0bdf3436e55f7dc8b4795243f08a4c9b399dec8  pam_bioapi-latest.tar.bz2&lt;br /&gt;
619254a5bcd3acb8bf1d72b15ea69bfe00f0f064  fingerprint.patch&lt;br /&gt;
EOF&lt;br /&gt;
tar xjvf pam_bioapi-latest.tar.bz2 &lt;br /&gt;
pushd pam_bioapi-0.2.1 &lt;br /&gt;
patch -p0 &amp;lt; ../fingerprint.patch &lt;br /&gt;
CPPFLAGS=&amp;quot;-I$WHERE/include&amp;quot; LDFLAGS=&amp;quot;-L$WHERE/lib&amp;quot; ./configure --prefix=$WHERE&lt;br /&gt;
make &lt;br /&gt;
make install &lt;br /&gt;
ln -vfs $WHERE/lib/security/pam_bioapi.so* /lib/security/&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Install pamtester:&lt;br /&gt;
&lt;br /&gt;
wget http://mesh.dl.sourceforge.net/sourceforge/pamtester/pamtester-0.1.2.tar.gz&lt;br /&gt;
sha1sum --check &amp;lt;&amp;lt;EOF&lt;br /&gt;
33bcc610d7f208b50a0a23c144bdbd1e2cae4ac6  pamtester-0.1.2.tar.gz&lt;br /&gt;
EOF&lt;br /&gt;
tar xzvf pamtester-0.1.2.tar.gz&lt;br /&gt;
pushd pamtester-0.1.2&lt;br /&gt;
./configure --prefix=$WHERE&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Configure pam to use pam_bioapi:&lt;br /&gt;
&lt;br /&gt;
grep -q 'Fedora Core release 4' /etc/redhat-release || { echo \&lt;br /&gt;
  &amp;quot;I don't know how to configure PAM on this distribution.&lt;br /&gt;
   See: http://thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader#Configuring_pam&amp;quot;;&lt;br /&gt;
   exit 1; }&lt;br /&gt;
&lt;br /&gt;
PAMFILE=/etc/pam.d/system-auth&lt;br /&gt;
if ! grep -q 'pam_bioapi\.so' $PAMFILE; then&lt;br /&gt;
  perl -i -pe '&lt;br /&gt;
    if (!$a &amp;amp;&amp;amp; m/^auth.*pam_unix\.so/) {$a=1; print &lt;br /&gt;
      &amp;quot;auth        sufficient    pam_bioapi.so '$SERIAL' /etc/bioapi/pam/\n&amp;quot;}&lt;br /&gt;
    ' $PAMFILE&lt;br /&gt;
  if [ $PASSWD_ENROLLS == 1 ]; then&lt;br /&gt;
    perl -i -pe '&lt;br /&gt;
      if (!$p &amp;amp;&amp;amp; m/^password/) {$p=1; print&lt;br /&gt;
        &amp;quot;password    required      pam_bioapi.so '$SERIAL' /etc/bioapi/pam/\n&amp;quot;}&lt;br /&gt;
      ' $PAMFILE&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# USB permissions (set now and add to startup):&lt;br /&gt;
&lt;br /&gt;
RC_FILE=/etc/rc.local&lt;br /&gt;
SET_PERMS=$WHERE/bin/set_fingerprint_perms&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; $SET_PERMS &amp;lt;&amp;lt;'EOF'&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Make fingerprint reader USB device world-writable:&lt;br /&gt;
chmod -R a+X /proc/bus/usb&lt;br /&gt;
chmod 666 /proc/bus/usb/`/sbin/lsusb | sed -ne &amp;quot;/0483:2016/s/Bus\ \(.*\)\ Device\ \(.*\):\ .*/\1\/\2/p&amp;quot;`&lt;br /&gt;
EOF&lt;br /&gt;
chmod 755 $SET_PERMS&lt;br /&gt;
&lt;br /&gt;
$SET_PERMS&lt;br /&gt;
&lt;br /&gt;
[ -e $RC_FILE ] || { echo &amp;quot;No $RC_FILE, can't handle this distribution.&amp;quot;; exit 1; }&lt;br /&gt;
if ! grep -q 0483:2016 $SET_PERMS; then&lt;br /&gt;
  echo $SET_PERMS &amp;gt;&amp;gt; $RC_FILE&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Enroll:&lt;br /&gt;
&lt;br /&gt;
mkdir -p /etc/bioapi/pam/$SERIAL&lt;br /&gt;
pushd /etc/bioapi/pam/$SERIAL&lt;br /&gt;
read -p &amp;quot;Now enroll all relevant Unix accounts (press Enter to start).&amp;quot;&lt;br /&gt;
$WHERE/bin/upek-NonGUI_Sample&lt;br /&gt;
popd&lt;br /&gt;
&lt;br /&gt;
########################################&lt;br /&gt;
# Done:&lt;br /&gt;
&lt;br /&gt;
set +x&lt;br /&gt;
cat&amp;lt;&amp;lt;EOF&lt;br /&gt;
&lt;br /&gt;
Success.&lt;br /&gt;
* To test the fingerprint-enabled PAM login, run:&lt;br /&gt;
  $WHERE/bin/pamtester -v login USERNAME authenticate&lt;br /&gt;
* Add the following command to your resume-from-suspend script:&lt;br /&gt;
  $WHERE/bin/set_fingerprint_perms&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ideas for improvement==&lt;br /&gt;
* Support more distributions&lt;br /&gt;
* Minimize changes to {{path|/etc/pam.d/system-auth}} by creating a separate file (e.g., {{path|/etc/pam.d/bioapi-auth}}) and &amp;lt;tt&amp;gt;@include&amp;lt;/tt&amp;gt;-ing it.&lt;br /&gt;
* Do something about {{path|/etc/pam.d/sshd}} - it invokes {{path|/etc/pam.d/system-auth}} by stacking, so remote SSH logins now invoke the fingerprint reader... See related discussion in [[How_to_enable_the_fingerprint_reader]].&lt;br /&gt;
* Install and configure a patched xscreensaver (as explained in [[How_to_enable_the_fingerprint_reader]]).&lt;br /&gt;
* Add &amp;quot;&amp;lt;tt&amp;gt;OnResume 10 /opt/bioapi/bin/set_fingerprint_perms&amp;lt;/tt&amp;gt;&amp;quot; to [[Software Suspend 2|suspend2]]'s {{path|/etc/hibernate/hibernate.conf}}?&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=20251</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=20251"/>
		<updated>2006-02-20T20:22:25Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* No DMA on DVD drive */ undid Waldi's edit, ATA_ENABLE_PATA has nothing to do with atapi_enabled, so don't mix those two&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 (as of 2.6.15-rc3) 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;
Current release-candidates for 2.6.16 ([http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.16-rc1 Changelog for 2.6.16-rc1]) have the patch already included], so no more patching will be necessary with 2.6.16.&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).&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;
&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 SATA driver (instead of the IDE driver) for the optical drive. This requires enabling two featues of the SATA driver, namely ATAPI support and PATA support, which are both in active development and far from 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;
** Configure the SATA system (and in particular &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 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;
** Configure the SATA system as module (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;
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 some Linux kernels, both the SATA driver and the IDE driver can handle the system hard disk. With the SATA driver, it shows as {{path|/dev/sda}} and DMA is enabled. With the IDE driver, it 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 SATA 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 &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, DMA will be disabled on these models (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>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Tp_smapi&amp;diff=19561</id>
		<title>Talk:Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Tp_smapi&amp;diff=19561"/>
		<updated>2006-02-08T09:48:01Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Kernel Patch? */ addition to README file?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Feedback ==&lt;br /&gt;
&lt;br /&gt;
Great, great work! Really! This completely rocks. I just stopped my battery from charging at 77% and restarted charging a bit later, no problems whatsoever. BTW, this is on kernel 2.6.14.3.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:25, 5 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
None of the fuctions is working on my T40, kernel 2.6.14-mm2.&lt;br /&gt;
&lt;br /&gt;
--[[User:Lammic|lammic]], 2005.12.05&lt;br /&gt;
&lt;br /&gt;
Works for me on a T41 running 2.6.12-10-686 (Ubuntu 5.10).&lt;br /&gt;
&lt;br /&gt;
--[[User:berndtnm|berndtnm]], 2005.12.06&lt;br /&gt;
&lt;br /&gt;
Including stop_charge_thresh? That one seems to be missing on the T42p.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:46, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi works just fine on an R52 with Ubuntu Breezy stock kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 12:52, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''To set the thresholds for starting and stopping battery charging (in percent of current capacity):''&lt;br /&gt;
&lt;br /&gt;
'''current''' really? That'd be weird, I'd expect it to be percent of '''total''' capacity.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 14:39, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Current full charge capacity&amp;quot;, as opposed to &amp;quot;current remaining capacity&amp;quot; or &amp;quot;designed full charge capacity&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:05, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Battery features don't work with my T41p. I can't check this with windows. Can anybody try these features?&lt;br /&gt;
&lt;br /&gt;
-- Nils, 7 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nils, does cdrom_speed work for you on the T41p? Could you provide the details requested in the README (dmesg etc.)?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:57, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CDRom Speed seems to work. (I see no warnings, but I have to do a speed test.) Now, I've send all outputs to the email-address in the readme.&lt;br /&gt;
&lt;br /&gt;
-- Nils, 8 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
All the features except the stop_charge_thresh seem to work here on a t42p. &lt;br /&gt;
One note, the start_charge_thresh seems to really be stop_charge_thresh. Ie, If I set that to lower than my current battery %, it will never charge, &lt;br /&gt;
and if I set it to 100 the battery charges all the way. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 16 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nirik, &amp;quot;all the features&amp;quot; as of which version? For example, do the force_discharge{1,2} in tp_smapi 0.12 also work for you? See the table in the article page. About start_charge, that's odd. Can you send me a log of what you did, what was the result a what was the dmesg output for each operation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 14:16, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
System T40p:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge1&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge2&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# dmesg   &lt;br /&gt;
tp_smapi: req_in: BX=2118 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=8680 BX=2118 CX=100 DX=b2 DI=0 SI=0 ret=-38&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2118)&lt;br /&gt;
tp_smapi: cannot get force_discharge1 of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: req_in: BX=2104 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=80 BX=2103 CX=100 DX=78 DI=0 SI=0 ret=0&lt;br /&gt;
tp_smapi: cannot get force_discharge2 of battery 0: bx=2103&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So it seems force_discharge1 is not supported at all. But force_discharge2? By the way, i think wiki is a _very_ good idea for collecting information, but not for discussion. I would prefer a maillinglist. We can use sourceforge.&lt;br /&gt;
&lt;br /&gt;
--[[User|StefanSchmidt]]&lt;br /&gt;
&lt;br /&gt;
force_discharge2 is indicating a real error condition (bx=2103 which has bit 0x02 on), but I have no idea what the error is or how to fix it. Sorry. If you can trigger this function under Windows and have SoftICE or equivalent, maybe it can be worked out.&lt;br /&gt;
&lt;br /&gt;
About the Wiki discussion, I'm not sure a mailing list is justified yet, but you can use the linux-thinkpad list or the e-mail address in the README. &lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:42, 16 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
OK, then i use linux-thinkpad to get more people involved. I'am away the next weeks, but i hope to find some time to hacking on tp_smapi.&lt;br /&gt;
&lt;br /&gt;
--[[User:StefanSchmidt]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Someone reported cd_speed works on T42 but on mine, it doesn't: this is 2378DXU&lt;br /&gt;
&lt;br /&gt;
--[[User:eBug]] 22:55, 17 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
eBug, how does it fail? If the file doesn't exist, it means you didn't enable PROVIDE_CD_SPEED (see the README). If it does exist, can you provide the dmesg output when you read an write to the file?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 11:53, 18 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
To confirm:&lt;br /&gt;
tp_smapi 0.13 works with hdaps module loaded on T41 (2373-8RG). However, force_discharge*, inhibit_charge_minutes, start_charge_thresh, stop_charge_thresh don't seem to be implemented on this model.&lt;br /&gt;
&lt;br /&gt;
--[[User:LJSBRokken|LJSBrokken]] 21 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi version 0.13 with T23 (2647-3QG) (I have dual batteries)...&lt;br /&gt;
&lt;br /&gt;
None of the functions which make any changes work...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# cd /sys/devices/platform/smapi &amp;amp;&amp;amp; cat BAT*/* &amp;gt; /dev/null&lt;br /&gt;
cat: BAT0/force_discharge1: Function not implemented&lt;br /&gt;
cat: BAT0/force_discharge2: Input/output error&lt;br /&gt;
cat: BAT0/inhibit_charge_minutes: Function not implemented&lt;br /&gt;
cat: BAT0/start_charge_thresh: Function not implemented&lt;br /&gt;
cat: BAT0/stop_charge_thresh: Function not implemented&lt;br /&gt;
cat: BAT1/force_discharge1: Function not implemented&lt;br /&gt;
cat: BAT1/force_discharge2: Input/output error&lt;br /&gt;
cat: BAT1/inhibit_charge_minutes: Function not implemented&lt;br /&gt;
cat: BAT1/start_charge_thresh: Function not implemented&lt;br /&gt;
cat: BAT1/stop_charge_thresh: Function not implemented&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, all the battery status information is available, and functions appear for both BAT0 and BAT1, regardless of when the UltraBay battery was inserted or ejected- this is very useful, it is the only way I can monitor my UltraBay battery unless it was present on boot.&lt;br /&gt;
&lt;br /&gt;
--[[User:SystemParadox|SystemParadox]] 21:51, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
SystemParadox, what's the dmesg output produced by &amp;quot;cat BAT0/force_discharge2&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 22:02, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
After the upgrade to 0.14 (with kernel 2.6.15, using the patch) I can't use inhibit_charge and start/stop_charge_thresh any longer (getting an input/output error), the dmesg debug output when {{cmd|cat|}}-ing those three files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tp_smapi: tp_smapi 0.14 loading...&lt;br /&gt;
tp_smapi: successfully loaded (smapi_port=0xb2).&lt;br /&gt;
tp_smapi: req_in: BX=2114 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=ea210080 BX=ec192114 CX=c18d0700 DX=f7cc00b2 DI=f7f50000 SI=c18d0000 ret=-5&lt;br /&gt;
tp_smapi: SMAPI error: Unknown error code (func=2114)&lt;br /&gt;
tp_smapi: cannot get inhibit charge of battery 0: Unknown error code&lt;br /&gt;
tp_smapi: req_in: BX=2116 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=c03b0080 BX=c18d2116 CX=c0160328 DX=ec7600b2 DI=ec760000 SI=a0810000 ret=-5&lt;br /&gt;
tp_smapi: SMAPI error: Unknown error code (func=2116)&lt;br /&gt;
tp_smapi: cannot get start thresh of battery 0: Unknown error code&lt;br /&gt;
tp_smapi: req_in: BX=211a CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=c03b0080 BX=c18d211a CX=c016032c DX=eb4500b2 DI=eb450000 SI=241e0000 ret=-5&lt;br /&gt;
tp_smapi: SMAPI error: Unknown error code (func=211a)&lt;br /&gt;
tp_smapi: cannot get stop thresh of battery 0: Unknown error code&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 08:12, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oops, the transition to 32-bit SMAPI calls was broken. Fixed in 0.15. Thanks for the quick report!&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 12:10, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Yep, 0.15 works again. Quick response, bravo! :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 12:23, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
On a T22, nothing seems to work with 0.16.&lt;br /&gt;
&lt;br /&gt;
[[http://www.rafb.net/paste/results/fcUUDs49.html|dmesg output]] when doing cat *&lt;br /&gt;
&lt;br /&gt;
I am using an Ultrabay2000 battery, so it would be really usefull to be able to control that&lt;br /&gt;
&lt;br /&gt;
--[[User:nusse|nusse]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nusse: Not even the extended battery status? That does work on T23. About the control features, I believe they're not available on the T23; did you have any kind of (dis)charge control under WindowS?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:59, 11 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I don't really know what 'extended battery' status means, but here an example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat current_*                                                     /sys/devices/platform/smapi/BAT1&lt;br /&gt;
cat: current_avg: Input/output error&lt;br /&gt;
cat: current_now: Input/output error&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is what happens when i cat any file in this directory and also in ../BAT1 :(&lt;br /&gt;
&lt;br /&gt;
--[[User:nusse|nusse]] Thu Jan 12 22:07:26 CET 2006&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nusse: Yes, that's what I meant. What's the {{cmdroot|dmesg}} output generated by these commands?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:27, 13 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thinker: I attached some link to my first comment but it seems to be down and the link was wrong anyway.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2118)&lt;br /&gt;
tp_smapi: cannot get force_discharge of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2114)&lt;br /&gt;
tp_smapi: cannot get inhibit charge of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2116)&lt;br /&gt;
tp_smapi: cannot get start thresh of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=211a)&lt;br /&gt;
tp_smapi: cannot get stop thresh of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
thinkpad controller read(%hx,%hx): failed writing to 0x1610&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:nusse|nusse]] Fri Jan 13 14:35:57 CET 2006&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nusse: Thanks; but there's not much we can do. Maybe the T22 uses a different interface, or doesn't have that feature.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:23, 15 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thinker: Is there anything I can do to check if the interface is different? Changing 0x1610 to some random number?&lt;br /&gt;
&lt;br /&gt;
Is there a chance to get it by try and error?&lt;br /&gt;
&lt;br /&gt;
--[[User:nusse|nusse]] Mon Jan 16 19:10:12 CET 2006&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
0x1610 is the number of an IO port it writes to, so changing it to a random number will pretty much guarantee a system crash...&lt;br /&gt;
&lt;br /&gt;
The only way I can think of for figuring out the T22 interface is to see what the Windows software does.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 19:47, 16 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I have a R40 (2722-B3G), and several things don't work with 0.16 on linux 2.6.15.1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2118)&lt;br /&gt;
tp_smapi: cannot get force_discharge of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2114)&lt;br /&gt;
tp_smapi: cannot get inhibit charge of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2116)&lt;br /&gt;
tp_smapi: cannot get start thresh of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=211a)&lt;br /&gt;
tp_smapi: cannot get stop thresh of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don't know about Windows, haven't booted it for weeks nor used it for years...&lt;br /&gt;
&lt;br /&gt;
--[[User:Wonka|Wonka]] 19:00, 19 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Wonka: do the other features (i.e., extended battery status) work on your R40?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:30, 20 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Changing the CD speed when the CD is being accessed will hang your computer==&lt;br /&gt;
&lt;br /&gt;
I don't have this problem on my T40p. CDROM is mounted and file on CD is opened. Change speed do '''not''' hang my system.&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
An open file looks fine if you're not reading/writing at that point. But my T43 does hangs on this:&lt;br /&gt;
 # dd if=/dev/scd0 of=/dev/null &amp;amp;&lt;br /&gt;
 # echo 1 &amp;gt; /sys/devices/platform/smapi/cdrom_speed&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:41, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OK, sorry. I was to fast. My system hangs on this commands, too. :(&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
&lt;br /&gt;
Works well. Great.&lt;br /&gt;
&lt;br /&gt;
T42 2373-8zh. Working :cdrom_speed and start_charge_thresh. Untest : inhibit_charge_minutes.&lt;br /&gt;
&lt;br /&gt;
-- Haifeng Chen&lt;br /&gt;
&lt;br /&gt;
cdrom_speed works on my T40.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Lammic|lammic]], 2005.12.09&lt;br /&gt;
&lt;br /&gt;
== Kernel Patch? ==&lt;br /&gt;
&lt;br /&gt;
Hello Thinker,&lt;br /&gt;
&lt;br /&gt;
would it be possible to provide the SMAPI support as kernel patch as well? Something along the lines of: (0.12 against 2.6.15-rc5)&lt;br /&gt;
&lt;br /&gt;
''(deleted, see below for how to create a patch file)''&lt;br /&gt;
&lt;br /&gt;
Deleted the tp_smapi.c file at the end, out of obvious reasons, and I'm not sure about the placement in the ACPI section, OTOH there it would be found easily next to ibm_acpi.&lt;br /&gt;
&lt;br /&gt;
Providing a patch would help when recompiling the kernel often, I hate recompiling external modules every time (even got me a kernel-upgrade script to do most of it automatically). But of course it's up to you. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:52, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'll be glad to add this, but I don't want to go through additional manual steps in the release process (there are already quite a few). Can you add a &amp;quot;make patch&amp;quot; functionality to the Makefile, or something of the sort, to automatically generate a full patch (including tp_smapi.c) against current kernel sources?&lt;br /&gt;
&lt;br /&gt;
Also, this shouldn't be under drivers/acpi, since it doesn't use ACPI at all (that's why I didn't make it a patch to ibm_acpi). I think the right place is drivers/firmware, like the dell_rbu driver for Dell laptops.&lt;br /&gt;
&lt;br /&gt;
BTW, the convention for kernel patches is to start them once level higher:&lt;br /&gt;
  diff -Nurp kernel-2.6.14-vanilla kernel-2.6.14-patched&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:12, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Of course it's from the wrong level, as usual I was just lazy/inattentive. And at one point I'll remember who likes what patch format, promise. ;)&lt;br /&gt;
&lt;br /&gt;
A patch target as in &amp;quot;create a new file holding a correct diff to current kernel source&amp;quot; would be rather difficult, since line numbers might change etc., but applying the patch should be straighforward with a bit of sed. Of course I could just do that, create a patch with the diff command and then apply the new patch file in reverse. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 18:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If it does that on a local copy (no changes the original kernel tree) and cleans up after itself, that's fine with me. :-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:50, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, here's a shell script that creates the patch, feel free to use it under the terms of the GPL. For example call it from your Makefile with the patch target: (I didn't want to put all the script into the Makefile, since the rules about escaping in Makefiles, well, escape me ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
KDIR=/lib/modules/$(uname -r)/build&lt;br /&gt;
FDIR=drivers/firmware&lt;br /&gt;
OPWD=$(pwd)&lt;br /&gt;
&lt;br /&gt;
TMPDIR=$(mktemp -d)&lt;br /&gt;
cd $TMPDIR&lt;br /&gt;
&lt;br /&gt;
mkdir -p a/$FDIR&lt;br /&gt;
cp $KDIR/$FDIR/{Kconfig,Makefile} a/$FDIR&lt;br /&gt;
cp -r a b&lt;br /&gt;
sed -i -e '/endmenu/i\&lt;br /&gt;
config IBM_SMAPI\&lt;br /&gt;
        tristate &amp;quot;IBM ThinkPad SMAPI Support&amp;quot;\&lt;br /&gt;
        depends on X86\&lt;br /&gt;
        ---help---\&lt;br /&gt;
        This adds SMAPI support on IBM ThinkPads, mostly used for battery\&lt;br /&gt;
        charge control. For more information about this driver see\&lt;br /&gt;
        &amp;lt;http://www.thinkwiki.org/wiki/SMAPI_support_for_Linux&amp;gt; .\&lt;br /&gt;
\&lt;br /&gt;
        If you have an IBM ThinkPad laptop, say Y or M here.\&lt;br /&gt;
' b/$FDIR/Kconfig&lt;br /&gt;
sed -i -e '$a\&lt;br /&gt;
obj-$(CONFIG_IBM_SMAPI)            += tp_smapi.o' b/$FDIR/Makefile&lt;br /&gt;
cp $OPWD/tp_smapi.c b/$FDIR&lt;br /&gt;
diff -Nurp a b &amp;gt; $OPWD/tp_smapi-$(uname -r).patch&lt;br /&gt;
rm -r a b&lt;br /&gt;
cd $OPWD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, [http://qbnz.com/highlighter/ GeSHi]-based syntax-highlighting would be great...&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:28, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ah, neat sed foo. How about [http://tpctl.sourceforge.net/tmp/Makefile this] escapade, then? &lt;br /&gt;
&lt;br /&gt;
What's the sed spell needed to replace the Makefile's&lt;br /&gt;
 VER  := 0.13&lt;br /&gt;
with auto-parsing of&lt;br /&gt;
 #define TP_VERSION &amp;quot;0.13&amp;quot;&lt;br /&gt;
from tp_smapi.c?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:37, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hmm, something like&lt;br /&gt;
 VERFROMC=$(sed -ne 's/^#define TP_VERSION &amp;quot;\(.*\)&amp;quot;/\1/gp' tp_smapi.c)&lt;br /&gt;
 sed -i -e &amp;quot;s/^VER := .*$/VER := $VERFROMC/&amp;quot; Makefile&lt;br /&gt;
should do (untested, from the top of my head, maybe the temporary variable isn't even necessary?). And neat Makefile wizardry, at one point I'll learn the syntax.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:44, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Makefile escaping is horrible, keep avoiding it... Anyway, the updated [http://tpctl.sourceforge.net/tmp/Makefile make patch] seems to do the right thing.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Small documentation request: just needed to create a patch for the not-yet-installed 2.6.16-rc2, which is no problem with&lt;br /&gt;
 make KSRC=/path/to/linux-2.6.16-rc2 KVER=2.6.16-rc2 patch&lt;br /&gt;
but I guess it would be a good addition to the README file. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 10:48, 8 February 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Installation questions==&lt;br /&gt;
Amazing! I've loaded this module in my T43 which is running SuSE 10 with the kernel of 2.6.13-15. I have three points to share:&lt;br /&gt;
&lt;br /&gt;
1. The battery control part seems to work but has a minor problem. I set the stop_charge_threshold to 70, but the battery stops charging at 55%. Don't know why and how to fix it. :P&lt;br /&gt;
&lt;br /&gt;
2. I don't have the cd speed control function. Here is what I have under /sys/devices/platform/smapi/:&lt;br /&gt;
&lt;br /&gt;
./  ../  ac_connected  BAT0/  BAT1/  bus@  driver@  power/&lt;br /&gt;
&lt;br /&gt;
3. SuSE 10 doesn't have the necessary C files under .../drivers/hwmon/, I copied them from a 2.6.14.5 kernel source. Maybe it causes the two problems above. :(&lt;br /&gt;
&lt;br /&gt;
When I have time, I'll install the new kernel to see if the problems are gone and report the result.&lt;br /&gt;
&lt;br /&gt;
--[[User:68.51.153.96|68.51.153.96]] 04:31, 2 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
1. It should stop charging at 70, but will only ''start'' charging when remaining capacity has dipped below &amp;lt;tt&amp;gt;start_charge_thresh&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. See the note about PROVIDE_CD_SPEED.&lt;br /&gt;
&lt;br /&gt;
3. That's should be needed only for patching the HDAPS driver in order to make it compatible with tp_smapi. If your kernel (which version is it?) doens't inlude the HDAPS driver anyway, you don't need to patch....&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 09:28, 2 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks Thinker.&lt;br /&gt;
&lt;br /&gt;
1. I discharged and recharged the battery again. This time, it stops at 68% percent, which is pretty good.&lt;br /&gt;
&lt;br /&gt;
2. I missed the NOTE in README, for I just followed this wiki. :P&lt;br /&gt;
&lt;br /&gt;
3. My kernel version is 2.6.13-15.&lt;br /&gt;
&lt;br /&gt;
By the way, I just got this T43 whose model number is 266896U. I feel that the noise of the fan is much louder than my previous T21. I think it is so since it has a CPU with bigger power but am wondering if other T43 has the same big noise?&lt;br /&gt;
&lt;br /&gt;
--[[User:Tyne|Tyne]] 00:14, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The note about PROVIDE_CD_SPEED is also in the Wiki...&lt;br /&gt;
&lt;br /&gt;
About the T43 fan noise: yes, this is a very common (and annoying) problem. See [[Problem_with_fan_noise]] and our [[ACPI fan control script]], and send Lenovo a complaint in hope they'll fix this at the firmware level.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 08:48, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Formatting ==&lt;br /&gt;
&lt;br /&gt;
Wyrfel, that was some heavy editing you did... I agree with most changes (including the saner color choice). I did like those HINT floats, though - they keep the hints from interrupting the flow of text too much, and this particular text needs any help it can get.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:04, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
Hei Thinker,&lt;br /&gt;
&lt;br /&gt;
I'll look into it again. I felt that the floating HINTs were tearing the text apart too much. Maybe we could fix it by placing the clear marks somewhere else.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 18:46, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Dual battery operation with tp_smapi ==&lt;br /&gt;
&lt;br /&gt;
It looks like it is working quite fine with tp_smapi-0.13 and 2.6.15 (it may also work with other versions, but those are the ones I have running right now).&lt;br /&gt;
&lt;br /&gt;
The juicy details:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|cd /sys/devices/platform/smapi/}}&lt;br /&gt;
{{cmdroot|cat ac_connected}}&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|0}}&lt;br /&gt;
{{cmdroot|cat BAT{0,1}/state}}&lt;br /&gt;
{{cmdresult|discharging}}&lt;br /&gt;
{{cmdresult|idle}}&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|echo 1 &amp;gt; BAT1/force_discharge1}}&lt;br /&gt;
{{cmdroot|cat BAT{0,1}/state}}&lt;br /&gt;
{{cmdresult|idle}}&lt;br /&gt;
{{cmdresult|discharging}}&lt;br /&gt;
&lt;br /&gt;
Checking capacity values shows that the corrent battery is being depleted.&lt;br /&gt;
&lt;br /&gt;
And remember, before you yank the CD/DVD drive out, issue:&lt;br /&gt;
&lt;br /&gt;
{{cmdroot|cat eject &amp;gt; /proc/acpi/ibm/bay}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Great! Which ThinkPad model is it? Could you also {{cmdroot|cat /sys/devices/platform/smapi/BAT{0,1}/force_discharge2}} and report the dmesg output (after {{cmdroot|make load}} or {{cmdroot|1=modprobe tp_smapi debug=1}})?&lt;br /&gt;
&lt;br /&gt;
About the eject command, I think it should be possible to do that automatically when the Ultrabay handle is ejected, via &amp;lt;tt&amp;gt;acpid&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:45, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It's a T43 (2669). cat'ing force_discharge2 gives me an I/O error and I see&lt;br /&gt;
&lt;br /&gt;
tp_smapi: cannot get force_discharge2 of battery 0: bx=2103&lt;br /&gt;
&lt;br /&gt;
tp_smapi: cannot get force_discharge2 of battery 1: bx=2103&lt;br /&gt;
&lt;br /&gt;
I find these errors irrelevant from the user's point of view, though. &lt;br /&gt;
&lt;br /&gt;
Indeed, it should be possible to automatise the &amp;quot;eject&amp;quot; command. I should also be noted that once a force_discharge1 is set, it will NOT unset automatically, event when the AC is plugged back in. An obvious fix is to fiddle with the appropriate ACPI event to force_discharge1 back to 0 for all batteries once the AC is attached.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks, this eliminates the last situation I imagined &amp;lt;tt&amp;gt;force_discharge2&amp;lt;/tt&amp;gt; might work. The next tp_smapi version will remove &amp;lt;tt&amp;gt;force_discharge2&amp;lt;/tt&amp;gt; and rename &amp;lt;tt&amp;gt;force_discharge1&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;force_discharge&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you write those ACPI scripts, it would be great if you put them on the Wiki.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:31, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Well, I still do not preclude the fact that &amp;lt;tt&amp;gt;force_discharge2&amp;lt;/tt&amp;gt; may be useful for something else on other models.&lt;br /&gt;
&lt;br /&gt;
The ACPI scripts (as well as an installation guide) is underway. It may take a while, though.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
See the new article: [[Using an Ultrabay battery]].&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:05, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hei Thinker,&lt;br /&gt;
&lt;br /&gt;
i just renamed the new page. Will adjust your links later on. Keeping the redirect page until that's done. Please set any new links you create to the new page (the pages of the individual UltraBay batteries should contain a pointer).&lt;br /&gt;
&lt;br /&gt;
On a sidenote: I would like to split the SMAPI support under Linux page into a tp_smapi driver page, just listing the features, and a &amp;quot;How to use tp_smapi&amp;quot; page. I would also split the thinkpad/tpctl page off that again. Any objections?&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 20:42, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
ACK about the page rename (the old one did sound a bit out of line to my ear, but I couldn't spot why...).&lt;br /&gt;
&lt;br /&gt;
About the splitting tp_smapi vs. thinkpad/tpctl, no objection.&lt;br /&gt;
&lt;br /&gt;
About splitting tp_smapi: currently most of that section doubles as both a spec and a HOWTO, which I think is a convenient and concise way to describe things (hey, it must be right, the Perl docs do it!). I'm not sure there's much benefit in duplicating that. Perhaps we should wait for a critical mass of additional lore to accumulate?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:04, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
Ok, i agree on the latter.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 00:57, 11 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Article name capitalization== &lt;br /&gt;
&lt;br /&gt;
Wikimedia autocapitalizes the article name upon submit. How do I concince Wikimedia that I really want a lowercase &amp;quot;t&amp;quot;? The underline is probably too much too ask...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 11:03, 11 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Impossible, according to [http://en.wikipedia.org/wiki/Wikipedia:Canonicalization Wikipedia:Canonicalization].&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 12:04, 11 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Status Table==&lt;br /&gt;
For at least the T series i think that charge control was not supported prior to the T42, hardware/BIOS side. Perhaps &amp;quot;N/A&amp;quot; flags would be better here?&lt;br /&gt;
&lt;br /&gt;
I also created &amp;lt;nowiki&amp;gt;{{Isup}}&amp;lt;/nowiki&amp;gt; style templates for status, they just include images, like {{Isup}}.&lt;br /&gt;
Not emotional about it, just wanted to let you know in case you want to use them.&lt;br /&gt;
&lt;br /&gt;
Third and last...would it possibly be better to make the table headers more human readable like i.e. &amp;quot;lower charge threshold&amp;quot; or something like that instead of &amp;quot;start_charge_thresh&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 19:21, 11 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
About &amp;quot;N/A&amp;quot;, sure, if we get reliable data about the hardware capabilities. Alas, most negative reports were just &amp;quot;it doesn't work&amp;quot;, and in some cases gave contradictory information (SMAPI interface says a function is unsupported but user says it works under Windows).&lt;br /&gt;
&lt;br /&gt;
About {{Iyes}} and friends, they're very cute, but I think think they're harder to parse visually and would add some clutter to an already dense table.&lt;br /&gt;
&lt;br /&gt;
The table headers are just the names of the control files - that's important to keep, sine it's the most natural lookup key. Adding friendly description would be great, if we can fit them in (not everyone has an SXGA+ display...). I tried and failed.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:38, 11 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I have a T41p and the windows tools still don't offer me battery management, even though it's quite a while since the T42 came out.&lt;br /&gt;
&lt;br /&gt;
I'm ok with the rest.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 22:35, 11 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=18597</id>
		<title>Talk:Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=18597"/>
		<updated>2006-01-21T06:24:26Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* 8.20.8 and later works with current Debian sid packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== using kernel AGP vs fglrx AGP ==&lt;br /&gt;
&lt;br /&gt;
Anyone know whether this makes a performance and/or stability difference?&lt;br /&gt;
&lt;br /&gt;
== 8.20.8 and later works with current Debian sid packages ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
spiney@t43p:~$ dpkg -l xserver-xorg&lt;br /&gt;
Desired=Unknown/Install/Remove/Purge/Hold&lt;br /&gt;
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed&lt;br /&gt;
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)&lt;br /&gt;
||/ Name                         Version                      Description&lt;br /&gt;
+++-============================-============================-==================&lt;br /&gt;
ii  xserver-xorg                 6.9.0.dfsg.1-2               the X.Org X server&lt;br /&gt;
spiney@t43p:~$ fglrxinfo &lt;br /&gt;
display: :0.0  screen: 0&lt;br /&gt;
OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
OpenGL renderer string: MOBILITY FireGL V3200 Pentium 4 (SSE2) (FireGL) (GNU_ICD)&lt;br /&gt;
OpenGL version string: 1.3.5519 (X4.3.0-8.20.8)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ahh - thanks for the info.  You perhaps compiled the modules for the drivers yourself and did not use the debian packaged fglrx-driver?  Thus, it must be an unneeded limitation on the debian packaged driver which limits its installation...  Full listing at http://packages.debian.org/unstable/x11/fglrx-driver which lists as required packages:&lt;br /&gt;
&lt;br /&gt;
 xserver-xorg (&amp;lt;&amp;lt; 6.8.99)&lt;br /&gt;
  the X.Org X server &lt;br /&gt;
 xserver-xorg (&amp;gt;= 6.8.0) &lt;br /&gt;
&lt;br /&gt;
The first limitation (&amp;lt;&amp;lt;6.8.99) is what prevents installation.  I'm sure I could force apt to install it, but I may go back to compiling the modules myself, as using fglrx 8.20.8 with kernel 2.6.15 needs a small patch to compile correctly anyway...  --[[User:gsmenden|gsmenden]]&lt;br /&gt;
&lt;br /&gt;
Spiney, where exactly do you have your package from? I re-build the 8.20.8-package from debian with the &amp;lt;&amp;lt;6.8.99 dependecy removed, but when I try to run X, I get &lt;br /&gt;
 [R200Setup] X version mismatch - detected X.org 7.0.0.0, required X.org 6.8.0.0&lt;br /&gt;
 (EE) Failed to load module &amp;quot;fglrx&amp;quot; (module requirement mismatch, 0)&lt;br /&gt;
Any hints? --[User:nomeata|nomeata]&lt;br /&gt;
&lt;br /&gt;
I used the ati-installer (the huge download), created a Debian sid package and installed it, but got the same error. The installer seems to fetch the wrong driver version from the archive, so I extracted it with&lt;br /&gt;
&lt;br /&gt;
{{cmd|./ati-driver-installer-8.20.8-i386.run --extract &amp;lt;sometempdir&amp;gt;|}}&lt;br /&gt;
&lt;br /&gt;
and put the necessary files from the created {{path|&amp;lt;sometempdir&amp;gt;/x690}} subdirectory into {{path|/usr}} by hand. All IIRC, it's been some time since. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 07:29, 11 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Thanks for the pointer. This is how you get proper debian packages out of the ati-installer:&lt;br /&gt;
 ./ati-driver-installer-8.20.8-i386.run --extract fglrx-tmp&lt;br /&gt;
 cd fglrx-tmp&lt;br /&gt;
 $editor packages/Debian/ati-packager.sh #  in the line &amp;quot;sid|unstable) X_DIR=x680;;&amp;quot;, put a x690 for the x680&lt;br /&gt;
 ./fglrx-tmp/packages/Debian/ati-packager.sh --buildpkg sid&lt;br /&gt;
 cd ..&lt;br /&gt;
 sudo dpkg -i fglrx-kernel-src_8.20.8-1_i386.deb fglrx-driver_8.20.8-1_i386.deb&lt;br /&gt;
--[[User:Nomeata|Nomeata]] 00:35, 13 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nice - confirmed works on my T43p running sid.  From then on (or until 8.21.x comes out) you'll have to tell apt to hold back fglrx-driver package, or it will try to &amp;quot;update&amp;quot; fglrx-driver to 8.20.8-1.1 and therefore revert back to the problematic drivers.&lt;br /&gt;
--[[User:gsmenden|gsmenden]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks for the info, Nomeata, that's a lot cleaner a solution than my manual way.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 08:32, 13 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
To get this working under 2.6.15 with x.org 6.9, you will also need to apply a small patch - there is a link on the main article page.  After you install the fglrx-driver package with the 6.9 versioning hack above, go to&lt;br /&gt;
/usr/src/modules&lt;br /&gt;
and copy the patch here.  Modify the first two lines of the patch file to take out the &amp;quot;build_mod&amp;quot; directory, e.g. first line should begin with&lt;br /&gt;
 --- fglrx.orig/firegl_public.c &lt;br /&gt;
and call it with the -p0 strip option.  It should patch the firegl_public.c file cleanly.  You can then install as usual for your kernel (2.6.14.x or 2.6.15) using module-assistant.&lt;br /&gt;
&lt;br /&gt;
Update - although X will come up in kernel 2.6.15 with the fglrx drivers patched as above, there is some strange behavior exhibited in all of X apllications - frequent hanging of applications when closing windows.  Reverting back to the radeon driver in 2.6.15 solves these - so it is likely the ATI proprietary driver causing some problems.&lt;br /&gt;
&lt;br /&gt;
Yet another update - fglrx 8.21.7 is out as of 1/19/2006, now supporting OpenGL 2.0, so eventually we will have beautiful complex shading / fog effects on Linux, too.  It works well with X.Org 6.9 out of the box.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this version gives the same problems when used (unpatched) with kernel 2.6.15 with strange lockups occasionally requiring reset of X.  I have not tried this with the ~10 line patch listed on the main site, but that patch not work for me with 8.20.8.  Anybody else have experience with 2.6.15 and fglrx?&lt;br /&gt;
&lt;br /&gt;
--[[User:gsmenden|gsmenden]] 12:39, 20 Jan 2006 (EST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I don't know which patch you mean exactly (10 lines? the patch from lkml is just one line changed, no?), but I've been using 8.20.8 with 2.6.15 for quite some time (actually started with some -rc version IIRC), no lockups at all. No idea about 8.21.7 though, because I switched to 2.6.16-rc1 and can't compile the fglrx module at the moment, need to investigate the cause.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 07:24, 21 January 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Disabling the external VGA port? ==&lt;br /&gt;
&lt;br /&gt;
Does anyone know how disable the VGA port ''completely'' even when a cable is attached? Fiddling around with the DesktopSetup and ForceMonitor options didn't do the trick for me, and the MonitorLayout option found in some documentation is no longer valid in the current fglrx driver.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:42, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Debian-specific script to switch fglrx&amp;lt;-&amp;gt;radeon ==&lt;br /&gt;
&lt;br /&gt;
Don't know where to put it exactly, but if someone's interested (and using Debian), I've put up a [http://linux.spiney.org/debian_gnu_linux_on_an_ibm_thinkpad_t43p_graphics_card_switching_fglrx_radeon script for easily switching graphics driver configurations]. Feedback appreciated (altho I haven't got any to the xscreensaver patch ;)), especially if someone could do something similar for other distributions (Gentoo being half-way there it seems) and incorporate it into the script.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 15:25, 17 January 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:Industry_News&amp;diff=18508</id>
		<title>Template:Industry News</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:Industry_News&amp;diff=18508"/>
		<updated>2006-01-19T12:47:04Z</updated>

		<summary type="html">&lt;p&gt;Spiney: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;19.01.2006 New [[fglrx]] driver version 8.21.7 released&lt;br /&gt;
&lt;br /&gt;
14.01.2006 A bit old news: [http://www.businessweek.com/technology/content/dec2005/tc20051221_376268.htm?campaign_id=rss_tech Lenovo hires new CEO from Dell].&lt;br /&gt;
&lt;br /&gt;
05.01.2006 Lenovo [http://www.pc.ibm.com/ww/thinkpad/x-t.html?re=home_primary_us announces] the next step in X and T series: [[:Category:X60|X60]], [[:Category:X60s|X60s]] and [[:Category:T60|T60]].&lt;br /&gt;
&lt;br /&gt;
22.12.2005 [http://www.upek.com/support/dl_linux_bsp.asp Version 1.0 (final)] of the BSP for the UPEK fingerprint sensor released.&lt;br /&gt;
&lt;br /&gt;
08.12.2005 New [[fglrx]] driver version 8.20.8 released&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Additional_options_for_the_radeon_driver&amp;diff=18239</id>
		<title>Talk:Additional options for the radeon driver</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Additional_options_for_the_radeon_driver&amp;diff=18239"/>
		<updated>2006-01-17T14:39:20Z</updated>

		<summary type="html">&lt;p&gt;Spiney: real dual-head with X.org 6.9.0?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''BIOSHotkeys''' and '''MergedNonRectangular''' options are unknown on my Fedora Core 4 with xorg-x11-6.8.2-37.FC4.49.2.  [[User:Asgeirn|Asgeirn]] 09:39, 28 Sep 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== MergedFB messes up LCD screen ==&lt;br /&gt;
&lt;br /&gt;
When I try to used any MergedFB configuration, my laptop screen goes crazy.  I can see from the screen and the Xorg logs that the second monitor is setup and the mergedfb is active, but the laptop screen is completely unreadable, even when I switch back to the VTs in text mode.  The screen is just a blur of colors.  This happens no matter what the mergedfb size is.  My system is a T41 (2373-7FU) with Radeon 7500 M7 LW.&lt;br /&gt;
&lt;br /&gt;
Xinerama works just fine, but of course there is no direct rendering.&lt;br /&gt;
&lt;br /&gt;
--216.234.144.30&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Sounds like a refresh rate issue. Try the xorg.onf snippet in [[ATI Mobility Radeon X300]].&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 04:18, 18 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== real dual-head with X.org 6.9.0? ==&lt;br /&gt;
&lt;br /&gt;
Anyone having a working configuration providing real dual-head setup (two independent screens, no moving of windows between them) with the radeon driver? &lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 15:39, 17 January 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=18238</id>
		<title>Talk:Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=18238"/>
		<updated>2006-01-17T14:25:26Z</updated>

		<summary type="html">&lt;p&gt;Spiney: Debian-specific script to switch fglrx&amp;lt;-&amp;gt;radeon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== using kernel AGP vs fglrx AGP ==&lt;br /&gt;
&lt;br /&gt;
Anyone know whether this makes a performance and/or stability difference?&lt;br /&gt;
&lt;br /&gt;
== 8.20.8 does work fine with current Debian sid packages ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
spiney@t43p:~$ dpkg -l xserver-xorg&lt;br /&gt;
Desired=Unknown/Install/Remove/Purge/Hold&lt;br /&gt;
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed&lt;br /&gt;
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)&lt;br /&gt;
||/ Name                         Version                      Description&lt;br /&gt;
+++-============================-============================-==================&lt;br /&gt;
ii  xserver-xorg                 6.9.0.dfsg.1-2               the X.Org X server&lt;br /&gt;
spiney@t43p:~$ fglrxinfo &lt;br /&gt;
display: :0.0  screen: 0&lt;br /&gt;
OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
OpenGL renderer string: MOBILITY FireGL V3200 Pentium 4 (SSE2) (FireGL) (GNU_ICD)&lt;br /&gt;
OpenGL version string: 1.3.5519 (X4.3.0-8.20.8)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ahh - thanks for the info.  You perhaps compiled the modules for the drivers yourself and did not use the debian packaged fglrx-driver?  Thus, it must be an unneeded limitation on the debian packaged driver which limits its installation...  Full listing at http://packages.debian.org/unstable/x11/fglrx-driver which lists as required packages:&lt;br /&gt;
&lt;br /&gt;
 xserver-xorg (&amp;lt;&amp;lt; 6.8.99)&lt;br /&gt;
  the X.Org X server &lt;br /&gt;
 xserver-xorg (&amp;gt;= 6.8.0) &lt;br /&gt;
&lt;br /&gt;
The first limitation (&amp;lt;&amp;lt;6.8.99) is what prevents installation.  I'm sure I could force apt to install it, but I may go back to compiling the modules myself, as using fglrx 8.20.8 with kernel 2.6.15 needs a small patch to compile correctly anyway...  --[[User:gsmenden|gsmenden]]&lt;br /&gt;
&lt;br /&gt;
Spiney, where exactly do you have your package from? I re-build the 8.20.8-package from debian with the &amp;lt;&amp;lt;6.8.99 dependecy removed, but when I try to run X, I get &lt;br /&gt;
 [R200Setup] X version mismatch - detected X.org 7.0.0.0, required X.org 6.8.0.0&lt;br /&gt;
 (EE) Failed to load module &amp;quot;fglrx&amp;quot; (module requirement mismatch, 0)&lt;br /&gt;
Any hints? --[User:nomeata|nomeata]&lt;br /&gt;
&lt;br /&gt;
I used the ati-installer (the huge download), created a Debian sid package and installed it, but got the same error. The installer seems to fetch the wrong driver version from the archive, so I extracted it with&lt;br /&gt;
&lt;br /&gt;
{{cmd|./ati-driver-installer-8.20.8-i386.run --extract &amp;lt;sometempdir&amp;gt;|}}&lt;br /&gt;
&lt;br /&gt;
and put the necessary files from the created {{path|&amp;lt;sometempdir&amp;gt;/x690}} subdirectory into {{path|/usr}} by hand. All IIRC, it's been some time since. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 07:29, 11 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Thanks for the pointer. This is how you get proper debian packages out of the ati-installer:&lt;br /&gt;
 ./ati-driver-installer-8.20.8-i386.run --extract fglrx-tmp&lt;br /&gt;
 cd fglrx-tmp&lt;br /&gt;
 $editor packages/Debian/ati-packager.sh #  in the line &amp;quot;sid|unstable) X_DIR=x680;;&amp;quot;, put a x690 for the x680&lt;br /&gt;
 ./fglrx-tmp/packages/Debian/ati-packager.sh --buildpkg sid&lt;br /&gt;
 cd ..&lt;br /&gt;
 sudo dpkg -i fglrx-kernel-src_8.20.8-1_i386.deb fglrx-driver_8.20.8-1_i386.deb&lt;br /&gt;
--[[User:Nomeata|Nomeata]] 00:35, 13 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nice - confirmed works on my T43p running sid.  From then on (or until 8.21.x comes out) you'll have to tell apt to hold back fglrx-driver package, or it will try to &amp;quot;update&amp;quot; fglrx-driver to 8.20.8-1.1 and therefore revert back to the problematic drivers.&lt;br /&gt;
--[[User:gsmenden|gsmenden]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks for the info, Nomeata, that's a lot cleaner a solution than my manual way.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 08:32, 13 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
To get this working under 2.6.15 with x.org 6.9, you will also need to apply a small patch - there is a link on the main article page.  After you install the fglrx-driver package with the 6.9 versioning hack above, go to&lt;br /&gt;
/usr/src/modules&lt;br /&gt;
and copy the patch here.  Modify the first two lines of the patch file to take out the &amp;quot;build_mod&amp;quot; directory, e.g. first line should begin with&lt;br /&gt;
 --- fglrx.orig/firegl_public.c &lt;br /&gt;
and call it with the -p0 strip option.  It should patch the firegl_public.c file cleanly.  You can then install as usual for your kernel (2.6.14.x or 2.6.15) using module-assistant.&lt;br /&gt;
&lt;br /&gt;
Update - although X will come up in kernel 2.6.15 with the fglrx drivers patched as above, there is some strange behavior exhibited in all of X apllications - frequent hanging of applications when closing windows.  Reverting back to the radeon driver in 2.6.15 solves these - so it is likely the ATI proprietary driver causing some problems...&lt;br /&gt;
--[[User:gsmenden|gsmenden]] 12:39, 14 Jan 2006 (EST)&lt;br /&gt;
&lt;br /&gt;
== Disabling the external VGA port? ==&lt;br /&gt;
&lt;br /&gt;
Does anyone know how disable the VGA port ''completely'' even when a cable is attached? Fiddling around with the DesktopSetup and ForceMonitor options didn't do the trick for me, and the MonitorLayout option found in some documentation is no longer valid in the current fglrx driver.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:42, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Debian-specific script to switch fglrx&amp;lt;-&amp;gt;radeon ==&lt;br /&gt;
&lt;br /&gt;
Don't know where to put it exactly, but if someone's interested (and using Debian), I've put up a [http://linux.spiney.org/debian_gnu_linux_on_an_ibm_thinkpad_t43p_graphics_card_switching_fglrx_radeon script for easily switching graphics driver configurations]. Feedback appreciated (altho I haven't got any to the xscreensaver patch ;)), especially if someone could do something similar for other distributions (Gentoo being half-way there it seems) and incorporate it into the script.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 15:25, 17 January 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=18237</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=18237"/>
		<updated>2006-01-17T14:18:51Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Kernel-specific troubles */ 2.6.15-rc5 is not &amp;quot;current&amp;quot; any more&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;
The current ATI proprietary driver (8.20.8) will work with x.org 6.9.  However, if you are running 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.  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 the current ATI driver (8.20.8) with 2.6.15 or later needs a [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch]. (info stolen from the table below, but put here for better visibility)&lt;br /&gt;
&lt;br /&gt;
=== No hardware acceleration ===&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;
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;
=== Softlink hell ===&lt;br /&gt;
&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;
&lt;br /&gt;
If you install the driver and type &amp;quot;fglrxinfo&amp;quot; which shows you are still using the mesa indirect software GL renderer, you likely have some misplaced softlinks.  I find this *really* frustrating, and do not know why it occasionally occurs -&amp;gt; I think it has to do with an apt-get upgrade that sometimes replaces these links.  Anyway, go to&lt;br /&gt;
&lt;br /&gt;
: cd /usr/X11R6/lib&lt;br /&gt;
&lt;br /&gt;
and list your GL libraries and links&lt;br /&gt;
&lt;br /&gt;
: ls -la *GL*&lt;br /&gt;
&lt;br /&gt;
You should see something like:&lt;br /&gt;
&lt;br /&gt;
: libGL.so -&amp;gt; libGL.so.1.2&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
: libGL.so.1 -&amp;gt; libGL.so.1.2&lt;br /&gt;
&lt;br /&gt;
If you see a link to a mesa library (something like -&amp;gt;libGL.mesa.1.2), then that's your problem!  Restore the softlink with a command similar to:&lt;br /&gt;
: ln -s &amp;lt;actual file&amp;gt; &amp;lt;softlink name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e.g.&lt;br /&gt;
: 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.  I renamed the mesa library to mesa.bkup, and the system still found it and linked 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;
I did the above steps with no luck but it's working now so read on:&lt;br /&gt;
&lt;br /&gt;
Because&lt;br /&gt;
: ldd /usr/X11R6/bin/glxinfo&lt;br /&gt;
showed that my system still uses the xorg-x11 mesa think and the above hint didn't work as expected I looked at this:&lt;br /&gt;
: libGL.so.1 =&amp;gt; /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0x400a8000)&lt;br /&gt;
Afterwards I did:&lt;br /&gt;
: cd /usr/lib/opengl/xorg-x11/lib/&lt;br /&gt;
: mv libGL.so.1.2 libGL.so.1.2_backup&lt;br /&gt;
: ln -s /usr/lib/libGL.so.1.2 libGL.so.1.2&lt;br /&gt;
After another restart of X &amp;quot;fglrxinfo&amp;quot; showed that it's using the right libs now.&lt;br /&gt;
&lt;br /&gt;
=====Alternative for 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;
&lt;br /&gt;
: # opengl-update ati&lt;br /&gt;
: # eselect opengl set ati&lt;br /&gt;
&lt;br /&gt;
Eselect is new, and still ~x86(as of the end of 2005), so you may not have it yet.  opengl-update is the old tried-and-true method for managing the symlinks.  If opengl-update 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;
=== 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 [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]. 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;
&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, 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 VESA server instead (experienced with a R52, Kernel 2.6.11, xorg 6.8.2, fglrx 8.16.20).&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.19.10).&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' (rage3d.com/board) Linux area.  Rumor has it that the Microsoft Vista will support composite, so hopefully we will see it before then...&lt;br /&gt;
&lt;br /&gt;
There were some rumors that composite support was fast with the open-source 2d accelerated drivers in x.org 6.9 (as opposed to 6.8.x).  Alas, trying this gives better results than the proprietary drivers, but it is still too slow to be reasonably useful.&lt;br /&gt;
&lt;br /&gt;
===Hardlock on X logout===&lt;br /&gt;
Up from driver version 8.19.10 you will expierence 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;
&lt;br /&gt;
In the kdm config file (gentoo: /usr/kde/&amp;lt;VERSION&amp;gt;/share/config/kdm/kdmrc) you have to add following to the section '[X-:*-Core]': &lt;br /&gt;
&lt;br /&gt;
'''TerminateServer=true'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the gdm config file add:&lt;br /&gt;
&lt;br /&gt;
'''AlwaysRestartServer=true '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Information from the ATI butracker: http://ati.cchtml.com/show_bug.cgi?id=239&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.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;
&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;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=18228</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=18228"/>
		<updated>2006-01-17T10:09:29Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Hang on resume from suspend to RAM */ info about 2.6.16-rc1&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 {{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.yyz.us/sata/features.html features], [http://linux.yyz.us/sata/software-status.html software status] and [http://linux.yyz.us/sata/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 (as of 2.6.15-rc3) 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;
Current release-candidates for 2.6.16 ([http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.16-rc1 Changelog for 2.6.16-rc1]) have the patch already included], so no more patching will be necessary with 2.6.16.&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), but some don't (e.g., {{Fedora}} 4).&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;
&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 SATA driver (instead of the IDE driver) for the optical drive. This requires enabling two featues of the SATA driver, namely ATAPI support and PATA support, which are both in active development and far from 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;
** Configure the SATA system (and in particular &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 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;
** Configure the SATA system as module (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;
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 some Linux kernels, both the SATA driver and the IDE driver can handle the system hard disk. With the SATA driver, it shows as {{path|/dev/sda}} and DMA is enabled. With the IDE driver, it 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 SATA 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 &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, DMA will be disabled on these models (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>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=17345</id>
		<title>Talk:Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=17345"/>
		<updated>2006-01-13T07:32:49Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* 8.20.8 does work fine with current Debian sid packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== using kernel AGP vs fglrx AGP ==&lt;br /&gt;
&lt;br /&gt;
Anyone know whether this makes a performance and/or stability difference?&lt;br /&gt;
&lt;br /&gt;
== 8.20.8 does work fine with current Debian sid packages ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
spiney@t43p:~$ dpkg -l xserver-xorg&lt;br /&gt;
Desired=Unknown/Install/Remove/Purge/Hold&lt;br /&gt;
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed&lt;br /&gt;
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)&lt;br /&gt;
||/ Name                         Version                      Description&lt;br /&gt;
+++-============================-============================-==================&lt;br /&gt;
ii  xserver-xorg                 6.9.0.dfsg.1-2               the X.Org X server&lt;br /&gt;
spiney@t43p:~$ fglrxinfo &lt;br /&gt;
display: :0.0  screen: 0&lt;br /&gt;
OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
OpenGL renderer string: MOBILITY FireGL V3200 Pentium 4 (SSE2) (FireGL) (GNU_ICD)&lt;br /&gt;
OpenGL version string: 1.3.5519 (X4.3.0-8.20.8)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ahh - thanks for the info.  You perhaps compiled the modules for the drivers yourself and did not use the debian packaged fglrx-driver?  Thus, it must be an unneeded limitation on the debian packaged driver which limits its installation...  Full listing at http://packages.debian.org/unstable/x11/fglrx-driver which lists as required packages:&lt;br /&gt;
&lt;br /&gt;
 xserver-xorg (&amp;lt;&amp;lt; 6.8.99)&lt;br /&gt;
  the X.Org X server &lt;br /&gt;
 xserver-xorg (&amp;gt;= 6.8.0) &lt;br /&gt;
&lt;br /&gt;
The first limitation (&amp;lt;&amp;lt;6.8.99) is what prevents installation.  I'm sure I could force apt to install it, but I may go back to compiling the modules myself, as using fglrx 8.20.8 with kernel 2.6.15 needs a small patch to compile correctly anyway...  --[[User:gsmenden|gsmenden]]&lt;br /&gt;
&lt;br /&gt;
Spiney, where exactly do you have your package from? I re-build the 8.20.8-package from debian with the &amp;lt;&amp;lt;6.8.99 dependecy removed, but when I try to run X, I get &lt;br /&gt;
 [R200Setup] X version mismatch - detected X.org 7.0.0.0, required X.org 6.8.0.0&lt;br /&gt;
 (EE) Failed to load module &amp;quot;fglrx&amp;quot; (module requirement mismatch, 0)&lt;br /&gt;
Any hints? --[User:nomeata|nomeata]&lt;br /&gt;
&lt;br /&gt;
I used the ati-installer (the huge download), created a Debian sid package and installed it, but got the same error. The installer seems to fetch the wrong driver version from the archive, so I extracted it with&lt;br /&gt;
&lt;br /&gt;
{{cmd|./ati-driver-installer-8.20.8-i386.run --extract &amp;lt;sometempdir&amp;gt;|}}&lt;br /&gt;
&lt;br /&gt;
and put the necessary files from the created {{path|&amp;lt;sometempdir&amp;gt;/x690}} subdirectory into {{path|/usr}} by hand. All IIRC, it's been some time since. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 07:29, 11 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Thanks for the pointer. This is how you get proper debian packages out of the ati-installer:&lt;br /&gt;
 ./ati-driver-installer-8.20.8-i386.run --extract fglrx-tmp&lt;br /&gt;
 cd fglrx-tmp&lt;br /&gt;
 $editor packages/Debian/ati-packager.sh #  in the line &amp;quot;sid|unstable) X_DIR=x680;;&amp;quot;, put a x690 for the x680&lt;br /&gt;
 ./fglrx-tmp/packages/Debian/ati-packager.sh --buildpkg sid&lt;br /&gt;
 cd ..&lt;br /&gt;
 sudo dpkg -i fglrx-kernel-src_8.20.8-1_i386.deb fglrx-driver_8.20.8-1_i386.deb&lt;br /&gt;
--[[User:Nomeata|Nomeata]] 00:35, 13 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nice - confirmed works on my T43p running sid.  From then on (or until 8.21.x comes out) you'll have to tell apt to hold back fglrx-driver package, or it will try to &amp;quot;update&amp;quot; fglrx-driver to 8.20.8-1.1 and therefore revert back to the problematic drivers.&lt;br /&gt;
--[[User:gsmenden|gsmenden]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks for the info, Nomeata, that's a lot cleaner a solution than my manual way.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 08:32, 13 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Disabling the external VGA port? ==&lt;br /&gt;
&lt;br /&gt;
Does anyone know how disable the VGA port ''completely'' even when a cable is attached? Fiddling around with the DesktopSetup and ForceMonitor options didn't do the trick for me, and the MonitorLayout option found in some documentation is no longer valid in the current fglrx driver.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:42, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=17144</id>
		<title>Talk:IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=17144"/>
		<updated>2006-01-12T13:37:48Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* setpnp */ CONFIG_PNPACPI needed for patch?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;wrong chip version ff&amp;quot; is a real issue, and having it mentioned makes sure that google searches turn it up with a solution.&lt;br /&gt;
[[User:Tonko|Tonko]] 01:41, 8 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
The present text confused me (as you now have noticed). Maybe it should better reflect that the error is incorrect (&amp;quot;wrong chip version ff&amp;quot; instead of &amp;quot;FIR mode not enabled&amp;quot; or whatever). Would that be acceptable? &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 02:05, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
If you think you can explain it better, go right ahead. The IrDA document could use some major cleaning.&lt;br /&gt;
&lt;br /&gt;
As long as we still point out that the only error in syslog is &amp;quot;Wrong chip version ff&amp;quot; when trying to load the FIR module without first activating the PnP device. It would be nice if the ISA-PNP patch to the nsc-ircc driver got accepted upstream, so we dont have to do these hacks anymore.&lt;br /&gt;
[[User:Tonko|Tonko]] 03:58, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Tonko,&lt;br /&gt;
&lt;br /&gt;
Is there a reason why you deleted the TODO entry for linux 2.6 kernel config for SIR? I would like to readd it, but like to hear your reason to remove it first.&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 10:23, 14 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== T23 debianized kernel with probs ==&lt;br /&gt;
&lt;br /&gt;
Found another crazy thing here. T23 2648-2GG, with 2.6.13 and 2.6.14 (Debianized Source). Clear init of nsc-ircc and dongle, but the dongle stays offline (dark and blind). Booted with Knoppix or Bart-PE Windows give correct function of the whole device, viewed with a digicam shows some blinks at init. But not with plain 2.6.13 an 2.6.14 from Debian.&lt;br /&gt;
Eric&lt;br /&gt;
&lt;br /&gt;
== setpnp ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
since the nsc-ircc patch isn't in 2.6.15, I tried to go the setpnp route, but I don't even get to see {{path|/proc/bus/pnp}} even though I enabled the support for it in the kernel config (once I found out that I need to enable ISA support to even get the option). Has anyone successfully used setpnp to enable the IRDA port or is that just some sort of urban legend? ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:12, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Make sure you enable pnp-bios support specifically when compiling the kernel, just enabling pnp support is not enough.&lt;br /&gt;
I must however admit that I have not done this, since my ancient TP 770 running a 2.4 kernel, which was at least 5 years ago.&lt;br /&gt;
&lt;br /&gt;
I just looked at a 2.6 menuconfig myself, and could not find the option, but looking at my .config file I can see the CONFIG_PNPBIOS option, so you might just want to edit the config file directly, enable the PNPBIOS option, and run make oldconfig.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 19:38, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I do have the pnp-bios support enabled (the option is depending on ISA among others, checked the Kconfig file in the source tree to find it), and also the proc-Interface option, but still no go... maybe it's not compatible with CONFIG_PNPACPI? Oh well, nevermind, going back to the patch, that works with less hassles, I just hope it'll end up in the vanilla kernel eventually. Still thanks for the help.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:22, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, on further investigation (not giving up that easily ;) it really seems that CONFIG_PNPACPI is disabling PnPBIOS, at least dmesg showed something along the lines of &amp;quot;PnPBIOS: disabled by PnPACPI&amp;quot;. But, after recompiling without PnPACPI, I still can't get it to work. I can use {{cmd|setpnp|}} and {{cmd|lspnp|}} just fine, but the nsc-ircc module won't load:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
t43p:~# lspnp 12&lt;br /&gt;
12 IBM0071 IBM Thinkpad infrared port&lt;br /&gt;
t43p:~# setpnp 12 io 0x2f8 irq 3&lt;br /&gt;
t43p:~# lspnp -v 12&lt;br /&gt;
12 IBM0071 IBM Thinkpad infrared port&lt;br /&gt;
        dma 3&lt;br /&gt;
        io 0x02f8-0x02ff&lt;br /&gt;
        irq 3&lt;br /&gt;
t43p:~# modprobe nsc-ircc io=0x2f8 irq=3 dongle_id=0x09&lt;br /&gt;
FATAL: Error inserting nsc_ircc (/lib/modules/2.6.15/kernel/drivers/net/irda/nsc-ircc.ko): No such device&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hmm, I'm getting somewhat annoyed... any ideas?&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:58, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
have you tried just doing {{cmd|setpnp 12 on|}}&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 21:05, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Yes, that was the first thing I tried, didn't help. BTW, I just fiddled around with lirc a bit (never tried it before), and the lirc_sir module works just fine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lirc_sir: I/O port 0x02f8, IRQ 3.&lt;br /&gt;
lirc_sir: Installed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and I was able to get it to control xmms.&lt;br /&gt;
&lt;br /&gt;
{{cmd|setserial|}} doesn't claim the device either:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
t43p:~# setserial -ag /dev/ttyS0&lt;br /&gt;
/dev/ttyS0, Line 0, UART: unknown, Port: 0x0000, IRQ: 0&lt;br /&gt;
        Baud_base: 921600, close_delay: 50, divisor: 0&lt;br /&gt;
        closing_wait: 3000&lt;br /&gt;
        Flags: spd_normal skip_test&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I'm really out of ideas.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:20, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hmm, it should not be ttyS0, but ttyS1 which might be stepping on the resources&lt;br /&gt;
ttyS0 is IO 0x3f8 and IRQ 4, while ttyS1 is IO 0x2f8 and IRQ 3.&lt;br /&gt;
&lt;br /&gt;
ttyS0 is your integrated serial port, which even ThinkPads without physical serial port have.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 21:29, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
Sorry, I cut'n'paste the wrong device since I checked them both, the output for ttyS1 is identical (apart from &amp;quot;/dev/ttyS1, Line 1&amp;quot; of course).&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:36, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
No idea what might be wrong, perhaps it does not work on more recent machines, or kernels.&lt;br /&gt;
&lt;br /&gt;
As I said, it worked for me a long time ago on my 770X with ''something'' like this:&lt;br /&gt;
&lt;br /&gt;
 /bin/setserial /dev/ttyS1 uart none port 0 irq 0&lt;br /&gt;
 setpnp 12 io 0x2f8 irq 3&lt;br /&gt;
 setpnp 12 on&lt;br /&gt;
 modprobe nsc-ircc dongle_id=0x09 io=0x2f8 irq=3&lt;br /&gt;
&lt;br /&gt;
What is the error you get from nsc-ircc in syslog? the &amp;quot;Wrong chip version ff&amp;quot; error?&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 22:22, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
No errors are recorded at all (dmesg, syslog), just the message above on stderr from {{cmd|modprobe|}}.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:27, 5 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
BTW, is it just me or does the nsc-ircc patch only work if CONFIG_PNPACPI is set in the kernel config? Otherwise the module loads fine, (but without stating in the kernel log that it found the dongle) and using IRDA does not work, irattach returns &amp;quot;irattach: ioctl(SIOCGIFFLAGS): No such device&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 14:37, 12 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=14679</id>
		<title>Talk:Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=14679"/>
		<updated>2006-01-11T06:29:11Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* 8.20.8 does work fine with current Debian sid packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== using kernel AGP vs fglrx AGP ==&lt;br /&gt;
&lt;br /&gt;
Anyone know whether this makes a performance and/or stability difference?&lt;br /&gt;
&lt;br /&gt;
== 8.20.8 does work fine with current Debian sid packages ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
spiney@t43p:~$ dpkg -l xserver-xorg&lt;br /&gt;
Desired=Unknown/Install/Remove/Purge/Hold&lt;br /&gt;
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed&lt;br /&gt;
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)&lt;br /&gt;
||/ Name                         Version                      Description&lt;br /&gt;
+++-============================-============================-==================&lt;br /&gt;
ii  xserver-xorg                 6.9.0.dfsg.1-2               the X.Org X server&lt;br /&gt;
spiney@t43p:~$ fglrxinfo &lt;br /&gt;
display: :0.0  screen: 0&lt;br /&gt;
OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
OpenGL renderer string: MOBILITY FireGL V3200 Pentium 4 (SSE2) (FireGL) (GNU_ICD)&lt;br /&gt;
OpenGL version string: 1.3.5519 (X4.3.0-8.20.8)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ahh - thanks for the info.  You perhaps compiled the modules for the drivers yourself and did not use the debian packaged fglrx-driver?  Thus, it must be an unneeded limitation on the debian packaged driver which limits its installation...  Full listing at http://packages.debian.org/unstable/x11/fglrx-driver which lists as required packages:&lt;br /&gt;
&lt;br /&gt;
 xserver-xorg (&amp;lt;&amp;lt; 6.8.99)&lt;br /&gt;
  the X.Org X server &lt;br /&gt;
 xserver-xorg (&amp;gt;= 6.8.0) &lt;br /&gt;
&lt;br /&gt;
The first limitation (&amp;lt;&amp;lt;6.8.99) is what prevents installation.  I'm sure I could force apt to install it, but I may go back to compiling the modules myself, as using fglrx 8.20.8 with kernel 2.6.15 needs a small patch to compile correctly anyway...  --[[User:gsmenden|gsmenden]]&lt;br /&gt;
&lt;br /&gt;
Spiney, where exactly do you have your package from? I re-build the 8.20.8-package from debian with the &amp;lt;&amp;lt;6.8.99 dependecy removed, but when I try to run X, I get &lt;br /&gt;
 [R200Setup] X version mismatch - detected X.org 7.0.0.0, required X.org 6.8.0.0&lt;br /&gt;
 (EE) Failed to load module &amp;quot;fglrx&amp;quot; (module requirement mismatch, 0)&lt;br /&gt;
Any hints? --[User:nomeata|nomeata]&lt;br /&gt;
&lt;br /&gt;
I used the ati-installer (the huge download), created a Debian sid package and installed it, but got the same error. The installer seems to fetch the wrong driver version from the archive, so I extracted it with&lt;br /&gt;
&lt;br /&gt;
{{cmd|./ati-driver-installer-8.20.8-i386.run --extract &amp;lt;sometempdir&amp;gt;|}}&lt;br /&gt;
&lt;br /&gt;
and put the necessary files from the created {{path|&amp;lt;sometempdir&amp;gt;/x690}} subdirectory into {{path|/usr}} by hand. All IIRC, it's been some time since. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 07:29, 11 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Disabling the external VGA port? ==&lt;br /&gt;
&lt;br /&gt;
Does anyone know how disable the VGA port ''completely'' even when a cable is attached? Fiddling around with the DesktopSetup and ForceMonitor options didn't do the trick for me, and the MonitorLayout option found in some documentation is no longer valid in the current fglrx driver.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:42, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=14510</id>
		<title>Talk:Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=14510"/>
		<updated>2006-01-10T18:42:04Z</updated>

		<summary type="html">&lt;p&gt;Spiney: question about VGA port, removed noexec /tmp issue since it's none anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== using kernel AGP vs fglrx AGP ==&lt;br /&gt;
&lt;br /&gt;
Anyone know whether this makes a performance and/or stability difference?&lt;br /&gt;
&lt;br /&gt;
== 8.20.8 does work fine with current Debian sid packages ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
spiney@t43p:~$ dpkg -l xserver-xorg&lt;br /&gt;
Desired=Unknown/Install/Remove/Purge/Hold&lt;br /&gt;
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed&lt;br /&gt;
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)&lt;br /&gt;
||/ Name                         Version                      Description&lt;br /&gt;
+++-============================-============================-==================&lt;br /&gt;
ii  xserver-xorg                 6.9.0.dfsg.1-2               the X.Org X server&lt;br /&gt;
spiney@t43p:~$ fglrxinfo &lt;br /&gt;
display: :0.0  screen: 0&lt;br /&gt;
OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
OpenGL renderer string: MOBILITY FireGL V3200 Pentium 4 (SSE2) (FireGL) (GNU_ICD)&lt;br /&gt;
OpenGL version string: 1.3.5519 (X4.3.0-8.20.8)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Disabling the external VGA port? ==&lt;br /&gt;
&lt;br /&gt;
Does anyone know how disable the VGA port ''completely'' even when a cable is attached? Fiddling around with the DesktopSetup and ForceMonitor options didn't do the trick for me, and the MonitorLayout option found in some documentation is no longer valid in the current fglrx driver.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:42, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=14627</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=14627"/>
		<updated>2006-01-10T14:12:08Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Hang on resume from suspend to RAM */&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 {{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) will be solved in Linux 2.6.15 with the inclusion of libata pass-through. See the SATA driver [http://linux.yyz.us/sata/features.html features], [http://linux.yyz.us/sata/software-status.html software status] and [http://linux.yyz.us/sata/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 (as of 2.6.15-rc3) 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;
Current kernel snapshots from the git-repository [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9b847548663ef1039dd49f0eb4463d001e596bc3 have the patch already included], so hopefully no more patching will be necessary with 2.6.16.&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), but some don't (e.g., {{Fedora}} 4).&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;
&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 SATA driver (instead of the IDE driver) for the optical drive. This requires enabling two featues of the SATA driver, namely ATAPI support and PATA support, which are both in active development and far from 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;
** Configure the SATA system (and in particular &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 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;
** Configure the SATA system as module (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;
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 some Linux kernels, both the SATA driver and the IDE driver can handle the system hard disk. With the SATA driver, it shows as {{path|/dev/sda}} and DMA is enabled. With the IDE driver, it 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 SATA 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 &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, DMA will be disabled on these models (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>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=14478</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=14478"/>
		<updated>2006-01-10T14:05:24Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Patches */ patch from git doesn't work due to lack of ata_exec_internal()&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 {{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) will be solved in Linux 2.6.15 with the inclusion of libata pass-through. See the SATA driver [http://linux.yyz.us/sata/features.html features], [http://linux.yyz.us/sata/software-status.html software status] and [http://linux.yyz.us/sata/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 (as of 2.6.15-rc3) 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;
===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), but some don't (e.g., {{Fedora}} 4).&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;
&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 SATA driver (instead of the IDE driver) for the optical drive. This requires enabling two featues of the SATA driver, namely ATAPI support and PATA support, which are both in active development and far from 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;
** Configure the SATA system (and in particular &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 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;
** Configure the SATA system as module (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;
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 some Linux kernels, both the SATA driver and the IDE driver can handle the system hard disk. With the SATA driver, it shows as {{path|/dev/sda}} and DMA is enabled. With the IDE driver, it 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 SATA 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 &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, DMA will be disabled on these models (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>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=14479</id>
		<title>Talk:SMAPI support for Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=14479"/>
		<updated>2006-01-10T11:23:27Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Feedback */ 0.15 works&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Feedback ==&lt;br /&gt;
&lt;br /&gt;
Great, great work! Really! This completely rocks. I just stopped my battery from charging at 77% and restarted charging a bit later, no problems whatsoever. BTW, this is on kernel 2.6.14.3.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:25, 5 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
None of the fuctions is working on my T40, kernel 2.6.14-mm2.&lt;br /&gt;
&lt;br /&gt;
--[[User:Lammic|lammic]], 2005.12.05&lt;br /&gt;
&lt;br /&gt;
Works for me on a T41 running 2.6.12-10-686 (Ubuntu 5.10).&lt;br /&gt;
&lt;br /&gt;
--[[User:berndtnm|berndtnm]], 2005.12.06&lt;br /&gt;
&lt;br /&gt;
Including stop_charge_thresh? That one seems to be missing on the T42p.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:46, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi works just fine on an R52 with Ubuntu Breezy stock kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 12:52, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''To set the thresholds for starting and stopping battery charging (in percent of current capacity):''&lt;br /&gt;
&lt;br /&gt;
'''current''' really? That'd be weird, I'd expect it to be percent of '''total''' capacity.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 14:39, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Current full charge capacity&amp;quot;, as opposed to &amp;quot;current remaining capacity&amp;quot; or &amp;quot;designed full charge capacity&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:05, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Battery features don't work with my T41p. I can't check this with windows. Can anybody try these features?&lt;br /&gt;
&lt;br /&gt;
-- Nils, 7 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nils, does cdrom_speed work for you on the T41p? Could you provide the details requested in the README (dmesg etc.)?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:57, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CDRom Speed seems to work. (I see no warnings, but I have to do a speed test.) Now, I've send all outputs to the email-address in the readme.&lt;br /&gt;
&lt;br /&gt;
-- Nils, 8 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
All the features except the stop_charge_thresh seem to work here on a t42p. &lt;br /&gt;
One note, the start_charge_thresh seems to really be stop_charge_thresh. Ie, If I set that to lower than my current battery %, it will never charge, &lt;br /&gt;
and if I set it to 100 the battery charges all the way. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 16 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nirik, &amp;quot;all the features&amp;quot; as of which version? For example, do the force_discharge{1,2} in tp_smapi 0.12 also work for you? See the table in the article page. About start_charge, that's odd. Can you send me a log of what you did, what was the result a what was the dmesg output for each operation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 14:16, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
System T40p:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge1&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge2&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# dmesg   &lt;br /&gt;
tp_smapi: req_in: BX=2118 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=8680 BX=2118 CX=100 DX=b2 DI=0 SI=0 ret=-38&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2118)&lt;br /&gt;
tp_smapi: cannot get force_discharge1 of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: req_in: BX=2104 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=80 BX=2103 CX=100 DX=78 DI=0 SI=0 ret=0&lt;br /&gt;
tp_smapi: cannot get force_discharge2 of battery 0: bx=2103&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So it seems force_discharge1 is not supported at all. But force_discharge2? By the way, i think wiki is a _very_ good idea for collecting information, but not for discussion. I would prefer a maillinglist. We can use sourceforge.&lt;br /&gt;
&lt;br /&gt;
--[[User|StefanSchmidt]]&lt;br /&gt;
&lt;br /&gt;
force_discharge2 is indicating a real error condition (bx=2103 which has bit 0x02 on), but I have no idea what the error is or how to fix it. Sorry. If you can trigger this function under Windows and have SoftICE or equivalent, maybe it can be worked out.&lt;br /&gt;
&lt;br /&gt;
About the Wiki discussion, I'm not sure a mailing list is justified yet, but you can use the linux-thinkpad list or the e-mail address in the README. &lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:42, 16 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
OK, then i use linux-thinkpad to get more people involved. I'am away the next weeks, but i hope to find some time to hacking on tp_smapi.&lt;br /&gt;
&lt;br /&gt;
--[[User:StefanSchmidt]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Someone reported cd_speed works on T42 but on mine, it doesn't: this is 2378DXU&lt;br /&gt;
&lt;br /&gt;
--[[User:eBug]] 22:55, 17 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
eBug, how does it fail? If the file doesn't exist, it means you didn't enable PROVIDE_CD_SPEED (see the README). If it does exist, can you provide the dmesg output when you read an write to the file?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 11:53, 18 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
To confirm:&lt;br /&gt;
tp_smapi 0.13 works with hdaps module loaded on T41 (2373-8RG). However, force_discharge*, inhibit_charge_minutes, start_charge_thresh, stop_charge_thresh don't seem to be implemented on this model.&lt;br /&gt;
&lt;br /&gt;
--[[User:LJSBRokken|LJSBrokken]] 21 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi version 0.13 with T23 (2647-3QG) (I have dual batteries)...&lt;br /&gt;
&lt;br /&gt;
None of the functions which make any changes work...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# cd /sys/devices/platform/smapi &amp;amp;&amp;amp; cat BAT*/* &amp;gt; /dev/null&lt;br /&gt;
cat: BAT0/force_discharge1: Function not implemented&lt;br /&gt;
cat: BAT0/force_discharge2: Input/output error&lt;br /&gt;
cat: BAT0/inhibit_charge_minutes: Function not implemented&lt;br /&gt;
cat: BAT0/start_charge_thresh: Function not implemented&lt;br /&gt;
cat: BAT0/stop_charge_thresh: Function not implemented&lt;br /&gt;
cat: BAT1/force_discharge1: Function not implemented&lt;br /&gt;
cat: BAT1/force_discharge2: Input/output error&lt;br /&gt;
cat: BAT1/inhibit_charge_minutes: Function not implemented&lt;br /&gt;
cat: BAT1/start_charge_thresh: Function not implemented&lt;br /&gt;
cat: BAT1/stop_charge_thresh: Function not implemented&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, all the battery status information is available, and functions appear for both BAT0 and BAT1, regardless of when the UltraBay battery was inserted or ejected- this is very useful, it is the only way I can monitor my UltraBay battery unless it was present on boot.&lt;br /&gt;
&lt;br /&gt;
--[[User:SystemParadox|SystemParadox]] 21:51, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
SystemParadox, what's the dmesg output produced by &amp;quot;cat BAT0/force_discharge2&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 22:02, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
After the upgrade to 0.14 (with kernel 2.6.15, using the patch) I can't use inhibit_charge and start/stop_charge_thresh any longer (getting an input/output error), the dmesg debug output when {{cmd|cat|}}-ing those three files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tp_smapi: tp_smapi 0.14 loading...&lt;br /&gt;
tp_smapi: successfully loaded (smapi_port=0xb2).&lt;br /&gt;
tp_smapi: req_in: BX=2114 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=ea210080 BX=ec192114 CX=c18d0700 DX=f7cc00b2 DI=f7f50000 SI=c18d0000 ret=-5&lt;br /&gt;
tp_smapi: SMAPI error: Unknown error code (func=2114)&lt;br /&gt;
tp_smapi: cannot get inhibit charge of battery 0: Unknown error code&lt;br /&gt;
tp_smapi: req_in: BX=2116 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=c03b0080 BX=c18d2116 CX=c0160328 DX=ec7600b2 DI=ec760000 SI=a0810000 ret=-5&lt;br /&gt;
tp_smapi: SMAPI error: Unknown error code (func=2116)&lt;br /&gt;
tp_smapi: cannot get start thresh of battery 0: Unknown error code&lt;br /&gt;
tp_smapi: req_in: BX=211a CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=c03b0080 BX=c18d211a CX=c016032c DX=eb4500b2 DI=eb450000 SI=241e0000 ret=-5&lt;br /&gt;
tp_smapi: SMAPI error: Unknown error code (func=211a)&lt;br /&gt;
tp_smapi: cannot get stop thresh of battery 0: Unknown error code&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 08:12, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oops, the transition to 32-bit SMAPI calls was broken. Fixed in 0.15. Thanks for the quick report!&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 12:10, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Yep, 0.15 works again. Quick response, bravo! :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 12:23, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Changing the CD speed when the CD is being accessed will hang your computer==&lt;br /&gt;
&lt;br /&gt;
I don't have this problem on my T40p. CDROM is mounted and file on CD is opened. Change speed do '''not''' hang my system.&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
An open file looks fine if you're not reading/writing at that point. But my T43 does hangs on this:&lt;br /&gt;
 # dd if=/dev/scd0 of=/dev/null &amp;amp;&lt;br /&gt;
 # echo 1 &amp;gt; /sys/devices/platform/smapi/cdrom_speed&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:41, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OK, sorry. I was to fast. My system hangs on this commands, too. :(&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
&lt;br /&gt;
Works well. Great.&lt;br /&gt;
&lt;br /&gt;
T42 2373-8zh. Working :cdrom_speed and start_charge_thresh. Untest : inhibit_charge_minutes.&lt;br /&gt;
&lt;br /&gt;
-- Haifeng Chen&lt;br /&gt;
&lt;br /&gt;
cdrom_speed works on my T40.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Lammic|lammic]], 2005.12.09&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;thinkpad&amp;quot; module kernel compatibility ==&lt;br /&gt;
&lt;br /&gt;
Ajunge, how do you compile the &amp;quot;thinkpad&amp;quot; module compile on kernel &amp;gt;=2.6.9? The latest thinkpad version (5.8) still uses &amp;quot;get_cpu_ptr&amp;quot; and &amp;quot;set_cpu_ptr&amp;quot;, which were removed in 2.6.9.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 13:53, 10 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The Debian thinkpad-source package in unstable (version 5.8-4) works just fine; I'm compiling it with 2.6.14 without any problems.  And get_cpu_ptr is present; it's defined in include/linux/percpu.h.&lt;br /&gt;
&lt;br /&gt;
--[[User:TedTso|TedTso]] 18:56, 17 Dec 2005 (EDT)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Stock thinkpad_5.8.tar.gz doesn't #include percpu.h anyway, and doesn't compile on vanilla 2.6.14.3 or 2.6.15-rc5. Maybe Debian patched it? In that case the article page should ref the patch.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 11:50, 18 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oops, my mistake.  I forgot that I had patched my copy of thinkpadpm.c.   I replaced the use of get_cpu_ptr and set_cpu_ptr with get_cpu_val() and set_cpu_val().  I just double checked, and it tpctl is working for me on 2.6.15-rc5.&lt;br /&gt;
&lt;br /&gt;
--[[User:TedTso|TedTso]] 14:45, 19 Dec 2005 (EDT)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Care to send a patch? It would be useful on the article page, and maybe we can get it into upstream.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:11, 19 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Kernel Patch? ==&lt;br /&gt;
&lt;br /&gt;
Hello Thinker,&lt;br /&gt;
&lt;br /&gt;
would it be possible to provide the SMAPI support as kernel patch as well? Something along the lines of: (0.12 against 2.6.15-rc5)&lt;br /&gt;
&lt;br /&gt;
''(deleted, see below for how to create a patch file)''&lt;br /&gt;
&lt;br /&gt;
Deleted the tp_smapi.c file at the end, out of obvious reasons, and I'm not sure about the placement in the ACPI section, OTOH there it would be found easily next to ibm_acpi.&lt;br /&gt;
&lt;br /&gt;
Providing a patch would help when recompiling the kernel often, I hate recompiling external modules every time (even got me a kernel-upgrade script to do most of it automatically). But of course it's up to you. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:52, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'll be glad to add this, but I don't want to go through additional manual steps in the release process (there are already quite a few). Can you add a &amp;quot;make patch&amp;quot; functionality to the Makefile, or something of the sort, to automatically generate a full patch (including tp_smapi.c) against current kernel sources?&lt;br /&gt;
&lt;br /&gt;
Also, this shouldn't be under drivers/acpi, since it doesn't use ACPI at all (that's why I didn't make it a patch to ibm_acpi). I think the right place is drivers/firmware, like the dell_rbu driver for Dell laptops.&lt;br /&gt;
&lt;br /&gt;
BTW, the convention for kernel patches is to start them once level higher:&lt;br /&gt;
  diff -Nurp kernel-2.6.14-vanilla kernel-2.6.14-patched&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:12, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Of course it's from the wrong level, as usual I was just lazy/inattentive. And at one point I'll remember who likes what patch format, promise. ;)&lt;br /&gt;
&lt;br /&gt;
A patch target as in &amp;quot;create a new file holding a correct diff to current kernel source&amp;quot; would be rather difficult, since line numbers might change etc., but applying the patch should be straighforward with a bit of sed. Of course I could just do that, create a patch with the diff command and then apply the new patch file in reverse. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 18:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If it does that on a local copy (no changes the original kernel tree) and cleans up after itself, that's fine with me. :-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:50, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, here's a shell script that creates the patch, feel free to use it under the terms of the GPL. For example call it from your Makefile with the patch target: (I didn't want to put all the script into the Makefile, since the rules about escaping in Makefiles, well, escape me ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
KDIR=/lib/modules/$(uname -r)/build&lt;br /&gt;
FDIR=drivers/firmware&lt;br /&gt;
OPWD=$(pwd)&lt;br /&gt;
&lt;br /&gt;
TMPDIR=$(mktemp -d)&lt;br /&gt;
cd $TMPDIR&lt;br /&gt;
&lt;br /&gt;
mkdir -p a/$FDIR&lt;br /&gt;
cp $KDIR/$FDIR/{Kconfig,Makefile} a/$FDIR&lt;br /&gt;
cp -r a b&lt;br /&gt;
sed -i -e '/endmenu/i\&lt;br /&gt;
config IBM_SMAPI\&lt;br /&gt;
        tristate &amp;quot;IBM ThinkPad SMAPI Support&amp;quot;\&lt;br /&gt;
        depends on X86\&lt;br /&gt;
        ---help---\&lt;br /&gt;
        This adds SMAPI support on IBM ThinkPads, mostly used for battery\&lt;br /&gt;
        charge control. For more information about this driver see\&lt;br /&gt;
        &amp;lt;http://www.thinkwiki.org/wiki/SMAPI_support_for_Linux&amp;gt; .\&lt;br /&gt;
\&lt;br /&gt;
        If you have an IBM ThinkPad laptop, say Y or M here.\&lt;br /&gt;
' b/$FDIR/Kconfig&lt;br /&gt;
sed -i -e '$a\&lt;br /&gt;
obj-$(CONFIG_IBM_SMAPI)            += tp_smapi.o' b/$FDIR/Makefile&lt;br /&gt;
cp $OPWD/tp_smapi.c b/$FDIR&lt;br /&gt;
diff -Nurp a b &amp;gt; $OPWD/tp_smapi-$(uname -r).patch&lt;br /&gt;
rm -r a b&lt;br /&gt;
cd $OPWD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, [http://qbnz.com/highlighter/ GeSHi]-based syntax-highlighting would be great...&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:28, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ah, neat sed foo. How about [http://tpctl.sourceforge.net/tmp/Makefile this] escapade, then? &lt;br /&gt;
&lt;br /&gt;
What's the sed spell needed to replace the Makefile's&lt;br /&gt;
 VER  := 0.13&lt;br /&gt;
with auto-parsing of&lt;br /&gt;
 #define TP_VERSION &amp;quot;0.13&amp;quot;&lt;br /&gt;
from tp_smapi.c?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:37, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hmm, something like&lt;br /&gt;
 VERFROMC=$(sed -ne 's/^#define TP_VERSION &amp;quot;\(.*\)&amp;quot;/\1/gp' tp_smapi.c)&lt;br /&gt;
 sed -i -e &amp;quot;s/^VER := .*$/VER := $VERFROMC/&amp;quot; Makefile&lt;br /&gt;
should do (untested, from the top of my head, maybe the temporary variable isn't even necessary?). And neat Makefile wizardry, at one point I'll learn the syntax.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:44, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Makefile escaping is horrible, keep avoiding it... Anyway, the updated [http://tpctl.sourceforge.net/tmp/Makefile make patch] seems to do the right thing.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Installation questions==&lt;br /&gt;
Amazing! I've loaded this module in my T43 which is running SuSE 10 with the kernel of 2.6.13-15. I have three points to share:&lt;br /&gt;
&lt;br /&gt;
1. The battery control part seems to work but has a minor problem. I set the stop_charge_threshold to 70, but the battery stops charging at 55%. Don't know why and how to fix it. :P&lt;br /&gt;
&lt;br /&gt;
2. I don't have the cd speed control function. Here is what I have under /sys/devices/platform/smapi/:&lt;br /&gt;
&lt;br /&gt;
./  ../  ac_connected  BAT0/  BAT1/  bus@  driver@  power/&lt;br /&gt;
&lt;br /&gt;
3. SuSE 10 doesn't have the necessary C files under .../drivers/hwmon/, I copied them from a 2.6.14.5 kernel source. Maybe it causes the two problems above. :(&lt;br /&gt;
&lt;br /&gt;
When I have time, I'll install the new kernel to see if the problems are gone and report the result.&lt;br /&gt;
&lt;br /&gt;
--[[User:68.51.153.96|68.51.153.96]] 04:31, 2 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
1. It should stop charging at 70, but will only ''start'' charging when remaining capacity has dipped below &amp;lt;tt&amp;gt;start_charge_thresh&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. See the note about PROVIDE_CD_SPEED.&lt;br /&gt;
&lt;br /&gt;
3. That's should be needed only for patching the HDAPS driver in order to make it compatible with tp_smapi. If your kernel (which version is it?) doens't inlude the HDAPS driver anyway, you don't need to patch....&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 09:28, 2 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks Thinker.&lt;br /&gt;
&lt;br /&gt;
1. I discharged and recharged the battery again. This time, it stops at 68% percent, which is pretty good.&lt;br /&gt;
&lt;br /&gt;
2. I missed the NOTE in README, for I just followed this wiki. :P&lt;br /&gt;
&lt;br /&gt;
3. My kernel version is 2.6.13-15.&lt;br /&gt;
&lt;br /&gt;
By the way, I just got this T43 whose model number is 266896U. I feel that the noise of the fan is much louder than my previous T21. I think it is so since it has a CPU with bigger power but am wondering if other T43 has the same big noise?&lt;br /&gt;
&lt;br /&gt;
--[[User:Tyne|Tyne]] 00:14, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The note about PROVIDE_CD_SPEED is also in the Wiki...&lt;br /&gt;
&lt;br /&gt;
About the T43 fan noise: yes, this is a very common (and annoying) problem. See [[Problem_with_fan_noise]] and our [[ACPI fan control script]], and send Lenovo a complaint in hope they'll fix this at the firmware level.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 08:48, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Formatting ==&lt;br /&gt;
&lt;br /&gt;
Wyrfel, that was some heavy editing you did... I agree with most changes (including the saner color choice). I did like those HINT floats, though - they keep the hints from interrupting the flow of text too much, and this particular text needs any help it can get.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:04, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
Hei Thinker,&lt;br /&gt;
&lt;br /&gt;
I'll look into it again. I felt that the floating HINTs were tearing the text apart too much. Maybe we could fix it by placing the clear marks somewhere else.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 18:46, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=14471</id>
		<title>Talk:SMAPI support for Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=14471"/>
		<updated>2006-01-10T07:12:33Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Feedback */ problems with 0.14&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Feedback ==&lt;br /&gt;
&lt;br /&gt;
Great, great work! Really! This completely rocks. I just stopped my battery from charging at 77% and restarted charging a bit later, no problems whatsoever. BTW, this is on kernel 2.6.14.3.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:25, 5 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
None of the fuctions is working on my T40, kernel 2.6.14-mm2.&lt;br /&gt;
&lt;br /&gt;
--[[User:Lammic|lammic]], 2005.12.05&lt;br /&gt;
&lt;br /&gt;
Works for me on a T41 running 2.6.12-10-686 (Ubuntu 5.10).&lt;br /&gt;
&lt;br /&gt;
--[[User:berndtnm|berndtnm]], 2005.12.06&lt;br /&gt;
&lt;br /&gt;
Including stop_charge_thresh? That one seems to be missing on the T42p.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:46, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi works just fine on an R52 with Ubuntu Breezy stock kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 12:52, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''To set the thresholds for starting and stopping battery charging (in percent of current capacity):''&lt;br /&gt;
&lt;br /&gt;
'''current''' really? That'd be weird, I'd expect it to be percent of '''total''' capacity.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 14:39, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Current full charge capacity&amp;quot;, as opposed to &amp;quot;current remaining capacity&amp;quot; or &amp;quot;designed full charge capacity&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:05, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Battery features don't work with my T41p. I can't check this with windows. Can anybody try these features?&lt;br /&gt;
&lt;br /&gt;
-- Nils, 7 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nils, does cdrom_speed work for you on the T41p? Could you provide the details requested in the README (dmesg etc.)?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:57, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CDRom Speed seems to work. (I see no warnings, but I have to do a speed test.) Now, I've send all outputs to the email-address in the readme.&lt;br /&gt;
&lt;br /&gt;
-- Nils, 8 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
All the features except the stop_charge_thresh seem to work here on a t42p. &lt;br /&gt;
One note, the start_charge_thresh seems to really be stop_charge_thresh. Ie, If I set that to lower than my current battery %, it will never charge, &lt;br /&gt;
and if I set it to 100 the battery charges all the way. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 16 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nirik, &amp;quot;all the features&amp;quot; as of which version? For example, do the force_discharge{1,2} in tp_smapi 0.12 also work for you? See the table in the article page. About start_charge, that's odd. Can you send me a log of what you did, what was the result a what was the dmesg output for each operation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 14:16, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
System T40p:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge1&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge2&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# dmesg   &lt;br /&gt;
tp_smapi: req_in: BX=2118 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=8680 BX=2118 CX=100 DX=b2 DI=0 SI=0 ret=-38&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2118)&lt;br /&gt;
tp_smapi: cannot get force_discharge1 of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: req_in: BX=2104 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=80 BX=2103 CX=100 DX=78 DI=0 SI=0 ret=0&lt;br /&gt;
tp_smapi: cannot get force_discharge2 of battery 0: bx=2103&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So it seems force_discharge1 is not supported at all. But force_discharge2? By the way, i think wiki is a _very_ good idea for collecting information, but not for discussion. I would prefer a maillinglist. We can use sourceforge.&lt;br /&gt;
&lt;br /&gt;
--[[User|StefanSchmidt]]&lt;br /&gt;
&lt;br /&gt;
force_discharge2 is indicating a real error condition (bx=2103 which has bit 0x02 on), but I have no idea what the error is or how to fix it. Sorry. If you can trigger this function under Windows and have SoftICE or equivalent, maybe it can be worked out.&lt;br /&gt;
&lt;br /&gt;
About the Wiki discussion, I'm not sure a mailing list is justified yet, but you can use the linux-thinkpad list or the e-mail address in the README. &lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:42, 16 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
OK, then i use linux-thinkpad to get more people involved. I'am away the next weeks, but i hope to find some time to hacking on tp_smapi.&lt;br /&gt;
&lt;br /&gt;
--[[User:StefanSchmidt]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Someone reported cd_speed works on T42 but on mine, it doesn't: this is 2378DXU&lt;br /&gt;
&lt;br /&gt;
--[[User:eBug]] 22:55, 17 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
eBug, how does it fail? If the file doesn't exist, it means you didn't enable PROVIDE_CD_SPEED (see the README). If it does exist, can you provide the dmesg output when you read an write to the file?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 11:53, 18 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
To confirm:&lt;br /&gt;
tp_smapi 0.13 works with hdaps module loaded on T41 (2373-8RG). However, force_discharge*, inhibit_charge_minutes, start_charge_thresh, stop_charge_thresh don't seem to be implemented on this model.&lt;br /&gt;
&lt;br /&gt;
--[[User:LJSBRokken|LJSBrokken]] 21 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi version 0.13 with T23 (2647-3QG) (I have dual batteries)...&lt;br /&gt;
&lt;br /&gt;
None of the functions which make any changes work...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# cd /sys/devices/platform/smapi &amp;amp;&amp;amp; cat BAT*/* &amp;gt; /dev/null&lt;br /&gt;
cat: BAT0/force_discharge1: Function not implemented&lt;br /&gt;
cat: BAT0/force_discharge2: Input/output error&lt;br /&gt;
cat: BAT0/inhibit_charge_minutes: Function not implemented&lt;br /&gt;
cat: BAT0/start_charge_thresh: Function not implemented&lt;br /&gt;
cat: BAT0/stop_charge_thresh: Function not implemented&lt;br /&gt;
cat: BAT1/force_discharge1: Function not implemented&lt;br /&gt;
cat: BAT1/force_discharge2: Input/output error&lt;br /&gt;
cat: BAT1/inhibit_charge_minutes: Function not implemented&lt;br /&gt;
cat: BAT1/start_charge_thresh: Function not implemented&lt;br /&gt;
cat: BAT1/stop_charge_thresh: Function not implemented&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, all the battery status information is available, and functions appear for both BAT0 and BAT1, regardless of when the UltraBay battery was inserted or ejected- this is very useful, it is the only way I can monitor my UltraBay battery unless it was present on boot.&lt;br /&gt;
&lt;br /&gt;
--[[User:SystemParadox|SystemParadox]] 21:51, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
SystemParadox, what's the dmesg output produced by &amp;quot;cat BAT0/force_discharge2&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 22:02, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
After the upgrade to 0.14 (with kernel 2.6.15, using the patch) I can't use inhibit_charge and start/stop_charge_thresh any longer (getting an input/output error), the dmesg debug output when {{cmd|cat|}}-ing those three files:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tp_smapi: tp_smapi 0.14 loading...&lt;br /&gt;
tp_smapi: successfully loaded (smapi_port=0xb2).&lt;br /&gt;
tp_smapi: req_in: BX=2114 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=ea210080 BX=ec192114 CX=c18d0700 DX=f7cc00b2 DI=f7f50000 SI=c18d0000 ret=-5&lt;br /&gt;
tp_smapi: SMAPI error: Unknown error code (func=2114)&lt;br /&gt;
tp_smapi: cannot get inhibit charge of battery 0: Unknown error code&lt;br /&gt;
tp_smapi: req_in: BX=2116 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=c03b0080 BX=c18d2116 CX=c0160328 DX=ec7600b2 DI=ec760000 SI=a0810000 ret=-5&lt;br /&gt;
tp_smapi: SMAPI error: Unknown error code (func=2116)&lt;br /&gt;
tp_smapi: cannot get start thresh of battery 0: Unknown error code&lt;br /&gt;
tp_smapi: req_in: BX=211a CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=c03b0080 BX=c18d211a CX=c016032c DX=eb4500b2 DI=eb450000 SI=241e0000 ret=-5&lt;br /&gt;
tp_smapi: SMAPI error: Unknown error code (func=211a)&lt;br /&gt;
tp_smapi: cannot get stop thresh of battery 0: Unknown error code&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 08:12, 10 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Changing the CD speed when the CD is being accessed will hang your computer==&lt;br /&gt;
&lt;br /&gt;
I don't have this problem on my T40p. CDROM is mounted and file on CD is opened. Change speed do '''not''' hang my system.&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
An open file looks fine if you're not reading/writing at that point. But my T43 does hangs on this:&lt;br /&gt;
 # dd if=/dev/scd0 of=/dev/null &amp;amp;&lt;br /&gt;
 # echo 1 &amp;gt; /sys/devices/platform/smapi/cdrom_speed&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:41, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OK, sorry. I was to fast. My system hangs on this commands, too. :(&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
&lt;br /&gt;
Works well. Great.&lt;br /&gt;
&lt;br /&gt;
T42 2373-8zh. Working :cdrom_speed and start_charge_thresh. Untest : inhibit_charge_minutes.&lt;br /&gt;
&lt;br /&gt;
-- Haifeng Chen&lt;br /&gt;
&lt;br /&gt;
cdrom_speed works on my T40.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Lammic|lammic]], 2005.12.09&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;thinkpad&amp;quot; module kernel compatibility ==&lt;br /&gt;
&lt;br /&gt;
Ajunge, how do you compile the &amp;quot;thinkpad&amp;quot; module compile on kernel &amp;gt;=2.6.9? The latest thinkpad version (5.8) still uses &amp;quot;get_cpu_ptr&amp;quot; and &amp;quot;set_cpu_ptr&amp;quot;, which were removed in 2.6.9.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 13:53, 10 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The Debian thinkpad-source package in unstable (version 5.8-4) works just fine; I'm compiling it with 2.6.14 without any problems.  And get_cpu_ptr is present; it's defined in include/linux/percpu.h.&lt;br /&gt;
&lt;br /&gt;
--[[User:TedTso|TedTso]] 18:56, 17 Dec 2005 (EDT)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Stock thinkpad_5.8.tar.gz doesn't #include percpu.h anyway, and doesn't compile on vanilla 2.6.14.3 or 2.6.15-rc5. Maybe Debian patched it? In that case the article page should ref the patch.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 11:50, 18 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Oops, my mistake.  I forgot that I had patched my copy of thinkpadpm.c.   I replaced the use of get_cpu_ptr and set_cpu_ptr with get_cpu_val() and set_cpu_val().  I just double checked, and it tpctl is working for me on 2.6.15-rc5.&lt;br /&gt;
&lt;br /&gt;
--[[User:TedTso|TedTso]] 14:45, 19 Dec 2005 (EDT)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Care to send a patch? It would be useful on the article page, and maybe we can get it into upstream.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 23:11, 19 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Kernel Patch? ==&lt;br /&gt;
&lt;br /&gt;
Hello Thinker,&lt;br /&gt;
&lt;br /&gt;
would it be possible to provide the SMAPI support as kernel patch as well? Something along the lines of: (0.12 against 2.6.15-rc5)&lt;br /&gt;
&lt;br /&gt;
''(deleted, see below for how to create a patch file)''&lt;br /&gt;
&lt;br /&gt;
Deleted the tp_smapi.c file at the end, out of obvious reasons, and I'm not sure about the placement in the ACPI section, OTOH there it would be found easily next to ibm_acpi.&lt;br /&gt;
&lt;br /&gt;
Providing a patch would help when recompiling the kernel often, I hate recompiling external modules every time (even got me a kernel-upgrade script to do most of it automatically). But of course it's up to you. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:52, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'll be glad to add this, but I don't want to go through additional manual steps in the release process (there are already quite a few). Can you add a &amp;quot;make patch&amp;quot; functionality to the Makefile, or something of the sort, to automatically generate a full patch (including tp_smapi.c) against current kernel sources?&lt;br /&gt;
&lt;br /&gt;
Also, this shouldn't be under drivers/acpi, since it doesn't use ACPI at all (that's why I didn't make it a patch to ibm_acpi). I think the right place is drivers/firmware, like the dell_rbu driver for Dell laptops.&lt;br /&gt;
&lt;br /&gt;
BTW, the convention for kernel patches is to start them once level higher:&lt;br /&gt;
  diff -Nurp kernel-2.6.14-vanilla kernel-2.6.14-patched&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:12, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Of course it's from the wrong level, as usual I was just lazy/inattentive. And at one point I'll remember who likes what patch format, promise. ;)&lt;br /&gt;
&lt;br /&gt;
A patch target as in &amp;quot;create a new file holding a correct diff to current kernel source&amp;quot; would be rather difficult, since line numbers might change etc., but applying the patch should be straighforward with a bit of sed. Of course I could just do that, create a patch with the diff command and then apply the new patch file in reverse. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 18:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If it does that on a local copy (no changes the original kernel tree) and cleans up after itself, that's fine with me. :-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:50, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, here's a shell script that creates the patch, feel free to use it under the terms of the GPL. For example call it from your Makefile with the patch target: (I didn't want to put all the script into the Makefile, since the rules about escaping in Makefiles, well, escape me ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
KDIR=/lib/modules/$(uname -r)/build&lt;br /&gt;
FDIR=drivers/firmware&lt;br /&gt;
OPWD=$(pwd)&lt;br /&gt;
&lt;br /&gt;
TMPDIR=$(mktemp -d)&lt;br /&gt;
cd $TMPDIR&lt;br /&gt;
&lt;br /&gt;
mkdir -p a/$FDIR&lt;br /&gt;
cp $KDIR/$FDIR/{Kconfig,Makefile} a/$FDIR&lt;br /&gt;
cp -r a b&lt;br /&gt;
sed -i -e '/endmenu/i\&lt;br /&gt;
config IBM_SMAPI\&lt;br /&gt;
        tristate &amp;quot;IBM ThinkPad SMAPI Support&amp;quot;\&lt;br /&gt;
        depends on X86\&lt;br /&gt;
        ---help---\&lt;br /&gt;
        This adds SMAPI support on IBM ThinkPads, mostly used for battery\&lt;br /&gt;
        charge control. For more information about this driver see\&lt;br /&gt;
        &amp;lt;http://www.thinkwiki.org/wiki/SMAPI_support_for_Linux&amp;gt; .\&lt;br /&gt;
\&lt;br /&gt;
        If you have an IBM ThinkPad laptop, say Y or M here.\&lt;br /&gt;
' b/$FDIR/Kconfig&lt;br /&gt;
sed -i -e '$a\&lt;br /&gt;
obj-$(CONFIG_IBM_SMAPI)            += tp_smapi.o' b/$FDIR/Makefile&lt;br /&gt;
cp $OPWD/tp_smapi.c b/$FDIR&lt;br /&gt;
diff -Nurp a b &amp;gt; $OPWD/tp_smapi-$(uname -r).patch&lt;br /&gt;
rm -r a b&lt;br /&gt;
cd $OPWD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, [http://qbnz.com/highlighter/ GeSHi]-based syntax-highlighting would be great...&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:28, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ah, neat sed foo. How about [http://tpctl.sourceforge.net/tmp/Makefile this] escapade, then? &lt;br /&gt;
&lt;br /&gt;
What's the sed spell needed to replace the Makefile's&lt;br /&gt;
 VER  := 0.13&lt;br /&gt;
with auto-parsing of&lt;br /&gt;
 #define TP_VERSION &amp;quot;0.13&amp;quot;&lt;br /&gt;
from tp_smapi.c?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:37, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hmm, something like&lt;br /&gt;
 VERFROMC=$(sed -ne 's/^#define TP_VERSION &amp;quot;\(.*\)&amp;quot;/\1/gp' tp_smapi.c)&lt;br /&gt;
 sed -i -e &amp;quot;s/^VER := .*$/VER := $VERFROMC/&amp;quot; Makefile&lt;br /&gt;
should do (untested, from the top of my head, maybe the temporary variable isn't even necessary?). And neat Makefile wizardry, at one point I'll learn the syntax.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:44, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Makefile escaping is horrible, keep avoiding it... Anyway, the updated [http://tpctl.sourceforge.net/tmp/Makefile make patch] seems to do the right thing.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Installation questions==&lt;br /&gt;
Amazing! I've loaded this module in my T43 which is running SuSE 10 with the kernel of 2.6.13-15. I have three points to share:&lt;br /&gt;
&lt;br /&gt;
1. The battery control part seems to work but has a minor problem. I set the stop_charge_threshold to 70, but the battery stops charging at 55%. Don't know why and how to fix it. :P&lt;br /&gt;
&lt;br /&gt;
2. I don't have the cd speed control function. Here is what I have under /sys/devices/platform/smapi/:&lt;br /&gt;
&lt;br /&gt;
./  ../  ac_connected  BAT0/  BAT1/  bus@  driver@  power/&lt;br /&gt;
&lt;br /&gt;
3. SuSE 10 doesn't have the necessary C files under .../drivers/hwmon/, I copied them from a 2.6.14.5 kernel source. Maybe it causes the two problems above. :(&lt;br /&gt;
&lt;br /&gt;
When I have time, I'll install the new kernel to see if the problems are gone and report the result.&lt;br /&gt;
&lt;br /&gt;
--[[User:68.51.153.96|68.51.153.96]] 04:31, 2 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
1. It should stop charging at 70, but will only ''start'' charging when remaining capacity has dipped below &amp;lt;tt&amp;gt;start_charge_thresh&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
2. See the note about PROVIDE_CD_SPEED.&lt;br /&gt;
&lt;br /&gt;
3. That's should be needed only for patching the HDAPS driver in order to make it compatible with tp_smapi. If your kernel (which version is it?) doens't inlude the HDAPS driver anyway, you don't need to patch....&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 09:28, 2 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks Thinker.&lt;br /&gt;
&lt;br /&gt;
1. I discharged and recharged the battery again. This time, it stops at 68% percent, which is pretty good.&lt;br /&gt;
&lt;br /&gt;
2. I missed the NOTE in README, for I just followed this wiki. :P&lt;br /&gt;
&lt;br /&gt;
3. My kernel version is 2.6.13-15.&lt;br /&gt;
&lt;br /&gt;
By the way, I just got this T43 whose model number is 266896U. I feel that the noise of the fan is much louder than my previous T21. I think it is so since it has a CPU with bigger power but am wondering if other T43 has the same big noise?&lt;br /&gt;
&lt;br /&gt;
--[[User:Tyne|Tyne]] 00:14, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The note about PROVIDE_CD_SPEED is also in the Wiki...&lt;br /&gt;
&lt;br /&gt;
About the T43 fan noise: yes, this is a very common (and annoying) problem. See [[Problem_with_fan_noise]] and our [[ACPI fan control script]], and send Lenovo a complaint in hope they'll fix this at the firmware level.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 08:48, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Formatting ==&lt;br /&gt;
&lt;br /&gt;
Wyrfel, that was some heavy editing you did... I agree with most changes (including the saner color choice). I did like those HINT floats, though - they keep the hints from interrupting the flow of text too much, and this particular text needs any help it can get.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:04, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
Hei Thinker,&lt;br /&gt;
&lt;br /&gt;
I'll look into it again. I felt that the floating HINTs were tearing the text apart too much. Maybe we could fix it by placing the clear marks somewhere else.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 18:46, 3 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=14502</id>
		<title>Talk:Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=14502"/>
		<updated>2006-01-08T12:27:27Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* 8.20.8 does work fine with current Debian sid packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Non-executable /tmp===&lt;br /&gt;
When {{path|/tmp|}} is mounted with the noexec option, the fglrx driver will produce an error similar to (this is from a {{T43p}}, the dots are some random looking numbers)&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|Exec failed for command &amp;quot;/tmp/firegl1....&amp;quot; (Permission Denied)}}&lt;br /&gt;
&lt;br /&gt;
It doesn't seem to be fatal, but is anyone else getting these? Unfortunately it's not recorded in the Xorg logfile, it can only be seen when starting Xorg from the console.&lt;br /&gt;
&lt;br /&gt;
BTW, when Xorg is already running (with {{path|/tmp|}} executable) and I switch to tty1 and start another X session (with {{path|/tmp|}} mounted noexec)&lt;br /&gt;
{{cmd|mount -o remount,noexec /tmp|}}&lt;br /&gt;
{{cmd|xinit -- :14|}}&lt;br /&gt;
&lt;br /&gt;
Xorg locks hard, no way to get back into the console or zap Xorg with CTRL-ALT-BS, only thing that still works is syncing disks and resetting via sys-request shortcuts.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:01, 17 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== using kernel AGP vs fglrx AGP ==&lt;br /&gt;
&lt;br /&gt;
Anyone know whether this makes a performance and/or stability difference?&lt;br /&gt;
&lt;br /&gt;
== 8.20.8 does work fine with current Debian sid packages ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
spiney@t43p:~$ dpkg -l xserver-xorg&lt;br /&gt;
Desired=Unknown/Install/Remove/Purge/Hold&lt;br /&gt;
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed&lt;br /&gt;
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)&lt;br /&gt;
||/ Name                         Version                      Description&lt;br /&gt;
+++-============================-============================-==================&lt;br /&gt;
ii  xserver-xorg                 6.9.0.dfsg.1-2               the X.Org X server&lt;br /&gt;
spiney@t43p:~$ fglrxinfo &lt;br /&gt;
display: :0.0  screen: 0&lt;br /&gt;
OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
OpenGL renderer string: MOBILITY FireGL V3200 Pentium 4 (SSE2) (FireGL) (GNU_ICD)&lt;br /&gt;
OpenGL version string: 1.3.5519 (X4.3.0-8.20.8)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=14401</id>
		<title>Talk:Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problems_with_fglrx&amp;diff=14401"/>
		<updated>2006-01-08T12:25:55Z</updated>

		<summary type="html">&lt;p&gt;Spiney: 8.20.8 does work fine with current Debian sid packages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Non-executable /tmp===&lt;br /&gt;
When {{path|/tmp|}} is mounted with the noexec option, the fglrx driver will produce an error similar to (this is from a {{T43p}}, the dots are some random looking numbers)&lt;br /&gt;
&lt;br /&gt;
{{cmdresult|Exec failed for command &amp;quot;/tmp/firegl1....&amp;quot; (Permission Denied)}}&lt;br /&gt;
&lt;br /&gt;
It doesn't seem to be fatal, but is anyone else getting these? Unfortunately it's not recorded in the Xorg logfile, it can only be seen when starting Xorg from the console.&lt;br /&gt;
&lt;br /&gt;
BTW, when Xorg is already running (with {{path|/tmp|}} executable) and I switch to tty1 and start another X session (with {{path|/tmp|}} mounted noexec)&lt;br /&gt;
{{cmd|mount -o remount,noexec /tmp|}}&lt;br /&gt;
{{cmd|xinit -- :14|}}&lt;br /&gt;
&lt;br /&gt;
Xorg locks hard, no way to get back into the console or zap Xorg with CTRL-ALT-BS, only thing that still works is syncing disks and resetting via sys-request shortcuts.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:01, 17 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== using kernel AGP vs fglrx AGP ==&lt;br /&gt;
&lt;br /&gt;
Anyone know whether this makes a performance and/or stability difference?&lt;br /&gt;
&lt;br /&gt;
== 8.20.8 does work fine with current Debian sid packages ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
spiney@t43p:~$ dpkg -l xserver-xorg&lt;br /&gt;
Desired=Unknown/Install/Remove/Purge/Hold&lt;br /&gt;
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed&lt;br /&gt;
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)&lt;br /&gt;
||/ Name                         Version                      Description&lt;br /&gt;
+++-============================-============================-========================================================================&lt;br /&gt;
ii  xserver-xorg                 6.9.0.dfsg.1-2               the X.Org X server&lt;br /&gt;
spiney@t43p:~$ fglrxinfo &lt;br /&gt;
display: :0.0  screen: 0&lt;br /&gt;
OpenGL vendor string: ATI Technologies Inc.&lt;br /&gt;
OpenGL renderer string: MOBILITY FireGL V3200 Pentium 4 (SSE2) (FireGL) (GNU_ICD)&lt;br /&gt;
OpenGL version string: 1.3.5519 (X4.3.0-8.20.8)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=14386</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=14386"/>
		<updated>2006-01-06T00:32:02Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Troubles using software suspend */ no idea what TerminateServer is, but I haven't used it back then&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;
=== Kernel-specific troubles ===&lt;br /&gt;
&lt;br /&gt;
Using the current ATI driver (8.20.8) with the current release candidate 2.6.15-rc5 needs a [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch]. (info stolen from the table below, but put here for better visibility)&lt;br /&gt;
&lt;br /&gt;
=== No hardware acceleration ===&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;
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;
=== Softlink hell ===&lt;br /&gt;
&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;
&lt;br /&gt;
If you install the driver and type &amp;quot;fglrxinfo&amp;quot; which shows you are still using the mesa indirect software GL renderer, you likely have some misplaced softlinks.  I find this *really* frustrating, and do not know why it occasionally occurs -&amp;gt; I think it has to do with an apt-get upgrade that sometimes replaces these links.  Anyway, go to&lt;br /&gt;
&lt;br /&gt;
: cd /usr/X11R6/lib&lt;br /&gt;
&lt;br /&gt;
and list your GL libraries and links&lt;br /&gt;
&lt;br /&gt;
: ls -la *GL*&lt;br /&gt;
&lt;br /&gt;
You should see something like:&lt;br /&gt;
&lt;br /&gt;
: libGL.so -&amp;gt; libGL.so.1.2&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
: libGL.so.1 -&amp;gt; libGL.so.1.2&lt;br /&gt;
&lt;br /&gt;
If you see a link to a mesa library (something like -&amp;gt;libGL.mesa.1.2), then that's your problem!  Restore the softlink with a command similar to:&lt;br /&gt;
: ln -s &amp;lt;actual file&amp;gt; &amp;lt;softlink name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e.g.&lt;br /&gt;
: 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.  I renamed the mesa library to mesa.bkup, and the system still found it and linked 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;
I did the above steps with no luck but it's working now so read on:&lt;br /&gt;
&lt;br /&gt;
Because&lt;br /&gt;
: ldd /usr/X11R6/bin/glxinfo&lt;br /&gt;
showed that my system still uses the xorg-x11 mesa think and the above hint didn't work as expected I looked at this:&lt;br /&gt;
: libGL.so.1 =&amp;gt; /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0x400a8000)&lt;br /&gt;
Afterwards I did:&lt;br /&gt;
: cd /usr/lib/opengl/xorg-x11/lib/&lt;br /&gt;
: mv libGL.so.1.2 libGL.so.1.2_backup&lt;br /&gt;
: ln -s /usr/lib/libGL.so.1.2 libGL.so.1.2&lt;br /&gt;
After another restart of X &amp;quot;fglrxinfo&amp;quot; showed that it's using the right libs now.&lt;br /&gt;
&lt;br /&gt;
=====Alternative for 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;
&lt;br /&gt;
: # opengl-update ati&lt;br /&gt;
: # eselect opengl set ati&lt;br /&gt;
&lt;br /&gt;
Eselect is new, and still ~x86(as of the end of 2005), so you may not have it yet.  opengl-update is the old tried-and-true method for managing the symlinks.  If opengl-update 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;
=== 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 [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]. 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;
&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, 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 VESA server instead (experienced with a R52, Kernel 2.6.11, xorg 6.8.2, fglrx 8.16.20).&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.19.10).&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' (rage3d.com/board) Linux area.  Rumor has it that the Microsoft Vista will support composite, so hopefully we will see it before then...&lt;br /&gt;
&lt;br /&gt;
===Hardlock on X logout===&lt;br /&gt;
Up from driver version 8.19.10 you will expierence 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;
&lt;br /&gt;
In the kdm config file (gentoo: /usr/kde/&amp;lt;VERSION&amp;gt;/share/config/kdm/kdmrc) you have to add following to the section '[X-:*-Core]': &lt;br /&gt;
&lt;br /&gt;
'''TerminateServer=true'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the gdm config file add:&lt;br /&gt;
&lt;br /&gt;
'''AlwaysRestartServer=true '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Information from the ATI butracker: http://ati.cchtml.com/show_bug.cgi?id=239&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.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;
&lt;br /&gt;
===fglrx (unspecified old version)===&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;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14658</id>
		<title>Talk:IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14658"/>
		<updated>2006-01-05T08:27:00Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* setpnp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;wrong chip version ff&amp;quot; is a real issue, and having it mentioned makes sure that google searches turn it up with a solution.&lt;br /&gt;
[[User:Tonko|Tonko]] 01:41, 8 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
The present text confused me (as you now have noticed). Maybe it should better reflect that the error is incorrect (&amp;quot;wrong chip version ff&amp;quot; instead of &amp;quot;FIR mode not enabled&amp;quot; or whatever). Would that be acceptable? &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 02:05, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
If you think you can explain it better, go right ahead. The IrDA document could use some major cleaning.&lt;br /&gt;
&lt;br /&gt;
As long as we still point out that the only error in syslog is &amp;quot;Wrong chip version ff&amp;quot; when trying to load the FIR module without first activating the PnP device. It would be nice if the ISA-PNP patch to the nsc-ircc driver got accepted upstream, so we dont have to do these hacks anymore.&lt;br /&gt;
[[User:Tonko|Tonko]] 03:58, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Tonko,&lt;br /&gt;
&lt;br /&gt;
Is there a reason why you deleted the TODO entry for linux 2.6 kernel config for SIR? I would like to readd it, but like to hear your reason to remove it first.&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 10:23, 14 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== T23 debianized kernel with probs ==&lt;br /&gt;
&lt;br /&gt;
Found another crazy thing here. T23 2648-2GG, with 2.6.13 and 2.6.14 (Debianized Source). Clear init of nsc-ircc and dongle, but the dongle stays offline (dark and blind). Booted with Knoppix or Bart-PE Windows give correct function of the whole device, viewed with a digicam shows some blinks at init. But not with plain 2.6.13 an 2.6.14 from Debian.&lt;br /&gt;
Eric&lt;br /&gt;
&lt;br /&gt;
== setpnp ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
since the nsc-ircc patch isn't in 2.6.15, I tried to go the setpnp route, but I don't even get to see {{path|/proc/bus/pnp}} even though I enabled the support for it in the kernel config (once I found out that I need to enable ISA support to even get the option). Has anyone successfully used setpnp to enable the IRDA port or is that just some sort of urban legend? ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:12, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Make sure you enable pnp-bios support specifically when compiling the kernel, just enabling pnp support is not enough.&lt;br /&gt;
I must however admit that I have not done this, since my ancient TP 770 running a 2.4 kernel, which was at least 5 years ago.&lt;br /&gt;
&lt;br /&gt;
I just looked at a 2.6 menuconfig myself, and could not find the option, but looking at my .config file I can see the CONFIG_PNPBIOS option, so you might just want to edit the config file directly, enable the PNPBIOS option, and run make oldconfig.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 19:38, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I do have the pnp-bios support enabled (the option is depending on ISA among others, checked the Kconfig file in the source tree to find it), and also the proc-Interface option, but still no go... maybe it's not compatible with CONFIG_PNPACPI? Oh well, nevermind, going back to the patch, that works with less hassles, I just hope it'll end up in the vanilla kernel eventually. Still thanks for the help.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:22, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, on further investigation (not giving up that easily ;) it really seems that CONFIG_PNPACPI is disabling PnPBIOS, at least dmesg showed something along the lines of &amp;quot;PnPBIOS: disabled by PnPACPI&amp;quot;. But, after recompiling without PnPACPI, I still can't get it to work. I can use {{cmd|setpnp|}} and {{cmd|lspnp|}} just fine, but the nsc-ircc module won't load:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
t43p:~# lspnp 12&lt;br /&gt;
12 IBM0071 IBM Thinkpad infrared port&lt;br /&gt;
t43p:~# setpnp 12 io 0x2f8 irq 3&lt;br /&gt;
t43p:~# lspnp -v 12&lt;br /&gt;
12 IBM0071 IBM Thinkpad infrared port&lt;br /&gt;
        dma 3&lt;br /&gt;
        io 0x02f8-0x02ff&lt;br /&gt;
        irq 3&lt;br /&gt;
t43p:~# modprobe nsc-ircc io=0x2f8 irq=3 dongle_id=0x09&lt;br /&gt;
FATAL: Error inserting nsc_ircc (/lib/modules/2.6.15/kernel/drivers/net/irda/nsc-ircc.ko): No such device&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hmm, I'm getting somewhat annoyed... any ideas?&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:58, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
have you tried just doing {{cmd|setpnp 12 on|}}&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 21:05, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Yes, that was the first thing I tried, didn't help. BTW, I just fiddled around with lirc a bit (never tried it before), and the lirc_sir module works just fine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lirc_sir: I/O port 0x02f8, IRQ 3.&lt;br /&gt;
lirc_sir: Installed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and I was able to get it to control xmms.&lt;br /&gt;
&lt;br /&gt;
{{cmd|setserial|}} doesn't claim the device either:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
t43p:~# setserial -ag /dev/ttyS0&lt;br /&gt;
/dev/ttyS0, Line 0, UART: unknown, Port: 0x0000, IRQ: 0&lt;br /&gt;
        Baud_base: 921600, close_delay: 50, divisor: 0&lt;br /&gt;
        closing_wait: 3000&lt;br /&gt;
        Flags: spd_normal skip_test&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I'm really out of ideas.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:20, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hmm, it should not be ttyS0, but ttyS1 which might be stepping on the resources&lt;br /&gt;
ttyS0 is IO 0x3f8 and IRQ 4, while ttyS1 is IO 0x2f8 and IRQ 3.&lt;br /&gt;
&lt;br /&gt;
ttyS0 is your integrated serial port, which even ThinkPads without physical serial port have.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 21:29, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
Sorry, I cut'n'paste the wrong device since I checked them both, the output for ttyS1 is identical (apart from &amp;quot;/dev/ttyS1, Line 1&amp;quot; of course).&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:36, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
No idea what might be wrong, perhaps it does not work on more recent machines, or kernels.&lt;br /&gt;
&lt;br /&gt;
As I said, it worked for me a long time ago on my 770X with ''something'' like this:&lt;br /&gt;
&lt;br /&gt;
 /bin/setserial /dev/ttyS1 uart none port 0 irq 0&lt;br /&gt;
 setpnp 12 io 0x2f8 irq 3&lt;br /&gt;
 setpnp 12 on&lt;br /&gt;
 modprobe nsc-ircc dongle_id=0x09 io=0x2f8 irq=3&lt;br /&gt;
&lt;br /&gt;
What is the error you get from nsc-ircc in syslog? the &amp;quot;Wrong chip version ff&amp;quot; error?&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 22:22, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
No errors are recorded at all (dmesg, syslog), just the message above on stderr from {{cmd|modprobe|}}.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:27, 5 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14179</id>
		<title>Talk:IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14179"/>
		<updated>2006-01-04T20:36:48Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* setpnp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;wrong chip version ff&amp;quot; is a real issue, and having it mentioned makes sure that google searches turn it up with a solution.&lt;br /&gt;
[[User:Tonko|Tonko]] 01:41, 8 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
The present text confused me (as you now have noticed). Maybe it should better reflect that the error is incorrect (&amp;quot;wrong chip version ff&amp;quot; instead of &amp;quot;FIR mode not enabled&amp;quot; or whatever). Would that be acceptable? &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 02:05, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
If you think you can explain it better, go right ahead. The IrDA document could use some major cleaning.&lt;br /&gt;
&lt;br /&gt;
As long as we still point out that the only error in syslog is &amp;quot;Wrong chip version ff&amp;quot; when trying to load the FIR module without first activating the PnP device. It would be nice if the ISA-PNP patch to the nsc-ircc driver got accepted upstream, so we dont have to do these hacks anymore.&lt;br /&gt;
[[User:Tonko|Tonko]] 03:58, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Tonko,&lt;br /&gt;
&lt;br /&gt;
Is there a reason why you deleted the TODO entry for linux 2.6 kernel config for SIR? I would like to readd it, but like to hear your reason to remove it first.&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 10:23, 14 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== T23 debianized kernel with probs ==&lt;br /&gt;
&lt;br /&gt;
Found another crazy thing here. T23 2648-2GG, with 2.6.13 and 2.6.14 (Debianized Source). Clear init of nsc-ircc and dongle, but the dongle stays offline (dark and blind). Booted with Knoppix or Bart-PE Windows give correct function of the whole device, viewed with a digicam shows some blinks at init. But not with plain 2.6.13 an 2.6.14 from Debian.&lt;br /&gt;
Eric&lt;br /&gt;
&lt;br /&gt;
== setpnp ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
since the nsc-ircc patch isn't in 2.6.15, I tried to go the setpnp route, but I don't even get to see {{path|/proc/bus/pnp}} even though I enabled the support for it in the kernel config (once I found out that I need to enable ISA support to even get the option). Has anyone successfully used setpnp to enable the IRDA port or is that just some sort of urban legend? ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:12, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Make sure you enable pnp-bios support specifically when compiling the kernel, just enabling pnp support is not enough.&lt;br /&gt;
I must however admit that I have not done this, since my ancient TP 770 running a 2.4 kernel, which was at least 5 years ago.&lt;br /&gt;
&lt;br /&gt;
I just looked at a 2.6 menuconfig myself, and could not find the option, but looking at my .config file I can see the CONFIG_PNPBIOS option, so you might just want to edit the config file directly, enable the PNPBIOS option, and run make oldconfig.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 19:38, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I do have the pnp-bios support enabled (the option is depending on ISA among others, checked the Kconfig file in the source tree to find it), and also the proc-Interface option, but still no go... maybe it's not compatible with CONFIG_PNPACPI? Oh well, nevermind, going back to the patch, that works with less hassles, I just hope it'll end up in the vanilla kernel eventually. Still thanks for the help.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:22, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, on further investigation (not giving up that easily ;) it really seems that CONFIG_PNPACPI is disabling PnPBIOS, at least dmesg showed something along the lines of &amp;quot;PnPBIOS: disabled by PnPACPI&amp;quot;. But, after recompiling without PnPACPI, I still can't get it to work. I can use {{cmd|setpnp|}} and {{cmd|lspnp|}} just fine, but the nsc-ircc module won't load:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
t43p:~# lspnp 12&lt;br /&gt;
12 IBM0071 IBM Thinkpad infrared port&lt;br /&gt;
t43p:~# setpnp 12 io 0x2f8 irq 3&lt;br /&gt;
t43p:~# lspnp -v 12&lt;br /&gt;
12 IBM0071 IBM Thinkpad infrared port&lt;br /&gt;
        dma 3&lt;br /&gt;
        io 0x02f8-0x02ff&lt;br /&gt;
        irq 3&lt;br /&gt;
t43p:~# modprobe nsc-ircc io=0x2f8 irq=3 dongle_id=0x09&lt;br /&gt;
FATAL: Error inserting nsc_ircc (/lib/modules/2.6.15/kernel/drivers/net/irda/nsc-ircc.ko): No such device&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hmm, I'm getting somewhat annoyed... any ideas?&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:58, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
have you tried just doing {{cmd|setpnp 12 on|}}&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 21:05, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Yes, that was the first thing I tried, didn't help. BTW, I just fiddled around with lirc a bit (never tried it before), and the lirc_sir module works just fine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lirc_sir: I/O port 0x02f8, IRQ 3.&lt;br /&gt;
lirc_sir: Installed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and I was able to get it to control xmms.&lt;br /&gt;
&lt;br /&gt;
{{cmd|setserial|}} doesn't claim the device either:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
t43p:~# setserial -ag /dev/ttyS0&lt;br /&gt;
/dev/ttyS0, Line 0, UART: unknown, Port: 0x0000, IRQ: 0&lt;br /&gt;
        Baud_base: 921600, close_delay: 50, divisor: 0&lt;br /&gt;
        closing_wait: 3000&lt;br /&gt;
        Flags: spd_normal skip_test&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I'm really out of ideas.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:20, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hmm, it should not be ttyS0, but ttyS1 which might be stepping on the resources&lt;br /&gt;
ttyS0 is IO 0x3f8 and IRQ 4, while ttyS1 is IO 0x2f8 and IRQ 3.&lt;br /&gt;
&lt;br /&gt;
ttyS0 is your integrated serial port, which even ThinkPads without physical serial port have.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 21:29, 4 Jan 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Sorry, I cut'n'paste the wrong device since I checked them both, the output for ttyS1 is identical (apart from &amp;quot;/dev/ttyS1, Line 1&amp;quot; of course).&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:36, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14173</id>
		<title>Talk:IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14173"/>
		<updated>2006-01-04T20:20:49Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* setpnp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;wrong chip version ff&amp;quot; is a real issue, and having it mentioned makes sure that google searches turn it up with a solution.&lt;br /&gt;
[[User:Tonko|Tonko]] 01:41, 8 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
The present text confused me (as you now have noticed). Maybe it should better reflect that the error is incorrect (&amp;quot;wrong chip version ff&amp;quot; instead of &amp;quot;FIR mode not enabled&amp;quot; or whatever). Would that be acceptable? &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 02:05, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
If you think you can explain it better, go right ahead. The IrDA document could use some major cleaning.&lt;br /&gt;
&lt;br /&gt;
As long as we still point out that the only error in syslog is &amp;quot;Wrong chip version ff&amp;quot; when trying to load the FIR module without first activating the PnP device. It would be nice if the ISA-PNP patch to the nsc-ircc driver got accepted upstream, so we dont have to do these hacks anymore.&lt;br /&gt;
[[User:Tonko|Tonko]] 03:58, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Tonko,&lt;br /&gt;
&lt;br /&gt;
Is there a reason why you deleted the TODO entry for linux 2.6 kernel config for SIR? I would like to readd it, but like to hear your reason to remove it first.&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 10:23, 14 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== T23 debianized kernel with probs ==&lt;br /&gt;
&lt;br /&gt;
Found another crazy thing here. T23 2648-2GG, with 2.6.13 and 2.6.14 (Debianized Source). Clear init of nsc-ircc and dongle, but the dongle stays offline (dark and blind). Booted with Knoppix or Bart-PE Windows give correct function of the whole device, viewed with a digicam shows some blinks at init. But not with plain 2.6.13 an 2.6.14 from Debian.&lt;br /&gt;
Eric&lt;br /&gt;
&lt;br /&gt;
== setpnp ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
since the nsc-ircc patch isn't in 2.6.15, I tried to go the setpnp route, but I don't even get to see {{path|/proc/bus/pnp}} even though I enabled the support for it in the kernel config (once I found out that I need to enable ISA support to even get the option). Has anyone successfully used setpnp to enable the IRDA port or is that just some sort of urban legend? ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:12, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Make sure you enable pnp-bios support specifically when compiling the kernel, just enabling pnp support is not enough.&lt;br /&gt;
I must however admit that I have not done this, since my ancient TP 770 running a 2.4 kernel, which was at least 5 years ago.&lt;br /&gt;
&lt;br /&gt;
I just looked at a 2.6 menuconfig myself, and could not find the option, but looking at my .config file I can see the CONFIG_PNPBIOS option, so you might just want to edit the config file directly, enable the PNPBIOS option, and run make oldconfig.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 19:38, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I do have the pnp-bios support enabled (the option is depending on ISA among others, checked the Kconfig file in the source tree to find it), and also the proc-Interface option, but still no go... maybe it's not compatible with CONFIG_PNPACPI? Oh well, nevermind, going back to the patch, that works with less hassles, I just hope it'll end up in the vanilla kernel eventually. Still thanks for the help.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:22, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, on further investigation (not giving up that easily ;) it really seems that CONFIG_PNPACPI is disabling PnPBIOS, at least dmesg showed something along the lines of &amp;quot;PnPBIOS: disabled by PnPACPI&amp;quot;. But, after recompiling without PnPACPI, I still can't get it to work. I can use {{cmd|setpnp|}} and {{cmd|lspnp|}} just fine, but the nsc-ircc module won't load:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
t43p:~# lspnp 12&lt;br /&gt;
12 IBM0071 IBM Thinkpad infrared port&lt;br /&gt;
t43p:~# setpnp 12 io 0x2f8 irq 3&lt;br /&gt;
t43p:~# lspnp -v 12&lt;br /&gt;
12 IBM0071 IBM Thinkpad infrared port&lt;br /&gt;
        dma 3&lt;br /&gt;
        io 0x02f8-0x02ff&lt;br /&gt;
        irq 3&lt;br /&gt;
t43p:~# modprobe nsc-ircc io=0x2f8 irq=3 dongle_id=0x09&lt;br /&gt;
FATAL: Error inserting nsc_ircc (/lib/modules/2.6.15/kernel/drivers/net/irda/nsc-ircc.ko): No such device&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hmm, I'm getting somewhat annoyed... any ideas?&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:58, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
have you tried just doing {{cmd|setpnp 12 on|}}&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 21:05, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Yes, that was the first thing I tried, didn't help. BTW, I just fiddled around with lirc a bit (never tried it before), and the lirc_sir module works just fine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lirc_sir: I/O port 0x02f8, IRQ 3.&lt;br /&gt;
lirc_sir: Installed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and I was able to get it to control xmms.&lt;br /&gt;
&lt;br /&gt;
{{cmd|setserial|}} doesn't claim the device either:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
t43p:~# setserial -ag /dev/ttyS0&lt;br /&gt;
/dev/ttyS0, Line 0, UART: unknown, Port: 0x0000, IRQ: 0&lt;br /&gt;
        Baud_base: 921600, close_delay: 50, divisor: 0&lt;br /&gt;
        closing_wait: 3000&lt;br /&gt;
        Flags: spd_normal skip_test&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I'm really out of ideas.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:20, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14171</id>
		<title>Talk:IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14171"/>
		<updated>2006-01-04T19:58:26Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* setpnp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;wrong chip version ff&amp;quot; is a real issue, and having it mentioned makes sure that google searches turn it up with a solution.&lt;br /&gt;
[[User:Tonko|Tonko]] 01:41, 8 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
The present text confused me (as you now have noticed). Maybe it should better reflect that the error is incorrect (&amp;quot;wrong chip version ff&amp;quot; instead of &amp;quot;FIR mode not enabled&amp;quot; or whatever). Would that be acceptable? &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 02:05, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
If you think you can explain it better, go right ahead. The IrDA document could use some major cleaning.&lt;br /&gt;
&lt;br /&gt;
As long as we still point out that the only error in syslog is &amp;quot;Wrong chip version ff&amp;quot; when trying to load the FIR module without first activating the PnP device. It would be nice if the ISA-PNP patch to the nsc-ircc driver got accepted upstream, so we dont have to do these hacks anymore.&lt;br /&gt;
[[User:Tonko|Tonko]] 03:58, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Tonko,&lt;br /&gt;
&lt;br /&gt;
Is there a reason why you deleted the TODO entry for linux 2.6 kernel config for SIR? I would like to readd it, but like to hear your reason to remove it first.&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 10:23, 14 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== T23 debianized kernel with probs ==&lt;br /&gt;
&lt;br /&gt;
Found another crazy thing here. T23 2648-2GG, with 2.6.13 and 2.6.14 (Debianized Source). Clear init of nsc-ircc and dongle, but the dongle stays offline (dark and blind). Booted with Knoppix or Bart-PE Windows give correct function of the whole device, viewed with a digicam shows some blinks at init. But not with plain 2.6.13 an 2.6.14 from Debian.&lt;br /&gt;
Eric&lt;br /&gt;
&lt;br /&gt;
== setpnp ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
since the nsc-ircc patch isn't in 2.6.15, I tried to go the setpnp route, but I don't even get to see {{path|/proc/bus/pnp}} even though I enabled the support for it in the kernel config (once I found out that I need to enable ISA support to even get the option). Has anyone successfully used setpnp to enable the IRDA port or is that just some sort of urban legend? ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:12, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Make sure you enable pnp-bios support specifically when compiling the kernel, just enabling pnp support is not enough.&lt;br /&gt;
I must however admit that I have not done this, since my ancient TP 770 running a 2.4 kernel, which was at least 5 years ago.&lt;br /&gt;
&lt;br /&gt;
I just looked at a 2.6 menuconfig myself, and could not find the option, but looking at my .config file I can see the CONFIG_PNPBIOS option, so you might just want to edit the config file directly, enable the PNPBIOS option, and run make oldconfig.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 19:38, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I do have the pnp-bios support enabled (the option is depending on ISA among others, checked the Kconfig file in the source tree to find it), and also the proc-Interface option, but still no go... maybe it's not compatible with CONFIG_PNPACPI? Oh well, nevermind, going back to the patch, that works with less hassles, I just hope it'll end up in the vanilla kernel eventually. Still thanks for the help.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:22, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, on further investigation (not giving up that easily ;) it really seems that CONFIG_PNPACPI is disabling PnPBIOS, at least dmesg showed something along the lines of &amp;quot;PnPBIOS: disabled by PnPACPI&amp;quot;. But, after recompiling without PnPACPI, I still can't get it to work. I can use {{cmd|setpnp|}} and {{cmd|lspnp|}} just fine, but the nsc-ircc module won't load:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
t43p:~# lspnp 12&lt;br /&gt;
12 IBM0071 IBM Thinkpad infrared port&lt;br /&gt;
t43p:~# setpnp 12 io 0x2f8 irq 3&lt;br /&gt;
t43p:~# lspnp -v 12&lt;br /&gt;
12 IBM0071 IBM Thinkpad infrared port&lt;br /&gt;
        dma 3&lt;br /&gt;
        io 0x02f8-0x02ff&lt;br /&gt;
        irq 3&lt;br /&gt;
t43p:~# modprobe nsc-ircc io=0x2f8 irq=3 dongle_id=0x09&lt;br /&gt;
FATAL: Error inserting nsc_ircc (/lib/modules/2.6.15/kernel/drivers/net/irda/nsc-ircc.ko): No such device&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hmm, I'm getting somewhat annoyed... any ideas?&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:58, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14170</id>
		<title>Talk:IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14170"/>
		<updated>2006-01-04T19:22:39Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* setpnp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;wrong chip version ff&amp;quot; is a real issue, and having it mentioned makes sure that google searches turn it up with a solution.&lt;br /&gt;
[[User:Tonko|Tonko]] 01:41, 8 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
The present text confused me (as you now have noticed). Maybe it should better reflect that the error is incorrect (&amp;quot;wrong chip version ff&amp;quot; instead of &amp;quot;FIR mode not enabled&amp;quot; or whatever). Would that be acceptable? &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 02:05, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
If you think you can explain it better, go right ahead. The IrDA document could use some major cleaning.&lt;br /&gt;
&lt;br /&gt;
As long as we still point out that the only error in syslog is &amp;quot;Wrong chip version ff&amp;quot; when trying to load the FIR module without first activating the PnP device. It would be nice if the ISA-PNP patch to the nsc-ircc driver got accepted upstream, so we dont have to do these hacks anymore.&lt;br /&gt;
[[User:Tonko|Tonko]] 03:58, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Tonko,&lt;br /&gt;
&lt;br /&gt;
Is there a reason why you deleted the TODO entry for linux 2.6 kernel config for SIR? I would like to readd it, but like to hear your reason to remove it first.&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 10:23, 14 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== T23 debianized kernel with probs ==&lt;br /&gt;
&lt;br /&gt;
Found another crazy thing here. T23 2648-2GG, with 2.6.13 and 2.6.14 (Debianized Source). Clear init of nsc-ircc and dongle, but the dongle stays offline (dark and blind). Booted with Knoppix or Bart-PE Windows give correct function of the whole device, viewed with a digicam shows some blinks at init. But not with plain 2.6.13 an 2.6.14 from Debian.&lt;br /&gt;
Eric&lt;br /&gt;
&lt;br /&gt;
== setpnp ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
since the nsc-ircc patch isn't in 2.6.15, I tried to go the setpnp route, but I don't even get to see {{path|/proc/bus/pnp}} even though I enabled the support for it in the kernel config (once I found out that I need to enable ISA support to even get the option). Has anyone successfully used setpnp to enable the IRDA port or is that just some sort of urban legend? ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:12, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Make sure you enable pnp-bios support specifically when compiling the kernel, just enabling pnp support is not enough.&lt;br /&gt;
I must however admit that I have not done this, since my ancient TP 770 running a 2.4 kernel, which was at least 5 years ago.&lt;br /&gt;
&lt;br /&gt;
I just looked at a 2.6 menuconfig myself, and could not find the option, but looking at my .config file I can see the CONFIG_PNPBIOS option, so you might just want to edit the config file directly, enable the PNPBIOS option, and run make oldconfig.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 19:38, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I do have the pnp-bios support enabled (the option is depending on ISA among others, checked the Kconfig file in the source tree to find it), and also the proc-Interface option, but still no go... maybe it's not compatible with CONFIG_PNPACPI? Oh well, nevermind, going back to the patch, that works with less hassles, I just hope it'll end up in the vanilla kernel eventually. Still thanks for the help.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:22, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14162</id>
		<title>Talk:IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:IrDA&amp;diff=14162"/>
		<updated>2006-01-04T18:12:45Z</updated>

		<summary type="html">&lt;p&gt;Spiney: setpnp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;quot;wrong chip version ff&amp;quot; is a real issue, and having it mentioned makes sure that google searches turn it up with a solution.&lt;br /&gt;
[[User:Tonko|Tonko]] 01:41, 8 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
The present text confused me (as you now have noticed). Maybe it should better reflect that the error is incorrect (&amp;quot;wrong chip version ff&amp;quot; instead of &amp;quot;FIR mode not enabled&amp;quot; or whatever). Would that be acceptable? &lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 02:05, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
If you think you can explain it better, go right ahead. The IrDA document could use some major cleaning.&lt;br /&gt;
&lt;br /&gt;
As long as we still point out that the only error in syslog is &amp;quot;Wrong chip version ff&amp;quot; when trying to load the FIR module without first activating the PnP device. It would be nice if the ISA-PNP patch to the nsc-ircc driver got accepted upstream, so we dont have to do these hacks anymore.&lt;br /&gt;
[[User:Tonko|Tonko]] 03:58, 8 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
Tonko,&lt;br /&gt;
&lt;br /&gt;
Is there a reason why you deleted the TODO entry for linux 2.6 kernel config for SIR? I would like to readd it, but like to hear your reason to remove it first.&lt;br /&gt;
&lt;br /&gt;
[[User:Pebolle|Paul Bolle]] 10:23, 14 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== T23 debianized kernel with probs ==&lt;br /&gt;
&lt;br /&gt;
Found another crazy thing here. T23 2648-2GG, with 2.6.13 and 2.6.14 (Debianized Source). Clear init of nsc-ircc and dongle, but the dongle stays offline (dark and blind). Booted with Knoppix or Bart-PE Windows give correct function of the whole device, viewed with a digicam shows some blinks at init. But not with plain 2.6.13 an 2.6.14 from Debian.&lt;br /&gt;
Eric&lt;br /&gt;
&lt;br /&gt;
== setpnp ==&lt;br /&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
since the nsc-ircc patch isn't in 2.6.15, I tried to go the setpnp route, but I don't even get to see {{path|/proc/bus/pnp}} even though I enabled the support for it in the kernel config (once I found out that I need to enable ISA support to even get the option). Has anyone successfully used setpnp to enable the IRDA port or is that just some sort of urban legend? ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:12, 4 Jan 2006 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=IrDA&amp;diff=14156</id>
		<title>IrDA</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=IrDA&amp;diff=14156"/>
		<updated>2006-01-04T17:50:36Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* ISA PnP patch */ also works with 2.6.15&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ThinkPad IrDA configuration ==&lt;br /&gt;
&lt;br /&gt;
IrDA can be used to communicate using Infrared to other IrDA compliant devices, such as other Notebooks, PDAs and mobile phones.&lt;br /&gt;
&lt;br /&gt;
All IBM ThinkPads manufactured in the last years have integrated IrDA that can be used in one of two modes, SIR or FIR.&lt;br /&gt;
Some very old ThinkPads only support SIR mode, or might not have IrDA support at all. A newer VFIR standard exists, which supports speeds upto 16Mbps. However for the moment no ThinkPads support this.&lt;br /&gt;
&lt;br /&gt;
The purpose of this document is to get the IrDA hardware in your ThinkPad operational, setting up communication to other devices is not covered. However, the external links section can prove useful for this.&lt;br /&gt;
&lt;br /&gt;
=== Serial IR (SIR) ===&lt;br /&gt;
SIR is limited to serial datarates up to 115.2Kb/s&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.4 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modules.conf}} and add the following lines&lt;br /&gt;
   alias tty-ldisc-11 irtty&lt;br /&gt;
   alias char-major-161 ircomm-tty&lt;br /&gt;
&lt;br /&gt;
=== Fast IR (FIR) ===&lt;br /&gt;
FIR is the preferred mode of IrDA operation and operates at a bandwidth of 4 Mbps&lt;br /&gt;
==== BIOS settings ====&lt;br /&gt;
Main problem here is that the chips FIR mode needs to be activated. On A, G, R, T and X model ThinkPads, the easiest way to activate FIR mode is by entering BIOS setup during boot-up by pressing {{key|F1}} when prompted.&lt;br /&gt;
Then, selecting 'Config' followed by 'Infrared' will allow you to control the IrDA operation. Here you will need to select the option to Enable the infra-red port. Be sure to save the changes, and then Exit. Make sure that you do not only enable the Device, also set the resources manually. Else, lirc will remain silent.&lt;br /&gt;
&lt;br /&gt;
Note: Changing these BIOS settings do not affect Windows 2000 or XP operating systems, but may cause memory resource issues in older windows versions, or other legacy operating systems.&lt;br /&gt;
&lt;br /&gt;
==== PnP settings from Linux ====&lt;br /&gt;
If changing the BIOS setting is not an option or if the settings cannot be altered, as on some older ThinkPads, the FIR mode can be activated by running Linux OS with one of the following:&lt;br /&gt;
&lt;br /&gt;
* setpnp as part of the old pcmcia-utils source package&lt;br /&gt;
* tpctl, but only for some old ThinkPads&lt;br /&gt;
&lt;br /&gt;
setpnp requires a kernel with pnp-bios support compiled in, which the {{Redhat}} and {{Fedora}} kernels lack.&lt;br /&gt;
==== ISA PnP patch ====&lt;br /&gt;
2.6 kernel ISA PnP Patches exist for the nsc-ircc driver, that allow the loading of the driver without the BIOS, setpnp or tpctl hacks.&amp;lt;br&amp;gt;&lt;br /&gt;
You will still have to call setserial and set the dongle_id parameter, as shown below.&lt;br /&gt;
&lt;br /&gt;
* [http://steffenpingel.de/patches/nsc-ircc-pnp.diff 2.6.10 patch]&lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12-rc6.diff 2.6.12-rc6 patch] &lt;br /&gt;
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12.diff 2.6.12 patch (applies cleanly to 2.6.12 through 2.6.15)]&lt;br /&gt;
&lt;br /&gt;
This patch seems ''necessary'' in some cases (e.g., ThinkPad {{T43}} and kernel 2.6.14.2).&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.4 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modules.conf}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
       alias irda0 nsc-ircc&lt;br /&gt;
       options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3&lt;br /&gt;
       pre-install nsc-ircc setserial /dev/ttyS1 uart none port 0 irq 0&lt;br /&gt;
&lt;br /&gt;
==== Linux 2.6 kernel config ====&lt;br /&gt;
Edit {{path|/etc/modprobe.conf}} and add the following lines&lt;br /&gt;
&lt;br /&gt;
       alias irda0 nsc-ircc&lt;br /&gt;
       options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3&lt;br /&gt;
       install nsc-ircc /bin/setserial /dev/ttyS1 uart none port 0 irq 0; /sbin/modprobe --ignore-install nsc-ircc&lt;br /&gt;
&lt;br /&gt;
=== Known problems ===&lt;br /&gt;
* If the FIR mode is not activated, attempts to load the nsc-ircc module will result in an error in syslog of &amp;quot;Wrong chip version ff&amp;quot;.&lt;br /&gt;
* After suspend the nsc-ircc module needs to be manually reloaded&lt;br /&gt;
* Module reloading does not work for me after a suspend. The IrDA port has to be actived.&lt;br /&gt;
 rmmod nsc_ircc&lt;br /&gt;
 echo disable &amp;gt; /sys/devices/pnp0/00\:0d/resources&lt;br /&gt;
 echo activate &amp;gt; /sys/devices/pnp0/00\:0d/resources&lt;br /&gt;
 modprobe nsc_ircc&lt;br /&gt;
The value &amp;lt;tt&amp;gt;pnp0/00\:0d&amp;lt;/tt&amp;gt; can vary - look for a resources file containing the appropriate irq/dma/io values, e.g., using {{cmdroot|grep 0x2f8 /sys/devices/pnp*/*/resources}} .&lt;br /&gt;
&lt;br /&gt;
=== Some other things you might want to do with IrDA ===&lt;br /&gt;
&lt;br /&gt;
* add fast PPP support:&lt;br /&gt;
:{{cmdroot|modprobe irnet}}&lt;br /&gt;
* if needed, limit further the size of the transmit window&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /proc/sys/net/irda/max_tx_window}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
*[http://irda.sourceforge.net/ Linux-IrDA Project] (External)&lt;br /&gt;
*[http://pcmcia-cs.sourceforge.net/ Linux PCMCIA Project] (External)&lt;br /&gt;
*[http://tpctl.sourceforge.net/ tpctl homepage] (External)&lt;br /&gt;
*[http://www.lirc.org/ Linux Infrared Remote Control] (External)&lt;br /&gt;
&lt;br /&gt;
== Supported Models ==&lt;br /&gt;
'''IrDA 1.0 (SIR - 115Kbps)'''&lt;br /&gt;
* {{365C}}, {{365CD}}, {{365CS}}, {{365CSD}}, {{365E}}, {{365ED}}, {{365X}}, {{365XD}}&lt;br /&gt;
* {{560}}&lt;br /&gt;
* {{755CD}}, {{755CDV}}, {{755CE}}, {{755CSE}}, {{755CV}}, {{755CX}}&lt;br /&gt;
* {{760C}}, {{760CD}}, {{760E}}, {{760ED}}, {{760EL}}, {{760ELD}}, {{760L}}, {{760LD}}, {{760XD}}, {{760XL}}&lt;br /&gt;
* {{765D}}, {{765L}}&lt;br /&gt;
* {{PC110}}&lt;br /&gt;
'''IrDA 1.1 (FIR - 4Mbps)'''&lt;br /&gt;
* {{240}}, {{240X}}&lt;br /&gt;
* {{380}}, {{380D}}, {{380E}}, {{380ED}}, {{380XD}}, {{380Z}}&lt;br /&gt;
* {{385D}}, {{385ED}}, {{385XD}}&lt;br /&gt;
* {{390}}, {{390E}}, {{390X}}&lt;br /&gt;
* {{560E}}, {{560X}}, {{560Z}}&lt;br /&gt;
* {{570}}, {{570E}}&lt;br /&gt;
* {{600}}, {{600E}}, {{600X}}&lt;br /&gt;
* {{770}}, {{770E}}, {{770ED}}, {{770X}}, {{770Z}}&lt;br /&gt;
* {{A Series}}&lt;br /&gt;
* {{i1720}}, {{i1721}}&lt;br /&gt;
* {{R Series}}&lt;br /&gt;
* {{T Series}}&lt;br /&gt;
* {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}} and {{X41T}}&lt;br /&gt;
* {{Z60m}}, {{Z60t}}&lt;br /&gt;
* {{TransNote}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&amp;diff=14159</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=14159"/>
		<updated>2006-01-04T17:13:48Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Patches */ rc6 patch works fine for 2.6.15&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 {{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) will be solved in Linux 2.6.15 with the inclusion of libata pass-through. See the SATA driver [http://linux.yyz.us/sata/features.html features], [http://linux.yyz.us/sata/software-status.html software status] and [http://linux.yyz.us/sata/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 (as of 2.6.15-rc3) 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;
===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 kernel 2.6.15-rc6 (and also the 2.6.15 final)]&lt;br /&gt;
&lt;br /&gt;
Some distributions already include this patch (e.g., {{Ubuntu}} Breezy), but some don't (e.g., {{Fedora}} 4).&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;
&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 SATA driver (instead of the IDE driver) for the optical drive. This requires enabling two featues of the SATA driver, namely ATAPI support and PATA support, which are both in active development and far from 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;
** Configure the SATA system (and in particular &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 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;
** Configure the SATA system as module (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;
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 some Linux kernels, both the SATA driver and the IDE driver can handle the system hard disk. With the SATA driver, it shows as {{path|/dev/sda}} and DMA is enabled. With the IDE driver, it 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 SATA 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 &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, DMA will be disabled on these models (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>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_enable_integrated_fingerprint_reader_with_BioAPI&amp;diff=13667</id>
		<title>Talk:How to enable integrated fingerprint reader with BioAPI</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_enable_integrated_fingerprint_reader_with_BioAPI&amp;diff=13667"/>
		<updated>2005-12-23T09:12:41Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Permission errors exclusive to xscreensaver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Changing the installation path==&lt;br /&gt;
By default, bioapi will install numerous files in {{path|/usr/local/&amp;lt;nowiki&amp;gt;{&amp;lt;/nowiki&amp;gt;bin,lib,include&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;}}, including files with &amp;quot;self-explanatory&amp;quot; names such as {{path|/usr/local/bin/Sample}}. To prevent this pollution:&lt;br /&gt;
* Create a dedicated directory,say, {{path|/opt/bioapi}} .&lt;br /&gt;
* Append &amp;lt;tt&amp;gt;--prefix=/opt/bioapi&amp;lt;/tt&amp;gt; to the &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt; command of bioapi&lt;br /&gt;
* Append {{path|/opt/bioapi/bin}} to &amp;lt;tt&amp;gt;$PATH&amp;lt;/tt&amp;gt; and {{path|/opt/bioapi/lib}} to &amp;lt;tt&amp;gt;$LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Edit the install path in {{path|install.sh}} of the driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:06, 30 Oct 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== chmod 777 -R /usr/local/var/bioapi/ ==&lt;br /&gt;
&lt;br /&gt;
Is the above necessary? I just made a debian package of xscreensaver with the patch applied, and when using the bioapi debian pacakge from [http://www.qrivy.net/~michael/temp/ Michael R. Crusoe's site] which has this directory put in /usr/var/bioapi I had not to change the permissions to world-writeable there. Write access to the logfile and usb device are necessary, but that directory works with 755 as well (even though it comes with 777 in Michael's package), and all files and subdirectories are 644/755 too.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 00:08, 11 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Qt Compilation Success ==&lt;br /&gt;
&lt;br /&gt;
Here it worked with qt ;)&lt;br /&gt;
&lt;br /&gt;
== using absolute paths for commands ==&lt;br /&gt;
&lt;br /&gt;
I don't know whether using absolute paths in the articles is a good idea, at least not for tools like {{cmd|lsusb|}} which are not established utilities (i.e. used for more than a decade or something ;)) and happen to be in different locations in different distributions. E.g. said {{cmd|lsusb|}} resides in {{path|/usr/sbin|}} on Debian systems.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 16:45, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== BioAPI error #3 ==&lt;br /&gt;
&lt;br /&gt;
Its kind of strage it used to work with everythig (kdm,console,lock,etc)&lt;br /&gt;
Now it only works with kdm. It allways gives back:&lt;br /&gt;
&lt;br /&gt;
pam_bioapi[8113]: Unable to initialize Bioapi framework, BioAPI error #:3.&lt;br /&gt;
&lt;br /&gt;
Even when I set the right permissions on /proc/bus/usb.&lt;br /&gt;
&lt;br /&gt;
I am able to run the Sample program as normal user after setting the permissions, but when I change within a user session by su I amnot able to run the Sample program a also get an error Code #3.&lt;br /&gt;
&lt;br /&gt;
From an other terminal (alt+strg+Fx) I am able to run the Sample program but at the login I still get the error #3.&lt;br /&gt;
&lt;br /&gt;
I cant remember to have changed anything an d bevor I was able to login in a console with my fingerprint now only kdm is working even kde lock-session       &lt;br /&gt;
isnt working anymore.&lt;br /&gt;
&lt;br /&gt;
Any suggestions ?&lt;br /&gt;
&lt;br /&gt;
==Permission errors exclusive to xscreensaver==&lt;br /&gt;
&lt;br /&gt;
I followed the instructions above and got everything working, including non-root programs like xscreensaver.  However, the script to change usbfs permissions is finicky and fails to work with a lot of things like suspend/resume.  Therefore, I switched to specifying &amp;lt;tt&amp;gt;devgid=108,devmode=0660,busgid=108,busmode=0770,listgid=108,listmode=0660&amp;lt;/tt&amp;gt; as mount parameters for usbfs, where group 108 is a group I created and added my normal user to.  This seems like a much better way of doing things, and it almost works.  However, xscreensaver (using the newer patch) gives the familiar &amp;lt;tt&amp;gt;Unable to load BioAPI BSP with UUID of &amp;lt;nowiki&amp;gt;{&amp;lt;/nowiki&amp;gt;5550454b-2054-464d-2f45-535320425350&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;, BioAPI error #194d.&amp;lt;/tt&amp;gt; error in {{path|/var/log/auth.log|}}.  I don't think this is a straightfoward permissions problem because&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the permissions in {{path|/proc/bus/usb|}} are correct by inspection&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;I can write to the device file as my normal user&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;other programs like {{cmd|test_verify-pam_bioapi|}} and [http://pamtester.sourceforge.net/ {{cmd|pamtester|}}] work as my normal user&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;the weirdest one: xscreensaver works when the {{cmd|xscreensaver|}} daemon is launched from within {{cmd|strace|}}.  It's still running as my normal user ({{cmd|strace|}} is not setuid root).  I have absolutely no idea what would cause this.  I thought it might be an environment issue, but the difference in environment between the {{cmd|strace|}} session and my normal session is trivial.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At this point I'm hoping it's something dumb, but I'm out of ideas.  The {{cmd|xscreensaver|}} error is &amp;lt;tt&amp;gt;pam_authenticate (...) ==&amp;amp;gt; 7 (Authentication failure)&amp;lt;/tt&amp;gt;, for the record.&lt;br /&gt;
&lt;br /&gt;
--[[User:keegan|keegan]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Could you provide all the log lines between pam_start and pam_end when running {{cmd|xscreensaver -verbose|}}?&lt;br /&gt;
&lt;br /&gt;
BTW, the idea with using the mount options for usbfs is very good, maybe you should add that info to the article page? I use the permission changing script without problems, also after resume, but the usbfs version is probably easier to set up, most people will be able to find {{path|/etc/fstab|}}.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 10:12, 23 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Driver Expiring!!!==&lt;br /&gt;
Don't anyone notice that both betas of the UPEK driver is expiring in&lt;br /&gt;
about a month in the new year, Jan 1st 2006? They really mean it! &lt;br /&gt;
I set my computer date to next year and get a message &amp;quot;the driver has expired&amp;quot; when using fingerprint reader! This is a grave threat to our computer lifestyle, i.e. for those of us who got it working and use it&lt;br /&gt;
daily:) &lt;br /&gt;
Is there any workaround other than setting the date back a year when&lt;br /&gt;
new year come and wait for new driver? Is there a way to figure out where exactly in the driver it checked the date and how? The must have set it &lt;br /&gt;
somewhere in file libtfmessbsp.so, but it is binary and I can't figure out how to Reverse Engineer it.&lt;br /&gt;
&lt;br /&gt;
---Jiang&lt;br /&gt;
&lt;br /&gt;
Yes, the beta driver will expire. The final version (which is due REALLY soon now) will not.&lt;br /&gt;
&lt;br /&gt;
Sumedha&lt;br /&gt;
&lt;br /&gt;
Any news? Just 9 days left to expiry. --[[User:Thinker|Thinker]] 21:36, 22 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
The final is out, get it at [http://www.upek.com/support/dl_linux_bsp.asp UPEK's download page]. And how does one edit the industry watch section of the main page?&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:39, 22 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
Ah, great! Both the article page and the driver page it points to are out of date... For the news, just follow the &amp;quot;[[ThinkWiki:News|News]]&amp;quot; link in the main page. &lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:44, 22 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Updated xscreensaver patch ==&lt;br /&gt;
&lt;br /&gt;
I've tried to address some usability issues with the old patch, e.g. that it calls the PAM bioapi module twice before falling back to the normal authentication methods. It can be found on my [http://linux.spiney.org/debian_gnu_linux_on_an_ibm_thinkpad_t43p_fingerprint_reader Fingerprint Reader] page, feedback is very welcome.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:36, 22 Dec 2005 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:Industry_News&amp;diff=14195</id>
		<title>Template:Industry News</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:Industry_News&amp;diff=14195"/>
		<updated>2005-12-22T21:32:59Z</updated>

		<summary type="html">&lt;p&gt;Spiney: topics moved to old news&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;22.12.2005 [http://www.upek.com/support/dl_linux_bsp.asp Version 1.0 (final)] of the BSP for the UPEK fingerprint sensor released.&lt;br /&gt;
&lt;br /&gt;
08.12.2005 New [[fglrx]] driver version 8.20.8 released&lt;br /&gt;
&lt;br /&gt;
11.11.2005 New [[fglrx]] driver version 8.19.10 released, adds suspend and PowerPlay&lt;br /&gt;
&lt;br /&gt;
26.10.2005 New fglrx driver version 8.18.8 released&lt;br /&gt;
&lt;br /&gt;
13.10.2005: Lenovo announces new R51e to be shipping with SUN StarOffice 8.&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:Industry_OldNews&amp;diff=14196</id>
		<title>Template:Industry OldNews</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:Industry_OldNews&amp;diff=14196"/>
		<updated>2005-12-22T21:32:55Z</updated>

		<summary type="html">&lt;p&gt;Spiney: topics moved to old news&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;15.09.2005: Lenovo announces new WideScreen Z Series. Read [http://www.pcmag.com/article2/0,1895,1858628,00.asp here] and [http://news.zdnet.com/2100-1040_22-5862939.html here].&lt;br /&gt;
&lt;br /&gt;
14.09.2005: [http://www.qrivy.net/~michael/blua/upek-bsp.html Beta release] of BSP for UPEK fingerprint sensors released.&lt;br /&gt;
&lt;br /&gt;
17.08.2005: New [[fglrx]] driver version 8.16.20 released&lt;br /&gt;
&lt;br /&gt;
09.06.2005: New [[fglrx]] driver version 8.14.13 released&lt;br /&gt;
&lt;br /&gt;
11.04.2005: IBM and Sanyo demonstrate [http://www.theregister.co.uk/2005/04/11/ibm_sanyo_notebook_fuel_cell/ Fuel Cell prototype]&lt;br /&gt;
&lt;br /&gt;
16.02.2005: New [[fglrx]] driver version 8.10.19 released&lt;br /&gt;
&lt;br /&gt;
04.02.2005: IBM sells its entire PC division to Lenovo (China's largest PC maker), exclusing the eSeries x86 range. The Think* brand is included in the deal and Lenovo has full use of it for 5 years.&lt;br /&gt;
&lt;br /&gt;
17.01.2005: New [[fglrx]] driver version 8.8.25 (finally with X.Org 6.8 support)&lt;br /&gt;
&lt;br /&gt;
28.11.2004: IBM recently released new T42 notebooks featuring Pentium M 765 processors, a FireGL T2 chip, 1GB of RAM and an integrated fingerprint scanner&lt;br /&gt;
&lt;br /&gt;
09.11.2004: New [[fglrx]] driver version 3.14.6 &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
26.09.2004: [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-RECALL IBM recalls 56 Watt Thinkpad AC Adaptors]&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_enable_integrated_fingerprint_reader_with_BioAPI&amp;diff=13625</id>
		<title>Talk:How to enable integrated fingerprint reader with BioAPI</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_enable_integrated_fingerprint_reader_with_BioAPI&amp;diff=13625"/>
		<updated>2005-12-22T20:39:41Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Driver Expiring!!! */ the final is out&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Changing the installation path==&lt;br /&gt;
By default, bioapi will install numerous files in {{path|/usr/local/&amp;lt;nowiki&amp;gt;{&amp;lt;/nowiki&amp;gt;bin,lib,include&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;}}, including files with &amp;quot;self-explanatory&amp;quot; names such as {{path|/usr/local/bin/Sample}}. To prevent this pollution:&lt;br /&gt;
* Create a dedicated directory,say, {{path|/opt/bioapi}} .&lt;br /&gt;
* Append &amp;lt;tt&amp;gt;--prefix=/opt/bioapi&amp;lt;/tt&amp;gt; to the &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt; command of bioapi&lt;br /&gt;
* Append {{path|/opt/bioapi/bin}} to &amp;lt;tt&amp;gt;$PATH&amp;lt;/tt&amp;gt; and {{path|/opt/bioapi/lib}} to &amp;lt;tt&amp;gt;$LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Edit the install path in {{path|install.sh}} of the driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:06, 30 Oct 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== chmod 777 -R /usr/local/var/bioapi/ ==&lt;br /&gt;
&lt;br /&gt;
Is the above necessary? I just made a debian package of xscreensaver with the patch applied, and when using the bioapi debian pacakge from [http://www.qrivy.net/~michael/temp/ Michael R. Crusoe's site] which has this directory put in /usr/var/bioapi I had not to change the permissions to world-writeable there. Write access to the logfile and usb device are necessary, but that directory works with 755 as well (even though it comes with 777 in Michael's package), and all files and subdirectories are 644/755 too.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 00:08, 11 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Qt Compilation Success ==&lt;br /&gt;
&lt;br /&gt;
Here it worked with qt ;)&lt;br /&gt;
&lt;br /&gt;
== using absolute paths for commands ==&lt;br /&gt;
&lt;br /&gt;
I don't know whether using absolute paths in the articles is a good idea, at least not for tools like {{cmd|lsusb|}} which are not established utilities (i.e. used for more than a decade or something ;)) and happen to be in different locations in different distributions. E.g. said {{cmd|lsusb|}} resides in {{path|/usr/sbin|}} on Debian systems.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 16:45, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== BioAPI error #3 ==&lt;br /&gt;
&lt;br /&gt;
Its kind of strage it used to work with everythig (kdm,console,lock,etc)&lt;br /&gt;
Now it only works with kdm. It allways gives back:&lt;br /&gt;
&lt;br /&gt;
pam_bioapi[8113]: Unable to initialize Bioapi framework, BioAPI error #:3.&lt;br /&gt;
&lt;br /&gt;
Even when I set the right permissions on /proc/bus/usb.&lt;br /&gt;
&lt;br /&gt;
I am able to run the Sample program as normal user after setting the permissions, but when I change within a user session by su I amnot able to run the Sample program a also get an error Code #3.&lt;br /&gt;
&lt;br /&gt;
From an other terminal (alt+strg+Fx) I am able to run the Sample program but at the login I still get the error #3.&lt;br /&gt;
&lt;br /&gt;
I cant remember to have changed anything an d bevor I was able to login in a console with my fingerprint now only kdm is working even kde lock-session       &lt;br /&gt;
isnt working anymore.&lt;br /&gt;
&lt;br /&gt;
Any suggestions ?&lt;br /&gt;
&lt;br /&gt;
==Driver Expiring!!!==&lt;br /&gt;
Don't anyone notice that both betas of the UPEK driver is expiring in&lt;br /&gt;
about a month in the new year, Jan 1st 2006? They really mean it! &lt;br /&gt;
I set my computer date to next year and get a message &amp;quot;the driver has expired&amp;quot; when using fingerprint reader! This is a grave threat to our computer lifestyle, i.e. for those of us who got it working and use it&lt;br /&gt;
daily:) &lt;br /&gt;
Is there any workaround other than setting the date back a year when&lt;br /&gt;
new year come and wait for new driver? Is there a way to figure out where exactly in the driver it checked the date and how? The must have set it &lt;br /&gt;
somewhere in file libtfmessbsp.so, but it is binary and I can't figure out how to Reverse Engineer it.&lt;br /&gt;
&lt;br /&gt;
---Jiang&lt;br /&gt;
&lt;br /&gt;
Yes, the beta driver will expire. The final version (which is due REALLY soon now) will not.&lt;br /&gt;
&lt;br /&gt;
Sumedha&lt;br /&gt;
&lt;br /&gt;
Any news? Just 9 days left to expiry. --[[User:Thinker|Thinker]] 21:36, 22 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
The final is out, get it at [http://www.upek.com/support/dl_linux_bsp.asp UPEK's download page]. And how does one edit the industry watch section of the main page?&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:39, 22 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Updated xscreensaver patch ==&lt;br /&gt;
&lt;br /&gt;
I've tried to address some usability issues with the old patch, e.g. that it calls the PAM bioapi module twice before falling back to the normal authentication methods. It can be found on my [http://linux.spiney.org/debian_gnu_linux_on_an_ibm_thinkpad_t43p_fingerprint_reader Fingerprint Reader] page, feedback is very welcome.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:36, 22 Dec 2005 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_enable_integrated_fingerprint_reader_with_BioAPI&amp;diff=13623</id>
		<title>Talk:How to enable integrated fingerprint reader with BioAPI</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_enable_integrated_fingerprint_reader_with_BioAPI&amp;diff=13623"/>
		<updated>2005-12-22T19:36:42Z</updated>

		<summary type="html">&lt;p&gt;Spiney: Updated xscreensaver patch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Changing the installation path==&lt;br /&gt;
By default, bioapi will install numerous files in {{path|/usr/local/&amp;lt;nowiki&amp;gt;{&amp;lt;/nowiki&amp;gt;bin,lib,include&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;}}, including files with &amp;quot;self-explanatory&amp;quot; names such as {{path|/usr/local/bin/Sample}}. To prevent this pollution:&lt;br /&gt;
* Create a dedicated directory,say, {{path|/opt/bioapi}} .&lt;br /&gt;
* Append &amp;lt;tt&amp;gt;--prefix=/opt/bioapi&amp;lt;/tt&amp;gt; to the &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt; command of bioapi&lt;br /&gt;
* Append {{path|/opt/bioapi/bin}} to &amp;lt;tt&amp;gt;$PATH&amp;lt;/tt&amp;gt; and {{path|/opt/bioapi/lib}} to &amp;lt;tt&amp;gt;$LD_LIBRARY_PATH&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Edit the install path in {{path|install.sh}} of the driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:06, 30 Oct 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== chmod 777 -R /usr/local/var/bioapi/ ==&lt;br /&gt;
&lt;br /&gt;
Is the above necessary? I just made a debian package of xscreensaver with the patch applied, and when using the bioapi debian pacakge from [http://www.qrivy.net/~michael/temp/ Michael R. Crusoe's site] which has this directory put in /usr/var/bioapi I had not to change the permissions to world-writeable there. Write access to the logfile and usb device are necessary, but that directory works with 755 as well (even though it comes with 777 in Michael's package), and all files and subdirectories are 644/755 too.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 00:08, 11 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Qt Compilation Success ==&lt;br /&gt;
&lt;br /&gt;
Here it worked with qt ;)&lt;br /&gt;
&lt;br /&gt;
== using absolute paths for commands ==&lt;br /&gt;
&lt;br /&gt;
I don't know whether using absolute paths in the articles is a good idea, at least not for tools like {{cmd|lsusb|}} which are not established utilities (i.e. used for more than a decade or something ;)) and happen to be in different locations in different distributions. E.g. said {{cmd|lsusb|}} resides in {{path|/usr/sbin|}} on Debian systems.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 16:45, 12 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== BioAPI error #3 ==&lt;br /&gt;
&lt;br /&gt;
Its kind of strage it used to work with everythig (kdm,console,lock,etc)&lt;br /&gt;
Now it only works with kdm. It allways gives back:&lt;br /&gt;
&lt;br /&gt;
pam_bioapi[8113]: Unable to initialize Bioapi framework, BioAPI error #:3.&lt;br /&gt;
&lt;br /&gt;
Even when I set the right permissions on /proc/bus/usb.&lt;br /&gt;
&lt;br /&gt;
I am able to run the Sample program as normal user after setting the permissions, but when I change within a user session by su I amnot able to run the Sample program a also get an error Code #3.&lt;br /&gt;
&lt;br /&gt;
From an other terminal (alt+strg+Fx) I am able to run the Sample program but at the login I still get the error #3.&lt;br /&gt;
&lt;br /&gt;
I cant remember to have changed anything an d bevor I was able to login in a console with my fingerprint now only kdm is working even kde lock-session       &lt;br /&gt;
isnt working anymore.&lt;br /&gt;
&lt;br /&gt;
Any suggestions ?&lt;br /&gt;
&lt;br /&gt;
==Driver Expiring!!!==&lt;br /&gt;
Don't anyone notice that both betas of the UPEK driver is expiring in&lt;br /&gt;
about a month in the new year, Jan 1st 2006? They really mean it! &lt;br /&gt;
I set my computer date to next year and get a message &amp;quot;the driver has expired&amp;quot; when using fingerprint reader! This is a grave threat to our computer lifestyle, i.e. for those of us who got it working and use it&lt;br /&gt;
daily:) &lt;br /&gt;
Is there any workaround other than setting the date back a year when&lt;br /&gt;
new year come and wait for new driver? Is there a way to figure out where exactly in the driver it checked the date and how? The must have set it &lt;br /&gt;
somewhere in file libtfmessbsp.so, but it is binary and I can't figure out how to Reverse Engineer it.&lt;br /&gt;
&lt;br /&gt;
---Jiang&lt;br /&gt;
&lt;br /&gt;
Yes, the beta driver will expire. The final version (which is due REALLY soon now) will not.&lt;br /&gt;
&lt;br /&gt;
Sumedha&lt;br /&gt;
&lt;br /&gt;
== Updated xscreensaver patch ==&lt;br /&gt;
&lt;br /&gt;
I've tried to address some usability issues with the old patch, e.g. that it calls the PAM bioapi module twice before falling back to the normal authentication methods. It can be found on my [http://linux.spiney.org/debian_gnu_linux_on_an_ibm_thinkpad_t43p_fingerprint_reader Fingerprint Reader] page, feedback is very welcome.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:36, 22 Dec 2005 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Pentium_M_undervolting_and_underclocking&amp;diff=13546</id>
		<title>Talk:Pentium M undervolting and underclocking</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Pentium_M_undervolting_and_underclocking&amp;diff=13546"/>
		<updated>2005-12-21T10:05:58Z</updated>

		<summary type="html">&lt;p&gt;Spiney: which patch to use?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hei Thinker,&lt;br /&gt;
&lt;br /&gt;
according to my notion of the character of this page, i thought it should possibly be renamed to something like &amp;quot;How to lower voltage and clock speed on Pentium M processors&amp;quot; (&amp;quot;lower&amp;quot; might be replaced by &amp;quot;finetune&amp;quot; or &amp;quot;manually lower&amp;quot; or &amp;quot;tweak&amp;quot; or something else expressing more the expert audience of the article). This has the following advantages:&lt;br /&gt;
*complies with the naming scheme ;-)&lt;br /&gt;
*has words more likely to be found in google (voltage vs. undervolting; clock, speed vs. underclocking)&lt;br /&gt;
*Are undervolting/underclocking proper english words anyway?&lt;br /&gt;
*Follows a scheme of &amp;quot;from general to specific&amp;quot;. The topic of the article is underclocking/undervolting. That it's for Pentium M processors is kind of secondary to that.&lt;br /&gt;
&lt;br /&gt;
What do you think? I can do it if you agree.&lt;br /&gt;
&lt;br /&gt;
[[User:Wyrfel|Wyrfel]] 00:21, 21 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Good points. Personally I'm fond of short technical titles, but I agree about accessibility and consistency with the rest of the site. I have a feeling (though no proof) that the under&amp;lt;i&amp;gt;clocking&amp;lt;/i&amp;gt; doesn't really work (as I noted recently), so how about &amp;quot;Reducing voltage on the Pentium M processor&amp;quot; for now?&lt;br /&gt;
&lt;br /&gt;
BTW, &amp;quot;underclocking&amp;quot; is pretty standard techie jargon (and a clear parallel of the well-known &amp;quot;overclocking&amp;quot;). &amp;quot;Undervolting&amp;quot; is somewhat less common, though I've seen it in use. &lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:55, 21 Oct 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== which patch to use? ==&lt;br /&gt;
&lt;br /&gt;
Since I might find the time to fiddle around with reducing the power consumption further, I wonder which of the 3 alternatives works best. Any recommendations?&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 11:05, 21 Dec 2005 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=13418</id>
		<title>Talk:SMAPI support for Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=13418"/>
		<updated>2005-12-16T19:44:56Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Kernel Patch? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Feedback ==&lt;br /&gt;
&lt;br /&gt;
Great, great work! Really! This completely rocks. I just stopped my battery from charging at 77% and restarted charging a bit later, no problems whatsoever. BTW, this is on kernel 2.6.14.3.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:25, 5 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
None of the fuctions is working on my T40, kernel 2.6.14-mm2.&lt;br /&gt;
&lt;br /&gt;
--[[User:Lammic|lammic]], 2005.12.05&lt;br /&gt;
&lt;br /&gt;
Works for me on a T41 running 2.6.12-10-686 (Ubuntu 5.10).&lt;br /&gt;
&lt;br /&gt;
--[[User:berndtnm|berndtnm]], 2005.12.06&lt;br /&gt;
&lt;br /&gt;
Including stop_charge_thresh? That one seems to be missing on the T42p.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:46, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi works just fine on an R52 with Ubuntu Breezy stock kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 12:52, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''To set the thresholds for starting and stopping battery charging (in percent of current capacity):''&lt;br /&gt;
&lt;br /&gt;
'''current''' really? That'd be weird, I'd expect it to be percent of '''total''' capacity.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 14:39, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Current full charge capacity&amp;quot;, as opposed to &amp;quot;current remaining capacity&amp;quot; or &amp;quot;designed full charge capacity&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:05, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Battery features don't work with my T41p. I can't check this with windows. Can anybody try these features?&lt;br /&gt;
&lt;br /&gt;
-- Nils, 7 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nils, does cdrom_speed work for you on the T41p? Could you provide the details requested in the README (dmesg etc.)?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:57, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CDRom Speed seems to work. (I see no warnings, but I have to do a speed test.) Now, I've send all outputs to the email-address in the readme.&lt;br /&gt;
&lt;br /&gt;
-- Nils, 8 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
All the features except the stop_charge_thresh seem to work here on a t42p. &lt;br /&gt;
One note, the start_charge_thresh seems to really be stop_charge_thresh. Ie, If I set that to lower than my current battery %, it will never charge, &lt;br /&gt;
and if I set it to 100 the battery charges all the way. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 16 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nirik, &amp;quot;all the features&amp;quot; as of which version? For example, do the force_discharge{1,2} in tp_smapi 0.12 also work for you? See the table in the article page. About start_charge, that's odd. Can you send me a log of what you did, what was the result a what was the dmesg output for each operation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 14:16, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
System T40p:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge1&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge2&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# dmesg   &lt;br /&gt;
tp_smapi: req_in: BX=2118 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=8680 BX=2118 CX=100 DX=b2 DI=0 SI=0 ret=-38&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2118)&lt;br /&gt;
tp_smapi: cannot get force_discharge1 of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: req_in: BX=2104 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=80 BX=2103 CX=100 DX=78 DI=0 SI=0 ret=0&lt;br /&gt;
tp_smapi: cannot get force_discharge2 of battery 0: bx=2103&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So it seems force_discharge1 is not supported at all. But force_discharge2? By the way, i think wiki is a _very_ good idea for collecting information, but not for discussion. I would prefer a maillinglist. We can use sourceforge.&lt;br /&gt;
&lt;br /&gt;
--[[User|StefanSchmidt]]&lt;br /&gt;
&lt;br /&gt;
==Changing the CD speed when the CD is being accessed will hang your computer==&lt;br /&gt;
&lt;br /&gt;
I don't have this problem on my T40p. CDROM is mounted and file on CD is opened. Change speed do '''not''' hang my system.&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
An open file looks fine if you're not reading/writing at that point. But my T43 does hangs on this:&lt;br /&gt;
 # dd if=/dev/scd0 of=/dev/null &amp;amp;&lt;br /&gt;
 # echo 1 &amp;gt; /sys/devices/platform/smapi/cdrom_speed&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:41, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OK, sorry. I was to fast. My system hangs on this commands, too. :(&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
&lt;br /&gt;
Works well. Great.&lt;br /&gt;
&lt;br /&gt;
T42 2373-8zh. Working :cdrom_speed and start_charge_thresh. Untest : inhibit_charge_minutes.&lt;br /&gt;
&lt;br /&gt;
-- Haifeng Chen&lt;br /&gt;
&lt;br /&gt;
cdrom_speed works on my T40.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Lammic|lammic]], 2005.12.09&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;thinkpad&amp;quot; module kernel compatibility ==&lt;br /&gt;
&lt;br /&gt;
Ajunge, how do you compile the &amp;quot;thinkpad&amp;quot; module compile on kernel &amp;gt;=2.6.9? The latest thinkpad version (5.8) still uses &amp;quot;get_cpu_ptr&amp;quot; and &amp;quot;set_cpu_ptr&amp;quot;, which were removed in 2.6.9.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 13:53, 10 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Kernel Patch? ==&lt;br /&gt;
&lt;br /&gt;
Hello Thinker,&lt;br /&gt;
&lt;br /&gt;
would it be possible to provide the SMAPI support as kernel patch as well? Something along the lines of: (0.12 against 2.6.15-rc5)&lt;br /&gt;
&lt;br /&gt;
''(deleted, see below for how to create a patch file)''&lt;br /&gt;
&lt;br /&gt;
Deleted the tp_smapi.c file at the end, out of obvious reasons, and I'm not sure about the placement in the ACPI section, OTOH there it would be found easily next to ibm_acpi.&lt;br /&gt;
&lt;br /&gt;
Providing a patch would help when recompiling the kernel often, I hate recompiling external modules every time (even got me a kernel-upgrade script to do most of it automatically). But of course it's up to you. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:52, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'll be glad to add this, but I don't want to go through additional manual steps in the release process (there are already quite a few). Can you add a &amp;quot;make patch&amp;quot; functionality to the Makefile, or something of the sort, to automatically generate a full patch (including tp_smapi.c) against current kernel sources?&lt;br /&gt;
&lt;br /&gt;
Also, this shouldn't be under drivers/acpi, since it doesn't use ACPI at all (that's why I didn't make it a patch to ibm_acpi). I think the right place is drivers/firmware, like the dell_rbu driver for Dell laptops.&lt;br /&gt;
&lt;br /&gt;
BTW, the convention for kernel patches is to start them once level higher:&lt;br /&gt;
  diff -Nurp kernel-2.6.14-vanilla kernel-2.6.14-patched&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:12, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Of course it's from the wrong level, as usual I was just lazy/inattentive. And at one point I'll remember who likes what patch format, promise. ;)&lt;br /&gt;
&lt;br /&gt;
A patch target as in &amp;quot;create a new file holding a correct diff to current kernel source&amp;quot; would be rather difficult, since line numbers might change etc., but applying the patch should be straighforward with a bit of sed. Of course I could just do that, create a patch with the diff command and then apply the new patch file in reverse. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 18:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If it does that on a local copy (no changes the original kernel tree) and cleans up after itself, that's fine with me. :-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:50, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, here's a shell script that creates the patch, feel free to use it under the terms of the GPL. For example call it from your Makefile with the patch target: (I didn't want to put all the script into the Makefile, since the rules about escaping in Makefiles, well, escape me ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
KDIR=/lib/modules/$(uname -r)/build&lt;br /&gt;
FDIR=drivers/firmware&lt;br /&gt;
OPWD=$(pwd)&lt;br /&gt;
&lt;br /&gt;
TMPDIR=$(mktemp -d)&lt;br /&gt;
cd $TMPDIR&lt;br /&gt;
&lt;br /&gt;
mkdir -p a/$FDIR&lt;br /&gt;
cp $KDIR/$FDIR/{Kconfig,Makefile} a/$FDIR&lt;br /&gt;
cp -r a b&lt;br /&gt;
sed -i -e '/endmenu/i\&lt;br /&gt;
config IBM_SMAPI\&lt;br /&gt;
        tristate &amp;quot;IBM ThinkPad SMAPI Support&amp;quot;\&lt;br /&gt;
        depends on X86\&lt;br /&gt;
        ---help---\&lt;br /&gt;
        This adds SMAPI support on IBM ThinkPads, mostly used for battery\&lt;br /&gt;
        charge control. For more information about this driver see\&lt;br /&gt;
        &amp;lt;http://www.thinkwiki.org/wiki/SMAPI_support_for_Linux&amp;gt; .\&lt;br /&gt;
\&lt;br /&gt;
        If you have an IBM ThinkPad laptop, say Y or M here.\&lt;br /&gt;
' b/$FDIR/Kconfig&lt;br /&gt;
sed -i -e '$a\&lt;br /&gt;
obj-$(CONFIG_IBM_SMAPI)            += tp_smapi.o' b/$FDIR/Makefile&lt;br /&gt;
cp $OPWD/tp_smapi.c b/$FDIR&lt;br /&gt;
diff -Nurp a b &amp;gt; $OPWD/tp_smapi-$(uname -r).patch&lt;br /&gt;
rm -r a b&lt;br /&gt;
cd $OPWD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, [http://qbnz.com/highlighter/ GeSHi]-based syntax-highlighting would be great...&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:28, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ah, neat sed foo. How about [http://tpctl.sourceforge.net/tmp/Makefile this] escapade, then? &lt;br /&gt;
&lt;br /&gt;
What's the sed spell needed to replace the Makefile's&lt;br /&gt;
 VER  := 0.13&lt;br /&gt;
with auto-parsing of&lt;br /&gt;
 #define TP_VERSION &amp;quot;0.13&amp;quot;&lt;br /&gt;
from tp_smapi.c?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 20:37, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hmm, something like&lt;br /&gt;
 VERFROMC=$(sed -ne 's/^#define TP_VERSION &amp;quot;\(.*\)&amp;quot;/\1/gp' tp_smapi.c)&lt;br /&gt;
 sed -i -e &amp;quot;s/^VER := .*$/VER := $VERFROMC/&amp;quot; Makefile&lt;br /&gt;
should do (untested, from the top of my head, maybe the temporary variable isn't even necessary?). And neat Makefile wizardry, at one point I'll learn the syntax.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 20:44, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Help:Reading&amp;diff=13488</id>
		<title>Help:Reading</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Help:Reading&amp;diff=13488"/>
		<updated>2005-12-16T19:26:36Z</updated>

		<summary type="html">&lt;p&gt;Spiney: reverted, removed spam&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 is supposed to guide you in using [[ThinkWiki]]. It offers you strategies on how to find information here in case you need help about a specific topic or just want to know something about your ThinkPad or ThinkPads in general.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Generic starting points==&lt;br /&gt;
There are five generic starting points that can help you whatever your mission might be:&lt;br /&gt;
*You can start browsing on the [[ThinkWiki|ThinkWiki start page]]. We will try to keep all ThinkWiki pages accessable in a logical structure that branches out from there.&lt;br /&gt;
*You can always use the Search field on the left, enter some word designating what you are looking for, press the search button and hope that one of the search results will be helpful.&lt;br /&gt;
*From our [[:Category:Models|ThinkPad models overview]] you can pick your particular model page to get a list with all articles concerning that model.&lt;br /&gt;
*And on the [[:Category:Distributions|distributions]] page you can choose your distribution and find all pages containing  information related to that distro.&lt;br /&gt;
*You can try browsing the [[:Category:ThinkWiki|Categories]].&lt;br /&gt;
&lt;br /&gt;
==Finding help for a specific problem==&lt;br /&gt;
ThinkWiki most likely doesn't provide a single page covering exactly your problem. It rather offers you generic starting points where you can start your hunt for information that may give you clues to a solution. The most typical starting points for your solution hunt are:&lt;br /&gt;
*The [[Known Problems]] page list pages covering specific problems people have run into with partial or complete solutions to them.&lt;br /&gt;
*If you look for information on how to install a specific distro on a specific model, look at the [[Installation]] page.&lt;br /&gt;
*In case you have problems installing or configuring a special driver, look at the [[HOWTOs - Driver Installation|Driver installation HOWTO listing]].&lt;br /&gt;
*In case you need help or information about the preloaded system, backing it up or recovering it, look at the [[How to recover the preloaded OS|Preload Recovery page]].&lt;br /&gt;
*If you run into Power Management related problems, the [[How to make use of Power Management features|Power Management HOWTO]] should help.&lt;br /&gt;
There are several more HOWTO pages accessible from the [[ThinkWiki|ThinkWiki main page]]&lt;br /&gt;
&lt;br /&gt;
==Finding information about a specific model==&lt;br /&gt;
There are two places to start for that:&lt;br /&gt;
*The [[:Category:Models|ThinkPad models overview]] page. It contains a list of all models known to the editors of ThinkWiki, each of them containing general information about that model as well as a list of all articles with information related to it. I.e. if you want to know about the ThinkPad X22, just click on the [[:Category:X22|X22]] page and you'll find all we know about it.&lt;br /&gt;
*The second place to look at is the [[Hardware Specifications]] page. Here you will find a list of model and type numbers, ordered by model. Just click on a type number and you'll find detailed specifications of exactly that type. In case your exact model-type number isn't there, look at one of the IBM provided PDF documents linked from that page.&lt;br /&gt;
&lt;br /&gt;
==Finding information about ThinkPads in general==&lt;br /&gt;
If you are planning to buy a notebook and want to start with an overall impression of ThinkPads, try the following pages:&lt;br /&gt;
*The [[ThinkPad History]] gives a historic overview about the appearance of ThinkPads in chronological order, accompanied with some information about their specialties and features.&lt;br /&gt;
*The [[Thinkpad Technologies]] page lists several of the technologies found in various ThinkPads. Each single Technology page in turn holds a list of ThinkPads this featuring this technology.&lt;br /&gt;
*Look at the [[Components]] or [[:Category:Components|Components Category]] pages to find out about hardware used  in ThinkPad computers.&lt;br /&gt;
&lt;br /&gt;
==Finding information about your specific distribution==&lt;br /&gt;
As said above, the [[:Category:Distributions|distributions]] page holds a list of distributions you can find information about on ThinkWiki. Each of the single distribution pages listed there in turn contain a list of all articles with relevant information for that distribution.&lt;br /&gt;
&lt;br /&gt;
==If you don't find what you are looking for==&lt;br /&gt;
Well, go figure - and let us know your findings here. ;-) Ok, more seriously, the [[Links]], [[Mailinglists]] and [[IRC]] pages list other sources of useful information. Also pay attention to the &amp;quot;External Sources&amp;quot; and &amp;quot;Related Links&amp;quot; sections found on almost every page. They usually contain a list of useful links to pages outside ThinkWiki. And of course, [http://www.google.org Google] is always your friend.&lt;br /&gt;
&lt;br /&gt;
Good luck.&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=13413</id>
		<title>Talk:SMAPI support for Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=13413"/>
		<updated>2005-12-16T18:51:22Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Kernel Patch? */ edited for consistency&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Feedback ==&lt;br /&gt;
&lt;br /&gt;
Great, great work! Really! This completely rocks. I just stopped my battery from charging at 77% and restarted charging a bit later, no problems whatsoever. BTW, this is on kernel 2.6.14.3.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:25, 5 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
None of the fuctions is working on my T40, kernel 2.6.14-mm2.&lt;br /&gt;
&lt;br /&gt;
--[[User:Lammic|lammic]], 2005.12.05&lt;br /&gt;
&lt;br /&gt;
Works for me on a T41 running 2.6.12-10-686 (Ubuntu 5.10).&lt;br /&gt;
&lt;br /&gt;
--[[User:berndtnm|berndtnm]], 2005.12.06&lt;br /&gt;
&lt;br /&gt;
Including stop_charge_thresh? That one seems to be missing on the T42p.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:46, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi works just fine on an R52 with Ubuntu Breezy stock kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 12:52, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''To set the thresholds for starting and stopping battery charging (in percent of current capacity):''&lt;br /&gt;
&lt;br /&gt;
'''current''' really? That'd be weird, I'd expect it to be percent of '''total''' capacity.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 14:39, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Current full charge capacity&amp;quot;, as opposed to &amp;quot;current remaining capacity&amp;quot; or &amp;quot;designed full charge capacity&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:05, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Battery features don't work with my T41p. I can't check this with windows. Can anybody try these features?&lt;br /&gt;
&lt;br /&gt;
-- Nils, 7 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nils, does cdrom_speed work for you on the T41p? Could you provide the details requested in the README (dmesg etc.)?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:57, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CDRom Speed seems to work. (I see no warnings, but I have to do a speed test.) Now, I've send all outputs to the email-address in the readme.&lt;br /&gt;
&lt;br /&gt;
-- Nils, 8 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
All the features except the stop_charge_thresh seem to work here on a t42p. &lt;br /&gt;
One note, the start_charge_thresh seems to really be stop_charge_thresh. Ie, If I set that to lower than my current battery %, it will never charge, &lt;br /&gt;
and if I set it to 100 the battery charges all the way. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 16 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nirik, &amp;quot;all the features&amp;quot; as of which version? For example, do the force_discharge{1,2} in tp_smapi 0.12 also work for you? See the table in the article page. About start_charge, that's odd. Can you send me a log of what you did, what was the result a what was the dmesg output for each operation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 14:16, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
System T40p:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge1&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge2&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# dmesg   &lt;br /&gt;
tp_smapi: req_in: BX=2118 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=8680 BX=2118 CX=100 DX=b2 DI=0 SI=0 ret=-38&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2118)&lt;br /&gt;
tp_smapi: cannot get force_discharge1 of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: req_in: BX=2104 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=80 BX=2103 CX=100 DX=78 DI=0 SI=0 ret=0&lt;br /&gt;
tp_smapi: cannot get force_discharge2 of battery 0: bx=2103&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So it seems force_discharge1 is not supported at all. But force_discharge2? By the way, i think wiki is a _very_ good idea for collecting information, but not for discussion. I would prefer a maillinglist. We can use sourceforge.&lt;br /&gt;
&lt;br /&gt;
--[[User|StefanSchmidt]]&lt;br /&gt;
&lt;br /&gt;
==Changing the CD speed when the CD is being accessed will hang your computer==&lt;br /&gt;
&lt;br /&gt;
I don't have this problem on my T40p. CDROM is mounted and file on CD is opened. Change speed do '''not''' hang my system.&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
An open file looks fine if you're not reading/writing at that point. But my T43 does hangs on this:&lt;br /&gt;
 # dd if=/dev/scd0 of=/dev/null &amp;amp;&lt;br /&gt;
 # echo 1 &amp;gt; /sys/devices/platform/smapi/cdrom_speed&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:41, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OK, sorry. I was to fast. My system hangs on this commands, too. :(&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
&lt;br /&gt;
Works well. Great.&lt;br /&gt;
&lt;br /&gt;
T42 2373-8zh. Working :cdrom_speed and start_charge_thresh. Untest : inhibit_charge_minutes.&lt;br /&gt;
&lt;br /&gt;
-- Haifeng Chen&lt;br /&gt;
&lt;br /&gt;
cdrom_speed works on my T40.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Lammic|lammic]], 2005.12.09&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;thinkpad&amp;quot; module kernel compatibility ==&lt;br /&gt;
&lt;br /&gt;
Ajunge, how do you compile the &amp;quot;thinkpad&amp;quot; module compile on kernel &amp;gt;=2.6.9? The latest thinkpad version (5.8) still uses &amp;quot;get_cpu_ptr&amp;quot; and &amp;quot;set_cpu_ptr&amp;quot;, which were removed in 2.6.9.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 13:53, 10 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Kernel Patch? ==&lt;br /&gt;
&lt;br /&gt;
Hello Thinker,&lt;br /&gt;
&lt;br /&gt;
would it be possible to provide the SMAPI support as kernel patch as well? Something along the lines of: (0.12 against 2.6.15-rc5)&lt;br /&gt;
&lt;br /&gt;
''(deleted, see below for how to create a patch file)''&lt;br /&gt;
&lt;br /&gt;
Deleted the tp_smapi.c file at the end, out of obvious reasons, and I'm not sure about the placement in the ACPI section, OTOH there it would be found easily next to ibm_acpi.&lt;br /&gt;
&lt;br /&gt;
Providing a patch would help when recompiling the kernel often, I hate recompiling external modules every time (even got me a kernel-upgrade script to do most of it automatically). But of course it's up to you. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:52, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'll be glad to add this, but I don't want to go through additional manual steps in the release process (there are already quite a few). Can you add a &amp;quot;make patch&amp;quot; functionality to the Makefile, or something of the sort, to automatically generate a full patch (including tp_smapi.c) against current kernel sources?&lt;br /&gt;
&lt;br /&gt;
Also, this shouldn't be under drivers/acpi, since it doesn't use ACPI at all (that's why I didn't make it a patch to ibm_acpi). I think the right place is drivers/firmware, like the dell_rbu driver for Dell laptops.&lt;br /&gt;
&lt;br /&gt;
BTW, the convention for kernel patches is to start them once level higher:&lt;br /&gt;
  diff -Nurp kernel-2.6.14-vanilla kernel-2.6.14-patched&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:12, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Of course it's from the wrong level, as usual I was just lazy/inattentive. And at one point I'll remember who likes what patch format, promise. ;)&lt;br /&gt;
&lt;br /&gt;
A patch target as in &amp;quot;create a new file holding a correct diff to current kernel source&amp;quot; would be rather difficult, since line numbers might change etc., but applying the patch should be straighforward with a bit of sed. Of course I could just do that, create a patch with the diff command and then apply the new patch file in reverse. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 18:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If it does that on a local copy (no changes the original kernel tree) and cleans up after itself, that's fine with me. :-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:50, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, here's a shell script that creates the patch, feel free to use it under the terms of the GPL. For example call it from your Makefile with the patch target: (I didn't want to put all the script into the Makefile, since the rules about escaping in Makefiles, well, escape me ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
KDIR=/lib/modules/$(uname -r)/build&lt;br /&gt;
FDIR=drivers/firmware&lt;br /&gt;
OPWD=$(pwd)&lt;br /&gt;
&lt;br /&gt;
TMPDIR=$(mktemp -d)&lt;br /&gt;
cd $TMPDIR&lt;br /&gt;
&lt;br /&gt;
mkdir -p a/$FDIR&lt;br /&gt;
cp $KDIR/$FDIR/{Kconfig,Makefile} a/$FDIR&lt;br /&gt;
cp -r a b&lt;br /&gt;
sed -i -e '/endmenu/i\&lt;br /&gt;
config IBM_SMAPI\&lt;br /&gt;
        tristate &amp;quot;IBM ThinkPad SMAPI Support&amp;quot;\&lt;br /&gt;
        depends on X86\&lt;br /&gt;
        ---help---\&lt;br /&gt;
        This adds SMAPI support on IBM ThinkPads, mostly used for battery\&lt;br /&gt;
        charge control. For more information about this driver see\&lt;br /&gt;
        &amp;lt;http://www.thinkwiki.org/wiki/SMAPI_support_for_Linux&amp;gt; .\&lt;br /&gt;
\&lt;br /&gt;
        If you have an IBM ThinkPad laptop, say Y or M here.\&lt;br /&gt;
' b/$FDIR/Kconfig&lt;br /&gt;
sed -i -e '$a\&lt;br /&gt;
obj-$(CONFIG_IBM_SMAPI)            += tp_smapi.o' b/$FDIR/Makefile&lt;br /&gt;
cp $OPWD/tp_smapi.c b/$FDIR&lt;br /&gt;
diff -Nurp a b &amp;gt; $OPWD/tp_smapi-$(uname -r).patch&lt;br /&gt;
rm -r a b&lt;br /&gt;
cd $OPWD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, [http://qbnz.com/highlighter/ GeSHi]-based syntax-highlighting would be great...&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:28, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=13410</id>
		<title>Talk:SMAPI support for Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=13410"/>
		<updated>2005-12-16T18:30:52Z</updated>

		<summary type="html">&lt;p&gt;Spiney: reordered&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Feedback ==&lt;br /&gt;
&lt;br /&gt;
Great, great work! Really! This completely rocks. I just stopped my battery from charging at 77% and restarted charging a bit later, no problems whatsoever. BTW, this is on kernel 2.6.14.3.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:25, 5 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
None of the fuctions is working on my T40, kernel 2.6.14-mm2.&lt;br /&gt;
&lt;br /&gt;
--[[User:Lammic|lammic]], 2005.12.05&lt;br /&gt;
&lt;br /&gt;
Works for me on a T41 running 2.6.12-10-686 (Ubuntu 5.10).&lt;br /&gt;
&lt;br /&gt;
--[[User:berndtnm|berndtnm]], 2005.12.06&lt;br /&gt;
&lt;br /&gt;
Including stop_charge_thresh? That one seems to be missing on the T42p.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:46, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi works just fine on an R52 with Ubuntu Breezy stock kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 12:52, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''To set the thresholds for starting and stopping battery charging (in percent of current capacity):''&lt;br /&gt;
&lt;br /&gt;
'''current''' really? That'd be weird, I'd expect it to be percent of '''total''' capacity.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 14:39, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Current full charge capacity&amp;quot;, as opposed to &amp;quot;current remaining capacity&amp;quot; or &amp;quot;designed full charge capacity&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:05, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Battery features don't work with my T41p. I can't check this with windows. Can anybody try these features?&lt;br /&gt;
&lt;br /&gt;
-- Nils, 7 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nils, does cdrom_speed work for you on the T41p? Could you provide the details requested in the README (dmesg etc.)?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:57, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CDRom Speed seems to work. (I see no warnings, but I have to do a speed test.) Now, I've send all outputs to the email-address in the readme.&lt;br /&gt;
&lt;br /&gt;
-- Nils, 8 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
All the features except the stop_charge_thresh seem to work here on a t42p. &lt;br /&gt;
One note, the start_charge_thresh seems to really be stop_charge_thresh. Ie, If I set that to lower than my current battery %, it will never charge, &lt;br /&gt;
and if I set it to 100 the battery charges all the way. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 16 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nirik, &amp;quot;all the features&amp;quot; as of which version? For example, do the force_discharge{1,2} in tp_smapi 0.12 also work for you? See the table in the article page. About start_charge, that's odd. Can you send me a log of what you did, what was the result a what was the dmesg output for each operation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 14:16, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
System T40p:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge1&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge2&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# dmesg   &lt;br /&gt;
tp_smapi: req_in: BX=2118 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=8680 BX=2118 CX=100 DX=b2 DI=0 SI=0 ret=-38&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2118)&lt;br /&gt;
tp_smapi: cannot get force_discharge1 of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: req_in: BX=2104 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=80 BX=2103 CX=100 DX=78 DI=0 SI=0 ret=0&lt;br /&gt;
tp_smapi: cannot get force_discharge2 of battery 0: bx=2103&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So it seems force_discharge1 is not supported at all. But force_discharge2? By the way, i think wiki is a _very_ good idea for collecting information, but not for discussion. I would prefer a maillinglist. We can use sourceforge.&lt;br /&gt;
&lt;br /&gt;
--[[User|StefanSchmidt]]&lt;br /&gt;
&lt;br /&gt;
==Changing the CD speed when the CD is being accessed will hang your computer==&lt;br /&gt;
&lt;br /&gt;
I don't have this problem on my T40p. CDROM is mounted and file on CD is opened. Change speed do '''not''' hang my system.&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
An open file looks fine if you're not reading/writing at that point. But my T43 does hangs on this:&lt;br /&gt;
 # dd if=/dev/scd0 of=/dev/null &amp;amp;&lt;br /&gt;
 # echo 1 &amp;gt; /sys/devices/platform/smapi/cdrom_speed&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:41, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OK, sorry. I was to fast. My system hangs on this commands, too. :(&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
&lt;br /&gt;
Works well. Great.&lt;br /&gt;
&lt;br /&gt;
T42 2373-8zh. Working :cdrom_speed and start_charge_thresh. Untest : inhibit_charge_minutes.&lt;br /&gt;
&lt;br /&gt;
-- Haifeng Chen&lt;br /&gt;
&lt;br /&gt;
cdrom_speed works on my T40.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Lammic|lammic]], 2005.12.09&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;thinkpad&amp;quot; module kernel compatibility ==&lt;br /&gt;
&lt;br /&gt;
Ajunge, how do you compile the &amp;quot;thinkpad&amp;quot; module compile on kernel &amp;gt;=2.6.9? The latest thinkpad version (5.8) still uses &amp;quot;get_cpu_ptr&amp;quot; and &amp;quot;set_cpu_ptr&amp;quot;, which were removed in 2.6.9.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 13:53, 10 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Kernel Patch? ==&lt;br /&gt;
&lt;br /&gt;
Hello Thinker,&lt;br /&gt;
&lt;br /&gt;
would it be possible to provide the SMAPI support as kernel patch as well? Something along the lines of: (0.12 against 2.6.15-rc5)&lt;br /&gt;
&lt;br /&gt;
''(deleted, see below for how to create a patch file)''&lt;br /&gt;
&lt;br /&gt;
Deleted the tp_smapi.c file at the end, out of obvious reasons, and I'm not sure about the placement in the ACPI section, OTOH there it would be found easily next to ibm_acpi.&lt;br /&gt;
&lt;br /&gt;
Providing a patch would help when recompiling the kernel often, I hate recompiling external modules every time (even got me a kernel-upgrade script to do most of it automatically). But of course it's up to you. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:52, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'll be glad to add this, but I don't want to go through additional manual steps in the release process (there are already quite a few). Can you add a &amp;quot;make patch&amp;quot; functionality to the Makefile, or something of the sort, to automatically generate a full patch (including tp_smapi.c) against current kernel sources?&lt;br /&gt;
&lt;br /&gt;
Also, this shouldn't be under drivers/acpi, since it doesn't use ACPI at all (that's why I didn't make it a patch to ibm_acpi). I think the right place is drivers/firmware, like the dell_rbu driver for Dell laptops.&lt;br /&gt;
&lt;br /&gt;
BTW, the convention for kernel patches is to start them once level higher:&lt;br /&gt;
  diff -Nurp kernel-2.6.14-vanilla kernel-2.6.14-patched&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:12, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Of course it's from the wrong level, as usual I was just lazy/inattentive. And at one point I'll remember who likes what patch format, promise. ;)&lt;br /&gt;
&lt;br /&gt;
A patch target as in &amp;quot;create a new file holding a correct diff to current kernel source&amp;quot; would be rather difficult, since line numbers might change etc., but applying the patch should be straighforward with a bit of sed. Of course I could just do that, create a patch with the diff command and then apply the new patch file in reverse. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 18:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If it does that on a local copy (no changes the original kernel tree) and cleans up after itself, that's fine with me. :-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:50, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, here's a shell script that creates the patch, feel free to use it under the terms of the GPL. For example call it from your Makefile with the patch target: (I didn't want to put all the script into the Makefile, since the rules about escaping in Makefiles, well, escape me ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
KDIR=/lib/modules/$(uname -r)/build&lt;br /&gt;
FDIR=drivers/firmware&lt;br /&gt;
OPWD=`pwd`&lt;br /&gt;
&lt;br /&gt;
TMPDIR=`mktemp -d`&lt;br /&gt;
cd $TMPDIR&lt;br /&gt;
&lt;br /&gt;
mkdir -p a/$FDIR&lt;br /&gt;
cp $KDIR/$FDIR/{Kconfig,Makefile} a/$FDIR&lt;br /&gt;
cp -r a b&lt;br /&gt;
sed -i -e '/endmenu/i\&lt;br /&gt;
config IBM_SMAPI\&lt;br /&gt;
        tristate &amp;quot;IBM ThinkPad SMAPI Support&amp;quot;\&lt;br /&gt;
        depends on X86\&lt;br /&gt;
        ---help---\&lt;br /&gt;
        This adds SMAPI support on IBM ThinkPads, mostly used for battery\&lt;br /&gt;
        charge control. For more information about this driver see\&lt;br /&gt;
        &amp;lt;http://www.thinkwiki.org/wiki/SMAPI_support_for_Linux&amp;gt; .\&lt;br /&gt;
\&lt;br /&gt;
        If you have an IBM ThinkPad laptop, say Y or M here.\&lt;br /&gt;
' b/$FDIR/Kconfig&lt;br /&gt;
sed -i -e '$a\&lt;br /&gt;
obj-$(CONFIG_IBM_SMAPI)            += tp_smapi.o' b/$FDIR/Makefile&lt;br /&gt;
cp $OPWD/tp_smapi.c b/$FDIR&lt;br /&gt;
diff -Nurp a b &amp;gt; $OPWD/tp_smapi-`uname -r`.patch&lt;br /&gt;
rm -r a b&lt;br /&gt;
cd $OPWD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, [http://qbnz.com/highlighter/ GeSHi]-based syntax-highlighting would be great...&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:28, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=13409</id>
		<title>Talk:SMAPI support for Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=13409"/>
		<updated>2005-12-16T18:28:59Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Kernel Patch? */ makepatch script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Great, great work! Really! This completely rocks. I just stopped my battery from charging at 77% and restarted charging a bit later, no problems whatsoever. BTW, this is on kernel 2.6.14.3.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:25, 5 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
None of the fuctions is working on my T40, kernel 2.6.14-mm2.&lt;br /&gt;
&lt;br /&gt;
--[[User:Lammic|lammic]], 2005.12.05&lt;br /&gt;
&lt;br /&gt;
Works for me on a T41 running 2.6.12-10-686 (Ubuntu 5.10).&lt;br /&gt;
&lt;br /&gt;
--[[User:berndtnm|berndtnm]], 2005.12.06&lt;br /&gt;
&lt;br /&gt;
Including stop_charge_thresh? That one seems to be missing on the T42p.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:46, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi works just fine on an R52 with Ubuntu Breezy stock kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 12:52, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''To set the thresholds for starting and stopping battery charging (in percent of current capacity):''&lt;br /&gt;
&lt;br /&gt;
'''current''' really? That'd be weird, I'd expect it to be percent of '''total''' capacity.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 14:39, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Current full charge capacity&amp;quot;, as opposed to &amp;quot;current remaining capacity&amp;quot; or &amp;quot;designed full charge capacity&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:05, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Battery features don't work with my T41p. I can't check this with windows. Can anybody try these features?&lt;br /&gt;
&lt;br /&gt;
-- Nils, 7 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nils, does cdrom_speed work for you on the T41p? Could you provide the details requested in the README (dmesg etc.)?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:57, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CDRom Speed seems to work. (I see no warnings, but I have to do a speed test.) Now, I've send all outputs to the email-address in the readme.&lt;br /&gt;
&lt;br /&gt;
-- Nils, 8 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
All the features except the stop_charge_thresh seem to work here on a t42p. &lt;br /&gt;
One note, the start_charge_thresh seems to really be stop_charge_thresh. Ie, If I set that to lower than my current battery %, it will never charge, &lt;br /&gt;
and if I set it to 100 the battery charges all the way. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 16 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nirik, &amp;quot;all the features&amp;quot; as of which version? For example, do the force_discharge{1,2} in tp_smapi 0.12 also work for you? See the table in the article page. About start_charge, that's odd. Can you send me a log of what you did, what was the result a what was the dmesg output for each operation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 14:16, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Changing the CD speed when the CD is being accessed will hang your computer==&lt;br /&gt;
&lt;br /&gt;
I don't have this problem on my T40p. CDROM is mounted and file on CD is opened. Change speed do '''not''' hang my system.&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
An open file looks fine if you're not reading/writing at that point. But my T43 does hangs on this:&lt;br /&gt;
 # dd if=/dev/scd0 of=/dev/null &amp;amp;&lt;br /&gt;
 # echo 1 &amp;gt; /sys/devices/platform/smapi/cdrom_speed&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:41, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OK, sorry. I was to fast. My system hangs on this commands, too. :(&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
&lt;br /&gt;
Works well. Great.&lt;br /&gt;
&lt;br /&gt;
T42 2373-8zh. Working :cdrom_speed and start_charge_thresh. Untest : inhibit_charge_minutes.&lt;br /&gt;
&lt;br /&gt;
-- Haifeng Chen&lt;br /&gt;
&lt;br /&gt;
cdrom_speed works on my T40.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Lammic|lammic]], 2005.12.09&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;thinkpad&amp;quot; module kernel compatibility ==&lt;br /&gt;
&lt;br /&gt;
Ajunge, how do you compile the &amp;quot;thinkpad&amp;quot; module compile on kernel &amp;gt;=2.6.9? The latest thinkpad version (5.8) still uses &amp;quot;get_cpu_ptr&amp;quot; and &amp;quot;set_cpu_ptr&amp;quot;, which were removed in 2.6.9.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 13:53, 10 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Kernel Patch? ==&lt;br /&gt;
&lt;br /&gt;
Hello Thinker,&lt;br /&gt;
&lt;br /&gt;
would it be possible to provide the SMAPI support as kernel patch as well? Something along the lines of: (0.12 against 2.6.15-rc5)&lt;br /&gt;
&lt;br /&gt;
''(deleted, see below for how to create a patch file)''&lt;br /&gt;
&lt;br /&gt;
Deleted the tp_smapi.c file at the end, out of obvious reasons, and I'm not sure about the placement in the ACPI section, OTOH there it would be found easily next to ibm_acpi.&lt;br /&gt;
&lt;br /&gt;
Providing a patch would help when recompiling the kernel often, I hate recompiling external modules every time (even got me a kernel-upgrade script to do most of it automatically). But of course it's up to you. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:52, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'll be glad to add this, but I don't want to go through additional manual steps in the release process (there are already quite a few). Can you add a &amp;quot;make patch&amp;quot; functionality to the Makefile, or something of the sort, to automatically generate a full patch (including tp_smapi.c) against current kernel sources?&lt;br /&gt;
&lt;br /&gt;
Also, this shouldn't be under drivers/acpi, since it doesn't use ACPI at all (that's why I didn't make it a patch to ibm_acpi). I think the right place is drivers/firmware, like the dell_rbu driver for Dell laptops.&lt;br /&gt;
&lt;br /&gt;
BTW, the convention for kernel patches is to start them once level higher:&lt;br /&gt;
  diff -Nurp kernel-2.6.14-vanilla kernel-2.6.14-patched&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:12, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Of course it's from the wrong level, as usual I was just lazy/inattentive. And at one point I'll remember who likes what patch format, promise. ;)&lt;br /&gt;
&lt;br /&gt;
A patch target as in &amp;quot;create a new file holding a correct diff to current kernel source&amp;quot; would be rather difficult, since line numbers might change etc., but applying the patch should be straighforward with a bit of sed. Of course I could just do that, create a patch with the diff command and then apply the new patch file in reverse. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 18:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If it does that on a local copy (no changes the original kernel tree) and cleans up after itself, that's fine with me. :-)&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:50, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Ok, here's a shell script that creates the patch, feel free to use it under the terms of the GPL. For example call it from your Makefile with the patch target: (I didn't want to put all the script into the Makefile, since the rules about escaping in Makefiles, well, escape me ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
KDIR=/lib/modules/$(uname -r)/build&lt;br /&gt;
FDIR=drivers/firmware&lt;br /&gt;
OPWD=`pwd`&lt;br /&gt;
&lt;br /&gt;
TMPDIR=`mktemp -d`&lt;br /&gt;
cd $TMPDIR&lt;br /&gt;
&lt;br /&gt;
mkdir -p a/$FDIR&lt;br /&gt;
cp $KDIR/$FDIR/{Kconfig,Makefile} a/$FDIR&lt;br /&gt;
cp -r a b&lt;br /&gt;
sed -i -e '/endmenu/i\&lt;br /&gt;
config IBM_SMAPI\&lt;br /&gt;
        tristate &amp;quot;IBM ThinkPad SMAPI Support&amp;quot;\&lt;br /&gt;
        depends on X86\&lt;br /&gt;
        ---help---\&lt;br /&gt;
        This adds SMAPI support on IBM ThinkPads, mostly used for battery\&lt;br /&gt;
        charge control. For more information about this driver see\&lt;br /&gt;
        &amp;lt;http://www.thinkwiki.org/wiki/SMAPI_support_for_Linux&amp;gt; .\&lt;br /&gt;
\&lt;br /&gt;
        If you have an IBM ThinkPad laptop, say Y or M here.\&lt;br /&gt;
' b/$FDIR/Kconfig&lt;br /&gt;
sed -i -e '$a\&lt;br /&gt;
obj-$(CONFIG_IBM_SMAPI)            += tp_smapi.o' b/$FDIR/Makefile&lt;br /&gt;
cp $OPWD/tp_smapi.c b/$FDIR&lt;br /&gt;
diff -Nurp a b &amp;gt; $OPWD/tp_smapi-`uname -r`.patch&lt;br /&gt;
rm -r a b&lt;br /&gt;
cd $OPWD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, [http://qbnz.com/highlighter/ GeSHi]-based syntax-highlighting would be great...&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 19:28, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
System T40p:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge1&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge2&lt;br /&gt;
fairlight:/sys/devices/platform/smapi/BAT0# dmesg   &lt;br /&gt;
tp_smapi: req_in: BX=2118 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=8680 BX=2118 CX=100 DX=b2 DI=0 SI=0 ret=-38&lt;br /&gt;
tp_smapi: SMAPI error: Function is not supported by SMAPI BIOS (func=2118)&lt;br /&gt;
tp_smapi: cannot get force_discharge1 of battery 0: Function is not supported by SMAPI BIOS&lt;br /&gt;
tp_smapi: req_in: BX=2104 CX=100 DI=0 SI=0&lt;br /&gt;
tp_smapi: req_out: AX=80 BX=2103 CX=100 DX=78 DI=0 SI=0 ret=0&lt;br /&gt;
tp_smapi: cannot get force_discharge2 of battery 0: bx=2103&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So it seems force_discharge1 is not supported at all. But force_discharge2? By the way, i think wiki is a _very_ good idea for collecting information, but not for discussion. I would prefer a maillinglist. We can use sourceforge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User|StefanSchmidt]]&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=13406</id>
		<title>Talk:SMAPI support for Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:SMAPI_support_for_Linux&amp;diff=13406"/>
		<updated>2005-12-16T17:36:40Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Kernel Patch? */ autologin silliness reverted&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Great, great work! Really! This completely rocks. I just stopped my battery from charging at 77% and restarted charging a bit later, no problems whatsoever. BTW, this is on kernel 2.6.14.3.&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 21:25, 5 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
None of the fuctions is working on my T40, kernel 2.6.14-mm2.&lt;br /&gt;
&lt;br /&gt;
--[[User:Lammic|lammic]], 2005.12.05&lt;br /&gt;
&lt;br /&gt;
Works for me on a T41 running 2.6.12-10-686 (Ubuntu 5.10).&lt;br /&gt;
&lt;br /&gt;
--[[User:berndtnm|berndtnm]], 2005.12.06&lt;br /&gt;
&lt;br /&gt;
Including stop_charge_thresh? That one seems to be missing on the T42p.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 00:46, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
tp_smapi works just fine on an R52 with Ubuntu Breezy stock kernel.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 12:52, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''To set the thresholds for starting and stopping battery charging (in percent of current capacity):''&lt;br /&gt;
&lt;br /&gt;
'''current''' really? That'd be weird, I'd expect it to be percent of '''total''' capacity.&lt;br /&gt;
&lt;br /&gt;
--[[User:Micampe|Micampe]] 14:39, 7 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Current full charge capacity&amp;quot;, as opposed to &amp;quot;current remaining capacity&amp;quot; or &amp;quot;designed full charge capacity&amp;quot;...&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 15:05, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Battery features don't work with my T41p. I can't check this with windows. Can anybody try these features?&lt;br /&gt;
&lt;br /&gt;
-- Nils, 7 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nils, does cdrom_speed work for you on the T41p? Could you provide the details requested in the README (dmesg etc.)?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 21:57, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CDRom Speed seems to work. (I see no warnings, but I have to do a speed test.) Now, I've send all outputs to the email-address in the readme.&lt;br /&gt;
&lt;br /&gt;
-- Nils, 8 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
All the features except the stop_charge_thresh seem to work here on a t42p. &lt;br /&gt;
One note, the start_charge_thresh seems to really be stop_charge_thresh. Ie, If I set that to lower than my current battery %, it will never charge, &lt;br /&gt;
and if I set it to 100 the battery charges all the way. &lt;br /&gt;
&lt;br /&gt;
--[[User:Nirik|Nirik]] 16 Dec 2005&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Nirik, &amp;quot;all the features&amp;quot; as of which version? For example, do the force_discharge{1,2} in tp_smapi 0.12 also work for you? See the table in the article page. About start_charge, that's odd. Can you send me a log of what you did, what was the result a what was the dmesg output for each operation?&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 14:16, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Changing the CD speed when the CD is being accessed will hang your computer==&lt;br /&gt;
&lt;br /&gt;
I don't have this problem on my T40p. CDROM is mounted and file on CD is opened. Change speed do '''not''' hang my system.&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
An open file looks fine if you're not reading/writing at that point. But my T43 does hangs on this:&lt;br /&gt;
 # dd if=/dev/scd0 of=/dev/null &amp;amp;&lt;br /&gt;
 # echo 1 &amp;gt; /sys/devices/platform/smapi/cdrom_speed&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:41, 7 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OK, sorry. I was to fast. My system hangs on this commands, too. :(&lt;br /&gt;
&lt;br /&gt;
-- Stefan Schmidt&lt;br /&gt;
&lt;br /&gt;
Works well. Great.&lt;br /&gt;
&lt;br /&gt;
T42 2373-8zh. Working :cdrom_speed and start_charge_thresh. Untest : inhibit_charge_minutes.&lt;br /&gt;
&lt;br /&gt;
-- Haifeng Chen&lt;br /&gt;
&lt;br /&gt;
cdrom_speed works on my T40.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Lammic|lammic]], 2005.12.09&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;thinkpad&amp;quot; module kernel compatibility ==&lt;br /&gt;
&lt;br /&gt;
Ajunge, how do you compile the &amp;quot;thinkpad&amp;quot; module compile on kernel &amp;gt;=2.6.9? The latest thinkpad version (5.8) still uses &amp;quot;get_cpu_ptr&amp;quot; and &amp;quot;set_cpu_ptr&amp;quot;, which were removed in 2.6.9.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 13:53, 10 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Kernel Patch? ==&lt;br /&gt;
&lt;br /&gt;
Hello Thinker,&lt;br /&gt;
&lt;br /&gt;
would it be possible to provide the SMAPI support as kernel patch as well? Something along the lines of: (0.12 against 2.6.15-rc5)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Nrp drivers/acpi.orig/Kconfig drivers/acpi/Kconfig&lt;br /&gt;
*** drivers/acpi.orig/Kconfig   Thu Dec 15 19:58:21 2005&lt;br /&gt;
--- drivers/acpi/Kconfig        Fri Dec 16 10:30:51 2005&lt;br /&gt;
*************** config ACPI_IBM&lt;br /&gt;
*** 206,211 ****&lt;br /&gt;
--- 206,221 ----&lt;br /&gt;
&lt;br /&gt;
          If you have an IBM ThinkPad laptop, say Y or M here.&lt;br /&gt;
&lt;br /&gt;
+ config ACPI_IBM_SMAPI&lt;br /&gt;
+       tristate &amp;quot;IBM ThinkPad SMAPI Support&amp;quot;&lt;br /&gt;
+       depends on X86&lt;br /&gt;
+       ---help---&lt;br /&gt;
+         This adds SMAPI support on IBM ThinkPads, mostly used for battery &lt;br /&gt;
+         charge control. For more information about this driver see&lt;br /&gt;
+         &amp;lt;http://www.thinkwiki.org/wiki/SMAPI_support_for_Linux&amp;gt; .&lt;br /&gt;
+ &lt;br /&gt;
+         If you have an IBM ThinkPad laptop, say Y or M here.&lt;br /&gt;
+ &lt;br /&gt;
  config ACPI_TOSHIBA&lt;br /&gt;
        tristate &amp;quot;Toshiba Laptop Extras&amp;quot;&lt;br /&gt;
        depends on X86&lt;br /&gt;
diff -Nrp drivers/acpi.orig/Makefile drivers/acpi/Makefile&lt;br /&gt;
*** drivers/acpi.orig/Makefile  Thu Dec 15 19:58:21 2005&lt;br /&gt;
--- drivers/acpi/Makefile       Fri Dec 16 10:27:36 2005&lt;br /&gt;
*************** obj-$(CONFIG_ACPI_DEBUG)        += debug.o&lt;br /&gt;
*** 54,59 ****&lt;br /&gt;
--- 54,60 ----&lt;br /&gt;
  obj-$(CONFIG_ACPI_NUMA)               += numa.o&lt;br /&gt;
  obj-$(CONFIG_ACPI_ASUS)               += asus_acpi.o&lt;br /&gt;
  obj-$(CONFIG_ACPI_IBM)                += ibm_acpi.o&lt;br /&gt;
+ obj-$(CONFIG_ACPI_IBM_SMAPI)  += tp_smapi.o&lt;br /&gt;
  obj-$(CONFIG_ACPI_TOSHIBA)    += toshiba_acpi.o&lt;br /&gt;
  obj-y                         += scan.o motherboard.o&lt;br /&gt;
  obj-$(CONFIG_ACPI_HOTPLUG_MEMORY)     += acpi_memhotplug.o&lt;br /&gt;
diff -Nrp drivers/acpi.orig/tp_smapi.c drivers/acpi/tp_smapi.c&lt;br /&gt;
*** drivers/acpi.orig/tp_smapi.c        Thu Jan  1 01:00:00 1970&lt;br /&gt;
--- drivers/acpi/tp_smapi.c     Fri Dec 16 10:27:10 2005&lt;br /&gt;
***************&lt;br /&gt;
*** 0 ****&lt;br /&gt;
--- 1,1318 ----&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deleted the tp_smapi.c file at the end, out of obvious reasons, and I'm not sure about the placement in the ACPI section, OTOH there it would be found easily next to ibm_acpi.&lt;br /&gt;
&lt;br /&gt;
Providing a patch would help when recompiling the kernel often, I hate recompiling external modules every time (even got me a kernel-upgrade script to do most of it automatically). But of course it's up to you. :)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 09:52, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I'll be glad to add this, but I don't want to go through additional manual steps in the release process (there are already quite a few). Can you add a &amp;quot;make patch&amp;quot; functionality to the Makefile, or something of the sort, to automatically generate a full patch (including tp_smapi.c) against current kernel sources?&lt;br /&gt;
&lt;br /&gt;
Also, this shouldn't be under drivers/acpi, since it doesn't use ACPI at all (that's why I didn't make it a patch to ibm_acpi). I think the right place is drivers/firmware, like the dell_rbu driver for Dell laptops.&lt;br /&gt;
&lt;br /&gt;
BTW, the convention for kernel patches is to start them once level higher:&lt;br /&gt;
  diff -Nurp kernel-2.6.14-vanilla kernel-2.6.14-patched&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 17:12, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Of course it's from the wrong level, as usual I was just lazy/inattentive. And at one point I'll remember who likes what patch format, promise. ;)&lt;br /&gt;
&lt;br /&gt;
A patch target as in &amp;quot;create a new file holding a correct diff to current kernel source&amp;quot; would be rather difficult, since line numbers might change etc., but applying the patch should be straighforward with a bit of sed. Of course I could just do that, create a patch with the diff command and then apply the new patch file in reverse. ;)&lt;br /&gt;
&lt;br /&gt;
--[[User:Spiney|spiney]] 18:36, 16 Dec 2005 (CET)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=SMAPI_support_for_Linux&amp;diff=13420</id>
		<title>SMAPI support for Linux</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=SMAPI_support_for_Linux&amp;diff=13420"/>
		<updated>2005-12-16T13:58:32Z</updated>

		<summary type="html">&lt;p&gt;Spiney: /* Model-specific status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ThinkPad laptops include a proprietary interface called SMAPI BIOS (System Management Application Program Interface) which provides some&lt;br /&gt;
hardware control functionality that is not exposed by any other interface (e.g., ACPI).&lt;br /&gt;
&lt;br /&gt;
The SMAPI interfaces changes a lot between models, and is poorly documented, so Linux support is not exhaustive for most models. There are currently two SMAPI access mechanisms available: &amp;lt;tt&amp;gt;thinkpad&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;tpctl&amp;lt;/tt&amp;gt; for older ThinkPads, and &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; for newer ones.&lt;br /&gt;
&lt;br /&gt;
{{WARN|These drivers use undocumented features and direct hardware access. They thus cannot be guaranteed to work, and may cause arbitrary damage&lt;br /&gt;
(especially on models they weren't tested on).}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; module==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; kernel module exposes some features of the SMAPI BIOS found on recent ThinkPads via a sysfs interface. Currently, the  implemented functionality is control of battery charging (this is useful for [[Maintenance#Battery_Treatment|increasing battery lifetime]] or for using a leftover under-spec power supply that can't handle the combined power draw of running and charging), and control of CD/DVD speed.&lt;br /&gt;
&lt;br /&gt;
* Project page: http://tpctl.sourceforge.net/&lt;br /&gt;
* You need to donwnload only the [http://sourceforge.net/project/showfiles.php?group_id=1212&amp;amp;package_id=171579 tp_smapi kernel module].&lt;br /&gt;
&lt;br /&gt;
====Installation====&lt;br /&gt;
&lt;br /&gt;
To compile and load the module:&lt;br /&gt;
&lt;br /&gt;
 # tar xzvf tp_smapi-0.12.tgz&lt;br /&gt;
 # cd tp_smapi-0.12&lt;br /&gt;
 # make load&lt;br /&gt;
&lt;br /&gt;
To install permanently (optional):&lt;br /&gt;
&lt;br /&gt;
 # make install&lt;br /&gt;
 # modprobe tp_smapi&lt;br /&gt;
&lt;br /&gt;
====Battery charge control features====&lt;br /&gt;
&lt;br /&gt;
To set the thresholds for starting and stopping battery charging (in percent of current full charge capacity):&lt;br /&gt;
&lt;br /&gt;
 # echo 40 &amp;gt; /sys/devices/platform/smapi/BAT0/start_charge_thresh&lt;br /&gt;
 # echo 70 &amp;gt; /sys/devices/platform/smapi/BAT0/stop_charge_thresh&lt;br /&gt;
 # cat /sys/devices/platform/smapi/BAT0/*_charge_thresh&lt;br /&gt;
 40 &lt;br /&gt;
 70&lt;br /&gt;
&lt;br /&gt;
To unconditionally inhibit charging for 17 minutes:&lt;br /&gt;
&lt;br /&gt;
 # echo 17 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes&lt;br /&gt;
&lt;br /&gt;
To cancel charge inhibiting:&lt;br /&gt;
&lt;br /&gt;
 # echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes&lt;br /&gt;
&lt;br /&gt;
To force battery discharging even if connected to AC, use one of these:&lt;br /&gt;
&lt;br /&gt;
 # echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge1&lt;br /&gt;
 # echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge2&lt;br /&gt;
&lt;br /&gt;
(Probably only one of these will work on your laptop; please check the dmesg output to see which one, and update the status below.)&lt;br /&gt;
&lt;br /&gt;
To cancel forced disharge, use one of these:&lt;br /&gt;
&lt;br /&gt;
 # echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge1&lt;br /&gt;
 # echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Battery status features====&lt;br /&gt;
&lt;br /&gt;
To view exteded battery status (see below about conflict with &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/installed&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state       # idle/charging/discharging&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/cycle_count &lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacturer&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/model&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/serial&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/barcoding&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/chemistry&lt;br /&gt;
# cat /sys/devices/platform/smapi/ac_connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The raw status data, including some fields not in the above (in case&lt;br /&gt;
you can figure them out):&lt;br /&gt;
&lt;br /&gt;
 # cat /sys/devices/platform/smapi/BAT0/dump  &lt;br /&gt;
&lt;br /&gt;
In all of the above, replace &amp;lt;tt&amp;gt;BAT0&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; to address the 2nd battery.&lt;br /&gt;
&lt;br /&gt;
====Optical drive control features====&lt;br /&gt;
&lt;br /&gt;
To control the speed of the optical drive:&lt;br /&gt;
 # echo 0 yes_crash_my_computer &amp;gt; /sys/devices/platform/smapi/cd_speed # slow&lt;br /&gt;
 # echo 1 yes_crash_my_computer &amp;gt; /sys/devices/platform/smapi/cd_speed # medium&lt;br /&gt;
 # echo 2 yes_crash_my_computer &amp;gt; /sys/devices/platform/smapi/cd_speed # fast&lt;br /&gt;
 # cat /sys/devices/platform/smapi/cd_speed&lt;br /&gt;
 2&lt;br /&gt;
{{WARN|Changing the CD speed simultaneously with a read or write to the CD will '''hang your computer'''. This feature is thus disabled by default, but can be enabled using &amp;lt;tt&amp;gt;#define PROVIDE_CD_SPEED&amp;lt;/tt&amp;gt;. The safe way to set the drive speed is using &amp;lt;tt&amp;gt;hdparm -E num&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;eject -x num&amp;lt;/tt&amp;gt; for CD-ROM, and [http://safari.iki.fi/speedcontrol.c speedcontrol -x num] for DVD.}}&lt;br /&gt;
&lt;br /&gt;
====Other features====&lt;br /&gt;
&lt;br /&gt;
Other things that can be controlled through SMAPI, but are not supported in this version of the driver, include forcing battery discharge, PCI bus power saving, CPU power saving control and fan control. See the included README file for more information.&lt;br /&gt;
&lt;br /&gt;
====Conflict with &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
The extended battery status function conflicts with the [[HDAPS|hdaps]] kernel module (they use the same IO ports). If you load &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; first, &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; will disable its battery status functions (and log a message in the kernel log). If you load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; first, &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; will refuse to load. Use &amp;lt;tt&amp;gt;rmmod&amp;lt;/tt&amp;gt; to switch between the two.&lt;br /&gt;
&lt;br /&gt;
Some of the battery status is also visible through ACPI ({{path|/proc/acpi/battery/*}}).&lt;br /&gt;
&lt;br /&gt;
The charging control files (&amp;lt;tt&amp;gt;*_charge_thresh&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;inhibit_charge_minutes&amp;lt;/tt&amp;gt;) don't have this problem.&lt;br /&gt;
&lt;br /&gt;
====Model-specific status====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; feature support matrix&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;times; &lt;br /&gt;
! &amp;lt;tt&amp;gt;start_charge_&amp;lt;br /&amp;gt;thresh&amp;lt;/tt&amp;gt; &lt;br /&gt;
!           &amp;lt;tt&amp;gt;stop_charge_&amp;lt;br /&amp;gt;thresh&amp;lt;/tt&amp;gt;&lt;br /&gt;
!                      &amp;lt;tt&amp;gt;inhbit_charge_&amp;lt;br /&amp;gt;minutes&amp;lt;/tt&amp;gt;&lt;br /&gt;
!                                  &amp;lt;tt&amp;gt;cd_speed&amp;lt;/tt&amp;gt;&lt;br /&gt;
!                                                &amp;lt;tt&amp;gt;force_&amp;lt;br /&amp;gt;discharge1&amp;lt;/tt&amp;gt;&lt;br /&gt;
!                                                           &amp;lt;tt&amp;gt;force_&amp;lt;br /&amp;gt;discharge2&amp;lt;/tt&amp;gt;&lt;br /&gt;
!                                                                     battery status files&amp;lt;br \&amp;gt;&amp;lt;font size=&amp;quot;-2&amp;quot;&amp;gt;(see notice about &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; above)&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}}&lt;br /&gt;
| {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno}}  || {{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T43p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno}} || {{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Please update the above and report your experience on the [[Talk:SMAPI support for Linux|discussion]] page. If the module loads but gives a &amp;quot;&amp;lt;tt&amp;gt;not supported&amp;lt;/tt&amp;gt;&amp;quot; or &amp;quot;&amp;lt;tt&amp;gt;not implementeded&amp;lt;/tt&amp;gt;&amp;quot; when you try to use some specific file in {{path|/sys/devices/platform/smapi/}}, please report the &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output and whether the corresponding functionality is available under Windows - maybe your ThinkPad just can't do that.&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;lt;tt&amp;gt;thinkpad&amp;lt;/tt&amp;gt; module==&lt;br /&gt;
&lt;br /&gt;
This solution consists of a module, called &amp;lt;tt&amp;gt;thinkpad&amp;lt;/tt&amp;gt;, and a user-space tool caled &amp;lt;tt&amp;gt;tpctl&amp;lt;/tt&amp;gt;. It provides very rich functionality for older ThinkPads, but on newer ThinkPads much of this functionality is exposed and supported through an ACPI interface and the SMAPI access does not work anymore. Kernel 2.6.9 and newer is unsupported; for kernel 2.6.3 and newer you need &amp;lt;tt&amp;gt;tpctl&amp;lt;/tt&amp;gt; &amp;gt;=4.14 and &amp;lt;tt&amp;gt;thinkpad &amp;lt;/tt&amp;gt; &amp;gt;=5.5. For details, see the [http://tpctl.sourceforge.net/README README] and [http://tpctl.sourceforge.net/SUPPORTED-MODELS list of supported models].&lt;br /&gt;
&lt;br /&gt;
* Project page: http://tpctl.sourceforge.net/&lt;br /&gt;
* You need to download the [http://sourceforge.net/project/showfiles.php?group_id=1212&amp;amp;package_id=29354t thinkpad module] and [http://sourceforge.net/project/showfiles.php?group_id=1212&amp;amp;package_id=1204 tpctl userspace tool].&lt;br /&gt;
* There is also an optional GUI: [http://sourceforge.net/project/showfiles.php?group_id=1212&amp;amp;package_id=99929 configure-thinkpad].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]] [[Category:Patches]]&lt;/div&gt;</summary>
		<author><name>Spiney</name></author>
		
	</entry>
</feed>