<?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=Xoby</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=Xoby"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Xoby"/>
	<updated>2026-04-17T18:11:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:ThinkWiki_News&amp;diff=36510</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=36510"/>
		<updated>2008-02-20T13:32:25Z</updated>

		<summary type="html">&lt;p&gt;Xoby: Correct &amp;quot;?&amp;quot; symbol unsupported into URL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
{{News|20.02.2008|X300 design articles on [http://lenovoblogs.com/designmatters lenovo blogs] and [http://www.businessweek.com/magazine/content/08_08/b4072042350389.htm businessweek]}} &lt;br /&gt;
{{News|14.02.2008|Ultralight Lenovo X300 Series Thinkpad [http://gizmodo.com/346797/ultralight-lenovo-x300-series-thinkpad-leaked leaked]}}&lt;br /&gt;
{{News|12.02.2008|Vista UDF 2.01 media [[UDF_2.01_on_Linux|now work with Linux]]!}}&lt;br /&gt;
{{News|05.02.2008|Added the cool [http://recaptcha.net/plugins/mediawiki/ Recaptcha extension].}}&lt;br /&gt;
{{News|03.02.2008|ThinkWiki has been upgraded to [[Special:Version|MediaWiki 1.11.1]].}}&lt;br /&gt;
{{News|18.01.2008|Again ThinkWiki got shiny new lightning fast [[ThinkWiki:Hardware|hardware]].}}&lt;br /&gt;
{{News|14.11.2007|[http://www.lesswatts.org lesswatts.org] now hosts the [http://www.lesswatts.org/projects/acpi/ Linux ACPI] project, as well as [http://www.lesswatts.org/projects/powertop/ powertop] and many other important power management projects.}}&lt;br /&gt;
{{News|19.10.2007|ThinkWiki has been upgraded to [[Special:Version|MediaWiki 1.11.0]]. We apologize for some downtime on Oct. 15th and 16th.}}&lt;br /&gt;
{{News|11.10.2007|The ThinkPad turns 15 years old!}}&lt;br /&gt;
{{News|13.06.2007|A preliminary version of the reverse-engineered R500 driver is [http://lwn.net/Articles/237920/ available].}}&lt;br /&gt;
{{News|06.06.2007|ThinkWiki finally runs on new [[ThinkWiki:Hardware|hardware]].}}&lt;br /&gt;
{{News|22.05.2007|ThinkWiki has been upgraded to [[Special:Version|MediaWiki 1.10.0]].}}&lt;br /&gt;
{{News|13.05.2007|Intel released [http://www.linuxpowertop.org/ PowerTOP], helps to prolong battery life.}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:ThinkWiki_News&amp;diff=36509</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=36509"/>
		<updated>2008-02-20T13:26:05Z</updated>

		<summary type="html">&lt;p&gt;Xoby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
{{News|20.02.2008|Ultralight Lenovo X300 Series Thinkpad [http://lenovoblogs.com/designmatters/?p=201 lenovo blogs] and businessweek article [http://www.businessweek.com/magazine/content/08_08/b4072042350389.htm Building the Perfect Laptop].}}&lt;br /&gt;
{{News|14.02.2008|Ultralight Lenovo X300 Series Thinkpad [http://gizmodo.com/346797/ultralight-lenovo-x300-series-thinkpad-leaked leaked]}}&lt;br /&gt;
{{News|12.02.2008|Vista UDF 2.01 media [[UDF_2.01_on_Linux|now work with Linux]]!}}&lt;br /&gt;
{{News|05.02.2008|Added the cool [http://recaptcha.net/plugins/mediawiki/ Recaptcha extension].}}&lt;br /&gt;
{{News|03.02.2008|ThinkWiki has been upgraded to [[Special:Version|MediaWiki 1.11.1]].}}&lt;br /&gt;
{{News|18.01.2008|Again ThinkWiki got shiny new lightning fast [[ThinkWiki:Hardware|hardware]].}}&lt;br /&gt;
{{News|14.11.2007|[http://www.lesswatts.org lesswatts.org] now hosts the [http://www.lesswatts.org/projects/acpi/ Linux ACPI] project, as well as [http://www.lesswatts.org/projects/powertop/ powertop] and many other important power management projects.}}&lt;br /&gt;
{{News|19.10.2007|ThinkWiki has been upgraded to [[Special:Version|MediaWiki 1.11.0]]. We apologize for some downtime on Oct. 15th and 16th.}}&lt;br /&gt;
{{News|11.10.2007|The ThinkPad turns 15 years old!}}&lt;br /&gt;
{{News|13.06.2007|A preliminary version of the reverse-engineered R500 driver is [http://lwn.net/Articles/237920/ available].}}&lt;br /&gt;
{{News|06.06.2007|ThinkWiki finally runs on new [[ThinkWiki:Hardware|hardware]].}}&lt;br /&gt;
{{News|22.05.2007|ThinkWiki has been upgraded to [[Special:Version|MediaWiki 1.10.0]].}}&lt;br /&gt;
{{News|13.05.2007|Intel released [http://www.linuxpowertop.org/ PowerTOP], helps to prolong battery life.}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:ThinkWiki_News&amp;diff=36508</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=36508"/>
		<updated>2008-02-20T13:24:55Z</updated>

		<summary type="html">&lt;p&gt;Xoby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
{{News|20.02.2008|Ultralight Lenovo X300 Series Thinkpad [http://lenovoblogs.com/designmatters/?p=201 lenovo blogs] and businessweek article [http://www.businessweek.com/magazine/content/08_08/b4072042350389.htm Building the Perfect Laptop]}}&lt;br /&gt;
{{News|14.02.2008|Ultralight Lenovo X300 Series Thinkpad [http://gizmodo.com/346797/ultralight-lenovo-x300-series-thinkpad-leaked leaked]}}&lt;br /&gt;
{{News|12.02.2008|Vista UDF 2.01 media [[UDF_2.01_on_Linux|now work with Linux]]!}}&lt;br /&gt;
{{News|05.02.2008|Added the cool [http://recaptcha.net/plugins/mediawiki/ Recaptcha extension].}}&lt;br /&gt;
{{News|03.02.2008|ThinkWiki has been upgraded to [[Special:Version|MediaWiki 1.11.1]].}}&lt;br /&gt;
{{News|18.01.2008|Again ThinkWiki got shiny new lightning fast [[ThinkWiki:Hardware|hardware]].}}&lt;br /&gt;
{{News|14.11.2007|[http://www.lesswatts.org lesswatts.org] now hosts the [http://www.lesswatts.org/projects/acpi/ Linux ACPI] project, as well as [http://www.lesswatts.org/projects/powertop/ powertop] and many other important power management projects.}}&lt;br /&gt;
{{News|19.10.2007|ThinkWiki has been upgraded to [[Special:Version|MediaWiki 1.11.0]]. We apologize for some downtime on Oct. 15th and 16th.}}&lt;br /&gt;
{{News|11.10.2007|The ThinkPad turns 15 years old!}}&lt;br /&gt;
{{News|13.06.2007|A preliminary version of the reverse-engineered R500 driver is [http://lwn.net/Articles/237920/ available].}}&lt;br /&gt;
{{News|06.06.2007|ThinkWiki finally runs on new [[ThinkWiki:Hardware|hardware]].}}&lt;br /&gt;
{{News|22.05.2007|ThinkWiki has been upgraded to [[Special:Version|MediaWiki 1.10.0]].}}&lt;br /&gt;
{{News|13.05.2007|Intel released [http://www.linuxpowertop.org/ PowerTOP], helps to prolong battery life.}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ThinkPad_Mini-Dock&amp;diff=34911</id>
		<title>ThinkPad Mini-Dock</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ThinkPad_Mini-Dock&amp;diff=34911"/>
		<updated>2007-11-27T07:08:15Z</updated>

		<summary type="html">&lt;p&gt;Xoby: Cut internal audio while using dock audio connector&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | __TOC__&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; | &amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== IBM ThinkPad Mini-Dock ==&lt;br /&gt;
The [[ThinkPad Mini-Dock]] (Model 2878) offers a good compromise of features and price. It contains basic pass-through connections for all the notebook ports like the [[ThinkPad Port Replicator II]] does.&lt;br /&gt;
=== Features ===&lt;br /&gt;
* everything the [[ThinkPad Port Replicator II]] has&lt;br /&gt;
* 4 port USB 2.0 hub&lt;br /&gt;
* Integrated external power supply &lt;br /&gt;
* Integrated key-lock for securing the ThinkPad to the dock&lt;br /&gt;
===Pros &amp;amp; Cons===&lt;br /&gt;
* Positives: Integrated Power, Integrated 4-port USB, security&lt;br /&gt;
* Negatives: Price ($199 Retail)&lt;br /&gt;
* Compatibility: X20/30, T20/30/40, R30/50, and A20/30 series (Does not support X40/41, R40e/50e/51e, or G40/41)&lt;br /&gt;
* Warranty: One Year&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-45932 IBM Website for Mini-Dock]&lt;br /&gt;
* [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/92p1836.pdf ThinkPad Docking Solutions HMM (February 2003)] (248,638 Bytes)&lt;br /&gt;
* [ftp://ftp.software.ibm.com/pc/pccbbs/options/92p1837.pdf User's guide for the ThinkPad Port Replicator II and ThinkPad Mini-Dock] (196,180 Bytes)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==4 port USB 2.0 hub==&lt;br /&gt;
Note that the USB provider is a hub - a few people have reported some USB peripherals (such as Palms) having problems due to it being a hub, although the majority of people do not have this problem, and the usefulness of the 4 port hub outweighs any potential downside. If you encounter problems, you can always use the USB ports on your Thinkpad to get a direct connection.&lt;br /&gt;
==DVI pass-through==&lt;br /&gt;
LCD monitors are getting larger and higher-resolution. Currently, DVI based on 165MHz TDMS transmitters can only (officially) support 1600x1200x32 at 60Hz, which is the resolution of your average 20&amp;quot; non-widescreen LCD. IBM's driver support for this resolution through DVI ports on docks has been inconsistent. Also in Linux you might experience [[Problem with DVI throughput|problems]] even with this resolution and IBM officially states that the pass-through DVI port only supports resolutions up to 1280x1024. Read [[Problem with DVI throughput|our page]] of information on how to solve these troubles.&lt;br /&gt;
&lt;br /&gt;
Please be aware that not all Thinkpad models will support DVI output with a Dock.  Apparently, all X and T models from the 20 series do not.  Please add other models if you know about them to not support DVI.&lt;br /&gt;
&lt;br /&gt;
== Cut internal audio while using dock audio connector ==&lt;br /&gt;
The internal speaker stays on even when you put an audio jack into the port replicator speaker out connector. To silence the internal speaker use the hardware mute button, which mutes both internal and connected audio and unmute through the software mixer, wich unmutes only the external audio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Supported ThinkPads ==&lt;br /&gt;
* {{A20m}}, {{A20p}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}&lt;br /&gt;
* {{A30}}, {{A30p}}, {{A31}}, {{A31p}}&lt;br /&gt;
* {{R30}}, {{R31}}, {{R32}}&lt;br /&gt;
* {{R40}}&lt;br /&gt;
* {{R50}}, {{R50p}}, {{R51}}, {{R52}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}, {{T23}}&lt;br /&gt;
* {{T30}}&lt;br /&gt;
* {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}} (only models without Intel 915GM/GMS,910GML Chipset), {{T43p}}&lt;br /&gt;
* {{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}&lt;br /&gt;
* {{X30}}, {{X31}}, {{X32}}&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Sample_Fn-F7_script&amp;diff=34469</id>
		<title>Sample Fn-F7 script</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Sample_Fn-F7_script&amp;diff=34469"/>
		<updated>2007-11-12T22:38:41Z</updated>

		<summary type="html">&lt;p&gt;Xoby: The script uses bash syntax and won't work with sh&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide will help you configure Fn-F7 key combination to toggle between internal, mirror, external, or both screens.  This was tested on ThinkPad X60s running Fedora 8, please comment if it works or does not work for you.&lt;br /&gt;
&lt;br /&gt;
Add a &amp;quot;Virtual&amp;quot; statement to your /etc/X11/xorg.conf, the total resolution should be large enough to fit all your screens in the configuration you want, for example I have 1600x1200 monitor to the left of my internal 1024x768 monitor for a total max resolution of 2624x1200 (See [[Xorg RandR 1.2]] for more details):&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;Screen0&amp;quot;&lt;br /&gt;
        Device     &amp;quot;Videocard0&amp;quot;&lt;br /&gt;
        DefaultDepth     24&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     24&lt;br /&gt;
                &amp;lt;b&amp;gt;Virtual   2624 1200&amp;lt;/b&amp;gt;&lt;br /&gt;
        EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Restart X server at this point (i.e. logout and login).&lt;br /&gt;
&lt;br /&gt;
Create /etc/acpi/events/thinkpad.conf:&lt;br /&gt;
&lt;br /&gt;
 # fn-F7&lt;br /&gt;
 event=ibm/hotkey HKEY 00000080 00001007&lt;br /&gt;
 action=/usr/local/sbin/thinkpad-fn-f7&lt;br /&gt;
&lt;br /&gt;
Create /usr/local/sbin/thinkpad-fn-f7:&lt;br /&gt;
&lt;br /&gt;
Note: you will have change EXTERNAL_OUTPUT and INTERNAL_OUTPUT to what xrandr shows, for example VGA and LVDS in this case:&lt;br /&gt;
&lt;br /&gt;
 $ xrandr | grep connected&lt;br /&gt;
 '''VGA''' connected 1600x1200+0+0 (normal left inverted right x axis y axis) 432mm x 324mm&lt;br /&gt;
 '''LVDS''' connected (normal left inverted right x axis y axis)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #@ seva sevatech.com&lt;br /&gt;
 &lt;br /&gt;
 EXTERNAL_OUTPUT=&amp;quot;'''VGA'''&amp;quot;&lt;br /&gt;
 INTERNAL_OUTPUT=&amp;quot;'''LVDS'''&amp;quot;&lt;br /&gt;
 EXTERNAL_LOCATION=&amp;quot;'''left'''&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # This is to figure out which user and X11 display to work on&lt;br /&gt;
 # TODO there has to be a better way to do this?&lt;br /&gt;
 SU=&amp;quot;su $(w -h -s | grep &amp;quot;:[0-9]&amp;quot; | head -1 | awk '{print $1}') -c&amp;quot;&lt;br /&gt;
 export DISPLAY=$(w -h -s | grep &amp;quot;:[0-9]&amp;quot; | head -1 | awk '{print $3}')&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$EXTERNAL_LOCATION&amp;quot; in&lt;br /&gt;
        left|LEFT)&lt;br /&gt;
                EXTERNAL_LOCATION=&amp;quot;--left-of $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
                ;;&lt;br /&gt;
        right|RIGHT)&lt;br /&gt;
                EXTERNAL_LOCATION=&amp;quot;--right-of $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
                ;;&lt;br /&gt;
        top|TOP|above|ABOVE)&lt;br /&gt;
                EXTERNAL_LOCATION=&amp;quot;--above $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
                ;;&lt;br /&gt;
        bottom|BOTTOM|below|BELOW)&lt;br /&gt;
                EXTERNAL_LOCATION=&amp;quot;--below $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
                ;;&lt;br /&gt;
        *)&lt;br /&gt;
                EXTERNAL_LOCATION=&amp;quot;--left-of $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
                ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 # Save the state to the file until we can figure it out by running xrandr&lt;br /&gt;
 STATE_FILE=/var/lib/thinkpad/screen.state;&lt;br /&gt;
 if [ ! -e $STATE_FILE ]; then&lt;br /&gt;
        echo &amp;quot;internal&amp;quot; &amp;gt; $STATE_FILE&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 STATE=$(cat $STATE_FILE)&lt;br /&gt;
 &lt;br /&gt;
 function screen_external(){&lt;br /&gt;
        $SU &amp;quot;xrandr --output $INTERNAL_OUTPUT --off&amp;quot;&lt;br /&gt;
        $SU &amp;quot;xrandr --output $EXTERNAL_OUTPUT --auto&amp;quot;&lt;br /&gt;
        echo &amp;quot;external&amp;quot; &amp;gt; $STATE_FILE&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function screen_internal(){&lt;br /&gt;
        $SU &amp;quot;xrandr --output $EXTERNAL_OUTPUT --off&amp;quot;&lt;br /&gt;
        $SU &amp;quot;xrandr --output $INTERNAL_OUTPUT --auto&amp;quot;&lt;br /&gt;
        echo &amp;quot;internal&amp;quot; &amp;gt; $STATE_FILE&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function screen_mirror(){&lt;br /&gt;
        $SU &amp;quot;xrandr --output $INTERNAL_OUTPUT --auto&amp;quot;&lt;br /&gt;
        $SU &amp;quot;xrandr --output $EXTERNAL_OUTPUT --auto --same-as $INTERNAL_OUTPUT&amp;quot;&lt;br /&gt;
        echo &amp;quot;mirror&amp;quot; &amp;gt; $STATE_FILE&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function screen_both(){&lt;br /&gt;
        $SU &amp;quot;xrandr --output $INTERNAL_OUTPUT --auto&amp;quot;&lt;br /&gt;
        $SU &amp;quot;xrandr --output $EXTERNAL_OUTPUT --auto $EXTERNAL_LOCATION&amp;quot;&lt;br /&gt;
        echo &amp;quot;both&amp;quot; &amp;gt; $STATE_FILE&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function screen_toggle(){&lt;br /&gt;
        case &amp;quot;$STATE&amp;quot; in&lt;br /&gt;
                internal)&lt;br /&gt;
                        screen_mirror&lt;br /&gt;
                        ;;&lt;br /&gt;
                mirror)&lt;br /&gt;
                        screen_external&lt;br /&gt;
                        ;;&lt;br /&gt;
                external)&lt;br /&gt;
                        screen_both&lt;br /&gt;
                        ;;&lt;br /&gt;
                both)&lt;br /&gt;
                        screen_internal&lt;br /&gt;
                        ;;&lt;br /&gt;
                *)&lt;br /&gt;
                        screen_internal&lt;br /&gt;
                        ;;&lt;br /&gt;
        esac&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # What should we do?&lt;br /&gt;
 DO=&amp;quot;$1&amp;quot;&lt;br /&gt;
 if [ -z &amp;quot;$DO&amp;quot; ]; then&lt;br /&gt;
        DO=$(basename $0)&lt;br /&gt;
 fi&lt;br /&gt;
 if [ -z &amp;quot;$DO&amp;quot; ]; then&lt;br /&gt;
        DO=&amp;quot;internal&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$DO&amp;quot; in&lt;br /&gt;
        toggle|thinkpad-fn-f7)&lt;br /&gt;
                screen_toggle&lt;br /&gt;
                ;;&lt;br /&gt;
        internal)&lt;br /&gt;
                screen_internal&lt;br /&gt;
                ;;&lt;br /&gt;
        external)&lt;br /&gt;
                screen_external&lt;br /&gt;
                ;;&lt;br /&gt;
        mirror)&lt;br /&gt;
                screen_mirror&lt;br /&gt;
                ;;&lt;br /&gt;
        both)&lt;br /&gt;
                screen_both&lt;br /&gt;
                ;;&lt;br /&gt;
        status)&lt;br /&gt;
                echo &amp;quot;Current Fn-F7 state is: $STATE&amp;quot;&lt;br /&gt;
                echo&lt;br /&gt;
                echo &amp;quot;Attached monitors:&amp;quot;&lt;br /&gt;
                xrandr | grep connected | sed &amp;quot;s/^/ /&amp;quot;&lt;br /&gt;
                ;;&lt;br /&gt;
        *)&lt;br /&gt;
                echo &amp;quot;usage: $0 &amp;lt;command&amp;gt;&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
                echo &amp;gt;&amp;amp;2&lt;br /&gt;
                echo &amp;quot;  commands:&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
                echo &amp;quot;          status&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
                echo &amp;quot;          internal&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
                echo &amp;quot;          external&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
                echo &amp;quot;          mirror&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
                echo &amp;quot;          both&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
                echo &amp;quot;          toggle&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
                echo &amp;gt;&amp;amp;2&lt;br /&gt;
                echo &amp;quot;  If no command is given default is internal&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
                ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
As root, run the following commands,&lt;br /&gt;
&lt;br /&gt;
 {{cmdroot|mkdir -p /var/lib/thinkpad}}&lt;br /&gt;
 {{cmdroot|echo &amp;quot;internal&amp;quot; &amp;gt; /var/lib/thinkpad/screen.state}}&lt;br /&gt;
 {{cmdroot|chmod 755 /usr/local/sbin/thinkpad-fn-f7}}&lt;br /&gt;
 {{cmdroot|service acpid restart}}&lt;br /&gt;
&lt;br /&gt;
You should be ready to go, just press Fn-F7 to try.&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=ATI_Mobility_Radeon_9600&amp;diff=31639</id>
		<title>ATI Mobility Radeon 9600</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=ATI_Mobility_Radeon_9600&amp;diff=31639"/>
		<updated>2007-07-28T21:57:37Z</updated>

		<summary type="html">&lt;p&gt;Xoby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ATI Mobility Radeon 9600 ===&lt;br /&gt;
This is an ATI video adapter&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: ATI RV350 (M10)&lt;br /&gt;
* PCI ID: 1002:4c66&lt;br /&gt;
* AGP 4X&lt;br /&gt;
* 32 or 64MB DDR-SDRAM video memory&lt;br /&gt;
* External VGA up to: 1920x1200&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux driver - OpenSource ===&lt;br /&gt;
This adapter is supported by recent versions of the [[radeon]] driver as found in X.Org and XFree86.  The [[fglrx]] driver should also work.&lt;br /&gt;
&lt;br /&gt;
====ThinkPad LCD====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correct&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
Works if you setup the xorg.conf for two screens.&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
SVideo out is supported by the ati.2 driver from the [http://gatos.sourceforge.net/ GATOS project].&amp;lt;br/&amp;gt;&lt;br /&gt;
Read [[How to get TV-Out working on ATI graphic cards|here]] how to set it up.&lt;br /&gt;
&lt;br /&gt;
==== 3D acceleration with the open source driver ====&lt;br /&gt;
&lt;br /&gt;
All recent Distributions such as Fedora Core 5, *Ubuntu Dapper Drake, OpenSUSE have the r300 supported without patching. The r300 DRI driver was merged into Mesa 6.4.x. The X Window System (Xorg) 7.0 supports the r300 driver. Recent 2.6 kernels now have r300 DRM support added. This now should work out of the box if your using a recent distribution.&lt;br /&gt;
&lt;br /&gt;
The old project page may be outdated now, development is now done in X.org.&lt;br /&gt;
:http://r300.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
=== Linux driver - Proprietary ===&lt;br /&gt;
The [[fglrx]] driver adds 3D acceleration.  &lt;br /&gt;
&lt;br /&gt;
=== FreeBSD driver - open source ===&lt;br /&gt;
With RELENG_6 it is possible to get this card working with a reasonable level of ease. First you must apply this  patch: http://people.freebsd.org/~anholt/dri/r300-drm.diff to your kernel source and compile a new kernel. I have only tested using this as a module. It works as the simple drm/radeon module. Once that is done install x11-servers/xorg-server-snap  and graphics/dri-devel on top of a normal Xorg installation. With all that you SHOULD have dri working on a mobility 9600. Tested on a T42.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{T42}},{{T42p}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&amp;diff=31636</id>
		<title>How to get special keys to work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&amp;diff=31636"/>
		<updated>2007-07-28T20:47:37Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* NumLock */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
The following table gives an overview over the special keys found on ThinkPads and what is needed to make them work.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
! key !! standard function{{footnote|1}} !! tools supporting key{{footnote|2}} !! configurability{{footnote|3}} !! remarks&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || - || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || on release without completed key combination&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F1}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F2}} || lock screen || [[#ibm-acpi events|ibm-acpi]] || full || in models from T/X/Z 60 onwards&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F3}} || blank screen || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || suspend to ram || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || may generate ACPI event when not enabled in the ibm-acpi hotkey mask&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F5}} || switch bluetooth || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || in models starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F6}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || switch display || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions || &lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || toggle display expansion || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F9}} || eject from dock || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F10}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F11}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || hibernate || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || may generate ACPI event when not enabled in the ibm-acpi hotkey mask&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || brightness up || [[#ibm-acpi events|ibm-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || brightness down || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PageUp}} || toggle thinklight || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || toggle zoom || [[#tpb configuration|tpb]], [[KMilo]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Ins}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Del}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Backspace}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|NumLock}} || - || [[#xmodmap configuration|xmodmap]] || make working ||&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Windows}} || - || [[#xmodmap configuration|xmodmap]] || remapping ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || help application || [[#tpb configuration|tpb]], [[KMilo]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || open web browser || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || open search application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || open mail application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || open favorites || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || reload web page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || abort loading page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || previous page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full ||  ext. keyboards and ThinkPads starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || next page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || ext. keyboards and ThinkPads starting from 2002&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}} || volume up || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || volume down || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || mute volume || [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Play/Pause|#494949}} || start/pause playback  || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Down)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Stop|#494949}} || stop playback || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Up)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Next|#494949}} || play next || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Right)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Previous|#494949}} || play previous || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Left)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press&lt;br /&gt;
|-&lt;br /&gt;
| Display lid || blank screen || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay lid || announce ultrabay change || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| Dock eject || eject from dock || [[#ibm-acpi events|ibm-acpi]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet orientation|#494949}} || rotates screen || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet shortcut|#494949}} || shortcut menu || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Esc|#494949}} || esc key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Enter|#494949}} || enter key || [[#mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Up|#494949}} || up key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Down|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet (unlabeled)|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Triggering key events==&lt;br /&gt;
===ibm-acpi events===&lt;br /&gt;
Some of the following events require a {{cmdroot|echo enable,0xffff &amp;gt;/proc/acpi/ibm/hotkey}} in order to make acpi able to get information on them. These events can be used to [[How to configure acpid|configure acpid]].&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ events triggered by [[ibm-acpi]] for {{path|/etc/acpi/events}} files. &lt;br /&gt;
! key !! event&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F1}} || ibm/hotkey HKEY 00000080 00001001&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F2}} || ibm/hotkey HKEY 00000080 00001002&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F3}} || ibm/hotkey HKEY 00000080 00001003&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || ibm/hotkey HKEY 00000080 00001004&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F5}} || ibm/hotkey HKEY 00000080 00001005&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F6}} || ibm/hotkey HKEY 00000080 00001006&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || ibm/hotkey HKEY 00000080 00001007&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || ibm/hotkey HKEY 00000080 00001008&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F9}} || ibm/hotkey HKEY 00000080 00001009&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F10}} || ibm/hotkey HKEY 00000080 0000100a&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F11}} || ibm/hotkey HKEY 00000080 0000100b&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Backspace}} || ibm/hotkey HKEY 00000080 0000100d&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Ins}} || ibm/hotkey HKEY 00000080 0000100e&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Del}} || ibm/hotkey HKEY 00000080 0000100f&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}}/{{key|Fn}}{{key|Pos1}} || ibm/hotkey HKEY 00000080 00001010&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Power|#494949}} || button/power PWRF 00000080 xxxxxxxx&lt;br /&gt;
|-&lt;br /&gt;
| Display lid || button/lid LID 00000080 xxxxxxxx&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay eject || ibm/bay MSTR 00000003 00000000&lt;br /&gt;
|-&lt;br /&gt;
| Ultrabay inserted || ibm/bay MSTR 00000001 00000000&lt;br /&gt;
|-&lt;br /&gt;
| Dock eject || ibm/dock GDCK 00000003 00000001&lt;br /&gt;
|-&lt;br /&gt;
| Wireless switch || ibm/hotkey HKEY 00000080 00007000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
By disassembling and editing the DSDT, more events can be added.  HKEY events are triggered by calls to the MKHQ function, e.g. &amp;lt;tt&amp;gt;\_SB.PCI0.LPC.EC.HKEY.MHKQ(0Ã—1007)&amp;lt;/tt&amp;gt; will trigger &amp;quot;ibm/hotkey HKEY 00000080 00001007&amp;quot;.  Most of these can be found in &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; methods within the DSDT, which are executed on embedded controller events, e.g. _Q10 is triggered by pressing Fn-F7.  You can add a call to MKHQ into an existing &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; method to get it recognized by ibm-acpi as well as creating new &amp;lt;tt&amp;gt;_Qxx&amp;lt;/tt&amp;gt; methods, which if you're lucky will correspond to an EC event that IBM never used (e.g. A 770 will send Fn-Home/End/PgUp/PgDn to ibm-acpi if hacked in this fashion). For example, [http://www.wormnet.eu/ibm-g40/morebuttons.dsl this is a modified block of DSDT for a G40].&lt;br /&gt;
&lt;br /&gt;
=== Pure ACPI events ===&lt;br /&gt;
&lt;br /&gt;
A few keys can generate ACPI events of their own on certain ThinkPads, as long as they are masked off in the ibm-acpi hotkey's mask (or the hotkey feature is disabled in ibm-acpi).&lt;br /&gt;
&lt;br /&gt;
If you want the ThinkPad's BIOS and ACPI methods to know about these keys being pressed, you probably want to leave them masked out from ibm-acpi, and use their non-HKEY events listed below, instead.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ events triggered by ACPI when hotkey is masked out or disabled. &lt;br /&gt;
! key !! event&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F4}} || button/sleep SLPB 00000080 00000001&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===tpb configuration===&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ configuration keywords for [[tpb]] (to put in {{path|/etc/tpbrc}})&lt;br /&gt;
! key !! config keyword&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || THINKPAD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Home|#494949}} || HOME&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || SEARCH&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || MAIL&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || FAVORITES&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || RELOAD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || ABORT&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || BACKWARD&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || FORWARD&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || FN&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Space}} || CALLBACK (zoom on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|PageUp}} || CALLBACK (thinklight on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F7}} || CALLBACK (display lcd/crt/both)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|F8}} || CALLBACK (expand on/off)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || CALLBACK (brightness &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}}{{key|End}} || CALLBACK (brightness &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume up|#494949}} || CALLBACK (volume &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume down|#494949}} || CALLBACK (volume &amp;lt;percent&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Volume mute|#494949}} || CALLBACK (mute on/off)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To all parameter keywords should be assigned the full path to the executables supposed to be started on key press.&lt;br /&gt;
The exectable provided for the CALLBACK keyword should take the parameters given in parentheses and act according to them.&lt;br /&gt;
If you want to use xmodmap for the HOME, SEARCH, MAIL, FAVORITES, RELOAD, ABORT, BACKWARD, FORWARD and FN keys you should&lt;br /&gt;
provide a &amp;lt;tt&amp;gt;XEVENTS OFF&amp;lt;/tt&amp;gt; in your {{path|/etc/tpbrc}}. &lt;br /&gt;
You can use an appropriate executable to [[How to inject fake keystrokes|inject fake keystrokes]].&lt;br /&gt;
&lt;br /&gt;
For Debian users, tpb is started from {{path|/etc/X11/Xsession.d/90tpb}}.&lt;br /&gt;
&lt;br /&gt;
'''Sound Button configuration'''&lt;br /&gt;
&lt;br /&gt;
''Note: Tested on T60p with Ubuntu 6.06 LTS''&lt;br /&gt;
&lt;br /&gt;
Most Thinkpads have a hardware sound mixer, thus the volumes buttons should work without configuration. However, this change is not reflected in the software mixer. tpb has a switch to enable software mixer support via OSS. The manual recommends this only for devices without a hardware mixer, but it also works for other hadware mixer enabled devices, even with the ALSA system. Just put MIXER ON in your {{path|/etc/tpbrc}} file and you can see the effect immediately in any ALSA mixer (e.g. kmix). For this to work you need write permissions to {{path|/dev/nvram}}.&lt;br /&gt;
&lt;br /&gt;
''Note: Tested on X21 with Ubuntu 6.06 LTS''&lt;br /&gt;
&lt;br /&gt;
On the ThinkPad X21 (and maybe some other older models) ACPI causes problems with tpb.  On an X21 using acpi the volume buttons would work occasionally, and the OSD for tpb functions would rarely work.  If a volume buttons was pressed too often, sometimes the computer would enter a low power (unplugged state) and would require a reboot.  The solution is to use APM instead of ACPI.  Instructions can be found in [[How_to_make_APM_work]].&lt;br /&gt;
&lt;br /&gt;
===KMilo configuration===&lt;br /&gt;
The programs to be executed by [[KMilo]] are configured via the KDE Control Center (&amp;lt;tt&amp;gt;kcontrol&amp;lt;/tt&amp;gt;), under &amp;lt;tt&amp;gt;System Administration --&amp;gt; IBM Thinkpad Laptop&amp;lt;/tt&amp;gt;. Note that you can use appropriate commands to [[How to inject fake keystrokes|inject fake keystrokes]].&lt;br /&gt;
&lt;br /&gt;
===xmodmap configuration===&lt;br /&gt;
xmodmap enables you to edit the modifier map and keymap tables that are used to translate keycodes into keysyms.&lt;br /&gt;
Understood? Well, basically it allows you to give the X server a dictionary for the translation of keycodes like &amp;quot;97&amp;quot; into more human readable synonyms like &amp;quot;Home&amp;quot;. This way xmodmap allows you to make the special keys of your keyboard known to X applications.&lt;br /&gt;
&lt;br /&gt;
To discover the keycode that a certain keypress produces, use the tool {{cmduser|xev}} &lt;br /&gt;
&lt;br /&gt;
Usually you should write your keycode-keysym associations into the file {{path|~/.Xmodmap}}. This file is usually read by the X session startup scripts of your system, so that the mappings automatically get included everytime you run the X server.&lt;br /&gt;
&lt;br /&gt;
The {{path|~/.Xmodmap}} lines for our purpose are in the form of&lt;br /&gt;
 keycode &amp;lt;keycode&amp;gt; = &amp;lt;keysym&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load the assocation using the command&lt;br /&gt;
&lt;br /&gt;
{{cmduser|xmodmap ~/.Xmodmap}} &lt;br /&gt;
&lt;br /&gt;
(some configurations do this automatically upon X startup). &lt;br /&gt;
&lt;br /&gt;
The following table shows the keycodes generated by the ThinkPad special keys and sensible keysyms to assign them to.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ keycodes and recommended keysyms&lt;br /&gt;
! key !! keycode !! keysym&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || 159 || XF86LaunchA&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Backward|#494949}} || 234 || XF86Back or F19&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Forward|#494949}} || 233 || XF86Forward or F20&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Play/Pause|#494949}} || 162 || XF86AudioPlay&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Stop|#494949}} || 164 || XF86AudioStop&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Next|#494949}} || 153 || XF86AudioNext&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Previous|#494949}} || 144 || XF86AudioPrev&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| {{ibmkey|Home|#494949}} || 178 || XF86HomePage&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Search|#494949}} || 229 || XF86Search&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Mail|#494949}} || 236 || XF86Mail&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Favorites|#494949}} || 230 || XF86AddFavorite or XF86Favorites&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Reload|#494949}} || 231 || XF86Reload&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Abort|#494949}} || 232 || XF86Stop&lt;br /&gt;
|-&lt;br /&gt;
| {{key|Fn}} || 227 || F35&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: You can also using xkeycaps(a tool graphically display and edit the X keyboard mapping) to generate proper .Xmodmap.&lt;br /&gt;
&lt;br /&gt;
Note: if you are running [[tpb]] you might need to add the line &amp;lt;tt&amp;gt;XEVENTS=off&amp;lt;/tt&amp;gt; into your tpbrc to stop it from grabbing the key events and allow them to get through to X instead. See [[http://www.thinkwiki.org/wiki/Tpb]] for more detailed instruction on how to use tpb and xmodmap.&lt;br /&gt;
&lt;br /&gt;
Note: XF86Forward and XF86Back do not work correctly in Firefox. You may want to map them to F19 and F20 instead if you use Firefox.&lt;br /&gt;
&lt;br /&gt;
=====Enabling the Windows and Menu Keys=====&lt;br /&gt;
On some systems the Windows and Menu keys may not be recognized.  You can enable then by&lt;br /&gt;
making the following changes:&lt;br /&gt;
&lt;br /&gt;
        keycode 115 = F13&lt;br /&gt;
        keycode 227 = F35&lt;br /&gt;
&lt;br /&gt;
F13 and F35 are used for the Windows and and Menu keys respectively.  Labelling keycpode 227 as &amp;quot;Menu&amp;quot; may conflict with the right-mouse-click event.&lt;br /&gt;
&lt;br /&gt;
=====Using Caps Lock as Super L (Windows key)=====&lt;br /&gt;
You can easily use Caps Lock as Win key by adding the following in your ~/.Xmodmap:&lt;br /&gt;
        ! No Caps Lock&lt;br /&gt;
        clear lock&lt;br /&gt;
        ! Caps Lock as Win key&lt;br /&gt;
        add mod4 = Caps_Lock&lt;br /&gt;
=====NumLock=====&lt;br /&gt;
On the ThinkPad {{600}}, {{T20}}, {{T21}}, {{T22}}, {{T30}}, {{X20}}, {{X21}},  {{X31}}, {{T42p}}, {{T43}}, {{R51}}, {{R52}} and possibly other models, X does not recognize the keycode for {{key|NumLk}} = {{key|Shift}}+{{key|ScrLk}}. To fix this, add the following to {{path|~/.Xmodmap}} in your home directory or {{path|/etc/X11/Xmodmap}} and run &amp;lt;tt&amp;gt;xmodmap&amp;lt;/tt&amp;gt;, ex: &amp;lt;tt&amp;gt;xmodmap ~/.Xmodmap&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 keycode 77 = Num_Lock&lt;br /&gt;
&lt;br /&gt;
===Mapping keys with setkeycodes===&lt;br /&gt;
You can use the setkeycodes command to remap certain keys. I.e. you can use {{cmdroot|setkeycodes 6e 109 6d 104 69 28 6b 1}} to map the Tablets Up and Down keys to the standard PageUp and PageDown keys and Tablet Escape and Enter to their respective keys.&lt;br /&gt;
&lt;br /&gt;
The following table shows the keycodes generated by the ThinkPad keys.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|+ keycodes&lt;br /&gt;
! key !! keycode&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet orientation|#494949}} || 0x6d&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Shortcut|#494949}} || 0x6e&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Esc|#494949}} || 0x6b&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Enter|#494949}} || 0x69&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Up|#494949}} || 0x68&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet Down|#494949}} || 0x6c&lt;br /&gt;
|-&lt;br /&gt;
| {{ibmkey|Tablet (unlabeled)|#494949}} || 0x67&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Example Applications==&lt;br /&gt;
===Web Browsers===&lt;br /&gt;
====Firefox====&lt;br /&gt;
&lt;br /&gt;
There are various ways to assign actions to the browser keys. The easiest way is to install [http://mozilla.dorando.at/keyconfig.xpi keyconfig.xpi] from http://mozilla.dorando.at, which adds a menu entry Tools-&amp;gt;Keyconfig. Then you can assign any action you want to the F19/F20 keys (you still need to create {{path|~/.Xmodmap}} as explained above).&lt;br /&gt;
&lt;br /&gt;
The remaining discussion gives you various more complicated ways to achieve the same thing. &lt;br /&gt;
To have firefox make use of the browser keys you need to modify one of its files{{footnote|4}}.&lt;br /&gt;
To do this you will first need to extract it from the {{path|browser.jar}} archive. Do...&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cd &amp;lt;firefox-directory&amp;gt;/chrome}}&amp;lt;br /&amp;gt;&lt;br /&gt;
:{{cmdroot|unzip browser.jar}}&lt;br /&gt;
&lt;br /&gt;
The file of interest is {{path|content/browser/browser.xul}}. Edit it {and don't forget to make a backup copy first}...&lt;br /&gt;
:{{cmdroot|vi content/browser/browser.xul}}&lt;br /&gt;
&lt;br /&gt;
Look for the '''&amp;lt;keyset id=&amp;quot;mainKeyset&amp;quot;&amp;gt;''' section and add the following lines within...&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackKb&amp;quot; keycode=&amp;quot;VK_F19&amp;quot; command=&amp;quot;Browser:Back&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardKb&amp;quot; keycode=&amp;quot;VK_F20&amp;quot; command=&amp;quot;Browser:Forward&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Command you need for Next Tab &lt;br /&gt;
 &amp;lt;key id=&amp;quot;goBackTabKb&amp;quot; keycode=&amp;quot;VK_F19&amp;quot; oncommand=&amp;quot;gBrowser.mTabContainer.advanceSelectedTab(-1)&amp;quot; /&amp;gt;&lt;br /&gt;
For the Previous Tab &lt;br /&gt;
 &amp;lt;key id=&amp;quot;goForwardTabKb&amp;quot; keycode=&amp;quot;VK_F20&amp;quot; oncommand=&amp;quot;gBrowser.mTabContainer.advanceSelectedTab(1)&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now save the file and repackage the {{path|browser.jar}} archive...&lt;br /&gt;
:{{cmdroot|zip -rD0 browser.jar content/browser/}}&lt;br /&gt;
&lt;br /&gt;
That's it.&lt;br /&gt;
&lt;br /&gt;
{{HINT|For Firefox 2.0, just edit &amp;lt;firefox-directory&amp;gt;/chrome/browser/content/browser/browser.xul}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Outdated: Another interesting Page on Firefox is http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ It uses different key mappings (F19 resp. F20) but a ready [http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/dqdnavkeys-1.2.xpi .xpi] is provided which is pretty comfortable. However, this xpi file does not install on Firefox 1.5. or later.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Outdated: You can also use the [http://extensionroom.mozdev.org/more-info/keyconfig keyconfig] extension to configure custom keys.  This extension works with Firefox 1.5 but not with Firefox 2.0. The Command you need for Next Tab is gBrowser.mTabContainer.advanceSelectedTab(1,true); For Previous Tab its gBrowser.mTabContainer.advanceSelectedTab(-1,true); }}.&lt;br /&gt;
&lt;br /&gt;
====Konqueror====&lt;br /&gt;
KDE allows you set key mappings for KDE applications (Go to KMenu &amp;gt; System &amp;gt; Control Center &amp;gt; Regional &amp;amp; Accessibility &amp;gt; Keyboard Shortcuts). By default (at least in KDE 3.5), XF86Back and XF86Forward are set as alternatives to Alt-Left and Alt-Right, and are mapped to KDE Back and Forward navigation actions.  &lt;br /&gt;
&lt;br /&gt;
If you use Konqueror as your only browser, you only need to set up {{path|~/.Xmodmap}} as described [[#xmodmap configuration|above]] to assign ThinkPad back/forward keys to the symbols XF86Back/XF86Forward. This also make these keys work for other KDE applications such as Quanta Plus, KPackage and so on (not all KDE applications honor this setting, e.g. KDE help system doesn't).&lt;br /&gt;
&lt;br /&gt;
If you want to use Firefox, however, the above settings do not work. You will have to map ThinkPad back/forward keys to F19/F20 as described [[#Firefox|above]], and change KDE navigation key settings to use F19/F20 instead of the default.&lt;br /&gt;
&lt;br /&gt;
====Opera====&lt;br /&gt;
However this isn't a simple configration file, you can set your browser manually.&amp;lt;br /&amp;gt;&lt;br /&gt;
Go to &amp;lt;i&amp;gt;Tool &amp;gt; Settings &amp;gt; Mouse and keyboard &amp;gt; Keyboard settings &amp;gt; Edit &amp;gt; Browser Window&amp;lt;/i&amp;gt;. There add F19 - Back and F20 - Forward. Now you can surf using your TP keys ;-)&lt;br /&gt;
&lt;br /&gt;
===Window Managers===&lt;br /&gt;
====fvwm====&lt;br /&gt;
To get the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fvwmrc}}:&lt;br /&gt;
 Key    XF86Back     A      A   Scroll     -100000   0&lt;br /&gt;
 Key    XF86Forward  A      A   Scroll     +100000   0&lt;br /&gt;
If you use multiple virtual desktops, you could instead use the keys to flip between them by using GotoDesk.&lt;br /&gt;
&lt;br /&gt;
====fluxbox====&lt;br /&gt;
To get the keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fluxbox/keys}}:&lt;br /&gt;
 None F19 :PrevWorkspace&lt;br /&gt;
 None F20 :NextWorkspace&lt;br /&gt;
&lt;br /&gt;
====pekwm configuration====&lt;br /&gt;
You can make the two browser keys switch workspaces in pekwm, by adding the following two lines to the {{path|~/.pekwm/keys}} file:&lt;br /&gt;
 KeyPress = &amp;quot;Mod1 XF86Back&amp;quot; { Actions = &amp;quot;GoToWorkspace prev&amp;quot; }&lt;br /&gt;
 KeyPress = &amp;quot;Mod1 XF86Forward&amp;quot; { Actions = &amp;quot;GoToWorkspace next&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
====pwm====&lt;br /&gt;
Another example how to use these two keys to switch between pwm tabs. These two lines should be added to {{path|~/.pwm/keys-default.conf}} or {{path|/etc/pwm/keys-default.conf}}:&lt;br /&gt;
 kbind &amp;quot;Back&amp;quot;, &amp;quot;switch_rot&amp;quot;, -1&lt;br /&gt;
 kbind &amp;quot;Forward&amp;quot;, &amp;quot;switch_rot&amp;quot;, 1&lt;br /&gt;
&lt;br /&gt;
====IceWM====&lt;br /&gt;
To make IceWM cycle workspaces using the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys, change these two options in {{path|~/.icewm/preferences}} (Provided you assigned keysyms F19 and F20 with xmodmap):&lt;br /&gt;
 # &amp;quot;Previous workspace&amp;quot; shortcut&lt;br /&gt;
 KeySysWorkspacePrev=&amp;quot;F19&amp;quot;&lt;br /&gt;
 # &amp;quot;Next workspace&amp;quot; shortcut&lt;br /&gt;
 KeySysWorkspaceNext=&amp;quot;F20&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Gnome/metacity ====&lt;br /&gt;
&lt;br /&gt;
Follow the [https://wiki.ubuntu.com/Keybindings Ubuntu guide].&lt;br /&gt;
&lt;br /&gt;
===Other Uses===&lt;br /&gt;
====Console tools configuraton====&lt;br /&gt;
To make the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys useful in console, add this to your keymap ({{path|/etc/console/boottime.kmap.gz}} in {{Debian}}):&lt;br /&gt;
 keycode 158 = Decr_Console&lt;br /&gt;
 keycode 159 = Incr_Console&lt;br /&gt;
&lt;br /&gt;
Alternatively you can load this script (perhaps on system startup) to enable Backward/Forward button console (VT) switch:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 echo keycode 158 = Decr_Console | loadkeys&lt;br /&gt;
 echo keycode 159 = Incr_Console | loadkeys&lt;br /&gt;
&lt;br /&gt;
It should work with any distro.&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51537 IBMs page on configuring the ThinkPad buttons (ThinkPad, Access IBM, Mail, Search, and Home buttons) under Linux]&lt;br /&gt;
*[http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ Rob Mayoffs page on using IBM Keyboard Navigation Keys in Linux Mozilla and Firefox]&lt;br /&gt;
*[http://snarfed.org/space/thinkpad+keys+in+firefox Ryan Barretts blog article about using the browser keys in Firefox]&lt;br /&gt;
*[http://chaotika.org/~bluesceada/?page=soft&amp;amp;sub=thinkpad#acpibutn DennisG's help to get the ibm-acpi buttons do useful things] on a {{Z61e}} and possibly {{Z61m}}, {{Z61t}} and {{Z61p}}&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#Note that the associated functionality for Fn-F* key combinations is not consistent amongst all ThinkPads. We are maintaining [[Default meanings of special keys|a table of associated meanings]].&lt;br /&gt;
#if there are more than one tool listed, one is sufficient&lt;br /&gt;
#'full' means you can completely reassign any action to be triggered by the key, 'additional actions' means you can trigger actions in addition to the standard function of the key, which can not be changed.&lt;br /&gt;
#Thanks go to Ryan Barrett for writing the [http://snarfed.org/space/thinkpad+keys+in+firefox little howto] on [http://snarfed.org/space/start his blog].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_silence_DVD_ROM&amp;diff=28229</id>
		<title>How to silence DVD ROM</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_silence_DVD_ROM&amp;diff=28229"/>
		<updated>2007-02-14T10:56:55Z</updated>

		<summary type="html">&lt;p&gt;Xoby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The default setting for the DVD ROM on the T40 is very noisy. &lt;br /&gt;
&lt;br /&gt;
== BIOS ==&lt;br /&gt;
&lt;br /&gt;
It isn't obvious, but there's a BIOS setting under the &amp;quot;Power&amp;quot; section in which the drive can be set to silent. It is very effective.&lt;br /&gt;
&lt;br /&gt;
== hdparm ==&lt;br /&gt;
&lt;br /&gt;
Another solution is to use the command ''hdparm'' :&lt;br /&gt;
 $ hdparm -E8 /dev/hdc&lt;br /&gt;
''-E8'' sets the speed of the cdrom drive to 8, which is silent, to reset maximum speed use ''-E0''.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
*ThinkPad {{T40}}, {{T42p}}&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_silence_DVD_ROM&amp;diff=28228</id>
		<title>How to silence DVD ROM</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_silence_DVD_ROM&amp;diff=28228"/>
		<updated>2007-02-14T10:56:08Z</updated>

		<summary type="html">&lt;p&gt;Xoby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The default setting for the DVD ROM on the T40 is very noisy. &lt;br /&gt;
&lt;br /&gt;
== Bios ==&lt;br /&gt;
&lt;br /&gt;
It isn't obvious, but there's a BIOS setting under the &amp;quot;Power&amp;quot; section in which the drive can be set to silent. It is very effective.&lt;br /&gt;
&lt;br /&gt;
== HDPARM ==&lt;br /&gt;
&lt;br /&gt;
Another solution is to use the command ''hdparm'' :&lt;br /&gt;
 $ hdparm -E8 /dev/hdc&lt;br /&gt;
''-E8'' sets the speed of the cdrom drive to 8, which is silent, to reset maximum speed use ''-E0''&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
*ThinkPad {{T40}}&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=DRI_options_for_ATI_Radeon&amp;diff=26851</id>
		<title>DRI options for ATI Radeon</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=DRI_options_for_ATI_Radeon&amp;diff=26851"/>
		<updated>2006-12-06T20:41:53Z</updated>

		<summary type="html">&lt;p&gt;Xoby: Adds stub mark&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
Some options can be configured at the DRI level (not by /etc/X11/Xorg.conf) &lt;br /&gt;
* Page at free desktop: http://dri.freedesktop.org/wiki/ATIRadeon&lt;br /&gt;
* DRIconf : GUI to setup the options&lt;br /&gt;
&lt;br /&gt;
For a R300 (mobiliy FireGL T2) The options are :&lt;br /&gt;
* Performance options:&lt;br /&gt;
** TCL mode&lt;br /&gt;
** Method to limit rendering latency&lt;br /&gt;
** Synchronisation with vertical refresh&lt;br /&gt;
** Number of texture image units&lt;br /&gt;
** Number of texture coordinate units&lt;br /&gt;
** Size of command buffer&lt;br /&gt;
* Image Quality&lt;br /&gt;
* Debugging&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=DRI_options_for_ATI_Radeon&amp;diff=26850</id>
		<title>DRI options for ATI Radeon</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=DRI_options_for_ATI_Radeon&amp;diff=26850"/>
		<updated>2006-12-06T20:40:19Z</updated>

		<summary type="html">&lt;p&gt;Xoby: DRI section for ATI Radeon (please add content)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some options can be configured at the DRI level (not by /etc/X11/Xorg.conf) &lt;br /&gt;
* Page at free desktop: http://dri.freedesktop.org/wiki/ATIRadeon&lt;br /&gt;
* DRIconf : GUI to setup the options&lt;br /&gt;
&lt;br /&gt;
For a R300 (mobiliy FireGL T2) The options are :&lt;br /&gt;
* Performance options:&lt;br /&gt;
** TCL mode&lt;br /&gt;
** Method to limit rendering latency&lt;br /&gt;
** Synchronisation with vertical refresh&lt;br /&gt;
** Number of texture image units&lt;br /&gt;
** Number of texture coordinate units&lt;br /&gt;
** Size of command buffer&lt;br /&gt;
* Image Quality&lt;br /&gt;
* Debugging&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Radeon&amp;diff=26849</id>
		<title>Radeon</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Radeon&amp;diff=26849"/>
		<updated>2006-12-06T20:35:31Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;X.org includes a driver called &amp;lt;tt&amp;gt;radeon&amp;lt;/tt&amp;gt; for recent ATI graphic chips (i.e., those branded &amp;quot;Radeon&amp;quot;). This driver supports 2D acceleration and some other chip features. In conjunction with a suitable DRI driver such as [[r300]], it also provides 3D acceleration.&lt;br /&gt;
&lt;br /&gt;
===Supported graphic chips===&lt;br /&gt;
* [[ATI Mobility Radeon 7000]]&lt;br /&gt;
* [[ATI Mobility Radeon 7500]]&lt;br /&gt;
* [[ATI Mobility Radeon 9000]]&lt;br /&gt;
* [[ATI Mobility Radeon 9600]]&lt;br /&gt;
* [[ATI Mobility Radeon X300]]&lt;br /&gt;
* [[ATI Mobility Radeon X600]]&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [[DRI options for ATI Radeon]]&lt;br /&gt;
* [[Additional options for the radeon driver]]&lt;br /&gt;
* [[fglrx]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=26359</id>
		<title>How to hotswap Ultrabay devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=26359"/>
		<updated>2006-11-11T23:03:16Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* HAL support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following discusses hotswap (AKA &amp;quot;hotplug&amp;quot;) of devices in the [[UltraBay]].&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies if you use the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver for the UltraBay device.&lt;br /&gt;
&lt;br /&gt;
Hotswapping is supposed to be supported as well, using either hdparm/[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] or [[lt_hotswap]] to (un)register IDE devices. The latter is the recommended method with kernels from 2.6, since it will leave DMA working. However, for recent models (R52, T43, X41, Z60 and later) no method is known to work while maintaining DMA support; see [[Problems with SATA and Linux]].&lt;br /&gt;
&lt;br /&gt;
Only IDE devices (HDD's, optical drives, zip drives) require special treatment - batteries, floppies and other devices can just be pulled from the bay, provided they are not mounted or in use at the time. However, you should still power them down first using the [[ibm-acpi]] eject function.&lt;br /&gt;
&lt;br /&gt;
The [[ibm-acpi]] kernel module has an eject function ({{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}). This only manages the ACPI calls to power down the device and the bay. It does not actually unregister the device from the IDE driver. {{cmdroot|cat /proc/acpi/ibm/bay}} shows &amp;quot;unoccupied&amp;quot; unless an IDE device is present, but the eject function still works and should still be used.&lt;br /&gt;
&lt;br /&gt;
To unregister the device, you can either use the [http://packages.debian.org/unstable/admin/hotswap Debian hotswap] package, or [[lt_hotswap]].&lt;br /&gt;
&lt;br /&gt;
[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] also allows the drive to be swapped as a normal user by default, which is useful. You should use &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; to unregister the device and then {{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}. However, if you use this method on a 2.6 kernel, you will lose DMA support for the reinserted drive. This is due to kernel issues. This method was reported to work on a ThinkPad {{T23}} (kernels 2.6.8.1, 2.6.14.2 and 2.6.15-arch) and {{T42}} (kernel 2.6.13), but fails on a ThinkPad {{T43}} (kernel 2.6.14.3).&lt;br /&gt;
&lt;br /&gt;
[[lt_hotswap]] is now the recommended method to un- and reregister the IDE device. It installs as a kernel module and has support for automatically unregistering the device when the eject event is generated by [[ibm-acpi]]. It will leave DMA support intact. It has supported to work on a ThinkPad {{T22}} and {{T40}} and should work with many other models (but not recent models which require the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver for disk DMA support).&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
HAL support also can also be configured To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;ide&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_ide_1_0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more details see HAL section for ata driver.&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies when using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver, which is necessary for many recent ThinkPad models that use an [[Intel ICH6-M]] controller. See also [[Problems with SATA and Linux]]. &lt;br /&gt;
&lt;br /&gt;
Mainline kernels before 2.6.18 cannot reliably recognize newly (re-)inserted UltraBay drives without a reboot. There are experimental hotplug patches against pre-2.6.18 mainline kernels [http://home-tj.org/wiki/index.php/Libata-tj-stable here].&lt;br /&gt;
&lt;br /&gt;
* Available hotplug patches&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.16.16-20060512.tar.bz2 Patch tarball against 2.6.16.16] ([http://lwn.net/Articles/183407/ Announce])&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.17-20060625-1.tar.bz2 Patch tarball against 2.6.17/2.6.17.1] ([http://article.gmane.org/gmane.linux.ide/11598 Announce])&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.17.4-20060710.tar.bz2 Patch tarball against 2.6.17.4]&lt;br /&gt;
**[http://whoopie.gmxhome.de/linux/patches/2.6.17.14-tj/00-libata-tj-2.6.17.4-20060710.patch Patch against 2.6.17.14]&lt;br /&gt;
&lt;br /&gt;
* Confirmed to work on&lt;br /&gt;
**ThinkPad {{T43}}, {{T43p}}&lt;br /&gt;
**ThinkPad {{R52}}&lt;br /&gt;
&lt;br /&gt;
For 2.6.18 kernels, or older kernels that were patched to support &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; hotplug (don't try it otherwise!), one can issue the following after inserting an UltraBay drive to rescan the port:&lt;br /&gt;
 {{cmdroot|echo 0 0 0 &amp;gt;  /sys/class/scsi_host/host1/scan}}&lt;br /&gt;
The inserted drive should now be recognized by the kernel, and appropriate {{path|/dev/*}} entries created automatically (e.g., by &amp;lt;tt&amp;gt;udev&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
You can safely shut down the drive by issuing the following (this works with all recent mainline kernels):&lt;br /&gt;
 {{cmdroot|echo 1 &amp;gt; /sys/class/scsi_device/1\:0\:0\:0/device/delete}}&lt;br /&gt;
 {{cmdroot|echo eject &amp;gt;  /proc/acpi/ibm/bay}}&lt;br /&gt;
The drive can now be ejected.&lt;br /&gt;
&lt;br /&gt;
===Scripts for hotswapping===&lt;br /&gt;
&lt;br /&gt;
The following scripts and [[acpid]] daemon configuration files do the following:&lt;br /&gt;
* Automatically unmounts the relevant filesystems and power off the UltraBay when the UltraBay eject lever is released. Screams if some filesystem can't be unmounted.&lt;br /&gt;
* Rescans the UltraBay port when then UltraBay eject lever is pushed back in.&lt;br /&gt;
&lt;br /&gt;
They assumes you're using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver with an appropriate kernel (see above).&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_close}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
sync&lt;br /&gt;
echo 0 0 0 &amp;gt; /sys/class/scsi_host/host1/scan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_open}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
ULTRABAY_SYSDIR='/sys/class/scsi_device/1:0:0:0/device'&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Umount the filesystem(s) backed by the given major:minor device(s)&lt;br /&gt;
unmount_rdev() { perl - &amp;quot;$@&amp;quot; &amp;lt;&amp;lt;'EOPERL'  # let's do it in Perl&lt;br /&gt;
	for $major_minor (@ARGV) {&lt;br /&gt;
		$major_minor =~ m/^(\d+):(\d+)$/ or die;&lt;br /&gt;
		push(@tgt_rdevs, ($1&amp;lt;&amp;lt;8)|$2);&lt;br /&gt;
	}&lt;br /&gt;
        # Sort by reverse length of mount point, to unmount sub-directories first&lt;br /&gt;
        open MOUNTS,&amp;quot;&amp;lt;/proc/mounts&amp;quot; or die &amp;quot;$!&amp;quot;;&lt;br /&gt;
        @mounts=sort { length($b-&amp;gt;[1]) &amp;lt;=&amp;gt; length($a-&amp;gt;[1]) } map { [ split ] } &amp;lt;MOUNTS&amp;gt;;&lt;br /&gt;
        close MOUNTS;&lt;br /&gt;
        foreach $m (@mounts) {&lt;br /&gt;
                ($dev,$dir)=@$m;&lt;br /&gt;
		next unless -b $dev;  $rdev=(stat($dev))[6];&lt;br /&gt;
		next unless grep($_==$rdev, @tgt_rdevs);&lt;br /&gt;
		system(&amp;quot;umount&amp;quot;,&amp;quot;-v&amp;quot;,&amp;quot;$dir&amp;quot;)==0  or  $bad=1;&lt;br /&gt;
	}&lt;br /&gt;
	exit 1 if $bad;&lt;br /&gt;
EOPERL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get the UltraBay's /dev/foo block device node&lt;br /&gt;
ultrabay_dev_node() {&lt;br /&gt;
	UDEV_PATH=&amp;quot;`readlink -e &amp;quot;$ULTRABAY_SYSDIR/block:&amp;quot;*`&amp;quot; || return 1&lt;br /&gt;
	UDEV_NAME=&amp;quot;`udevinfo -q name -p $UDEV_PATH`&amp;quot; || return 1&lt;br /&gt;
	echo /dev/$UDEV_NAME&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -d $ULTRABAY_SYSDIR ]; then&lt;br /&gt;
	sync&lt;br /&gt;
	# Unmount filesystems backed by this device&lt;br /&gt;
	unmount_rdev `cat $ULTRABAY_SYSDIR/block\:*/dev     \&lt;br /&gt;
	                  $ULTRABAY_SYSDIR/block\:*/*/dev`  \&lt;br /&gt;
	|| {&lt;br /&gt;
		echo 10 &amp;gt; /proc/acpi/ibm/beep;  # error tone&lt;br /&gt;
		exit 1;&lt;br /&gt;
	}&lt;br /&gt;
        sync&lt;br /&gt;
        # Nicely power off the device&lt;br /&gt;
	DEVNODE=`ultrabay_dev_node` &amp;amp;&amp;amp; hdparm -Y $DEVNODE&lt;br /&gt;
        # Let HAL+KDE notice the unmount and let the disk spin down&lt;br /&gt;
	sleep 0.5&lt;br /&gt;
	# Unregister this SCSI device:&lt;br /&gt;
	sync&lt;br /&gt;
	echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&lt;br /&gt;
fi&lt;br /&gt;
sync&lt;br /&gt;
# Turn off power to the UltraBay:&lt;br /&gt;
if [ -d /proc/acpi/bay ]; then&lt;br /&gt;
	echo 1 &amp;gt; /proc/acpi/bay/*/eject&lt;br /&gt;
else&lt;br /&gt;
	echo eject &amp;gt; /proc/acpi/ibm/bay&lt;br /&gt;
fi&lt;br /&gt;
# Tell the user we're OK&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/acpi/events/ultrabay-close}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
event=(ibm/bay|bay) MSTR 00000001 00000000&lt;br /&gt;
action=/usr/local/sbin/ultrabay_close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/acpi/events/ultrabay-open}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
event=(ibm/bay|bay) MSTR 00000003 00000000&lt;br /&gt;
action=/usr/local/sbin/ultrabay_open&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart &amp;lt;tt&amp;gt;acpid&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
Many programs, KDe included, rely on [[HAL]] to get notifications and information about device hotplugging. You need to tell HAL that devices connected the UltraBay port are hotpluggable. To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;scsi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Details====&lt;br /&gt;
&lt;br /&gt;
By default, HAL doesn't know that UltraBay devices are hotpluggable:&lt;br /&gt;
&lt;br /&gt;
 # PHYSDEV=/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
 # UDI=`hal-find-by-property --key storage.physical_device --string $PHYSDEV` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key block.device&lt;br /&gt;
 /dev/sdb&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.hotpluggable&lt;br /&gt;
 false&lt;br /&gt;
&lt;br /&gt;
After creating {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as above and re-plugging the device, it will get marked correctly:&lt;br /&gt;
&lt;br /&gt;
 # PHYSDEV=/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
 # UDI=`hal-find-by-property --key storage.physical_device --string $PHYSDEV` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key block.device&lt;br /&gt;
 /dev/sdb&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.hotpluggable&lt;br /&gt;
 true&lt;br /&gt;
&lt;br /&gt;
The string &amp;quot;8086_2653&amp;quot; gives the PCI ID of the [[Intel 82801FBM]] southbridge. If your model has a different southbridge, or the UltraBay is attached to a different port, then you can find the appropriate &amp;lt;tt&amp;gt;storage.physical_device&amp;lt;/tt&amp;gt; value by finding out the block device of the currently running UltraBay device (&amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt; in the following example) and then running:&lt;br /&gt;
&lt;br /&gt;
 # DEVICE=/dev/sdb&lt;br /&gt;
 # UDI=`hal-find-by-property --key block.device --string $DEVICE` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.physical_device&lt;br /&gt;
 /org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
&lt;br /&gt;
If you have a different &amp;lt;tt&amp;gt;storage.physical_device&amp;lt;/tt&amp;gt; value, please report your findings.&lt;br /&gt;
&lt;br /&gt;
==Other comments==&lt;br /&gt;
&lt;br /&gt;
If you are hot-swapping a hard disk on a disk tray, make sure the disk does not have a password set, otherwise it will not be recognized on reinsertion.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=26358</id>
		<title>How to hotswap Ultrabay devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=26358"/>
		<updated>2006-11-11T23:03:04Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* HAL support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following discusses hotswap (AKA &amp;quot;hotplug&amp;quot;) of devices in the [[UltraBay]].&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies if you use the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver for the UltraBay device.&lt;br /&gt;
&lt;br /&gt;
Hotswapping is supposed to be supported as well, using either hdparm/[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] or [[lt_hotswap]] to (un)register IDE devices. The latter is the recommended method with kernels from 2.6, since it will leave DMA working. However, for recent models (R52, T43, X41, Z60 and later) no method is known to work while maintaining DMA support; see [[Problems with SATA and Linux]].&lt;br /&gt;
&lt;br /&gt;
Only IDE devices (HDD's, optical drives, zip drives) require special treatment - batteries, floppies and other devices can just be pulled from the bay, provided they are not mounted or in use at the time. However, you should still power them down first using the [[ibm-acpi]] eject function.&lt;br /&gt;
&lt;br /&gt;
The [[ibm-acpi]] kernel module has an eject function ({{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}). This only manages the ACPI calls to power down the device and the bay. It does not actually unregister the device from the IDE driver. {{cmdroot|cat /proc/acpi/ibm/bay}} shows &amp;quot;unoccupied&amp;quot; unless an IDE device is present, but the eject function still works and should still be used.&lt;br /&gt;
&lt;br /&gt;
To unregister the device, you can either use the [http://packages.debian.org/unstable/admin/hotswap Debian hotswap] package, or [[lt_hotswap]].&lt;br /&gt;
&lt;br /&gt;
[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] also allows the drive to be swapped as a normal user by default, which is useful. You should use &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; to unregister the device and then {{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}. However, if you use this method on a 2.6 kernel, you will lose DMA support for the reinserted drive. This is due to kernel issues. This method was reported to work on a ThinkPad {{T23}} (kernels 2.6.8.1, 2.6.14.2 and 2.6.15-arch) and {{T42}} (kernel 2.6.13), but fails on a ThinkPad {{T43}} (kernel 2.6.14.3).&lt;br /&gt;
&lt;br /&gt;
[[lt_hotswap]] is now the recommended method to un- and reregister the IDE device. It installs as a kernel module and has support for automatically unregistering the device when the eject event is generated by [[ibm-acpi]]. It will leave DMA support intact. It has supported to work on a ThinkPad {{T22}} and {{T40}} and should work with many other models (but not recent models which require the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver for disk DMA support).&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
HAL support also can also be configured To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;ide&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_ide_1_0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more details see HAL section for ata driver&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies when using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver, which is necessary for many recent ThinkPad models that use an [[Intel ICH6-M]] controller. See also [[Problems with SATA and Linux]]. &lt;br /&gt;
&lt;br /&gt;
Mainline kernels before 2.6.18 cannot reliably recognize newly (re-)inserted UltraBay drives without a reboot. There are experimental hotplug patches against pre-2.6.18 mainline kernels [http://home-tj.org/wiki/index.php/Libata-tj-stable here].&lt;br /&gt;
&lt;br /&gt;
* Available hotplug patches&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.16.16-20060512.tar.bz2 Patch tarball against 2.6.16.16] ([http://lwn.net/Articles/183407/ Announce])&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.17-20060625-1.tar.bz2 Patch tarball against 2.6.17/2.6.17.1] ([http://article.gmane.org/gmane.linux.ide/11598 Announce])&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.17.4-20060710.tar.bz2 Patch tarball against 2.6.17.4]&lt;br /&gt;
**[http://whoopie.gmxhome.de/linux/patches/2.6.17.14-tj/00-libata-tj-2.6.17.4-20060710.patch Patch against 2.6.17.14]&lt;br /&gt;
&lt;br /&gt;
* Confirmed to work on&lt;br /&gt;
**ThinkPad {{T43}}, {{T43p}}&lt;br /&gt;
**ThinkPad {{R52}}&lt;br /&gt;
&lt;br /&gt;
For 2.6.18 kernels, or older kernels that were patched to support &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; hotplug (don't try it otherwise!), one can issue the following after inserting an UltraBay drive to rescan the port:&lt;br /&gt;
 {{cmdroot|echo 0 0 0 &amp;gt;  /sys/class/scsi_host/host1/scan}}&lt;br /&gt;
The inserted drive should now be recognized by the kernel, and appropriate {{path|/dev/*}} entries created automatically (e.g., by &amp;lt;tt&amp;gt;udev&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
You can safely shut down the drive by issuing the following (this works with all recent mainline kernels):&lt;br /&gt;
 {{cmdroot|echo 1 &amp;gt; /sys/class/scsi_device/1\:0\:0\:0/device/delete}}&lt;br /&gt;
 {{cmdroot|echo eject &amp;gt;  /proc/acpi/ibm/bay}}&lt;br /&gt;
The drive can now be ejected.&lt;br /&gt;
&lt;br /&gt;
===Scripts for hotswapping===&lt;br /&gt;
&lt;br /&gt;
The following scripts and [[acpid]] daemon configuration files do the following:&lt;br /&gt;
* Automatically unmounts the relevant filesystems and power off the UltraBay when the UltraBay eject lever is released. Screams if some filesystem can't be unmounted.&lt;br /&gt;
* Rescans the UltraBay port when then UltraBay eject lever is pushed back in.&lt;br /&gt;
&lt;br /&gt;
They assumes you're using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver with an appropriate kernel (see above).&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_close}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
sync&lt;br /&gt;
echo 0 0 0 &amp;gt; /sys/class/scsi_host/host1/scan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_open}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
ULTRABAY_SYSDIR='/sys/class/scsi_device/1:0:0:0/device'&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Umount the filesystem(s) backed by the given major:minor device(s)&lt;br /&gt;
unmount_rdev() { perl - &amp;quot;$@&amp;quot; &amp;lt;&amp;lt;'EOPERL'  # let's do it in Perl&lt;br /&gt;
	for $major_minor (@ARGV) {&lt;br /&gt;
		$major_minor =~ m/^(\d+):(\d+)$/ or die;&lt;br /&gt;
		push(@tgt_rdevs, ($1&amp;lt;&amp;lt;8)|$2);&lt;br /&gt;
	}&lt;br /&gt;
        # Sort by reverse length of mount point, to unmount sub-directories first&lt;br /&gt;
        open MOUNTS,&amp;quot;&amp;lt;/proc/mounts&amp;quot; or die &amp;quot;$!&amp;quot;;&lt;br /&gt;
        @mounts=sort { length($b-&amp;gt;[1]) &amp;lt;=&amp;gt; length($a-&amp;gt;[1]) } map { [ split ] } &amp;lt;MOUNTS&amp;gt;;&lt;br /&gt;
        close MOUNTS;&lt;br /&gt;
        foreach $m (@mounts) {&lt;br /&gt;
                ($dev,$dir)=@$m;&lt;br /&gt;
		next unless -b $dev;  $rdev=(stat($dev))[6];&lt;br /&gt;
		next unless grep($_==$rdev, @tgt_rdevs);&lt;br /&gt;
		system(&amp;quot;umount&amp;quot;,&amp;quot;-v&amp;quot;,&amp;quot;$dir&amp;quot;)==0  or  $bad=1;&lt;br /&gt;
	}&lt;br /&gt;
	exit 1 if $bad;&lt;br /&gt;
EOPERL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get the UltraBay's /dev/foo block device node&lt;br /&gt;
ultrabay_dev_node() {&lt;br /&gt;
	UDEV_PATH=&amp;quot;`readlink -e &amp;quot;$ULTRABAY_SYSDIR/block:&amp;quot;*`&amp;quot; || return 1&lt;br /&gt;
	UDEV_NAME=&amp;quot;`udevinfo -q name -p $UDEV_PATH`&amp;quot; || return 1&lt;br /&gt;
	echo /dev/$UDEV_NAME&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -d $ULTRABAY_SYSDIR ]; then&lt;br /&gt;
	sync&lt;br /&gt;
	# Unmount filesystems backed by this device&lt;br /&gt;
	unmount_rdev `cat $ULTRABAY_SYSDIR/block\:*/dev     \&lt;br /&gt;
	                  $ULTRABAY_SYSDIR/block\:*/*/dev`  \&lt;br /&gt;
	|| {&lt;br /&gt;
		echo 10 &amp;gt; /proc/acpi/ibm/beep;  # error tone&lt;br /&gt;
		exit 1;&lt;br /&gt;
	}&lt;br /&gt;
        sync&lt;br /&gt;
        # Nicely power off the device&lt;br /&gt;
	DEVNODE=`ultrabay_dev_node` &amp;amp;&amp;amp; hdparm -Y $DEVNODE&lt;br /&gt;
        # Let HAL+KDE notice the unmount and let the disk spin down&lt;br /&gt;
	sleep 0.5&lt;br /&gt;
	# Unregister this SCSI device:&lt;br /&gt;
	sync&lt;br /&gt;
	echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&lt;br /&gt;
fi&lt;br /&gt;
sync&lt;br /&gt;
# Turn off power to the UltraBay:&lt;br /&gt;
if [ -d /proc/acpi/bay ]; then&lt;br /&gt;
	echo 1 &amp;gt; /proc/acpi/bay/*/eject&lt;br /&gt;
else&lt;br /&gt;
	echo eject &amp;gt; /proc/acpi/ibm/bay&lt;br /&gt;
fi&lt;br /&gt;
# Tell the user we're OK&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/acpi/events/ultrabay-close}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
event=(ibm/bay|bay) MSTR 00000001 00000000&lt;br /&gt;
action=/usr/local/sbin/ultrabay_close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/acpi/events/ultrabay-open}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
event=(ibm/bay|bay) MSTR 00000003 00000000&lt;br /&gt;
action=/usr/local/sbin/ultrabay_open&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart &amp;lt;tt&amp;gt;acpid&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
Many programs, KDe included, rely on [[HAL]] to get notifications and information about device hotplugging. You need to tell HAL that devices connected the UltraBay port are hotpluggable. To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;scsi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Details====&lt;br /&gt;
&lt;br /&gt;
By default, HAL doesn't know that UltraBay devices are hotpluggable:&lt;br /&gt;
&lt;br /&gt;
 # PHYSDEV=/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
 # UDI=`hal-find-by-property --key storage.physical_device --string $PHYSDEV` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key block.device&lt;br /&gt;
 /dev/sdb&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.hotpluggable&lt;br /&gt;
 false&lt;br /&gt;
&lt;br /&gt;
After creating {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as above and re-plugging the device, it will get marked correctly:&lt;br /&gt;
&lt;br /&gt;
 # PHYSDEV=/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
 # UDI=`hal-find-by-property --key storage.physical_device --string $PHYSDEV` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key block.device&lt;br /&gt;
 /dev/sdb&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.hotpluggable&lt;br /&gt;
 true&lt;br /&gt;
&lt;br /&gt;
The string &amp;quot;8086_2653&amp;quot; gives the PCI ID of the [[Intel 82801FBM]] southbridge. If your model has a different southbridge, or the UltraBay is attached to a different port, then you can find the appropriate &amp;lt;tt&amp;gt;storage.physical_device&amp;lt;/tt&amp;gt; value by finding out the block device of the currently running UltraBay device (&amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt; in the following example) and then running:&lt;br /&gt;
&lt;br /&gt;
 # DEVICE=/dev/sdb&lt;br /&gt;
 # UDI=`hal-find-by-property --key block.device --string $DEVICE` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.physical_device&lt;br /&gt;
 /org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
&lt;br /&gt;
If you have a different &amp;lt;tt&amp;gt;storage.physical_device&amp;lt;/tt&amp;gt; value, please report your findings.&lt;br /&gt;
&lt;br /&gt;
==Other comments==&lt;br /&gt;
&lt;br /&gt;
If you are hot-swapping a hard disk on a disk tray, make sure the disk does not have a password set, otherwise it will not be recognized on reinsertion.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=26357</id>
		<title>How to hotswap Ultrabay devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=26357"/>
		<updated>2006-11-11T23:02:20Z</updated>

		<summary type="html">&lt;p&gt;Xoby: adds HAL config for ultrabay with ide-disk driver&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following discusses hotswap (AKA &amp;quot;hotplug&amp;quot;) of devices in the [[UltraBay]].&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies if you use the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver for the UltraBay device.&lt;br /&gt;
&lt;br /&gt;
Hotswapping is supposed to be supported as well, using either hdparm/[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] or [[lt_hotswap]] to (un)register IDE devices. The latter is the recommended method with kernels from 2.6, since it will leave DMA working. However, for recent models (R52, T43, X41, Z60 and later) no method is known to work while maintaining DMA support; see [[Problems with SATA and Linux]].&lt;br /&gt;
&lt;br /&gt;
Only IDE devices (HDD's, optical drives, zip drives) require special treatment - batteries, floppies and other devices can just be pulled from the bay, provided they are not mounted or in use at the time. However, you should still power them down first using the [[ibm-acpi]] eject function.&lt;br /&gt;
&lt;br /&gt;
The [[ibm-acpi]] kernel module has an eject function ({{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}). This only manages the ACPI calls to power down the device and the bay. It does not actually unregister the device from the IDE driver. {{cmdroot|cat /proc/acpi/ibm/bay}} shows &amp;quot;unoccupied&amp;quot; unless an IDE device is present, but the eject function still works and should still be used.&lt;br /&gt;
&lt;br /&gt;
To unregister the device, you can either use the [http://packages.debian.org/unstable/admin/hotswap Debian hotswap] package, or [[lt_hotswap]].&lt;br /&gt;
&lt;br /&gt;
[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] also allows the drive to be swapped as a normal user by default, which is useful. You should use &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; to unregister the device and then {{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}. However, if you use this method on a 2.6 kernel, you will lose DMA support for the reinserted drive. This is due to kernel issues. This method was reported to work on a ThinkPad {{T23}} (kernels 2.6.8.1, 2.6.14.2 and 2.6.15-arch) and {{T42}} (kernel 2.6.13), but fails on a ThinkPad {{T43}} (kernel 2.6.14.3).&lt;br /&gt;
&lt;br /&gt;
[[lt_hotswap]] is now the recommended method to un- and reregister the IDE device. It installs as a kernel module and has support for automatically unregistering the device when the eject event is generated by [[ibm-acpi]]. It will leave DMA support intact. It has supported to work on a ThinkPad {{T22}} and {{T40}} and should work with many other models (but not recent models which require the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver for disk DMA support).&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
HAL support also can also be configured To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;ide&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_ide_1_0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies when using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver, which is necessary for many recent ThinkPad models that use an [[Intel ICH6-M]] controller. See also [[Problems with SATA and Linux]]. &lt;br /&gt;
&lt;br /&gt;
Mainline kernels before 2.6.18 cannot reliably recognize newly (re-)inserted UltraBay drives without a reboot. There are experimental hotplug patches against pre-2.6.18 mainline kernels [http://home-tj.org/wiki/index.php/Libata-tj-stable here].&lt;br /&gt;
&lt;br /&gt;
* Available hotplug patches&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.16.16-20060512.tar.bz2 Patch tarball against 2.6.16.16] ([http://lwn.net/Articles/183407/ Announce])&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.17-20060625-1.tar.bz2 Patch tarball against 2.6.17/2.6.17.1] ([http://article.gmane.org/gmane.linux.ide/11598 Announce])&lt;br /&gt;
**[http://home-tj.org/files/libata-tj-stable/libata-tj-2.6.17.4-20060710.tar.bz2 Patch tarball against 2.6.17.4]&lt;br /&gt;
**[http://whoopie.gmxhome.de/linux/patches/2.6.17.14-tj/00-libata-tj-2.6.17.4-20060710.patch Patch against 2.6.17.14]&lt;br /&gt;
&lt;br /&gt;
* Confirmed to work on&lt;br /&gt;
**ThinkPad {{T43}}, {{T43p}}&lt;br /&gt;
**ThinkPad {{R52}}&lt;br /&gt;
&lt;br /&gt;
For 2.6.18 kernels, or older kernels that were patched to support &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; hotplug (don't try it otherwise!), one can issue the following after inserting an UltraBay drive to rescan the port:&lt;br /&gt;
 {{cmdroot|echo 0 0 0 &amp;gt;  /sys/class/scsi_host/host1/scan}}&lt;br /&gt;
The inserted drive should now be recognized by the kernel, and appropriate {{path|/dev/*}} entries created automatically (e.g., by &amp;lt;tt&amp;gt;udev&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
You can safely shut down the drive by issuing the following (this works with all recent mainline kernels):&lt;br /&gt;
 {{cmdroot|echo 1 &amp;gt; /sys/class/scsi_device/1\:0\:0\:0/device/delete}}&lt;br /&gt;
 {{cmdroot|echo eject &amp;gt;  /proc/acpi/ibm/bay}}&lt;br /&gt;
The drive can now be ejected.&lt;br /&gt;
&lt;br /&gt;
===Scripts for hotswapping===&lt;br /&gt;
&lt;br /&gt;
The following scripts and [[acpid]] daemon configuration files do the following:&lt;br /&gt;
* Automatically unmounts the relevant filesystems and power off the UltraBay when the UltraBay eject lever is released. Screams if some filesystem can't be unmounted.&lt;br /&gt;
* Rescans the UltraBay port when then UltraBay eject lever is pushed back in.&lt;br /&gt;
&lt;br /&gt;
They assumes you're using the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver with an appropriate kernel (see above).&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_close}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
sync&lt;br /&gt;
echo 0 0 0 &amp;gt; /sys/class/scsi_host/host1/scan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_open}} with permissions 755:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
ULTRABAY_SYSDIR='/sys/class/scsi_device/1:0:0:0/device'&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
&lt;br /&gt;
# Umount the filesystem(s) backed by the given major:minor device(s)&lt;br /&gt;
unmount_rdev() { perl - &amp;quot;$@&amp;quot; &amp;lt;&amp;lt;'EOPERL'  # let's do it in Perl&lt;br /&gt;
	for $major_minor (@ARGV) {&lt;br /&gt;
		$major_minor =~ m/^(\d+):(\d+)$/ or die;&lt;br /&gt;
		push(@tgt_rdevs, ($1&amp;lt;&amp;lt;8)|$2);&lt;br /&gt;
	}&lt;br /&gt;
        # Sort by reverse length of mount point, to unmount sub-directories first&lt;br /&gt;
        open MOUNTS,&amp;quot;&amp;lt;/proc/mounts&amp;quot; or die &amp;quot;$!&amp;quot;;&lt;br /&gt;
        @mounts=sort { length($b-&amp;gt;[1]) &amp;lt;=&amp;gt; length($a-&amp;gt;[1]) } map { [ split ] } &amp;lt;MOUNTS&amp;gt;;&lt;br /&gt;
        close MOUNTS;&lt;br /&gt;
        foreach $m (@mounts) {&lt;br /&gt;
                ($dev,$dir)=@$m;&lt;br /&gt;
		next unless -b $dev;  $rdev=(stat($dev))[6];&lt;br /&gt;
		next unless grep($_==$rdev, @tgt_rdevs);&lt;br /&gt;
		system(&amp;quot;umount&amp;quot;,&amp;quot;-v&amp;quot;,&amp;quot;$dir&amp;quot;)==0  or  $bad=1;&lt;br /&gt;
	}&lt;br /&gt;
	exit 1 if $bad;&lt;br /&gt;
EOPERL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get the UltraBay's /dev/foo block device node&lt;br /&gt;
ultrabay_dev_node() {&lt;br /&gt;
	UDEV_PATH=&amp;quot;`readlink -e &amp;quot;$ULTRABAY_SYSDIR/block:&amp;quot;*`&amp;quot; || return 1&lt;br /&gt;
	UDEV_NAME=&amp;quot;`udevinfo -q name -p $UDEV_PATH`&amp;quot; || return 1&lt;br /&gt;
	echo /dev/$UDEV_NAME&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -d $ULTRABAY_SYSDIR ]; then&lt;br /&gt;
	sync&lt;br /&gt;
	# Unmount filesystems backed by this device&lt;br /&gt;
	unmount_rdev `cat $ULTRABAY_SYSDIR/block\:*/dev     \&lt;br /&gt;
	                  $ULTRABAY_SYSDIR/block\:*/*/dev`  \&lt;br /&gt;
	|| {&lt;br /&gt;
		echo 10 &amp;gt; /proc/acpi/ibm/beep;  # error tone&lt;br /&gt;
		exit 1;&lt;br /&gt;
	}&lt;br /&gt;
        sync&lt;br /&gt;
        # Nicely power off the device&lt;br /&gt;
	DEVNODE=`ultrabay_dev_node` &amp;amp;&amp;amp; hdparm -Y $DEVNODE&lt;br /&gt;
        # Let HAL+KDE notice the unmount and let the disk spin down&lt;br /&gt;
	sleep 0.5&lt;br /&gt;
	# Unregister this SCSI device:&lt;br /&gt;
	sync&lt;br /&gt;
	echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&lt;br /&gt;
fi&lt;br /&gt;
sync&lt;br /&gt;
# Turn off power to the UltraBay:&lt;br /&gt;
if [ -d /proc/acpi/bay ]; then&lt;br /&gt;
	echo 1 &amp;gt; /proc/acpi/bay/*/eject&lt;br /&gt;
else&lt;br /&gt;
	echo eject &amp;gt; /proc/acpi/ibm/bay&lt;br /&gt;
fi&lt;br /&gt;
# Tell the user we're OK&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/acpi/events/ultrabay-close}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
event=(ibm/bay|bay) MSTR 00000001 00000000&lt;br /&gt;
action=/usr/local/sbin/ultrabay_close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/acpi/events/ultrabay-open}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
event=(ibm/bay|bay) MSTR 00000003 00000000&lt;br /&gt;
action=/usr/local/sbin/ultrabay_open&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart &amp;lt;tt&amp;gt;acpid&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
Many programs, KDe included, rely on [[HAL]] to get notifications and information about device hotplugging. You need to tell HAL that devices connected the UltraBay port are hotpluggable. To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;scsi&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Details====&lt;br /&gt;
&lt;br /&gt;
By default, HAL doesn't know that UltraBay devices are hotpluggable:&lt;br /&gt;
&lt;br /&gt;
 # PHYSDEV=/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
 # UDI=`hal-find-by-property --key storage.physical_device --string $PHYSDEV` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key block.device&lt;br /&gt;
 /dev/sdb&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.hotpluggable&lt;br /&gt;
 false&lt;br /&gt;
&lt;br /&gt;
After creating {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as above and re-plugging the device, it will get marked correctly:&lt;br /&gt;
&lt;br /&gt;
 # PHYSDEV=/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
 # UDI=`hal-find-by-property --key storage.physical_device --string $PHYSDEV` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key block.device&lt;br /&gt;
 /dev/sdb&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.hotpluggable&lt;br /&gt;
 true&lt;br /&gt;
&lt;br /&gt;
The string &amp;quot;8086_2653&amp;quot; gives the PCI ID of the [[Intel 82801FBM]] southbridge. If your model has a different southbridge, or the UltraBay is attached to a different port, then you can find the appropriate &amp;lt;tt&amp;gt;storage.physical_device&amp;lt;/tt&amp;gt; value by finding out the block device of the currently running UltraBay device (&amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt; in the following example) and then running:&lt;br /&gt;
&lt;br /&gt;
 # DEVICE=/dev/sdb&lt;br /&gt;
 # UDI=`hal-find-by-property --key block.device --string $DEVICE` || echo Failed&lt;br /&gt;
 # hal-get-property --udi $UDI --key storage.physical_device&lt;br /&gt;
 /org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
&lt;br /&gt;
If you have a different &amp;lt;tt&amp;gt;storage.physical_device&amp;lt;/tt&amp;gt; value, please report your findings.&lt;br /&gt;
&lt;br /&gt;
==Other comments==&lt;br /&gt;
&lt;br /&gt;
If you are hot-swapping a hard disk on a disk tray, make sure the disk does not have a password set, otherwise it will not be recognized on reinsertion.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Fglrx&amp;diff=21585</id>
		<title>Fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Fglrx&amp;diff=21585"/>
		<updated>2006-04-13T13:16:18Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ATI fglrx driver ==&lt;br /&gt;
This is a binary-only driver which supports 3D acceleration.&lt;br /&gt;
&lt;br /&gt;
Home page: https://support.ati.com/ics/support/default.asp?deptID=894&amp;amp;task=knowledge&amp;amp;folderID=356&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
Current version: 8.24.8 (13th April 2006)&lt;br /&gt;
&lt;br /&gt;
Major changes:&lt;br /&gt;
* 8.24.8: support for X1300, X1400, X1600, X1800 (generic and mobility) and 3D accelerated video playback on Avivo&lt;br /&gt;
* 8.23.7: support for X850 and X800, OpenGL 2.0 Enhancement, FSAA for some chips&lt;br /&gt;
* 8.22.5: added kernel 2.6.15 support -- patch no longer required&lt;br /&gt;
* 8.21.7: initial OpenGL 2.0 support&lt;br /&gt;
* 8.20.8: fixed resume issues, fixed compile problems with kernels 2.6.13 and 2.6.14&lt;br /&gt;
* 8.19.10: has added suspend / resume and dynamic GPU power management support.  Using vbetool is no longer required (tested and successful with T43p).&lt;br /&gt;
&lt;br /&gt;
== Known problems and solutions ==&lt;br /&gt;
See [[Problems with fglrx]].&lt;br /&gt;
&lt;br /&gt;
== Build from ATI source ==&lt;br /&gt;
To compile for Xorg 7.0.0, fake Xorg 6.9.0 by &lt;br /&gt;
 # export X_VERSION=x690; sh ati-driver-installer-8.24.8-x86.run&lt;br /&gt;
&lt;br /&gt;
In /usr/src/ATI additional sources are installed for fireglcontrol and fgl_glxgears&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Packages ==&lt;br /&gt;
The ATI drivers have explicit permission for repackaging and redistribution of the Linux drivers.  Many distributions are supported within the installer, and many more repackaged by external developers.  Please visit the  [http://wiki.cchtml.com/index.php/Category:Distributions Distribution Page at the Unofficial ATI driver Wiki]&lt;br /&gt;
&lt;br /&gt;
*{{Debian}} packages: http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html&lt;br /&gt;
** These packages have been added to Debian unstable as &amp;quot;fglrx-driver&amp;quot;, so you can now apt-get them and use module-assistant to install (currently v8.20.8-1).&lt;br /&gt;
** If you are on stable sarge with backport's kernel 2.6.15, download ATI's installer, currently v8.22.5, let it build Debian packages and proceed as usual. There's a [http://jroller.com/page/erAck?entry=lot_day_6_2_fglrx detailed description] available.&lt;br /&gt;
*{{SUSE}} packages: ftp://ftp.suse.com/pub/suse/i386/supplementary/X/ATI/&lt;br /&gt;
*{{Gentoo}} {{cmdroot|emerge x11-drivers/ati-drivers}}&lt;br /&gt;
*{{Fedora}} packages: http://rpm.livna.org&lt;br /&gt;
** For stock Fedora kernels: {{cmdroot|yum install kernel-module-fglrx-$(uname -r) ati-fglrx }}&lt;br /&gt;
** Creating and installing a custom RPM for a custom-compiled kernel on {{Fedora}}:&lt;br /&gt;
 # yum install ati-fglrx&lt;br /&gt;
 # VER=8.20.8.1-0.lvn.1.4  # copy version string from output of above command&lt;br /&gt;
 # wget http://rpm.livna.org/fedora/4/i386/SRPMS.lvn/ati-fglrx-$VER.src.rpm&lt;br /&gt;
 # rpmbuild --rebuild --target $(uname -m) --define &amp;quot;ksrc /lib/modules/$(uname -r)/build&amp;quot; --without userland ati-fglrx-$VER.src.rpm&lt;br /&gt;
 # rpm -Uvh --replacepkgs /usr/src/redhat/RPMS/$(uname -m)/kernel-module-fglrx-$(uname -r)-$VER.$(uname -m).rpm&lt;br /&gt;
*{{Arch Linux}}&lt;br /&gt;
** {{cmdroot|pacman -S ati-fglrx}} (kernel module for 2.6.15-ARCH)&lt;br /&gt;
** {{cmdroot|pacman -S ati-fglrx-archck}} (kernel module for 2.6.15-archck)&lt;br /&gt;
** {{cmdroot|pacman -S ati-fglrx-utils}} (xorg7 stuff and tools)&lt;br /&gt;
&lt;br /&gt;
== User experience ==&lt;br /&gt;
=== Speed ===&lt;br /&gt;
How much is the speed gain versus the opensource drivers?&lt;br /&gt;
&lt;br /&gt;
- On the old drivers, I've noticed appx 40% speed gain with ATI fglrx vs open source drivers. However, there are issues with freezing/garbage after suspend, garbage when resizing desktop (ctrl-alt-plus, ctrl-alt-minus), and garbage while using VMware. The current 8.14.13 has shown 400% improvement over using &amp;quot;radeon&amp;quot; or &amp;quot;ati&amp;quot; in xorg.conf. 1200FPS glxgears! (''note that glxgears isnt a benchmark tool, its so simple that its value is without any meaning... you can only compare glxgears using the same drivers/machine, if you change any of then you can have higher/lower values and in real life programs/games happend the opposite. Think in the car engine rpm, higher rpm in the same car usually its a faster car, change anything and its meaningless. ie: gears, truck, wheel size, etc make it useless'')&lt;br /&gt;
&lt;br /&gt;
NOTE: 2D acceleration may be disabled when 3D acceleration is enabled. This comes from the Xorg.conf file the fglrx driver provides&lt;br /&gt;
   # === OpenGL Overlay ===&lt;br /&gt;
   # Note: When OpenGL Overlay is enabled, Video Overlay&lt;br /&gt;
   #       will be disabled automatically&lt;br /&gt;
       Option &amp;quot;OpenGLOverlay&amp;quot;              &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Just a note to the above.  The 2D acceleration for that option refers to video overlay.  You can use either regular Xv video overlay or make the video an opengl texture and let the OpenGL engine scale your video.  It has nothing to do with 2D drawing primitives.  Further, your mileage on performance may vary depending on what card you have.  The open-source drivers don't support newer cards, while the ATI drivers don't support older cards.&lt;br /&gt;
&lt;br /&gt;
=== Power saving ===&lt;br /&gt;
Power saving is much better than with the &amp;lt;tt&amp;gt;radeon&amp;lt;/tt&amp;gt; driver, but doesn't work in dual-screen configuration (see [[How to make use of Graphics Chips Power Management features]]).&lt;br /&gt;
&lt;br /&gt;
== Useful links == &lt;br /&gt;
* [http://www.ati.com/products/catalyst/linux.html ATI Linux Driver FAQ]&lt;br /&gt;
* [http://www.rage3d.com/content/articles/atilinuxhowto/ ATI Radeon Linux How-To]&lt;br /&gt;
* [http://www.rage3d.com/board/forumdisplay.php?f=61&amp;amp;daysprune=30&amp;amp;order=asc&amp;amp;sort=title Rage3D Linux Discussion Forum]&lt;br /&gt;
* [http://www.driverheaven.net/forumdisplay.php?f=103 Radeon Driver Forum at Driverheaven]&lt;br /&gt;
* [http://odin.prohosting.com/wedge01/gentoo-radeon-faq.html Gentoo ATI Radeon FAQ]&lt;br /&gt;
* [http://forums.gentoo.org/viewtopic-t-374745-highlight-t42+ati+dri.html Gentoo T42 ATI. DRI + xorg driver]&lt;br /&gt;
* [http://ati.cchtml.com/ Unofficial community ATI bugzilla] - tracks bugs in the driver. Might be monitored by ATI ([http://www.rage3d.com/board/showpost.php?p=1333438751&amp;amp;postcount=386], [http://www.rage3d.com/board/showpost.php?p=1333439009&amp;amp;postcount=390]).&lt;br /&gt;
&lt;br /&gt;
== ThinkPads that may be supported ==&lt;br /&gt;
Supported chips, as found in select IBM ThinkPads:&lt;br /&gt;
* [[ATI Mobility FireGL 9000]]&lt;br /&gt;
** {{T40p}}&lt;br /&gt;
* [[ATI Mobility FireGL T2]]&lt;br /&gt;
** {{R50p}}&lt;br /&gt;
** {{T41p}}, {{T42p}}&lt;br /&gt;
* [[ATI Mobility FireGL V3200]]&lt;br /&gt;
** {{T43p}}&lt;br /&gt;
* [[ATI Mobility Radeon 9000]]&lt;br /&gt;
** {{R50}}, {{R51}}&lt;br /&gt;
** {{T40}}, {{T41}}, {{T42}}&lt;br /&gt;
* [[ATI Mobility Radeon 9600]]&lt;br /&gt;
** {{T42}}&lt;br /&gt;
* [[ATI Mobility Radeon X300]]&lt;br /&gt;
** {{R52}}&lt;br /&gt;
** {{T43}}&lt;br /&gt;
** {{Z60m}}&lt;br /&gt;
* [[ATI Mobility Radeon Xpress 200M]]&lt;br /&gt;
** {{R51e}}&lt;br /&gt;
* [[ATI Mobility Radeon X600]]&lt;br /&gt;
** {{Z60m}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Fglrx&amp;diff=20747</id>
		<title>Fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Fglrx&amp;diff=20747"/>
		<updated>2006-03-09T09:41:15Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ATI fglrx driver ==&lt;br /&gt;
This is a binary-only driver which supports 3D acceleration.&lt;br /&gt;
&lt;br /&gt;
Home page: https://support.ati.com/ics/support/default.asp?deptID=894&amp;amp;task=knowledge&amp;amp;folderID=356&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
Current version: 8.22.5 (9th February 2006)&lt;br /&gt;
&lt;br /&gt;
Major changes:&lt;br /&gt;
* 8.23.7: support for X850 and X800, OpenGL 2.0 Enhancement, FSAA for some chips&lt;br /&gt;
* 8.22.5: added kernel 2.6.15 support -- patch no longer required&lt;br /&gt;
* 8.21.7: initial OpenGL 2.0 support&lt;br /&gt;
* 8.20.8: fixed resume issues, fixed compile problems with kernels 2.6.13 and 2.6.14&lt;br /&gt;
* 8.19.10: has added suspend / resume and dynamic GPU power management support.  Using vbetool is no longer required (tested and successful with T43p).&lt;br /&gt;
&lt;br /&gt;
== Known problems and solutions ==&lt;br /&gt;
See [[Problems with fglrx]].&lt;br /&gt;
&lt;br /&gt;
== Packages ==&lt;br /&gt;
The ATI drivers have explicit permission for repackaging and redistribution of the Linux drivers.  Many distributions are supported within the installer, and many more repackaged by external developers.  Please visit the  [http://wiki.cchtml.com/index.php/Category:Distributions Distribution Page at the Unofficial ATI driver Wiki]&lt;br /&gt;
&lt;br /&gt;
*{{Debian}} packages: http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html&lt;br /&gt;
** These packages have been added to Debian unstable as &amp;quot;fglrx-driver&amp;quot;, so you can now apt-get them and use module-assistant to install (currently v8.20.8-1).&lt;br /&gt;
** If you are on stable sarge with backport's kernel 2.6.15, download ATI's installer, currently v8.22.5, let it build Debian packages and proceed as usual. There's a [http://jroller.com/page/erAck?entry=lot_day_6_2_fglrx detailed description] available.&lt;br /&gt;
*{{SUSE}} packages: ftp://ftp.suse.com/pub/suse/i386/supplementary/X/ATI/&lt;br /&gt;
*{{Gentoo}} {{cmdroot|emerge x11-drivers/ati-drivers}}&lt;br /&gt;
*{{Fedora}} packages: http://rpm.livna.org&lt;br /&gt;
** For stock Fedora kernels: {{cmdroot|yum install kernel-module-fglrx-$(uname -r) ati-fglrx }}&lt;br /&gt;
** Creating and installing a custom RPM for a custom-compiled kernel on {{Fedora}}:&lt;br /&gt;
 # yum install ati-fglrx&lt;br /&gt;
 # VER=8.20.8.1-0.lvn.1.4  # copy version string from output of above command&lt;br /&gt;
 # wget http://rpm.livna.org/fedora/4/i386/SRPMS.lvn/ati-fglrx-$VER.src.rpm&lt;br /&gt;
 # rpmbuild --rebuild --target $(uname -m) --define &amp;quot;ksrc /lib/modules/$(uname -r)/build&amp;quot; --without userland ati-fglrx-$VER.src.rpm&lt;br /&gt;
 # rpm -Uvh --replacepkgs /usr/src/redhat/RPMS/$(uname -m)/kernel-module-fglrx-$(uname -r)-$VER.$(uname -m).rpm&lt;br /&gt;
*{{Arch Linux}}&lt;br /&gt;
** {{cmdroot|pacman -S ati-drivers}} (Userspace tools and libraries)&lt;br /&gt;
** {{cmdroot|pacman -S ati-drivers-arch}} (Drivers for the stock Arch Linux kernel)&lt;br /&gt;
** {{cmdroot|pacman -S ati-drivers-archck}} (Drivers for the ArchCK Linux kernel)&lt;br /&gt;
== User experience ==&lt;br /&gt;
=== Speed ===&lt;br /&gt;
How much is the speed gain versus the opensource drivers?&lt;br /&gt;
&lt;br /&gt;
- On the old drivers, I've noticed appx 40% speed gain with ATI fglrx vs open source drivers. However, there are issues with freezing/garbage after suspend, garbage when resizing desktop (ctrl-alt-plus, ctrl-alt-minus), and garbage while using VMware. The current 8.14.13 has shown 400% improvement over using &amp;quot;radeon&amp;quot; or &amp;quot;ati&amp;quot; in xorg.conf. 1200FPS glxgears! (''note that glxgears isnt a benchmark tool, its so simple that its value is without any meaning... you can only compare glxgears using the same drivers/machine, if you change any of then you can have higher/lower values and in real life programs/games happend the opposite. Think in the car engine rpm, higher rpm in the same car usually its a faster car, change anything and its meaningless. ie: gears, truck, wheel size, etc make it useless'')&lt;br /&gt;
&lt;br /&gt;
NOTE: 2D acceleration may be disabled when 3D acceleration is enabled. This comes from the Xorg.conf file the fglrx driver provides&lt;br /&gt;
   # === OpenGL Overlay ===&lt;br /&gt;
   # Note: When OpenGL Overlay is enabled, Video Overlay&lt;br /&gt;
   #       will be disabled automatically&lt;br /&gt;
       Option &amp;quot;OpenGLOverlay&amp;quot;              &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Just a note to the above.  The 2D acceleration for that option refers to video overlay.  You can use either regular Xv video overlay or make the video an opengl texture and let the OpenGL engine scale your video.  It has nothing to do with 2D drawing primitives.  Further, your mileage on performance may vary depending on what card you have.  The open-source drivers don't support newer cards, while the ATI drivers don't support older cards.&lt;br /&gt;
&lt;br /&gt;
=== Power saving ===&lt;br /&gt;
Power saving is much better than with the &amp;lt;tt&amp;gt;radeon&amp;lt;/tt&amp;gt; driver, but doesn't work in dual-screen configuration (see [[How to make use of Graphics Chips Power Management features]]).&lt;br /&gt;
&lt;br /&gt;
== Useful links == &lt;br /&gt;
* [http://www.ati.com/products/catalyst/linux.html ATI Linux Driver FAQ]&lt;br /&gt;
* [http://www.rage3d.com/content/articles/atilinuxhowto/ ATI Radeon Linux How-To]&lt;br /&gt;
* [http://www.rage3d.com/board/forumdisplay.php?f=61&amp;amp;daysprune=30&amp;amp;order=asc&amp;amp;sort=title Rage3D Linux Discussion Forum]&lt;br /&gt;
* [http://www.driverheaven.net/forumdisplay.php?f=103 Radeon Driver Forum at Driverheaven]&lt;br /&gt;
* [http://odin.prohosting.com/wedge01/gentoo-radeon-faq.html Gentoo ATI Radeon FAQ]&lt;br /&gt;
* [http://forums.gentoo.org/viewtopic-t-374745-highlight-t42+ati+dri.html Gentoo T42 ATI. DRI + xorg driver]&lt;br /&gt;
* [http://ati.cchtml.com/ Unofficial community ATI bugzilla] - tracks bugs in the driver. Might be monitored by ATI ([http://www.rage3d.com/board/showpost.php?p=1333438751&amp;amp;postcount=386], [http://www.rage3d.com/board/showpost.php?p=1333439009&amp;amp;postcount=390]).&lt;br /&gt;
&lt;br /&gt;
== ThinkPads that may be supported ==&lt;br /&gt;
Supported chips, as found in select IBM ThinkPads:&lt;br /&gt;
* [[ATI Mobility FireGL 9000]]&lt;br /&gt;
** {{T40p}}&lt;br /&gt;
* [[ATI Mobility FireGL T2]]&lt;br /&gt;
** {{R50p}}&lt;br /&gt;
** {{T41p}}, {{T42p}}&lt;br /&gt;
* [[ATI Mobility FireGL V3200]]&lt;br /&gt;
** {{T43p}}&lt;br /&gt;
* [[ATI Mobility Radeon 9000]]&lt;br /&gt;
** {{R50}}, {{R51}}&lt;br /&gt;
** {{T40}}, {{T41}}, {{T42}}&lt;br /&gt;
* [[ATI Mobility Radeon 9600]]&lt;br /&gt;
** {{T42}}&lt;br /&gt;
* [[ATI Mobility Radeon X300]]&lt;br /&gt;
** {{R52}}&lt;br /&gt;
** {{T43}}&lt;br /&gt;
** {{Z60m}}&lt;br /&gt;
* [[ATI Mobility Radeon Xpress 200M]]&lt;br /&gt;
** {{R51e}}&lt;br /&gt;
* [[ATI Mobility Radeon X600]]&lt;br /&gt;
** {{Z60m}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Ipw2200&amp;diff=18477</id>
		<title>Talk:Ipw2200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Ipw2200&amp;diff=18477"/>
		<updated>2006-01-19T10:16:56Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* Reliability problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ipw2000 drivers loads clean on my t42 and the interface eth1 is accessible. However,&lt;br /&gt;
the wireless-lan LED does not light and i cant connect. Havent figured out what this is.&lt;br /&gt;
&lt;br /&gt;
== Radio Switch utility needed ==&lt;br /&gt;
&lt;br /&gt;
I have the same problem. &lt;br /&gt;
WiFi adapter must be turned on before using. In Windows software utility is executed by Fn+F5 keys. This utility turns WiFi and/or Bluetooth adpters on/off. In Linux Fn+F5 controls only Bluetooth adapter.&lt;br /&gt;
Unfortunately I can not find switch utility yet (10 Sep 2005).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Try using the usual hotkey hooks to activate the power management features described in the article.&lt;br /&gt;
--[[User:Thinker|Thinker]] 04:37, 18 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Reliability problems ==&lt;br /&gt;
&lt;br /&gt;
On a T43p ipw2200 v1.0.6 works well 95% of the time with WPA using wpa_supplicant.  However it seemingly randomly causes trouble and refuses to connect (it is not the router, as non-linux devices work.)  It always recovers with a killall wpa_supplicant, unloading the ipw2200 and ieee80211 modules, and reloading everything (you can even write a &amp;quot;netreset&amp;quot; script to do this for you automatically, as I have done.)&lt;br /&gt;
&lt;br /&gt;
It's frustrating, because this is so un-&amp;quot;linux-like&amp;quot; to have intermittent unreliability.  Usually things work 100% or 0% of the time on my linux system.  Note, I have not used the 2.6.15-rc kernel version nor 1.0.8 with WPA yet, this problem might be fixed.  Can anybody verify?  --[[User:Gsmenden|Gsmenden]]&lt;br /&gt;
: Same problem here with a Linksys router and WPA, no problem with other routers ... I'll try the new kernel and ipw2200--[[User:Xoby|Xoby]] 18:35, 15 January 2006 (CET)&lt;br /&gt;
:: I've tried and still had problems, I also edited my wpa_supplicant file to:&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=1&lt;br /&gt;
 ap_scan=1&lt;br /&gt;
 fast_reauth=1&lt;br /&gt;
 ### Associate with any open access point&lt;br /&gt;
 ###  Scans/ESSID changes can be done with wpa_cli&lt;br /&gt;
 network={&lt;br /&gt;
        ssid=&amp;quot;myssid&amp;quot;&lt;br /&gt;
        psk=&amp;quot;mypass&amp;quot;&lt;br /&gt;
        priority=1&lt;br /&gt;
        proto=WPA&lt;br /&gt;
        key_mgmt=WPA-PSK&lt;br /&gt;
        pairwise=TKIP CCMP&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
And successfully transfered more than 5 Gb without any problem--[[User:Xoby|Xoby]] 11:16, 19 January 2006 (CET)&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Ipw2200&amp;diff=18085</id>
		<title>Talk:Ipw2200</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Ipw2200&amp;diff=18085"/>
		<updated>2006-01-15T17:35:44Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* Reliability problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ipw2000 drivers loads clean on my t42 and the interface eth1 is accessible. However,&lt;br /&gt;
the wireless-lan LED does not light and i cant connect. Havent figured out what this is.&lt;br /&gt;
&lt;br /&gt;
== Radio Switch utility needed ==&lt;br /&gt;
&lt;br /&gt;
I have the same problem. &lt;br /&gt;
WiFi adapter must be turned on before using. In Windows software utility is executed by Fn+F5 keys. This utility turns WiFi and/or Bluetooth adpters on/off. In Linux Fn+F5 controls only Bluetooth adapter.&lt;br /&gt;
Unfortunately I can not find switch utility yet (10 Sep 2005).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Try using the usual hotkey hooks to activate the power management features described in the article.&lt;br /&gt;
--[[User:Thinker|Thinker]] 04:37, 18 Nov 2005 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Reliability problems ==&lt;br /&gt;
&lt;br /&gt;
On a T43p ipw2200 v1.0.6 works well 95% of the time with WPA using wpa_supplicant.  However it seemingly randomly causes trouble and refuses to connect (it is not the router, as non-linux devices work.)  It always recovers with a killall wpa_supplicant, unloading the ipw2200 and ieee80211 modules, and reloading everything (you can even write a &amp;quot;netreset&amp;quot; script to do this for you automatically, as I have done.)&lt;br /&gt;
&lt;br /&gt;
It's frustrating, because this is so un-&amp;quot;linux-like&amp;quot; to have intermittent unreliability.  Usually things work 100% or 0% of the time on my linux system.  Note, I have not used the 2.6.15-rc kernel version nor 1.0.8 with WPA yet, this problem might be fixed.  Can anybody verify?  --[[User:Gsmenden|Gsmenden]]&lt;br /&gt;
: Same problem here with a Linksys router and WPA, no problem with other routers ... I'll try the new kernel and ipw2200--[[User:Xoby|Xoby]] 18:35, 15 January 2006 (CET)&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Additional_options_for_the_radeon_driver&amp;diff=11544</id>
		<title>Additional options for the radeon driver</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Additional_options_for_the_radeon_driver&amp;diff=11544"/>
		<updated>2005-10-31T21:57:29Z</updated>

		<summary type="html">&lt;p&gt;Xoby: Add link to xorg doc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Options for the radeon driver are documented on the radeon(4x) man page.&lt;br /&gt;
&lt;br /&gt;
==External Monitors==&lt;br /&gt;
You can use '''MergedFB''' to provide dualhead '''Xinerama'''-like setups. MergedFB's pseudo-Xinerama is not Xorg server's Xinerama. You don't have to enable Xorg server's Xinerama to use MergedFB's pseudo-Xinerama. However, applications compiled with Xinerama support (Gentoo users USE=&amp;quot;xinerama&amp;quot;) can interpret pseudo-Xinerama hints, for example, to maximize to a single monitor instead of spanning two monitors.&lt;br /&gt;
&lt;br /&gt;
The folowing (partial) '''Xorg''' config will make the Radeon card use '''1024x768''' on the internal lcd display and '''1280x1024''' on the external ('''Note''': only one screen/monitor section is needed (it controls the setup of the internal monitor) even though we have two displays):&lt;br /&gt;
'''N.B.:''' Modes used in the ''MetaModes'' also have to be present in the ''screen'' modes section.&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
         Identifier      &amp;quot;ATI&amp;quot;&lt;br /&gt;
         Driver          &amp;quot;radeon&amp;quot;&lt;br /&gt;
         '''# accelration'''&lt;br /&gt;
         Option          &amp;quot;AGPMode&amp;quot; &amp;quot;4&amp;quot;&lt;br /&gt;
         Option          &amp;quot;EnablePageFlip&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
         Option          &amp;quot;RenderAccel&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
         '''# enable PowerPlay features'''&lt;br /&gt;
         Option          &amp;quot;DynamicClocks&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
         '''# use bios hot keys on thinkpad (aka fn+f7)'''&lt;br /&gt;
         Option          &amp;quot;BIOSHotkeys&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
         '''# enable radeon specific xinerama'''&lt;br /&gt;
         Option          &amp;quot;MergedFB&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
         Option          &amp;quot;CRT2Position&amp;quot; &amp;quot;RightOf&amp;quot;&lt;br /&gt;
         Option          &amp;quot;CRT2Hsync&amp;quot; &amp;quot;50-75&amp;quot;&lt;br /&gt;
         Option          &amp;quot;CRT2VRefresh&amp;quot; &amp;quot;30-82&amp;quot;&lt;br /&gt;
         Option          &amp;quot;MetaModes&amp;quot; &amp;quot;1024x768-1280x1024&amp;quot;&lt;br /&gt;
         Option          &amp;quot;MergedNonRectangular&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
         BusID           &amp;quot;PCI:1:0:0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
         Identifier &amp;quot;InternalLCD&amp;quot;&lt;br /&gt;
         Option &amp;quot;DPMS&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
         Identifier &amp;quot;Default Screen&amp;quot;&lt;br /&gt;
         Device &amp;quot;ATI&amp;quot;&lt;br /&gt;
         Monitor &amp;quot;InternalLCD&amp;quot;&lt;br /&gt;
         DefaultDepth 24&lt;br /&gt;
         SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                 Depth 24&lt;br /&gt;
                 Modes &amp;quot;1024x768&amp;quot;&lt;br /&gt;
         EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Note: The '''CRT2''' directives always applies for the external monitore regardless of type (LCD, CRT...). The option '''MergedNonRectangular''' is needed to force the screens into two different sizes.&lt;br /&gt;
&lt;br /&gt;
===External Monitors and Docking Stations/Port Replicators===&lt;br /&gt;
I seams that '''Xorg''' incorectly discovers the external displays when connected to a docking station/port replicator - the only solution to this problem (atleast that I know of) is to start the laptop (and boot all the way into X) prior to inserting it in the dock.&lt;br /&gt;
&lt;br /&gt;
==AGP speed==&lt;br /&gt;
&lt;br /&gt;
By default, the open source radeon driver forces 1x AGP speed. Quote from the developers:&lt;br /&gt;
&lt;br /&gt;
 tuning to the highest speed possible has caused hangs on some boxes, with no&lt;br /&gt;
 discernable pattern, so we default to 'slow but safe' whilst giving the option&lt;br /&gt;
 to go fast if the user wants to try it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Higher speeds can be enabled by adding '''Option &amp;quot;AGPMode&amp;quot; &amp;quot;X&amp;quot;''' (where X is a number) in the '''Device''' section in {{path|/etc/X11/xorg.conf}}.&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Videocard0&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;radeon&amp;quot;&lt;br /&gt;
        VendorName  &amp;quot;IBM Thinkpad&amp;quot;&lt;br /&gt;
        BoardName   &amp;quot;ATIdd Mobility FireGL 7800&amp;quot;&lt;br /&gt;
        '''Option      &amp;quot;AGPMode&amp;quot; &amp;quot;4&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With this option enabled (set to 4x speed), the X11 server should print ({{path|/var/log/Xorg.0.log}}):&lt;br /&gt;
&lt;br /&gt;
 (**) RADEON(0): Option &amp;quot;AGPMode&amp;quot; &amp;quot;4&amp;quot;&lt;br /&gt;
 (**) RADEON(0): Using AGP 4x mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AGP Fast Writes==&lt;br /&gt;
&lt;br /&gt;
By default, the open source radeon driver disables AGP Fast Writes. Fast Writes can be enabled by adding '''Option &amp;quot;AGPFastWrite&amp;quot; &amp;quot;yes&amp;quot;''' in the '''Device''' section in {{path|/etc/X11/xorg.conf}}.&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Videocard0&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;radeon&amp;quot;&lt;br /&gt;
        VendorName  &amp;quot;IBM Thinkpad&amp;quot;&lt;br /&gt;
        BoardName   &amp;quot;ATI Mobility FireGL 7800&amp;quot;&lt;br /&gt;
        '''Option      &amp;quot;AGPFastWrite&amp;quot; &amp;quot;yes&amp;quot;'''&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dynamic Clock scaling==&lt;br /&gt;
&lt;br /&gt;
Please see:&lt;br /&gt;
&lt;br /&gt;
*[[How to make use of Graphics Chips Power Management features]] &amp;lt;tt&amp;gt;(save even more battery power)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://bugs.freedesktop.org/show_bug.cgi?id=2187 Xorg bug] &amp;lt;tt&amp;gt;DynamicClocks may hang your machine&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related Links ==&lt;br /&gt;
*[http://www.x.org/X11R6.8.2/doc/radeon.4.html xorg 6.8.2 Radeon manual page]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_fan_noise&amp;diff=9504</id>
		<title>Talk:Problem with fan noise</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_fan_noise&amp;diff=9504"/>
		<updated>2005-09-30T13:00:45Z</updated>

		<summary type="html">&lt;p&gt;Xoby: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem with fan noise on R51 1829 L7G (ATI M9) ==&lt;br /&gt;
&lt;br /&gt;
On my R51 the fan is behaving like this:&lt;br /&gt;
&lt;br /&gt;
* &amp;gt; 45C -&amp;gt; fan on;&lt;br /&gt;
* &amp;lt; 38C -&amp;gt; fan off.&lt;br /&gt;
&lt;br /&gt;
By using cpufreq + laptop_mode + Xorg DynamicClocks + WiFi power management, I get the fan stopped time to time, but only for 3 minutes time (transition from 38 C -&amp;gt; 45 C). The cooling down cycle is taking 20 minutes in the best case.&lt;br /&gt;
&lt;br /&gt;
I knew about the 'ibm_acpi experimental=1' trick, but in my opinion this is not very useful since nobody can guarantee that a temperature greater then 45 C will not damage the laptop and in the same time the transition time is very short (the laptop gets hot fast without fan).&lt;br /&gt;
&lt;br /&gt;
== Thinkpad T42 Radeon Mobility M7 ==&lt;br /&gt;
&lt;br /&gt;
When Xorg is running, the fan is always on and pretty loud !&lt;br /&gt;
Setting DynamicClocks does not help&lt;br /&gt;
&lt;br /&gt;
it's clear that the GPU is the problem on the thinkpad :&lt;br /&gt;
&lt;br /&gt;
after 10minutes with the fan off&lt;br /&gt;
temperatures:   44 47 33 52 32 -128 24 -128&lt;br /&gt;
&lt;br /&gt;
1:  CPU&lt;br /&gt;
2:  Mini PCI Module&lt;br /&gt;
3:  HDD&lt;br /&gt;
4:  GPU&lt;br /&gt;
5:  Battery&lt;br /&gt;
6:  N/A&lt;br /&gt;
7:  Battery&lt;br /&gt;
8:  N/A&lt;br /&gt;
&lt;br /&gt;
Controlling the fan speed would be really cool !&lt;br /&gt;
&lt;br /&gt;
What is the maximum temperature not to cross ?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Older versions of xorg (i.e. 6.7.0) don't seem to be able to use the DynamicClocks option although it's set in the xorg.conf. Search the log to find out if it's really used.&lt;br /&gt;
&lt;br /&gt;
== Thinkpad R32 with Radeon Mobility M6 ==&lt;br /&gt;
&lt;br /&gt;
Updating xorg-x11 from 6.7.0 to 6.8.2 and using Speedstep (with the ondemand module in this case) helped cooling the system down significantly:&lt;br /&gt;
&lt;br /&gt;
* before updating the CPU was ~62 C in idle state, and got very near the critical temperature (72 C) during heavy load - I even got some freezes because of the heat ;)&lt;br /&gt;
* after the update the CPU is ~54 C in idle state, and still gets to about 68 C while under heavy load&lt;br /&gt;
&lt;br /&gt;
The second sensor (which may be the GPU) is somehow fixed to 50 C (maybe a bug?)&lt;br /&gt;
&lt;br /&gt;
The fan on the R32 is behaving like this:&lt;br /&gt;
&lt;br /&gt;
* &amp;gt; 61 -&amp;gt; fan in state 2 (quite noisy)&lt;br /&gt;
* &amp;lt; 55 -&amp;gt; fan in state 1 (less noisy :) )&lt;br /&gt;
&lt;br /&gt;
But I remember using my old SuSE distribution with kernel 2.4.16, apm and some old x11 version the fan actually stopped completely from time to time.&lt;br /&gt;
&lt;br /&gt;
Concerning the maximum temperature of the CPU, I found that the critical temperature on the R32 for the CPU sensor is 72 C&lt;br /&gt;
(using {{cmdroot|cat /proc/acpi/thermal_zone/THM0/trip_points }} )&lt;br /&gt;
&lt;br /&gt;
== Fan Control script: more save version ==&lt;br /&gt;
&lt;br /&gt;
ibm_acpi works well on my R50 and R51.  But to rely on it completely, I modified the script in two ways:&lt;br /&gt;
&lt;br /&gt;
1. It catches verious signals and turns the fan on before it quits&lt;br /&gt;
&lt;br /&gt;
2. It turns off the fan under very strict conditions, leaving it on when unexpected errors occur.&lt;br /&gt;
&lt;br /&gt;
Here is my script:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 # july 2005 Erik Groeneveld, erik@cq2.nl&lt;br /&gt;
 # More conservatiev and saver version&lt;br /&gt;
 # It make sure the fan is on in case of errors&lt;br /&gt;
 # and only turns it off when all temps are ok.&lt;br /&gt;
 &lt;br /&gt;
 IBM_ACPI=/proc/acpi/ibm&lt;br /&gt;
 THERMOMETER=$IBM_ACPI/thermal&lt;br /&gt;
 FAN=$IBM_ACPI/fan&lt;br /&gt;
 MAXTRIPPOINT=65&lt;br /&gt;
 MINTRIPPOINT=60&lt;br /&gt;
 TRIPPOINT=$MINTRIPPOINT&lt;br /&gt;
 &lt;br /&gt;
 echo fancontrol: Thermometer: $THERMOMETER, Fan: $FAN&lt;br /&gt;
 echo fancontrol: Current `cat $THERMOMETER`&lt;br /&gt;
 echo fancontrol: Controlling temperatures between $MINTRIPPOINT and $MAXTRIPPOINT degrees.&lt;br /&gt;
 &lt;br /&gt;
 # Make sure the fan is turned on when the script crashes or is killed&lt;br /&gt;
 trap &amp;quot;echo enable &amp;gt; $FAN; exit 0&amp;quot; HUP KILL INT ABRT STOP QUIT SEGV TERM&lt;br /&gt;
 &lt;br /&gt;
 while [ 1 ];&lt;br /&gt;
 do&lt;br /&gt;
        command=enable&lt;br /&gt;
        temperatures=`sed s/temperatures:// &amp;lt; $THERMOMETER`&lt;br /&gt;
        result=&lt;br /&gt;
        for temp in $temperatures&lt;br /&gt;
        do&lt;br /&gt;
                test $temp -le $TRIPPOINT &amp;amp;&amp;amp; result=$result.Ok&lt;br /&gt;
        done&lt;br /&gt;
        if [ &amp;quot;$result&amp;quot; = &amp;quot;.Ok.Ok.Ok.Ok.Ok.Ok.Ok.Ok&amp;quot; ]; then&lt;br /&gt;
                command=disable&lt;br /&gt;
                TRIPPOINT=$MAXTRIPPOINT&lt;br /&gt;
        else&lt;br /&gt;
                command=enable&lt;br /&gt;
                TRIPPOINT=$MINTRIPPOINT&lt;br /&gt;
        fi&lt;br /&gt;
        echo $command &amp;gt; $FAN&lt;br /&gt;
        # Temperature ramps up quickly, so pick this not too large:&lt;br /&gt;
        sleep 5&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
I added this script to the other ones. Don't wander about my talk edits, i didn't realize i was on the talk page. [[User:Wyrfel|Wyrfel]] 01:48, 13 Aug 2005 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== X41 ==&lt;br /&gt;
&lt;br /&gt;
Same fan problem here on the X41. Once it starts it won't stop (unless it is _very_ cold outside). Undervolting the CPU doesn't help - still the same problem.&lt;br /&gt;
&lt;br /&gt;
== Fan speed control? ==&lt;br /&gt;
&lt;br /&gt;
Only the X31 and X40 have an ACPI method for controlling the FAN speed (this is why ibm_acpi provides this functionality just for these models).&lt;br /&gt;
&lt;br /&gt;
What will happen if we take the &amp;quot;FANS&amp;quot; method from the  [http://acpi.sourceforge.net/dsdt/view.php?id=219 X40 DSDT], paste it into a iasl-disassembled DSDT of (say) a T43, recompile it and [http://gaugusch.at/kernel.shtml tell the kernel] to use the patched DSDT? ibm_acpi will present the functionality, but it may or may not work.&lt;br /&gt;
&lt;br /&gt;
--[[User:Thinker|Thinker]] 16:16, 28 Sep 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
Any risk of damaging the hardware when doing this? E.g. what does occur if the system overheats - will the CPU be destroyed are does it automatically switch of? As I've just bought a new X41 I don't want to take any stupid risks - but otherwise I'd say let's try it out.&lt;br /&gt;
&lt;br /&gt;
--gst Thu Sep 29 18:14:13 CEST 2005&lt;br /&gt;
&lt;br /&gt;
I think Intel CPUs have some built-in thermal protection, but I'd hate to test it. And of course, any fiddling with the hardware at this level might damage it. That said, when the CPU is mostly idle it keeps a reasonable temperature even when the fan is disabled, so as long as you keep an eye on both the CPU usage meter and /proc/acpi/ibm/thermal, things should be pretty safe temperature-wise. For extra safety you can force the CPU to its lowest speed via {{path|/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq}}.&lt;br /&gt;
--[[User:Thinker|Thinker]] 18:33, 29 Sep 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Further information ==&lt;br /&gt;
&lt;br /&gt;
I've just found a very interesting thread regarding the same issue on HP notebooks. IMO it provides many insight information about heat/fan problems in general, the URL is: http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=853249&lt;br /&gt;
Especially the posts by the HP engineer &amp;quot;Andy Fisher&amp;quot; are very interesting. IBM should be able to provide the same BIOS fix as HP did (maybe I should have bought an HP notebook instead of a Thinkpad?).&lt;br /&gt;
&lt;br /&gt;
I've also contacted IBM/Lenovo support via the website about the fan issue. Maybe it helps when others do this as well (especially people who bought larger quantities) so that this issue is taken serious by Lenovo. Is there already any official response to this problem?&lt;br /&gt;
&lt;br /&gt;
--gst Thu Sep 29 19:40:34 CEST 2005&lt;br /&gt;
&lt;br /&gt;
Two of the changes mentioned by the HP engineer make perfect sense here: raise the low trip points and make speed transition gradual. Oh, and get rid of the annoying beat pattern (a brief speed pulse every few seconds) it sometimes gets into!&lt;br /&gt;
&lt;br /&gt;
But from our perspective, what would probably be best is to do the whole thing in software, providing the flexibility for personal preferences and smart decisions. The hardware would only enforce emergency override or throttle/shutdown for extreme temperatures. Then we could do cute things like having a software daemon lower the thresholds in a noisy environment (as judged using the built-in microphone) or when the laptop is on the user's lap (as judged by the built-in accelometers).&lt;br /&gt;
&lt;br /&gt;
== Works fine with APM instead of ACPI? ==&lt;br /&gt;
&lt;br /&gt;
On my X41 the fan starts after about 10 minutes of use and doesn't stop (until it is rather cold in my room - and even then it runs most of the time ;) A friend of mine who has a X41 too (though another model) and who does use NetBSD and APM doesn't experience this problem. He claims that the fan only comes up if the system is not idle. So either it is colder in his room, the X41 model which he has doesn't have this flaw or APM does use different tresholds than ACPI.&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Buyers_Guide&amp;diff=8654</id>
		<title>Buyers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Buyers_Guide&amp;diff=8654"/>
		<updated>2005-08-31T13:07:17Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* Special deals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is dedicated to hints about buying used or new ThinkPad models. You can find notes about typical weaknesses of used ThinkPads here and other things you should care about when choosing a ThinkPad and where to buy it.&lt;br /&gt;
&lt;br /&gt;
==Only some random notes so far==&lt;br /&gt;
*{{390X}} models with 15&amp;quot; display are said to have weak display cables that tend to break.&lt;br /&gt;
*{{A30}}, {{A30p}}, {{A31}}, {{A31p}} seem to have a mechanical design that can cause the motherboard to break. At least there are a significant number of reports of broken motherboards on these models.&lt;br /&gt;
==Build it yourself and save money==&lt;br /&gt;
Lenovo offers more flexibility than any other major manufacturer of laptop computers, at least that I know of. Their &amp;quot;configure-to-order&amp;quot; (CTO) offerings let you build the computer you want, without paying for anything you don't want. The basic CTO includes the mainboard and CPU, but no RAM, disk, mini-PCI cards, software, or other add-ons. You can even get a laptop in a CTO configuration.&lt;br /&gt;
&lt;br /&gt;
I built my {{X32}} notebook with 1GB RAM, 60GB 5400RPM hard drive, USB DVD-ROM CD-RW drive, and 802.11a/b/g mini-PCI for a grand total of US$1,206, including tax and shipping.&lt;br /&gt;
&lt;br /&gt;
Start with the complete list of [[https://www-03.ibm.com/lenovo/shop/personalpages/public/public/products/dsp_product_list.cfm products]]. Look for items that end with &amp;quot;CTO&amp;quot; or &amp;quot;Custom.&amp;quot; Choose the chassis you want. Then add whatever [[http://www-132.ibm.com/content/home/store_IBMPublicUSA/en_US/Upgrades.html upgrades]] you need that only Lenovo offers (such as WiFi). Fill in the rest of the components from other, less expensive vendors.&lt;br /&gt;
&lt;br /&gt;
== Special deals ==&lt;br /&gt;
* IBM makes huge discounts to students and teachers:&lt;br /&gt;
** France: [http://www.ibm.com/easyaccess/education IBM education homepage]&lt;br /&gt;
** switzerland: [http://www.rabais-etudiant.ch/ rabais-etudiant]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Buyers_Guide&amp;diff=8653</id>
		<title>Buyers Guide</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Buyers_Guide&amp;diff=8653"/>
		<updated>2005-08-31T13:00:51Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* Build it yourself and save money */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is dedicated to hints about buying used or new ThinkPad models. You can find notes about typical weaknesses of used ThinkPads here and other things you should care about when choosing a ThinkPad and where to buy it.&lt;br /&gt;
&lt;br /&gt;
==Only some random notes so far==&lt;br /&gt;
*{{390X}} models with 15&amp;quot; display are said to have weak display cables that tend to break.&lt;br /&gt;
*{{A30}}, {{A30p}}, {{A31}}, {{A31p}} seem to have a mechanical design that can cause the motherboard to break. At least there are a significant number of reports of broken motherboards on these models.&lt;br /&gt;
==Build it yourself and save money==&lt;br /&gt;
Lenovo offers more flexibility than any other major manufacturer of laptop computers, at least that I know of. Their &amp;quot;configure-to-order&amp;quot; (CTO) offerings let you build the computer you want, without paying for anything you don't want. The basic CTO includes the mainboard and CPU, but no RAM, disk, mini-PCI cards, software, or other add-ons. You can even get a laptop in a CTO configuration.&lt;br /&gt;
&lt;br /&gt;
I built my {{X32}} notebook with 1GB RAM, 60GB 5400RPM hard drive, USB DVD-ROM CD-RW drive, and 802.11a/b/g mini-PCI for a grand total of US$1,206, including tax and shipping.&lt;br /&gt;
&lt;br /&gt;
Start with the complete list of [[https://www-03.ibm.com/lenovo/shop/personalpages/public/public/products/dsp_product_list.cfm products]]. Look for items that end with &amp;quot;CTO&amp;quot; or &amp;quot;Custom.&amp;quot; Choose the chassis you want. Then add whatever [[http://www-132.ibm.com/content/home/store_IBMPublicUSA/en_US/Upgrades.html upgrades]] you need that only Lenovo offers (such as WiFi). Fill in the rest of the components from other, less expensive vendors.&lt;br /&gt;
&lt;br /&gt;
== Special deals ==&lt;br /&gt;
* for students IBM makes huge discounts : see www.ibm.com/easyaccess/education for France&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_build_your_own_Ultrabay_drive&amp;diff=7772</id>
		<title>How to build your own Ultrabay drive</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_build_your_own_Ultrabay_drive&amp;diff=7772"/>
		<updated>2005-08-08T18:04:15Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* The Limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WARN|No warranty of any kind is given for the correctness of the following instructions. Following them can damage your machine. Proceed at your own risk.}}&lt;br /&gt;
{{NOTE|This article is written with UltraBay 2000 drives in mind. But should be appliable for UltraSlimBay and other kinds of UltraBay devices as well.}}&lt;br /&gt;
Optical [[UltraBay]] drives like CD-ROM and DVD drives or burners are usually a bit more expensive than their non-IBM counterparts. Additionally mor modern technologies are not available for discontinued [[UltraBay]] standards. A solution to this annoyance is to take a standard slim form factor notebook drive and turn it into an UltraBay drive yourself.&lt;br /&gt;
&lt;br /&gt;
==The Basics==&lt;br /&gt;
The &amp;quot;big secret&amp;quot; about UltraBay drives is that basically they are just standard slim form factor notebook drives equipped with an UltraBay frame. This frame is just a mechanical addition with an integrated connector adapter.&lt;br /&gt;
&lt;br /&gt;
As curious people found, the inner connector of an UltraBay frame is nothing more than a standard interface for such drives. Hence, it is generally possible to disassemble an old UltraBay drive and attach the frame to a newer or better one.&lt;br /&gt;
&lt;br /&gt;
There are, however, some things to consider...&lt;br /&gt;
&lt;br /&gt;
==The Limitations==&lt;br /&gt;
Even though these slim form factor drives seem to have a standard form factor at first look, it runs out that there are marginal mechanical differences. This makes it hard if at all possible to know beforehand if the UltraBay frame from your old drive will perfectly fit onto the new one. The fact that different UltraBay drives even for the same UltraBay standard have frames with different mechanical characteristics. Small differences can sometimes be adjusted my modifying parts of the frame, but this is of course not the nicest solution.&lt;br /&gt;
&lt;br /&gt;
The most varying part is the Blending, which is usually not compatible even among drives of the same manufacturer. The position of the eject button, the drive LED, the emergency eject hole and the way the blending is attached to the drive all vary a lot. Do precise research before you buy anything. One solution here is to keep the original blending of the drive, since the UltraBay blending is independent from the rest of the frame. The disadvantage is an optical one: the standard blendings are usually flat whereas the UltraBay blendings usually are a bit thicker at the top and thinner at the bottom. Also, for some UltraBay standards you would have to cut out the lower right edge of the blending, since the standard drive blendings are usually rectangle shaped.&lt;br /&gt;
&lt;br /&gt;
==UltraBay 2000==&lt;br /&gt;
The UltraBay 2000 frame consists of four parts: Blending, left wing, right wing and the back part containing the connector interface.&lt;br /&gt;
&lt;br /&gt;
The left and right parts are attached with little screws in holes which are at standard positions and should usually fit among all drives. However, the actual drives show tiny variations in width, which are leveraged by the left and right parts. Hence these can be a bit thicker or thinner (fractions of 1mm). Putting a slightly thicker frame part onto a slightly thicker drive might result in an UltraBay drive that doesn't fit into the bay at all because it's just a tiny little bit to broad. This can be dealt with by i.e. sanding one of the side frame parts, but it's better if it all fits from the beginning. Also, the side frames have hatches fitting into the wholes in the back part. Among frames these hatches vary in thickness and length and hence, again, might not fit easily. Again, they can be adjusted by cutting them a bit.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0 cellpadding=2&lt;br /&gt;
|+ UltraBay 2000 drives and compatible alternative drives&lt;br /&gt;
|-&lt;br /&gt;
! UltraBay drive !! IBM Part-Nr. !! actual drive !! compatible drive !! needed steps to make fitting&lt;br /&gt;
|-&lt;br /&gt;
| 24x CD-ROM drive || ... || TEAC CD-224E || ... || ...&lt;br /&gt;
|-&lt;br /&gt;
| 8x DVD drive || 27L3447 || Matsushita SR-8175-M || ... || ...&lt;br /&gt;
|-&lt;br /&gt;
| 8x DVD drive || 08K9648 || Matsushita SR-8176-M || ... || ...&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Hardware_Specifications&amp;diff=5851</id>
		<title>Hardware Specifications</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Hardware_Specifications&amp;diff=5851"/>
		<updated>2005-06-22T09:50:10Z</updated>

		<summary type="html">&lt;p&gt;Xoby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hardware specs and information about the specific Thinkpad Models.==&lt;br /&gt;
* Choose a model name to to get a list of all currently available information related to this Model.&lt;br /&gt;
* Choose a type-and-model number to get the specs of that specific model.&lt;br /&gt;
* Compare the [[Thinkpad series]] (R, T, X, G), get an overview of the [[ThinkPad History]] or learn about the name [[ThinkPad]].&lt;br /&gt;
** For current G, R, T and X series models look for the official IBM specs listed in [ftp://ftp.software.ibm.com/pc/pcinstitute/psref/tabook.pdf tabook.pdf]&lt;br /&gt;
** For withdrawn A, G, T and X series models look for the official IBM specs listed in [ftp://ftp.software.ibm.com/pc/pcinstitute/psref/tawbook.pdf tawbook.pdf]&lt;br /&gt;
** For withdrawn R series models look for the official IBM specs listed in [ftp://ftp.software.ibm.com/pc/pcinstitute/psref/trwbook.pdf trwbook.pdf]&lt;br /&gt;
** For withdrawn i series models look for the official IBM specs listed in [ftp://ftp.software.ibm.com/pc/pcinstitute/psref/tiwbook.pdf tiwbook.pdf]&lt;br /&gt;
** For withdrawn 200, 300, 500, 600 and 700 series models look for the official IBM specs listed in [ftp://ftp.software.ibm.com/pc/pcinstitute/psref/twbook.pdf twbook.pdf]&amp;lt;br&amp;gt;&lt;br /&gt;
** Or try searching the IBM announcements letters [http://www.ibm.com/news/usalet/ here].&lt;br /&gt;
&lt;br /&gt;
==Available Models==&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
!Numbered!!A series!!G series!!R series!!S series!!T series!!X series!!others&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
'''[[:Category:390X | ThinkPad 390X]]'''&lt;br /&gt;
*[[2626-L0U]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:600X | ThinkPad 600X]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:700 | ThinkPad 700]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:770E | ThinkPad 770E]]'''&lt;br /&gt;
*[[9548-510]]&lt;br /&gt;
*[[9548-51U]]&lt;br /&gt;
*[[9548-52U]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:770X | ThinkPad 770X]]'''&lt;br /&gt;
*[[9549-7AO]]&lt;br /&gt;
'''[[:Category:770Z | ThinkPad 770Z]]'''&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:A20m | ThinkPad A20m]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A20p | ThinkPad A20p]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A21e | ThinkPad A21e]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A21m | ThinkPad A21m]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A21p | ThinkPad A21p]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A22e | ThinkPad A22e]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A22m | ThinkPad A22m]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A22p | ThinkPad A22p]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A30 | ThinkPad A30]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A30p | ThinkPad A30p]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A31 | ThinkPad A31]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:A31p | ThinkPad A31p]]'''&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:G40 | ThinkPad G40]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:G41 | ThinkPad G41]]'''&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:R30 | ThinkPad R30]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:R31 | ThinkPad R31]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:R32 | ThinkPad R32]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:R40 | ThinkPad R40]]'''&lt;br /&gt;
*[[2722-9BM]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:R40e | ThinkPad R40e]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:R50 | ThinkPad R50]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:R50p | ThinkPad R50p]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:R51 | ThinkPad R51]]'''&lt;br /&gt;
*[[1830-DG4]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:R52 | ThinkPad R52]]'''&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:S30|ThinkPad S30]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:S31|ThinkPad S31]]'''&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:T20|ThinkPad T20]]'''&lt;br /&gt;
*[[2647-44G]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T21|ThinkPad T21]]'''&lt;br /&gt;
*[[2647-97G]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T22|ThinkPad T22]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T23 | ThinkPad T23]]'''&lt;br /&gt;
*[[2647-9RG]]&lt;br /&gt;
*[[2647-7G1]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T30 | ThinkPad T30]]'''&lt;br /&gt;
*[[2366-52U]]&lt;br /&gt;
*[[2366-FBG]]&lt;br /&gt;
*[[2366-JBG]]&lt;br /&gt;
*[[2366-R7G]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T40 | ThinkPad T40]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T40p | ThinkPad T40p]]'''&lt;br /&gt;
*[[2372-G1U]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T41 | ThinkPad T41]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T41p | ThinkPad T41p]]'''&lt;br /&gt;
*[[2373-315]]&lt;br /&gt;
*[[2373-GEG]]&lt;br /&gt;
*[[2373-GGG]]&lt;br /&gt;
*[[2373-GHG]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T42 | ThinkPad T42]]'''&lt;br /&gt;
*[[2373-6ZG]]&lt;br /&gt;
*[[2373-9XU]]&lt;br /&gt;
*[[2373-F1G]]&lt;br /&gt;
*[[2378-FVU]]&lt;br /&gt;
*[[2373-FWG]]&lt;br /&gt;
*[[2373-WGK]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T42p | ThinkPad T42p]]'''&lt;br /&gt;
*[[2373-HTG]]&lt;br /&gt;
*[[2373-W6M]]&lt;br /&gt;
*[[2373-Y4M]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T43 | Thinkpad T43]]'''&lt;br /&gt;
*[[2668-C2U]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:T43p | Thinkpad T43p]]'''&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:X20 | ThinkPad X20]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:X21 | ThinkPad X21]]'''&lt;br /&gt;
*[[2662-66U]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:X22 | ThinkPad X22]]'''&lt;br /&gt;
*[[2662-95U]]&lt;br /&gt;
*[[2662-9BU]]&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:X23 | ThinkPad X23]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:X24 | ThinkPad X24]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:X30 | ThinkPad X30]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:X31 | ThinkPad X31]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:X40 | ThinkPad X40]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:X41 | ThinkPad X41]]'''&lt;br /&gt;
&lt;br /&gt;
'''[[:Category:X41 Tablet | ThinkPad X41 Tablet]]'''&lt;br /&gt;
||&lt;br /&gt;
'''[[:Category:PC110 | PC110]]'''&lt;br /&gt;
*[[PC110]]&lt;br /&gt;
'''[[:Category:TransNote|TransNote]]'''&lt;br /&gt;
*[[2675-61G]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Models]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:600X&amp;diff=5854</id>
		<title>Category:600X</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:600X&amp;diff=5854"/>
		<updated>2005-06-22T09:49:49Z</updated>

		<summary type="html">&lt;p&gt;Xoby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:ThinkPad600.jpg|ThinkPad 600X]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== T&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:600X&amp;diff=5846</id>
		<title>Category:600X</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:600X&amp;diff=5846"/>
		<updated>2005-06-22T09:49:27Z</updated>

		<summary type="html">&lt;p&gt;Xoby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:ThinkPad600.jpg|ThinkPad 600X]]&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ibm-acpi&amp;diff=6074</id>
		<title>Ibm-acpi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ibm-acpi&amp;diff=6074"/>
		<updated>2005-06-22T09:48:45Z</updated>

		<summary type="html">&lt;p&gt;Xoby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ibm-acpi - IBM ThinkPad ACPI Extras Driver ==&lt;br /&gt;
&lt;br /&gt;
This is a Linux ACPI driver for the IBM ThinkPad laptops written by Borislav Deianov. It aims to support various features of these laptops which are accessible through the ACPI framework but not otherwise supported by the generic Linux ACPI drivers. As a kernel module, ibm-acpi works as a bridge to deliver information about certain hardware events like key presses or control the state of certain hardware features by software. &lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Fn key combinations ({{key|Fn}}{{key|F3}}, {{key|Fn}}{{key|F4}}, {{key|Fn}}{{key|F5}}, {{key|Fn}}{{key|F12}})&lt;br /&gt;
* Bluetooth enabling and disabling&lt;br /&gt;
* video output switching, video expansion control&lt;br /&gt;
* ThinkLight on/off&lt;br /&gt;
* limited docking and undocking&lt;br /&gt;
* UltraBay device eject&lt;br /&gt;
* control over several CMOS states&lt;br /&gt;
* control of LEDs&lt;br /&gt;
* beep generation&lt;br /&gt;
* five temperature sensors&lt;br /&gt;
* fan control&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage / Availability ===&lt;br /&gt;
http://ibm-acpi.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
Included with the linux kernel since 2.6.10.&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
in development, usable, very much alive&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
*[[:Category:Debian | Debian]] Packages: http://debian.isg.ee.ethz.ch/public/&lt;br /&gt;
*[[:Category:Gentoo | Gentoo]] ebuild: http://packages.gentoo.org/packages/?category=app-laptop;name=ibm-acpi&lt;br /&gt;
&lt;br /&gt;
=== Application support===&lt;br /&gt;
* [http://www.gkrellm.net GKrellM] supports fan and thermal information&lt;br /&gt;
&lt;br /&gt;
=== Interesting links related to this project ===&lt;br /&gt;
* [http://ibm-acpi.sf.net ibm-acpi Sourceforge project summary]&lt;br /&gt;
* [http://mailman.linux-thinkpad.org/mailman/listinfo/linux-thinkpad Linux-Thinkpad Mailinglist]&lt;br /&gt;
* [http://acpi.sourceforge.net acpi.sourceforge.net]&lt;br /&gt;
* [http://www.kernel.org www.kernel.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]]&lt;br /&gt;
[[Category:570]] [[Category:570E]] [[Category:A20m]] [[Category:A20p]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X40]]&lt;br /&gt;
[[de:ibm-acpi]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=5780</id>
		<title>How to make ACPI work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=5780"/>
		<updated>2005-06-16T22:34:12Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* Suspend to RAM (Sleep) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==general==&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
First of all you'll have to enable ACPI support in your kernel (if your distro doesn't already have an ACPI enabled kernel).&lt;br /&gt;
To do this open your kernel config, go to &amp;lt;code&amp;gt;Power management options&amp;lt;/code&amp;gt;, enable &amp;lt;code&amp;gt;Power Management support&amp;lt;/code&amp;gt;, go to &amp;lt;code&amp;gt;ACPI&amp;lt;/code&amp;gt; and enable the needed options. You'd most likely want to enable &amp;lt;code&amp;gt;Sleep States&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AC Adapter&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Battery&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Fan&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Processor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Thermal Zone&amp;lt;/code&amp;gt;. Then recompile your kernel.&lt;br /&gt;
&lt;br /&gt;
If you prefer editing your .config file directly, you should set at least the following variables:&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_ACPI_BOOT=y&lt;br /&gt;
 CONFIG_ACPI_INTERPRETER=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP_PROC_FS=y&lt;br /&gt;
 CONFIG_ACPI_AC=y&lt;br /&gt;
 CONFIG_ACPI_BATTERY=y&lt;br /&gt;
 CONFIG_ACPI_BUTTON=y&lt;br /&gt;
 CONFIG_ACPI_FAN=y&lt;br /&gt;
 CONFIG_ACPI_PROCESSOR=y&lt;br /&gt;
 CONFIG_ACPI_THERMAL=y&lt;br /&gt;
 CONFIG_ACPI_BUS=y&lt;br /&gt;
 CONFIG_ACPI_EC=y&lt;br /&gt;
 CONFIG_ACPI_POWER=y&lt;br /&gt;
 CONFIG_ACPI_PCI=y&lt;br /&gt;
 CONFIG_ACPI_SYSTEM=y&lt;br /&gt;
&lt;br /&gt;
===IBM specific ACPI driver===&lt;br /&gt;
Unfortunately, special drivers for ACPI on ThinkPads were not included with kernels prior 2.6.10.&amp;lt;br /&amp;gt;&lt;br /&gt;
So you'll have to compile one yourself or get it as precompiled module for your kernel.&amp;lt;br /&amp;gt;&lt;br /&gt;
You have the choice between [[thinkpad-acpi]] and [[ibm-acpi]], with the latter being the recommended one.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you use a post-2.6.10 kernel and you want to use [[ibm-acpi]], it is recommended to look on its projects page for a possibly newer version.&amp;lt;br /&amp;gt;&lt;br /&gt;
In general it is a good idea to read the README included with the driver.&lt;br /&gt;
&lt;br /&gt;
===ACPI daemon===&lt;br /&gt;
Also you'll need to install [[acpid]], if it isn't present on your system. [[acpid]] is a daemon that handles the ACPI events generated by the system. Read [[How to configure acpid]].&lt;br /&gt;
&lt;br /&gt;
==Screen blanking (Standby)==&lt;br /&gt;
Make sure you have &lt;br /&gt;
 Option &amp;quot;DPMS&amp;quot;&lt;br /&gt;
in the Monitor section of your XF86Config/xorg.conf.&lt;br /&gt;
&lt;br /&gt;
Running {{cmd|xset +dpms}} and then {{cmd|xset dpms force off}} will turn off the backlight on a laptop screen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this may not work in combination with {{cmd|echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state}} because switching to console causes the backlight to come back on before sleeping.&lt;br /&gt;
&lt;br /&gt;
==Suspend to RAM (Sleep)==&lt;br /&gt;
ACPI Sleep/suspend-to-ram with recent 2.6.x kernels usually works fine. Have a look at the [[How to configure acpid|acpid configuration HOWTO]]. It includes a specific example for going to sleep on lid close.&lt;br /&gt;
&lt;br /&gt;
The following glitches may or may not occur in relation to suspending to RAM:&lt;br /&gt;
* With a 2.6.9 or 2.6.10 kernel, when resuming from a suspend-to-ram the display might remain black (the system is still rebootable via ctrl-alt-del). This can be fixed by adding &amp;lt;tt&amp;gt;acpi_sleep=s3_bios&amp;lt;/tt&amp;gt; to the kernel boot parameters. It seems this problem is solved in 2.6.11-rc1.&lt;br /&gt;
* When your system is equiped with a Radeon Mobility graphic controller your [[Problem with LCD backlight remaining on during ACPI sleep|LCD backlight may not turn off automatically]]. Use [[radeontool]] to switch off your backlight prior suspend in your sleep action script.&lt;br /&gt;
* Also, you might want to take note of the [[Problem with high power drain in ACPI sleep]].&lt;br /&gt;
* You may experience problems when using {{cmdroot|echo standby &amp;gt; /sys/power/state}} (machine goes to sleep and wakes up immediately). This can be avoided by using {{cmdroot|echo -n 3 &amp;gt;/proc/acpi/sleep}} to get it to sleep. This can be also happen if hotplug daemon is still running.&lt;br /&gt;
* Problems with the serial port of the port replicator after the wake up from ram have also been experienced.&lt;br /&gt;
* Crash on resume when using ATI proprietary drivers can be solved by using [http://freshmeat.net/projects/vbetool/ vbetool].&lt;br /&gt;
&lt;br /&gt;
==Suspend to disk (Hibernate)==&lt;br /&gt;
There are two drivers for this available:&lt;br /&gt;
* swsusp, which is in the kernel and&lt;br /&gt;
* [http://developer.berlios.de/projects/softwaresuspend/ SoftwareSuspend2] which is more feature rich, but not yet in the kernel, so you have to patch it in yourself&lt;br /&gt;
Both are reported to work fine as long as you use open-source graphic drivers. A comparison of the features can be found on [http://softwaresuspend.berlios.de/features.html this page].&lt;br /&gt;
&lt;br /&gt;
Just in case you are in doubt...yes, it is safe in both cases to use the same swap partition as active swap and as suspend partition.&lt;br /&gt;
&lt;br /&gt;
===using swsusp===&lt;br /&gt;
Software Suspend (swsusp) is included in the 2.6 kernel series. It seems like no patches for 2.4 kernels are available.&lt;br /&gt;
&lt;br /&gt;
To enable it, go to &amp;lt;tt&amp;gt;Power management options&amp;lt;/tt&amp;gt; and enable &amp;lt;tt&amp;gt;Power management support&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Software Suspend&amp;lt;/tt&amp;gt; in the kernel config menu. You'll also want to give the swap partition to suspend to in &amp;lt;tt&amp;gt;Default resume partition&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case you prefer to edit your config file directly, you should have the following three entries look like here...&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND=y&lt;br /&gt;
 CONFIG_PM_STD_PARTITION=&amp;quot;/dev/resume_partition&amp;quot;&lt;br /&gt;
...where &amp;lt;tt&amp;gt;/dev/resume_partition&amp;lt;/tt&amp;gt; needs to be replaced by the swap partition you want to use for suspending. (Use {{cmdroot|fdisk -l /dev/hda}} if unsure.)&lt;br /&gt;
&lt;br /&gt;
You can override the default resume partition anytime by giving &amp;lt;tt&amp;gt;resume=/dev/resume_partition&amp;lt;/tt&amp;gt; as kernel boot parameter.&lt;br /&gt;
Also, in case you suspended, but want to boot up normally (without resuming from the saved image - loosing all data that was unsaved at suspend time), you can give the &amp;lt;tt&amp;gt;noresume&amp;lt;/tt&amp;gt; kernel boot parameter.&lt;br /&gt;
&lt;br /&gt;
To suspend you can either do a simple {{cmdroot|echo -n 4 &amp;gt; /proc/acpi/sleep}} (recommended) or use the [http://softwaresuspend.berlios.de/old-site/swsusp/sysvinit-2.76-v2-for_swsusp-v5.tar.gz patched SysVInit] and call {{cmdroot|swsusp}} or {{cmdroot|shutdown -z now}}.&lt;br /&gt;
&lt;br /&gt;
Ideally you would do this from a script like &amp;lt;tt&amp;gt;/etc/acpi/actions/hibernate.sh&amp;lt;/tt&amp;gt;. It has proven to be a good idea to shutdown the following processes/drivers within the script before you do the actual suspend.&lt;br /&gt;
*any running mysql server&lt;br /&gt;
*the linuxant driver may require stopping in a acpi script as well. {{cmdroot|dldrstop}} does the trick.&lt;br /&gt;
&lt;br /&gt;
Afterwards you might want to enable them again, as well as run a script that does necessary configurations according to the ac power state.&lt;br /&gt;
Furthermore, the system clock is not readjusted automatically, so you will probably also want the do that from that script (i.e. by restarting your systemclock bootup script).&lt;br /&gt;
&lt;br /&gt;
If the sound output is silent after resume, these commands might help to get sound to work again without reloading any modules:&lt;br /&gt;
&lt;br /&gt;
 amixer set Master mute &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 amixer set PCM mute &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 amixer set Master unmute &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 amixer set PCM unmute &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Finally you should take note that swsusp does not set the ACPI S4 state. Instead it goes to S5. This means that the machine itself doesn't know that it was suspend rather than shutdown. Hence you can i.e. boot a parallel installed other operating system and resume your linux session later, as long as you don't touch the swap partition the image was saved to.&lt;br /&gt;
&lt;br /&gt;
===using SoftwareSuspend2===&lt;br /&gt;
First apply Software Suspend 2 patches from http://softwaresuspend.berlios.de/ if they are not already in your kernel. I am running 2.6.11-rc4-nitro in a Thinkpad T30 2366.&lt;br /&gt;
&lt;br /&gt;
Be sure to also read the http://softwaresuspend.berlios.de/HOWTO.html&lt;br /&gt;
&lt;br /&gt;
These are the options for the kernel. You can change the &amp;lt;tt&amp;gt;/dev/hda5&amp;lt;/tt&amp;gt; to your swap partition&lt;br /&gt;
&lt;br /&gt;
 # Software Suspend 2&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND2=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND2_BUILTIN=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND_SWAPWRITER=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND_LZF_COMPRESSION=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND_TEXT_MODE=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND_DEFAULT_RESUME2=&amp;quot;/dev/hda5&amp;quot;&lt;br /&gt;
 # CONFIG_SOFTWARE_SUSPEND_KEEP_IMAGE is not set&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND_CHECK_RESUME_SAFE=y&lt;br /&gt;
 # CONFIG_SOFTWARE_SUSPEND_DEBUG is not set&lt;br /&gt;
 # CONFIG_SOFTWARE_SUSPEND_DEVELOPER is not set&lt;br /&gt;
&lt;br /&gt;
Next, compile and install the kernel&lt;br /&gt;
&lt;br /&gt;
In the meantime, add the following to the kernel parameters &amp;lt;tt&amp;gt;resume2=swap:/dev/hda5&amp;lt;/tt&amp;gt;. Again change &amp;lt;tt&amp;gt;/dev/hda5&amp;lt;/tt&amp;gt; to your swap partition.&lt;br /&gt;
&lt;br /&gt;
Install the hibernation script&lt;br /&gt;
&lt;br /&gt;
For [[:Category:Gentoo | Gentoo]] users: emerge hibernate-script&amp;lt;br /&amp;gt;&lt;br /&gt;
For [[:Category:Fedora_Core | Fedora Core]] users: kernel and hibernate RPMs are available at http://mhensler.de/swsusp/&amp;lt;br /&amp;gt;&lt;br /&gt;
For all other users, check the home page for packages (deb, i386 rpm, tgz, and source rpm) from http://softwaresuspend.berlios.de/&lt;br /&gt;
&lt;br /&gt;
Debian users using initrd image, make sure you copy [http://dagobah.ucc.asn.au/swsusp/2.0.0.102/swsusp-initrd.sh swsusp-initrd.sh] script to your /etc/mkinitrd/scripts directory before creating initrd image.&lt;br /&gt;
&lt;br /&gt;
Restart using the new kernel and run the script to test it out.&lt;br /&gt;
/usr/sbin/hibernate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:570]] [[Category:570E]] [[Category:A20m]] [[Category:A20p]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=5750</id>
		<title>How to make ACPI work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=5750"/>
		<updated>2005-06-16T22:32:01Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* Suspend to RAM (Sleep) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==general==&lt;br /&gt;
===Kernel configuration===&lt;br /&gt;
First of all you'll have to enable ACPI support in your kernel (if your distro doesn't already have an ACPI enabled kernel).&lt;br /&gt;
To do this open your kernel config, go to &amp;lt;code&amp;gt;Power management options&amp;lt;/code&amp;gt;, enable &amp;lt;code&amp;gt;Power Management support&amp;lt;/code&amp;gt;, go to &amp;lt;code&amp;gt;ACPI&amp;lt;/code&amp;gt; and enable the needed options. You'd most likely want to enable &amp;lt;code&amp;gt;Sleep States&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AC Adapter&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Battery&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Fan&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Processor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Thermal Zone&amp;lt;/code&amp;gt;. Then recompile your kernel.&lt;br /&gt;
&lt;br /&gt;
If you prefer editing your .config file directly, you should set at least the following variables:&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_ACPI_BOOT=y&lt;br /&gt;
 CONFIG_ACPI_INTERPRETER=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP=y&lt;br /&gt;
 CONFIG_ACPI_SLEEP_PROC_FS=y&lt;br /&gt;
 CONFIG_ACPI_AC=y&lt;br /&gt;
 CONFIG_ACPI_BATTERY=y&lt;br /&gt;
 CONFIG_ACPI_BUTTON=y&lt;br /&gt;
 CONFIG_ACPI_FAN=y&lt;br /&gt;
 CONFIG_ACPI_PROCESSOR=y&lt;br /&gt;
 CONFIG_ACPI_THERMAL=y&lt;br /&gt;
 CONFIG_ACPI_BUS=y&lt;br /&gt;
 CONFIG_ACPI_EC=y&lt;br /&gt;
 CONFIG_ACPI_POWER=y&lt;br /&gt;
 CONFIG_ACPI_PCI=y&lt;br /&gt;
 CONFIG_ACPI_SYSTEM=y&lt;br /&gt;
&lt;br /&gt;
===IBM specific ACPI driver===&lt;br /&gt;
Unfortunately, special drivers for ACPI on ThinkPads were not included with kernels prior 2.6.10.&amp;lt;br /&amp;gt;&lt;br /&gt;
So you'll have to compile one yourself or get it as precompiled module for your kernel.&amp;lt;br /&amp;gt;&lt;br /&gt;
You have the choice between [[thinkpad-acpi]] and [[ibm-acpi]], with the latter being the recommended one.&amp;lt;br /&amp;gt;&lt;br /&gt;
If you use a post-2.6.10 kernel and you want to use [[ibm-acpi]], it is recommended to look on its projects page for a possibly newer version.&amp;lt;br /&amp;gt;&lt;br /&gt;
In general it is a good idea to read the README included with the driver.&lt;br /&gt;
&lt;br /&gt;
===ACPI daemon===&lt;br /&gt;
Also you'll need to install [[acpid]], if it isn't present on your system. [[acpid]] is a daemon that handles the ACPI events generated by the system. Read [[How to configure acpid]].&lt;br /&gt;
&lt;br /&gt;
==Screen blanking (Standby)==&lt;br /&gt;
Make sure you have &lt;br /&gt;
 Option &amp;quot;DPMS&amp;quot;&lt;br /&gt;
in the Monitor section of your XF86Config/xorg.conf.&lt;br /&gt;
&lt;br /&gt;
Running {{cmd|xset +dpms}} and then {{cmd|xset dpms force off}} will turn off the backlight on a laptop screen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this may not work in combination with {{cmd|echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state}} because switching to console causes the backlight to come back on before sleeping.&lt;br /&gt;
&lt;br /&gt;
==Suspend to RAM (Sleep)==&lt;br /&gt;
ACPI Sleep/suspend-to-ram with recent 2.6.x kernels usually works fine. Have a look at the [[How to configure acpid|acpid configuration HOWTO]]. It includes a specific example for going to sleep on lid close.&lt;br /&gt;
&lt;br /&gt;
The following glitches may or may not occur in relation to suspending to RAM:&lt;br /&gt;
* With a 2.6.9 or 2.6.10 kernel, when resuming from a suspend-to-ram the display might remain black (the system is still rebootable via ctrl-alt-del). This can be fixed by adding &amp;lt;tt&amp;gt;acpi_sleep=s3_bios&amp;lt;/tt&amp;gt; to the kernel boot parameters. It seems this problem is solved in 2.6.11-rc1.&lt;br /&gt;
* When your system is equiped with a Radeon Mobility graphic controller your [[Problem with LCD backlight remaining on during ACPI sleep|LCD backlight may not turn off automatically]]. Use [[radeontool]] to switch off your backlight prior suspend in your sleep action script.&lt;br /&gt;
* Also, you might want to take note of the [[Problem with high power drain in ACPI sleep]].&lt;br /&gt;
* You may experience problems when using {{cmdroot|echo standby &amp;gt; /sys/power/state}} (machine goes to sleep and wakes up immediately). This can be avoided by using {{cmdroot|echo -n 3 &amp;gt;/proc/acpi/sleep}} to get it to sleep. This can be also happen if hotplug daemon is still running.&lt;br /&gt;
* Problems with the serial port of the port replicator after the wake up from ram have also been experienced.&lt;br /&gt;
* Crash on resume when using ATI proprietary drivers can be solved by using vbetool&lt;br /&gt;
&lt;br /&gt;
==Suspend to disk (Hibernate)==&lt;br /&gt;
There are two drivers for this available:&lt;br /&gt;
* swsusp, which is in the kernel and&lt;br /&gt;
* [http://developer.berlios.de/projects/softwaresuspend/ SoftwareSuspend2] which is more feature rich, but not yet in the kernel, so you have to patch it in yourself&lt;br /&gt;
Both are reported to work fine as long as you use open-source graphic drivers. A comparison of the features can be found on [http://softwaresuspend.berlios.de/features.html this page].&lt;br /&gt;
&lt;br /&gt;
Just in case you are in doubt...yes, it is safe in both cases to use the same swap partition as active swap and as suspend partition.&lt;br /&gt;
&lt;br /&gt;
===using swsusp===&lt;br /&gt;
Software Suspend (swsusp) is included in the 2.6 kernel series. It seems like no patches for 2.4 kernels are available.&lt;br /&gt;
&lt;br /&gt;
To enable it, go to &amp;lt;tt&amp;gt;Power management options&amp;lt;/tt&amp;gt; and enable &amp;lt;tt&amp;gt;Power management support&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Software Suspend&amp;lt;/tt&amp;gt; in the kernel config menu. You'll also want to give the swap partition to suspend to in &amp;lt;tt&amp;gt;Default resume partition&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In case you prefer to edit your config file directly, you should have the following three entries look like here...&lt;br /&gt;
 CONFIG_PM=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND=y&lt;br /&gt;
 CONFIG_PM_STD_PARTITION=&amp;quot;/dev/resume_partition&amp;quot;&lt;br /&gt;
...where &amp;lt;tt&amp;gt;/dev/resume_partition&amp;lt;/tt&amp;gt; needs to be replaced by the swap partition you want to use for suspending. (Use {{cmdroot|fdisk -l /dev/hda}} if unsure.)&lt;br /&gt;
&lt;br /&gt;
You can override the default resume partition anytime by giving &amp;lt;tt&amp;gt;resume=/dev/resume_partition&amp;lt;/tt&amp;gt; as kernel boot parameter.&lt;br /&gt;
Also, in case you suspended, but want to boot up normally (without resuming from the saved image - loosing all data that was unsaved at suspend time), you can give the &amp;lt;tt&amp;gt;noresume&amp;lt;/tt&amp;gt; kernel boot parameter.&lt;br /&gt;
&lt;br /&gt;
To suspend you can either do a simple {{cmdroot|echo -n 4 &amp;gt; /proc/acpi/sleep}} (recommended) or use the [http://softwaresuspend.berlios.de/old-site/swsusp/sysvinit-2.76-v2-for_swsusp-v5.tar.gz patched SysVInit] and call {{cmdroot|swsusp}} or {{cmdroot|shutdown -z now}}.&lt;br /&gt;
&lt;br /&gt;
Ideally you would do this from a script like &amp;lt;tt&amp;gt;/etc/acpi/actions/hibernate.sh&amp;lt;/tt&amp;gt;. It has proven to be a good idea to shutdown the following processes/drivers within the script before you do the actual suspend.&lt;br /&gt;
*any running mysql server&lt;br /&gt;
*the linuxant driver may require stopping in a acpi script as well. {{cmdroot|dldrstop}} does the trick.&lt;br /&gt;
&lt;br /&gt;
Afterwards you might want to enable them again, as well as run a script that does necessary configurations according to the ac power state.&lt;br /&gt;
Furthermore, the system clock is not readjusted automatically, so you will probably also want the do that from that script (i.e. by restarting your systemclock bootup script).&lt;br /&gt;
&lt;br /&gt;
If the sound output is silent after resume, these commands might help to get sound to work again without reloading any modules:&lt;br /&gt;
&lt;br /&gt;
 amixer set Master mute &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 amixer set PCM mute &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 amixer set Master unmute &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 amixer set PCM unmute &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
Finally you should take note that swsusp does not set the ACPI S4 state. Instead it goes to S5. This means that the machine itself doesn't know that it was suspend rather than shutdown. Hence you can i.e. boot a parallel installed other operating system and resume your linux session later, as long as you don't touch the swap partition the image was saved to.&lt;br /&gt;
&lt;br /&gt;
===using SoftwareSuspend2===&lt;br /&gt;
First apply Software Suspend 2 patches from http://softwaresuspend.berlios.de/ if they are not already in your kernel. I am running 2.6.11-rc4-nitro in a Thinkpad T30 2366.&lt;br /&gt;
&lt;br /&gt;
Be sure to also read the http://softwaresuspend.berlios.de/HOWTO.html&lt;br /&gt;
&lt;br /&gt;
These are the options for the kernel. You can change the &amp;lt;tt&amp;gt;/dev/hda5&amp;lt;/tt&amp;gt; to your swap partition&lt;br /&gt;
&lt;br /&gt;
 # Software Suspend 2&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND2=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND2_BUILTIN=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND_SWAPWRITER=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND_LZF_COMPRESSION=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND_TEXT_MODE=y&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND_DEFAULT_RESUME2=&amp;quot;/dev/hda5&amp;quot;&lt;br /&gt;
 # CONFIG_SOFTWARE_SUSPEND_KEEP_IMAGE is not set&lt;br /&gt;
 CONFIG_SOFTWARE_SUSPEND_CHECK_RESUME_SAFE=y&lt;br /&gt;
 # CONFIG_SOFTWARE_SUSPEND_DEBUG is not set&lt;br /&gt;
 # CONFIG_SOFTWARE_SUSPEND_DEVELOPER is not set&lt;br /&gt;
&lt;br /&gt;
Next, compile and install the kernel&lt;br /&gt;
&lt;br /&gt;
In the meantime, add the following to the kernel parameters &amp;lt;tt&amp;gt;resume2=swap:/dev/hda5&amp;lt;/tt&amp;gt;. Again change &amp;lt;tt&amp;gt;/dev/hda5&amp;lt;/tt&amp;gt; to your swap partition.&lt;br /&gt;
&lt;br /&gt;
Install the hibernation script&lt;br /&gt;
&lt;br /&gt;
For [[:Category:Gentoo | Gentoo]] users: emerge hibernate-script&amp;lt;br /&amp;gt;&lt;br /&gt;
For [[:Category:Fedora_Core | Fedora Core]] users: kernel and hibernate RPMs are available at http://mhensler.de/swsusp/&amp;lt;br /&amp;gt;&lt;br /&gt;
For all other users, check the home page for packages (deb, i386 rpm, tgz, and source rpm) from http://softwaresuspend.berlios.de/&lt;br /&gt;
&lt;br /&gt;
Debian users using initrd image, make sure you copy [http://dagobah.ucc.asn.au/swsusp/2.0.0.102/swsusp-initrd.sh swsusp-initrd.sh] script to your /etc/mkinitrd/scripts directory before creating initrd image.&lt;br /&gt;
&lt;br /&gt;
Restart using the new kernel and run the script to test it out.&lt;br /&gt;
/usr/sbin/hibernate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:570]] [[Category:570E]] [[Category:A20m]] [[Category:A20p]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Sid_(September_2004)_on_a_ThinkPad_T42p&amp;diff=5323</id>
		<title>Installing Debian Sid (September 2004) on a ThinkPad T42p</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Debian_Sid_(September_2004)_on_a_ThinkPad_T42p&amp;diff=5323"/>
		<updated>2005-05-29T13:02:22Z</updated>

		<summary type="html">&lt;p&gt;Xoby: Corrects mediaWiki tag error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Links==&lt;br /&gt;
During my install of Debian Linux on my T42p I found the following Links to be very, very useful:&lt;br /&gt;
&lt;br /&gt;
* [http://www.digriz.org.uk/t40p-linux/ A page with instructions for T40p.] Lots of useful info, but do not use the IRQ layout on this page for a T42p!&lt;br /&gt;
* Two more pages about Debian on T42p's: [http://modular.fas.harvard.edu/t42/ here] and [http://www.icemark.net/beh/misc/T42P here]&lt;br /&gt;
* [http://pompone.cs.ucsb.edu/~graziano/PowerPlay.html Enabling Powerplay (Radeon Power saving)] in three simple steps for debian XFree packages&lt;br /&gt;
* the original (closed-source) [[Fglrx | ATI drivers]] [http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html pre-packaged for debian] (to be compiled into a module deb with make-kpkg)&lt;br /&gt;
* An interesting [http://www.sas.upenn.edu/%7Evbraun/computing/T41/power.html Benchmark Page on Powersaving] with Windows vs Linux and APM vs ACPI&lt;br /&gt;
* A page documenting the first attempts to get [http://r300.sf.net/ hardware acceleration for the R300 GPU] (the one built into the T42p) running without the closed-source ATI drivers.&lt;br /&gt;
* another special and useful kernel module: [[Ibm-acpi | IBM-ACPI]] (since kernel versin 2.6.10 this is part of the stock kernel tree!)&lt;br /&gt;
* Quite some interesting add-ons for thinkpad-users, namely an extended Trackpoint driver with graphical configuration tool can be found here: [http://tpctl.sf.net tpctl home page] (unfortunately the trackpoint driver seems to be incompatible with the latest 2.6 kernels) &lt;br /&gt;
* [[BIOS_Upgrade | BIOS Updates]] [http://www-3.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-55386 from IBM]&lt;br /&gt;
&lt;br /&gt;
==First steps==&lt;br /&gt;
Unfortunately there are no detailed instructions here, yet. Visit the links above if you feel the present set of information is too terse for your taste.&lt;br /&gt;
&lt;br /&gt;
For the first boot and maybe even the first install I recommend a recent [http://kanotix.mipooh.net/viewforum.php?f=8 Image of] [[Kanotix]] (a [[Knoppix]] descendant with lots of notebook-specific extensions built-in, so it should boot your Thinkpad with most bells and whistles right out of the box!)&lt;br /&gt;
&lt;br /&gt;
Before you change or repartition your drive, visit the [[Installation steps which apply to every Thinkpad_model#Backup.2FRescue_CD_Set|Backup/Rescue-Section]].&lt;br /&gt;
&lt;br /&gt;
If you want to keep your WinXP partition, take a look at the [[Installation steps which apply to every Thinkpad_model#Resizing_your_Windows_Partition|Partition-Resizing Section]].&lt;br /&gt;
&lt;br /&gt;
If you compile a new kernel (recommended), you can use [http://fionn.de/config-t42p-2.6.8&lt;br /&gt;
 this 2.6.8 kernel-configuration] as a starting point if you like. For kernel 2.6.8 you will also need to apply [http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.8-rc3/2.6.8-rc3-mm1/broken-out/bk-cpufreq.patch this patch] and [http://gort.metaparadigm.com/cpufreq/cpufreq-speedstep-dothan-3.patch this one], too. Otherwise speedstep will not work on your Dothan CPU. I think in 2.6.9 this is fixed.&lt;br /&gt;
&lt;br /&gt;
You might want to change your [[IRQ]] settings in BIOS&lt;br /&gt;
&lt;br /&gt;
==Debian Packages==&lt;br /&gt;
&lt;br /&gt;
The following packages are relevant to your Thinkpad installation:&lt;br /&gt;
&lt;br /&gt;
====Kernel:====&lt;br /&gt;
&lt;br /&gt;
* kernel-source-2.6.11 (or the latest version available)&lt;br /&gt;
* If you have a kernel version &amp;lt; 2.6.10: ibm-acpi-source (see [[Ibm-acpi | IBM-ACPI]])&lt;br /&gt;
* sl-modem-source (for the built-in modem)&lt;br /&gt;
* ipw2100-source (if you have the &amp;quot;simple&amp;quot; 802.11b WLAN option, otherwise you either need the atheros or ipw2200 drivers!)&lt;br /&gt;
* thinkpad-source (optional, I have yet to find a feature that thinkpad-modules offer and the more modern ibm-acpi does not)&lt;br /&gt;
* (optional) the closed-source [[Fglrx | ATI drivers]] [http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html pre-packaged for debian]&lt;br /&gt;
&lt;br /&gt;
====Other:====&lt;br /&gt;
&lt;br /&gt;
* sl-modem-daemon (modem)&lt;br /&gt;
* tpb (for the thinkpad buttons a nifty OSD, actually alot nicer than the WinXP one!)&lt;br /&gt;
* tpctl (needed to control some functions of the thinkpad kernel extensions)&lt;br /&gt;
* thinkpad-base&lt;br /&gt;
* acpid&lt;br /&gt;
* waproamd (automatically detects suitable wireless LANs and supports drop-in configuration)&lt;br /&gt;
* ifplugd (automatically detects network connections and brings up your interfaces accordingly)&lt;br /&gt;
* powernowd (Use this OPTIONS line in /etc/init.d/powernowd: OPTIONS=&amp;quot;-q -m 0 -l 35 -p 500 -s 200000&amp;quot;) and viola, there you got nice, all-automatic speedstepping.&lt;br /&gt;
* bluez-utils (for bluetooth)&lt;br /&gt;
* wireless-tools (for wlan)&lt;br /&gt;
* laptop-mode-tools (see [[Laptop-mode | laptop-mode]] for further information)&lt;br /&gt;
&lt;br /&gt;
====DO NOT USE:====&lt;br /&gt;
&lt;br /&gt;
* tleds (this package will fuck up your keyboard during network-io and tremendously slow down network throughput)&lt;br /&gt;
&lt;br /&gt;
[[Category:T42p]] [[Category:Debian]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Fglrx&amp;diff=2180</id>
		<title>Fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Fglrx&amp;diff=2180"/>
		<updated>2005-03-28T17:56:00Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* Problems &amp;amp; Help */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ATI drivers for Linux ==&lt;br /&gt;
Linux ATI driver for Radeon, FireGL and Mobility boards&lt;br /&gt;
&lt;br /&gt;
How much is the speed gain versus the opensource drivers?&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage / Availability ===&lt;br /&gt;
http://www.ati.com/support/drivers/linux/radeon-linux.html&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
Current version: 8.10.19 (16.02.2005)&lt;br /&gt;
&lt;br /&gt;
=== Problems &amp;amp; Help ===&lt;br /&gt;
&lt;br /&gt;
'''Driver Version 8.8.25:''' The following patch may be needed for kernels &amp;gt;= 2.6.10:&lt;br /&gt;
[http://www.rage3d.com/board/showthread.php?t=33798874 http://www.rage3d.com/board/showthread.php?t=33798874]&lt;br /&gt;
&lt;br /&gt;
'''Driver Version 8.8.25:''' For kernels &amp;gt;= 2.6.11-rc1 try the following patch:&lt;br /&gt;
http://www.gehirn.org.uk/wiki/images/8.8.25-kernel-2.6.11+.patch&lt;br /&gt;
&lt;br /&gt;
'''If the ATI driver works only without the hardware acceleration''', take into consideration that fglrx_dri.so was linked&lt;br /&gt;
against libstdc++.so.5 which may not be present if your system uses gcc-3.4. To fix this, compile gcc-3.3.5 &lt;br /&gt;
and copy libstdc++.so.5* to /usr/lib and update the dynamic linker cache.&lt;br /&gt;
&lt;br /&gt;
'''Troubles using software suspend''' : when the computer comes back of suspend, X only displays a garbaged image and the computer is frozen. You have to install [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] and use it to save/restore the video card state. If you use swsusp2 scripts you just have to uncomment ''&amp;quot;EnableVbetool yes&amp;quot;'' in ''/etc/hibernate/hibernate.conf''. Tested with kernel 2.6.10, Debian packaged ATI drivers and [http://www.suspend2.net swsusp2] patch on a IBM Thinkpad T42p.&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
*[[:Category:Debian | Debian]] Packages: http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html&lt;br /&gt;
*[[:Category:SuSE | SuSE]] Packages: ftp://ftp.suse.com/pub/suse/i386/supplementary/X/ATI/&lt;br /&gt;
*[[:Category:Gentoo | Gentoo]] {{cmdroot|emerge media-video/ati-drivers}}&lt;br /&gt;
&lt;br /&gt;
=== Useful links === &lt;br /&gt;
* [http://www.rage3d.com/content/articles/atilinuxhowto/ ATI Radeon Linux How-To]&lt;br /&gt;
&lt;br /&gt;
* [http://www.rage3d.com/board/forumdisplay.php?f=61&amp;amp;daysprune=30&amp;amp;order=asc&amp;amp;sort=title Rage3D Linux Discussion Forum]&lt;br /&gt;
&lt;br /&gt;
* [http://www.driverheaven.net/forumdisplay.php?f=103 Radeon Driver Forum at Driverheaven]&lt;br /&gt;
&lt;br /&gt;
* [http://odin.prohosting.com/wedge01/gentoo-radeon-faq.html Gentoo ATI Radeon FAQ]&lt;br /&gt;
&lt;br /&gt;
* [http://ati.cchtml.com/ Unofficial community ATI bugzilla] Very newly setup (!) bugzilla, which might grow to be a source for information about ATI bugs. Might then be monitored by ATI guys ([http://www.rage3d.com/board/showpost.php?p=1333438751&amp;amp;postcount=386], [http://www.rage3d.com/board/showpost.php?p=1333439009&amp;amp;postcount=390]). We will see how this develops.&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]] [[Category:Debian]] [[Category:SuSE]] [[Category:Gentoo]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=2373-WGK&amp;diff=5038</id>
		<title>2373-WGK</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=2373-WGK&amp;diff=5038"/>
		<updated>2005-03-17T14:57:44Z</updated>

		<summary type="html">&lt;p&gt;Xoby: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= IBM ThinkPad T42 2373-WGK Specifications =&lt;br /&gt;
&lt;br /&gt;
== CPU and Memory ==&lt;br /&gt;
{|&lt;br /&gt;
|Processor Manufacturer || Intel&lt;br /&gt;
|-&lt;br /&gt;
|Processor Class || (Pentium M)&lt;br /&gt;
|-&lt;br /&gt;
|Processor Name || Intel Pentium M&lt;br /&gt;
|-&lt;br /&gt;
|Processor Speed || 1.7 GHz&lt;br /&gt;
|-&lt;br /&gt;
|Installed Memory || 512 MB&lt;br /&gt;
|-&lt;br /&gt;
|Maximum Memory || 2 GB&lt;br /&gt;
|- &lt;br /&gt;
|Memory Technology || DDR SDRAM&lt;br /&gt;
|-&lt;br /&gt;
|Cache Size || 2 Mo (L2)&lt;br /&gt;
|}&lt;br /&gt;
== Storage ==&lt;br /&gt;
{|&lt;br /&gt;
|Hard Drive Model || HTS548060M9AT00 (5400rpm)&lt;br /&gt;
|-&lt;br /&gt;
|Hard Drive Capacity || 60 GB&lt;br /&gt;
|-&lt;br /&gt;
|Included Drives || CD-RW / DVD Combo Drive&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Display and Graphics ==&lt;br /&gt;
{|&lt;br /&gt;
|Display Size || 15 inch&lt;br /&gt;
|-&lt;br /&gt;
|Display Type || TFT active matrix&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Processor || ATI Fire GL T2&lt;br /&gt;
|-&lt;br /&gt;
|Graphics Memory || 128 MB&lt;br /&gt;
|-&lt;br /&gt;
|Included Video Card || Graphics card - AGP 4x&lt;br /&gt;
|-&lt;br /&gt;
|Resolution ||1600 x 1200 pixels&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
{|&lt;br /&gt;
|Battery Model || 6 cell&lt;br /&gt;
|-&lt;br /&gt;
|Battery Cpacity || 47520 mWh&lt;br /&gt;
|-&lt;br /&gt;
|Battery Type || Lithium ion&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Communications and Networking ==&lt;br /&gt;
{|&lt;br /&gt;
|Bluetooth || No&lt;br /&gt;
|-&lt;br /&gt;
|Modem Speed || 56 Kbps&lt;br /&gt;
|-&lt;br /&gt;
|Network LAN || Intel PRO/1000 MT&lt;br /&gt;
|-&lt;br /&gt;
|Network WLAN || Intel PRO/Wireless 2200BG MiniPCI card&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
{|&lt;br /&gt;
|Shipped Operating System || Microsoft Windows XP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connectors ==&lt;br /&gt;
{|&lt;br /&gt;
|Interface Provided ||Parallel Port, S-Video, VGA, Phone line, Headphone, Ethernet 10Base-T/100Base-TX/1000Base-T&lt;br /&gt;
|-&lt;br /&gt;
|Connectors ||2 x Hi-Speed USB - 4 pin USB Type A, 1 x parallel - IEEE 1284 (EPP/ECP) - 25 pin D-Sub (DB-25), 1 x display / video - VGA - 15 pin HD D-Sub (HD-15), 1 x infrared - IrDA, 1 x modem - phone line - RJ-11, 1 x network - Ethernet 10Base-T/100Base-TX/1000Base-T - RJ-45, 1 x display / video - S-video output - 4 pin mini-DIN, 1 x docking / port replicator, 1 x microphone - input - mini-phone mono 3.5 mm , 1 x audio - line-out/headphones - mini-phone stereo 3.5 mm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General Product Info ==&lt;br /&gt;
{|&lt;br /&gt;
|Input Devices || Keyboard, Touchpad, TrackPoint&lt;br /&gt;
|-&lt;br /&gt;
|Included Sound Card || Intel 82801DB (ICH4) rev.1&lt;br /&gt;
|-&lt;br /&gt;
|Weight || 2.2 Kg (4.9 lb)&lt;br /&gt;
|-&lt;br /&gt;
|Also known as || ...&lt;br /&gt;
|-&lt;br /&gt;
|Manufacturer Part No. || ...&lt;br /&gt;
|-&lt;br /&gt;
|Dimension || ... in (HxWxD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:T42]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Hardware_Specifications&amp;diff=1784</id>
		<title>Hardware Specifications</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Hardware_Specifications&amp;diff=1784"/>
		<updated>2005-03-17T14:44:28Z</updated>

		<summary type="html">&lt;p&gt;Xoby: /* Available Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hardware specs and information about the specific Thinkpad Models.==&lt;br /&gt;
* Choose a model name to to get a list of all currently available information related to this Model.&lt;br /&gt;
* Choose a type-and-model number to get the specs of that specific model.&lt;br /&gt;
* Compare the [[Thinkpad series]] (R, T, X, G), get an overview of the [[ThinkPad History]] or learn about the name [[ThinkPad]].&lt;br /&gt;
&lt;br /&gt;
==Available Models==&lt;br /&gt;
*[[:Category:PC110 | PC110]]&lt;br /&gt;
** [[PC110]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:390X | Thinkpad 390X]]&lt;br /&gt;
**[[2626-L0U]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:600X | ThinkPad 600X]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:700 | ThinkPad 700]]&lt;br /&gt;
*[[:Category:770E | Thinkpad 770E]]&lt;br /&gt;
**[[9548-510]]&lt;br /&gt;
**[[9548-51U]]&lt;br /&gt;
**[[9548-52U]]&lt;br /&gt;
*[[:Category:770X | Thinkpad 770X]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:R40 | Thinkpad R40]]&lt;br /&gt;
** [[2722-9BM]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:R40e | Thinkpad R40e]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:R51 | Thinkpad R51]]&lt;br /&gt;
** [[1830-DG4]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:T20|Thinkpad T20]]&lt;br /&gt;
**[[2647-44G]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:T21|Thinkpad T21]]&lt;br /&gt;
**[[2647-97G]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:T23 | Thinkpad T23]]&lt;br /&gt;
**[[2647-9RG]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:T40p | Thinkpad T40p]]&lt;br /&gt;
** [[2372-G1U]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:T41p | Thinkpad T41p]]&lt;br /&gt;
** [[2373-GHG]]&lt;br /&gt;
** [[2373-GEG]]&lt;br /&gt;
** [[2373-GGG]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:T42 | Thinkpad T42]]&lt;br /&gt;
** [[2373-9XU]]&lt;br /&gt;
** [[2373-FWG]]&lt;br /&gt;
** [[2373-WGK]]&lt;br /&gt;
** [[2378-FVU]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[:Category:T42p | Thinkpad T42p]]&lt;br /&gt;
** [[2373-W6M]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:X31 | Thinkpad X31]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:X22 | Thinkpad X22]]&lt;br /&gt;
** [[2662-9BU]]&lt;br /&gt;
&lt;br /&gt;
*[[:Category:TransNote|TransNote]]&lt;br /&gt;
** [[2675-61G]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Models]]&lt;/div&gt;</summary>
		<author><name>Xoby</name></author>
		
	</entry>
</feed>