<?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=Lcampagn</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=Lcampagn"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Lcampagn"/>
	<updated>2026-05-07T18:32:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X60_Tablet&amp;diff=53891</id>
		<title>Installation instructions for the ThinkPad X60 Tablet</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X60_Tablet&amp;diff=53891"/>
		<updated>2012-08-28T16:58:35Z</updated>

		<summary type="html">&lt;p&gt;Lcampagn: Updated URL for reference material&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: X60 Tablet]]&lt;br /&gt;
&lt;br /&gt;
==Distro specific instructions==&lt;br /&gt;
*{{Install|Gentoo||X60 Tablet}}&lt;br /&gt;
*{{Install|Ubuntu||X60 Tablet}}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://luke.campagnola.me/x60tablet/ Linux on the X60 Tablet]&lt;/div&gt;</summary>
		<author><name>Lcampagn</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_an_X61_Tablet&amp;diff=53890</id>
		<title>Installing Ubuntu 7.04 (Feisty Fawn) on an X61 Tablet</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_7.04_(Feisty_Fawn)_on_an_X61_Tablet&amp;diff=53890"/>
		<updated>2012-08-28T16:49:45Z</updated>

		<summary type="html">&lt;p&gt;Lcampagn: Updated URL for reference material&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can get Linux running pretty smoothly on this machine. I will simply repeat the steps I used to get my tablet working, some of these steps might be superfluous. Please edit, if some of the steps are unneccessary. I expect Gutsy Gibbon installs to be much smoother, when the system comes out in October... &lt;br /&gt;
&lt;br /&gt;
===Helpful Guides===&lt;br /&gt;
A helpful guide for me was http://luke.campagnola.me/x60tablet/&lt;br /&gt;
&lt;br /&gt;
===Feisty v. Gutsy===&lt;br /&gt;
I have gotten the computer to work well with both Feisty and Gutsy Tribe 4 and 5. If you install Feisty, you will have to upgrade to the 2.6.22 kernel to get all the drivers to work. I would advise using Gutsy, as it makes everything easier to set up (with drivers). The 2.6.23 kernel, once it officially comes out, should *probably* make this laptop an out-of-the-box machine. (the 2.6.23 kernel has plans to include the graphics, sound, and wireless drivers for this machine by default)&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
These are issues that I have run into and have not resolved yet. None of them are 'show stoppers' in my book. If you have a fix, please add how to resolve the issue on this page (preferrably in the respective how-to section..)&lt;br /&gt;
&lt;br /&gt;
*Screen rotation with 3D acceleration. Both screen rotation (through xrandr) and 3d acceleration work independantly, however a rotated screen crashes when you try to run a 3d application. &lt;br /&gt;
*ALSA sound glitch when rotating to tablet mode. For some reason rotating to tablet mode from laptop mode causes the sound to cut out. Sound works otherwise.&lt;br /&gt;
*Brightness auto-adjust on Gutsy. Brightness auto adjust cannot determine what level to stay at, and indefinitely adjusts up and down. Pressing the brightness keys fixes this. See launchpad for the official bug '''Already fixed in Gutsy'''&lt;br /&gt;
&lt;br /&gt;
===Actual installation===&lt;br /&gt;
***Works in both Feisty and Gutsy&lt;br /&gt;
&lt;br /&gt;
The trickiest part about actually installing Ubuntu on this machine is that there is no CD drive. If you've shelled out the $200 for the UltraBase then you can just pop the CD in that, and proceed normally. I had to install via a pendrive. Instructions on how to do this are at &lt;br /&gt;
&lt;br /&gt;
http://www.pendrivelinux.com/2007/02/12/usb-ubuntu-tutorial-for-linux-users/&lt;br /&gt;
&lt;br /&gt;
*On my machine, and with my particular USB drive, I found that it was difficult get power to the USB drive in a normal boot process. I had to enter the BIOS (F1 during power on), configure the USB HDD to be first boot choice, and then enable the POST memory check (extended boot?, I think it was called). Then I had to insert the USB drive during the memory check, and make sure the light on the USB came on in order to get it to boot from the installer. Hopefully most  people won't have this problem, but I did, so if you have problems getting the drive to be seen, make sure the USB is getting powered.&lt;br /&gt;
&lt;br /&gt;
===Graphics Card===&lt;br /&gt;
***Feisty&lt;br /&gt;
The X3100 with an Intel GMA965 runs Compiz Fusion very nicely, once the proper drivers are installed. The 'i810' driver that is installed by default with Feisty does not support the X3100, but there are newer drivers (simply named 'intel') that do support it. Source is available from http://www.intellinuxgraphics.org/. Unfortunately, installing on the stock kernel (2.6.18, if I remember) does not work with these drivers, as agpgart is incorrectly registered. I upgraded to 2.6.22 and the drivers work nicely. Here's the walkthrough...&lt;br /&gt;
&lt;br /&gt;
*Install the new kernel&lt;br /&gt;
&lt;br /&gt;
 # gedit /etc/apt/sources.list&lt;br /&gt;
Add the Gutsy repositories&lt;br /&gt;
 # deb http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
 # deb-src http://security.ubuntu.com/ubuntu gutsy main restricted universe multiverse&lt;br /&gt;
Save and exit gedit&lt;br /&gt;
&lt;br /&gt;
Install the new kernel&lt;br /&gt;
 # apt-get update&lt;br /&gt;
 # apt-get install linux-image-2.6.22-9-generic linux-ubuntu-modules-2.6.22-9-generic linux-backports-modules-2.6.22-9-generic linux-headers-2.6.22-9 linux-headers-2.6.22-9-generic  linux-restricted-modules-2.6.22-9-generic &lt;br /&gt;
&lt;br /&gt;
Reboot. Make sure to select the new kernel in GRUB when you turn on the computer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install the graphics card drivers from the repositories&lt;br /&gt;
 # sudo apt-get install xserver-xorg-video-intel xserver-xorg libgl1-mesa-dri libgl1-mesa-glx libglu1-mesa mesa-utils&lt;br /&gt;
&lt;br /&gt;
Let X11 know to use the Intel drivers&lt;br /&gt;
 # gedit /etc/X11/xorg.conf&lt;br /&gt;
&lt;br /&gt;
Change&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
         Identifier      &amp;quot;Generic Video Card&amp;quot;&lt;br /&gt;
         Driver          &amp;quot;vesa&amp;quot;&lt;br /&gt;
         BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
         Identifier      &amp;quot;Generic Video Card&amp;quot;&lt;br /&gt;
         Driver          &amp;quot;intel&amp;quot;&lt;br /&gt;
         BusID           &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reboot&lt;br /&gt;
&lt;br /&gt;
***Gutsy&lt;br /&gt;
3d acceleration works out of the box, but I had to compile compiz fusion and awm from source to get them to work. If I find time, I'll make a deb for both....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Solving the Weird Resolution Problems===&lt;br /&gt;
***Applies to both Feisty and Gutsy&lt;br /&gt;
When you reboot into the new drivers, it seems that X defaults to the graphics card's 'TV' output instead of the 'LVDS' option as it should. This will cause X to be confused about where the screen edges are, and in general make everything weird. This can be corrected in one of two ways&lt;br /&gt;
&lt;br /&gt;
*Solution 1:&lt;br /&gt;
Everytime you log in, enter this command&lt;br /&gt;
 # xrandr --output TV --off&lt;br /&gt;
&lt;br /&gt;
*Solution 2: &lt;br /&gt;
Edit xorg.conf to automatically correct this problem. Note that this will cause xrandr (which you may want to use for screen rotation) to fail when you try to use it.&lt;br /&gt;
&lt;br /&gt;
add this to the device section &lt;br /&gt;
 &lt;br /&gt;
 Option &amp;quot;monitor-TV&amp;quot; &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
 Option  &amp;quot;CacheLines&amp;quot;    &amp;quot;32768&amp;quot;&lt;br /&gt;
 Option  &amp;quot;TripleBuffer&amp;quot;  &amp;quot;true&amp;quot;&lt;br /&gt;
 Option  &amp;quot;DRI&amp;quot;   &amp;quot;true&amp;quot;&lt;br /&gt;
 Option  &amp;quot;PageFlip&amp;quot;      &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add this at the bottom &lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
     Identifier &amp;quot;TVOutput&amp;quot;&lt;br /&gt;
     Option &amp;quot;Disable&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
save and exit, restart X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installing compiz fusion===&lt;br /&gt;
***Feisty&lt;br /&gt;
Basically, I followed the instructions at&lt;br /&gt;
http://fosswire.com/2007/07/11/how-to-compiz-fusion-on-ubuntu-704-feisty-fawn/&lt;br /&gt;
&lt;br /&gt;
The line about adding the GPG keys is malformed, copying and pasting won't work. Use this command&lt;br /&gt;
 # gpg --keyserver subkeys.pgp.net --recv-keys 81836EBF&lt;br /&gt;
 # gpg --export --armor 81836EBF | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
***Gutsy&lt;br /&gt;
I had to compile from source. This is a kinda long process, and you have to have programming/compiling skills, but it definitely works well if you can do it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There you go! Now you have a visually gorgeous system running :-D! All the effects run very smoothly for me, I was very pleased with this integrated card's performance... (no stuttering for even complex effects like explode or airplane)&lt;br /&gt;
&lt;br /&gt;
===Wireless=== &lt;br /&gt;
This essential laptop feature will definitely work. The intel ABG card has drivers, guides should abound as to how to install it. (if anyone has time, put how you got it to work here) I purchased the newer AGN card, and this is how I installed the new drivers. &lt;br /&gt;
&lt;br /&gt;
Walkthough for newbies :-)&lt;br /&gt;
&lt;br /&gt;
download these:&lt;br /&gt;
http://intellinuxwireless.org/mac80211/downloads/mac80211-8.0.2.tgz&lt;br /&gt;
http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-4965-ucode-4.44.17.tgz&lt;br /&gt;
http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-1.0.0.tgz&lt;br /&gt;
&lt;br /&gt;
extract them&lt;br /&gt;
&lt;br /&gt;
prepare the build environment&lt;br /&gt;
 # sudo mkdir /lib/firmware/$(uname -r)&lt;br /&gt;
 # sudo ln -s /usr/src/linux-headers-$(uname -r) /lib/modules/$(uname -r)/source&lt;br /&gt;
&lt;br /&gt;
make everything&lt;br /&gt;
&lt;br /&gt;
 # cd mac80211-8.0.2&lt;br /&gt;
 # sudo make patch_kernel&lt;br /&gt;
&lt;br /&gt;
 # cd ../iwlwifi-1.0.0&lt;br /&gt;
 # make&lt;br /&gt;
 # sudo make install&lt;br /&gt;
&lt;br /&gt;
 # cd ../iwlwifi-4965-ucode-4.44.17&lt;br /&gt;
 # sudo cp iwlwifi-4965.ucode /lib/firmware/$(uname -r)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, Load the modules&lt;br /&gt;
 sudo modprobe mac80211&lt;br /&gt;
 sudo modprobe iwl4965&lt;br /&gt;
&lt;br /&gt;
You should have wifi now!&lt;br /&gt;
&lt;br /&gt;
Thanks goes to rye_ of ubuntuforums! &lt;br /&gt;
&lt;br /&gt;
They work pretty well, I've only noticed them being flaky once.&lt;br /&gt;
&lt;br /&gt;
===Wacom===&lt;br /&gt;
We bought this machine largely for the tablet abilities, and the pen works out of the box! Yay! The side button automatically maps to scrollwheel-pressed-down, but you can remap it to right click if you want. Eraser also works. &lt;br /&gt;
&lt;br /&gt;
===Tablet-Specific Applications===&lt;br /&gt;
We're tablet users and we have special needs! Here are some apps I found these apps indespensible&lt;br /&gt;
&lt;br /&gt;
Jot.&lt;br /&gt;
When I placed my order for my tablet, Lenovo said I had a full month wait til it arrived. I filled the time writing a handwriting recognition app for Linux. My goal is to allow for full sentence or full word recognition. As of 8/20/2007, its still in alpha testing, but I should have a pretty good release mid-September to early October. Source is available from http://bazaar.launchpad.net/~kdub432/jot/trunk. You need libfakekey0, gtkmm-2.4-dev, libcairomm-1.0-dev installed so the makefile will work...&lt;br /&gt;
&lt;br /&gt;
Onestroke.&lt;br /&gt;
This program will recognize a single character at a time pretty well. Its written by Michael Levin, and is in pretty usuable condition. Onestroke can be found at&lt;br /&gt;
http://www.paperaffinity.com/risujin/onestroke.php&lt;br /&gt;
&lt;br /&gt;
Xournal&lt;br /&gt;
A journal clone, that is great for taking notes. Fully functional, an all-around great app.&lt;br /&gt;
 #apt-get install xournal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[[CellWriter]]'''&lt;br /&gt;
&lt;br /&gt;
CellWriter is a grid-entry natural handwriting input panel. As you write characters into the cells, your writing is instantly recognized at the character level. When you press Enter on the panel, the input you entered is sent to the currently focused application as if typed on the keyboard.&lt;br /&gt;
&lt;br /&gt;
GoK warning!!! Running GoK on Feisty screwed up some things for me. It may be that I was just too lazy to fix my dependancies, but I was real ticked at how it installed itself when I was running Feisty. Use the default Ubuntu program onboard ('onboard' from a terminal) if you want an onscreen keyboard&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
Sound does not work out of the box, with Gutsy or Feisty, but the mercurial/cvs alsa drivers do have support. This issue was extremely hard to track down, and requires some advanced knowledge. I will provide a short walkthrough to give some guidance.&lt;br /&gt;
&lt;br /&gt;
Step 1 Setup a fundamental build environment&lt;br /&gt;
 # sudo apt-get install mercurial build-essential libncurses5-dev python2.5 automake libtool&lt;br /&gt;
 # sudo mkdir /usr/src/alsa&lt;br /&gt;
 # cd /usr/src/alsa&lt;br /&gt;
&lt;br /&gt;
(This was taken just from memory, if you get errors about something not being installed, just install whatever it complains about...)&lt;br /&gt;
&lt;br /&gt;
Next, get latest alsa drivers&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-driver alsa-driver&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-kernel alsa-kernel&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-lib alsa-lib&lt;br /&gt;
 # sudo hg clone http://hg.alsa-project.org/alsa-utils alsa-utils&lt;br /&gt;
&lt;br /&gt;
Install everything&lt;br /&gt;
 # cd alsa-driver&lt;br /&gt;
 # sudo ./cvscompile --with-cards=all --with-card-options=all    (Nota Bene, this makes all the drivers. do more research if you just want the intel ones ;-D)&lt;br /&gt;
 # sudo make install&lt;br /&gt;
 # cd ../alsa-lib&lt;br /&gt;
 # sudo ./cvscompile&lt;br /&gt;
 # sudo make install&lt;br /&gt;
 # cd ../alsa-utils&lt;br /&gt;
 # sudo ./cvscompile&lt;br /&gt;
 # sudo make install&lt;br /&gt;
&lt;br /&gt;
Phew, that was tough. Its not over yet though, you've gotta edit some configuration files&lt;br /&gt;
 sudo nano /etc/modprobe.d/alsa-base&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and add this to the bottom,&lt;br /&gt;
&lt;br /&gt;
 options snd-hda-intel model=thinkpad&lt;br /&gt;
&lt;br /&gt;
Save, exit and reboot.&lt;br /&gt;
&lt;br /&gt;
THIS IS VERY IMPORTANT! IT TOOK ME 5+ HOURS TO FIGURE THIS OUT ON MY OWN!&lt;br /&gt;
&lt;br /&gt;
YOU MUST HAVE BIOS SET TO FACTORY INSTALL (for the most part)&lt;br /&gt;
&lt;br /&gt;
Certain BIOS options seem to break these drivers! I'm not sure which, but the factory settings work fine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On next login, you should have sound. If you don't, make sure nothing is muted in alsaconf/alsamixer. &lt;br /&gt;
Also, make sure your login name is in the 'audio' or 'users' groups.&lt;br /&gt;
&lt;br /&gt;
Alright, you have sound now! Yay! &lt;br /&gt;
&lt;br /&gt;
Both headphones and speakers work, theres a switch on a tab in the gnome panel audio adjustment properties that turns either on/off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note! It has been brought to my attention that an ubuntu developer has compiled packages for these drivers. I have not tested these yet and cannot ensure that they will work, although there are people on this site who have reported sucess using these packages&lt;br /&gt;
https://bugs.launchpad.net/ubuntu/+bug/122560&lt;br /&gt;
&lt;br /&gt;
For what it's worth, I installed Ubuntu 7.10 on my new X61 tablet and sound worked (almost) out of the box.  The bugs I see are that the built-in volume control buttons are mapped to the microphone channel instead of the speaker channel, and there's an issue with XMMS not being able to share the sound channel with Firefox (though maybe that's a wider issue than the X61tablet). If you're running Gnome, the volume control buttons can be mapped to the speakers by going to System &amp;gt; Preferences &amp;gt; Sound and selecting PCM in the Default Mixer Tracks.&lt;br /&gt;
&lt;br /&gt;
===Keyboard and Buttons===&lt;br /&gt;
You should have no trouble with getting the main 105 keys to work. &lt;br /&gt;
&lt;br /&gt;
Some of the Fn buttons work, some don't. I'm still wading through ways to get these to work, but they're not super-high on my priority list. If you find ways, feel free to post :-)....&lt;br /&gt;
&lt;br /&gt;
Screen Buttons. &lt;br /&gt;
The D-pad will work, but by default maps to weird values. Add &lt;br /&gt;
 setkeycodes 6f 108 &lt;br /&gt;
 setkeycodes 71 103 &lt;br /&gt;
 setkeycodes 6e 105 &lt;br /&gt;
 setkeycodes 6d 106 &lt;br /&gt;
&lt;br /&gt;
to /etc/rc.local to make the D-pad work like your keyboard arrow keys. The middle button is 'Enter'&lt;br /&gt;
&lt;br /&gt;
The other buttons also work. I have not mapped them to anything specific yet, but in a real terminal (no X environment), you can use the showkey command and setkeycodes to map the other 4 buttons to whatever you want. More instructions on this will follow once I decide what I want to use these 4 buttons for&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suspend and Hibernate===&lt;br /&gt;
The default Ubuntu suspend and resume cycle causes a kernel panic. I got my computer to flawlessly suspend and resume by installing pm-utils&lt;br /&gt;
 sudo apt-get install pm-utils&lt;br /&gt;
&lt;br /&gt;
then you can suspend using the command&lt;br /&gt;
 sudo pm-suspend --quirk-s3-bios --quirk-s3-mode&lt;br /&gt;
&lt;br /&gt;
I'm content with suspend working, but if anyone figures out hibernate, let me know :-D&lt;br /&gt;
&lt;br /&gt;
Works for Gutsy (please confirm for Feisty): In order to make the quirk settings the default for your machine, apply the following patch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi.orig      2007-10-08 13:35:45.000000000 +0200&lt;br /&gt;
+++ /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi  2008-01-20 11:16:58.000000000 +0100&lt;br /&gt;
@@ -2,6 +2,11 @@&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;
     &amp;lt;match key=&amp;quot;system.hardware.vendor&amp;quot; string=&amp;quot;LENOVO&amp;quot;&amp;gt;&lt;br /&gt;
+      &amp;lt;!-- X61t 7767 96U--&amp;gt;&lt;br /&gt;
+      &amp;lt;match key=&amp;quot;system.hardware.product&amp;quot; prefix=&amp;quot;776796U&amp;quot;&amp;gt;&lt;br /&gt;
+        &amp;lt;merge key=&amp;quot;power_management.quirk.s3_bios&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
+        &amp;lt;merge key=&amp;quot;power_management.quirk.s3_mode&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;!-- X60 / X60s --&amp;gt;&lt;br /&gt;
       &amp;lt;match key=&amp;quot;system.hardware.product&amp;quot; prefix=&amp;quot;1702&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;merge key=&amp;quot;power_management.quirk.s3_bios&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Make sure you adjust the prefix=&amp;quot;776796U&amp;quot; to match your particular model, using the output from the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lshal |grep system.hardware.product&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You have to reboot your machine to make the changes permanent (restarting hal should actually be sufficient, but was not on my system). After that, gnome should be able to suspend/resume your system without crashing the machine or leaving the video backlight off. The only issue left on my system is that NetworkManager hangs after a resume, but that is easily solved by creating the following script in /etc/pm/sleep.d/01NetworkManagerRestart and making it executable by 'sudo chmod +x /etc/pm/sleep.d/01NetworkManagerRestart':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
case $1 in&lt;br /&gt;
    hibernate)&lt;br /&gt;
        ;;&lt;br /&gt;
    suspend)&lt;br /&gt;
        ;;&lt;br /&gt;
    thaw)&lt;br /&gt;
        ;;&lt;br /&gt;
    resume)&lt;br /&gt;
        /bin/sh -c 'sleep 3;modprobe -r ipw3945;modprobe ipw3945;' &amp;amp;&lt;br /&gt;
        ;;&lt;br /&gt;
    *)  echo &amp;quot;somebody is calling me totally wrong.&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other x61 install guides on the web ==&lt;br /&gt;
* http://bayleshanks.com/tips-computer-lenovoX61t-gnuLinuxSetup (feel free to integrate the content on that page into this wiki -- Bayle)&lt;br /&gt;
&lt;br /&gt;
[[Category:X61 Tablet]]&lt;/div&gt;</summary>
		<author><name>Lcampagn</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=35444</id>
		<title>Tp smapi</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tp_smapi&amp;diff=35444"/>
		<updated>2007-12-30T04:22:27Z</updated>

		<summary type="html">&lt;p&gt;Lcampagn: /* Model-specific status */  Added hdaps orientation for X60 tablet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; kernel module exposes some features of the ThinkPad hardware/firmware via a &amp;lt;tt&amp;gt;sysfs&amp;lt;/tt&amp;gt; interface. Currently, the main implemented functionality is control of battery charging and extended battery status. It also includes an improved version of the [[HDAPS]] driver. The underlying hardware interfaces are [[SMAPI support for Linux|SMAPI]] and direct access to the embedded controller.&lt;br /&gt;
&lt;br /&gt;
For older ThinkPad models, see also [[tpctl]].&lt;br /&gt;
&lt;br /&gt;
{{WARN|This driver uses undocumented features and direct hardware access. It thus cannot be guaranteed to work and could conceivably damage your computer (though so far no incidents have been reported).}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
*Battery charge/discharge control&lt;br /&gt;
*Battery status information&lt;br /&gt;
&lt;br /&gt;
===Project Homepage / Availability===&lt;br /&gt;
* Project page: http://tpctl.sourceforge.net/&lt;br /&gt;
* You need to [http://sourceforge.net/project/showfiles.php?group_id=1212&amp;amp;package_id=171579 download] only the &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; package.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
====Installation from source====&lt;br /&gt;
You will need the kernel headers and makefiles corresponding to your current kernel version. On {{Fedora}}, this means {{cmdroot|yum install kernel-devel-$(uname -r)}} .&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|tar xzvf tp_smapi-0.33.tgz}}&lt;br /&gt;
:{{cmdroot|cd tp_smapi-0.33}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then, either compile and load the driver within the current working directory (for testing):&lt;br /&gt;
:{{cmdroot|make load}}&lt;br /&gt;
OR compile and install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|make install}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, add &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; to also patch the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; for compatibility with &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (this requires a kernel source tree matching the current kernel).&lt;br /&gt;
Again, either load the driver within the current working directory:&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
OR install into the kernel's module path:&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To prepare a stand-alone patch against the current kernel tree (including&lt;br /&gt;
a patch against &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; and new &amp;lt;tt&amp;gt;Kconfig&amp;lt;/tt&amp;gt; entries):&lt;br /&gt;
:{{cmdroot|make patch}}&lt;br /&gt;
&lt;br /&gt;
To delete all autogenerated files:&lt;br /&gt;
:{{cmdroot|make clean}}&lt;br /&gt;
&lt;br /&gt;
The original kernel tree is never modified by any these commands. &lt;br /&gt;
The {{path|/lib/modules}} directory is modified only by {{cmdroot|make install}}.&lt;br /&gt;
&lt;br /&gt;
====Installation in Gentoo====&lt;br /&gt;
The {{Gentoo}} portage system carries a [http://packages.gentoo.org/packages/?category=app-laptop;name=tp_smapi tp_smapi package], which follows the latest version pretty closely. On a Gentoo system, you can install and load as follows.&lt;br /&gt;
&lt;br /&gt;
If you use the [[HDAPS]] driver, do this first:&lt;br /&gt;
&lt;br /&gt;
* Configure &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; as module in your kernel&lt;br /&gt;
* Add the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; use flag in {{path|/etc/make.conf}}&lt;br /&gt;
* {{cmdroot|rmmod hdaps}}&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
* {{cmdroot|emerge tp_smapi}} (or install tp_smapi with hdaps support manually, as above)&lt;br /&gt;
* {{cmdroot|echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
* {{cmdroot|echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules.autoload.d/kernel-2.6}}&lt;br /&gt;
&lt;br /&gt;
Then reboot, or run:&lt;br /&gt;
* {{cmdroot|modprobe tp_smapi}}&lt;br /&gt;
* {{cmdroot|modprobe hdaps}}&lt;br /&gt;
&lt;br /&gt;
====Installation on Debian unstable (sid) or testing (lenny)====&lt;br /&gt;
Debian now contains the [http://packages.debian.org/tp-smapi packaged module source] for use with module-assistant.&lt;br /&gt;
&lt;br /&gt;
* {{cmdroot|apt-get install tp-smapi}}&lt;br /&gt;
* {{cmdroot|m-a -t a-i tp-smapi}}&lt;br /&gt;
&lt;br /&gt;
====Installation on Ubuntu/Debian====&lt;br /&gt;
Installation on Ubuntu or Debian is quite easy, but there are a few things to look after:&lt;br /&gt;
&lt;br /&gt;
To get your system ready for compiling code, install the build-essentials (as root, of course, as all of the following comands; Ubuntu users have to prepend 'sudo' to every line and enter their own password when prompted):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install build-essential&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi to work, obtain the latest source as mentioned above and unpack it. If you want to use HDAPS, you need to install the kernel source matching te kernel you are running. To do so, issue this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;uname -r&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give you the version of your current kernel. As Ubuntu adds '-generic' to the kernel-version, the following command works for Debian users only:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;apt-get install linux-source-`uname -r`&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ubuntu users use the kernel-version they got by the command before, e.g. 'linux-source-2.6.20'&lt;br /&gt;
&lt;br /&gt;
Now change to the tp_smapi dir:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd tp_smapi-X.YY&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt; (X.YY being the version-number of [[tp_smapi]])&lt;br /&gt;
and make and install tp_smapi as instructed above.&lt;br /&gt;
&lt;br /&gt;
If you get an error that the kernel version isn't matching (or that you need to set KSRC/KBUILD), please check that there is a symlink from the modules dir to the kernel source:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ls -l /lib/modules/2.6.20-16-generic&lt;br /&gt;
lrwxrwxrwx  1 root root     28 2007-02-02 08:39 source -&amp;gt; /usr/src/linux-source-2.6.20&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create the link if the line above is not existent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;root@localhost:~#ln -s /usr/src/linux-source-2.6.20 /lib/modules/2.6.20-16-generic/source&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the following will build and install the correct modules to their locations:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;make install HDAPS=1&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
To make sure your system loads the modules at boot time, do this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;echo &amp;quot;tp_smapi&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
echo &amp;quot;hdaps&amp;quot; &amp;gt;&amp;gt; /etc/modules&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
and update your initramfs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get tp_smapi running now, just load the modules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;modprobe -a tp_smapi hdaps&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This description was tested on Kubuntu 'Feisty Fawn' and should work on all Debian-based distros with minor tweaks.&lt;br /&gt;
&lt;br /&gt;
'''EDIT:''' Works on Kubuntu 7.10 (&amp;quot;Gutsy Gibbon&amp;quot;), too&lt;br /&gt;
&lt;br /&gt;
===Battery charge control features===&lt;br /&gt;
To set the thresholds for starting and stopping battery charging (in percent of current full charge capacity):&lt;br /&gt;
:{{cmdroot|echo 40 &amp;gt; /sys/devices/platform/smapi/BAT0/start_charge_thresh}}&lt;br /&gt;
:{{cmdroot|echo 70 &amp;gt; /sys/devices/platform/smapi/BAT0/stop_charge_thresh}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/*_charge_thresh}}&lt;br /&gt;
{{HINT|Battery charging thresholds can be used to keep Li-Ion ad Li-Polymer batteries partially charged, in order to [[Maintenance#Battery_treatment|increase their lifetime]].}}&lt;br /&gt;
To prevent charging for 17 minutes (regardless of thresholds):&lt;br /&gt;
:{{cmdroot|echo 17 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
{{HINT|Charge inhibiting can be used to reduce the power draw of the laptop, in order to use an under-spec power supply that can't handle the combined power draw of running and charging. It can also be used to control which battery is charged when [[How to use UltraBay batteries|using an Ultrabay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel charging preventation:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes}}&lt;br /&gt;
&lt;br /&gt;
To force battery discharging (even if connected to AC):&lt;br /&gt;
:{{cmdroot|echo 1 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
{{HINT|This can be used to choose which battery is discharged when [[How to use UltraBay batteries|using an UltraBay battery]].}}&lt;br /&gt;
&lt;br /&gt;
To cancel forced discharge:&lt;br /&gt;
:{{cmdroot|echo 0 &amp;gt; /sys/devices/platform/smapi/BAT0/force_discharge}}&lt;br /&gt;
&lt;br /&gt;
===Battery status features===&lt;br /&gt;
To view extended battery status such as charging state, voltage, current, capacity, cycle count and model information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/installed&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/state       # idle/charging/discharging&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/cycle_count&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_percent&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_running_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_charging_time&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_capacity&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/design_voltage&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacturer&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/model&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/barcoding&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/chemistry&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/serial&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/manufacture_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/first_use_date&lt;br /&gt;
# cat /sys/devices/platform/smapi/BAT0/temperature # in milli-Celsius&lt;br /&gt;
# cat /sys/devices/platform/smapi/ac_connected&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The raw status data is also available, including some fields not listed above (in case you can figure them out):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|cat /sys/devices/platform/smapi/BAT0/dump}}&lt;br /&gt;
&lt;br /&gt;
In all of the above, replace &amp;lt;tt&amp;gt;BAT0&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;BAT1&amp;lt;/tt&amp;gt; to address the 2nd battery.&lt;br /&gt;
&lt;br /&gt;
Note that the battery status readout conflicts with the stock [[HDAPS|hdaps]] driver, so if you use &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; you will need to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; using {{cmdroot|1=make load HDAPS=1}} (see [[#Bundled hdaps driver|Bundled hdaps driver]] below).&lt;br /&gt;
&lt;br /&gt;
On [[ACPI]]-enabled systems, most of above information is also available through the files under {{path|/proc/acpi/battery}}. However, the ACPI interface does not include the instantaneous power and cycle count readouts, and does not work well when [[How to use UltraBay batteries|hotswapping UltraBay batteries]].&lt;br /&gt;
&lt;br /&gt;
====Scripts====&lt;br /&gt;
Some scripts can make it easier to grep the information you need from tp_smapi&lt;br /&gt;
* [[battery.rb]]&lt;br /&gt;
&lt;br /&gt;
===Other features===&lt;br /&gt;
&lt;br /&gt;
There is also [[sysfs]] attribute for making direct SMAPI requests to the SM BIOS firmware. Don't touch it unless you really know what you're doing. Example:&lt;br /&gt;
 # echo '211a 100 0 0' &amp;gt; /sys/devices/platform/smapi/smapi_request; cat /sys/devices/platform/smapi/smapi_request&lt;br /&gt;
 211a 34b b2 0 0 0 'OK'&lt;br /&gt;
The &amp;quot;4b&amp;quot; in the 2nd value, converted to decimal, is 75: the current charging stop threshold (stop_charge_thresh).&lt;br /&gt;
&lt;br /&gt;
===Bundled &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver===&lt;br /&gt;
&lt;br /&gt;
The tp_smapi package includes a modified version of the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; Linux kernel driver used by the [[HDAPS]] system. To use &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; concurrently, you '''must''' use the modified version.&lt;br /&gt;
&lt;br /&gt;
To build the modified version, simply append the &amp;lt;tt&amp;gt;HDAPS=1&amp;lt;/tt&amp;gt; parameter to the &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; command (see [[#Installation|Installation]] above):&lt;br /&gt;
:{{cmdroot|1=make load HDAPS=1}}&lt;br /&gt;
or&lt;br /&gt;
:{{cmdroot|1=make install HDAPS=1}}&lt;br /&gt;
&lt;br /&gt;
If you don't do that, you will not be able to load &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; (and its support module &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt;) when &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; is loaded, and vice versa. You can use &amp;lt;tt&amp;gt;rmmod&amp;lt;/tt&amp;gt; to switch between these modules.&lt;br /&gt;
&lt;br /&gt;
Note that some of the battery status is also visible through ACPI ({{path|/proc/acpi/battery/*}}), independently of &amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; has several changes:&lt;br /&gt;
* The &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver in mainline kernels conflicts with the extended battery status (they use the same IO ports). The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; coordinates this access through the bundled &amp;lt;tt&amp;gt;thinkpad_ec&amp;lt;/tt&amp;gt; driver.&lt;br /&gt;
* The modified &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver fixes reliability and improves support for recent ThinkPad models (*60 and newer), since unlike the mainline driver, it correctly follows the Embedded Controller communication protocol.&lt;br /&gt;
* Several other improvements, such as the ability to control the polling rate.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
&lt;br /&gt;
If you get &amp;quot;&amp;lt;tt&amp;gt;thinkpad_ec: no ThinkPad embedded controller!&amp;lt;/tt&amp;gt;&amp;quot; when trying to load the module on a supported model listed below, you should [[BIOS_Upgrade|upgrade your BIOS]]. Some early BIOS (like 1.x on the X31) don't handle the embedded controller.&lt;br /&gt;
&lt;br /&gt;
===Model-specific status===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 92%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+&amp;lt;tt&amp;gt;tp_smapi&amp;lt;/tt&amp;gt; feature support matrix&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; | &lt;br /&gt;
=====A series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{A22p}} 2629-USG&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{A30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
=====G series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{G41}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
=====R series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{R31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} ||      ||  || No SMAPI BIOS&lt;br /&gt;
|-&lt;br /&gt;
! {{R40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50}}&lt;br /&gt;
| {{Cunk}} || {{Cno}}  || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50e}} 1834-JAG&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R50p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 18*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 || 3.22 || Machine types 1829, 1830, 1831 and 1836&lt;br /&gt;
|-&lt;br /&gt;
! {{R51}} 28*&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      || 1.29 || Machine types 2883, 2887, 2888, 2889, 2894 and 2495&lt;br /&gt;
|-&lt;br /&gt;
! {{R52}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.29 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{R60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} ||{{Cyes}}  || {{Cno|text=}} 1 || 0.33 || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====T series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{T20}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} ||      ||  || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T22}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} ||      ||  || Has SMAPI BIOS but no function is supported. EC LPC3 protocol fails.&lt;br /&gt;
|-&lt;br /&gt;
! {{T23}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T40p}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T41p}} 2373-AM9&lt;br /&gt;
| {{Cno}} || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.20 || EC v3.04&lt;br /&gt;
|-&lt;br /&gt;
! {{T42}}&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KXU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 || 3.21 || Stop charge threshold works in Windows, but dmesg says &amp;quot;__get_real_thresh: cannot get stop_thresh of bat=0: Function is not supported by SMAPI BIOS&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
! {{T42p}} 2373-KUU&lt;br /&gt;
| {{Cyes}} || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43}} 2686&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.33 || 1.27 ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T43p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes|text=}} 0 ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 7 || 0.32 ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T60p}} 8743-CTO&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 1 || 0.32 ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{T61}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{T61p}} 6457-7XG&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 1 || 0.32 ||  || [http://ubuntuforums.org/showthread.php?p=3146719 ref]&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====X series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{X20}} 2662-31G&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X24}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X30}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cunk}}  || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X31}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X32}}&lt;br /&gt;
| {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cno}}  || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X40}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 || 2.08 || EC v1.62&lt;br /&gt;
|-&lt;br /&gt;
! {{X41}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 3 || 0.32 ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X41_Tablet}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}}   || {{Cno|text=}} (see ref) || 0.32  || || [http://sourceforge.net/mailarchive/message.php?msg_name=4757BD30.8080808%40ugcs.caltech.edu ref] ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X60}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 ||      || 2.07 || EC v1.10, 2.6.20 issue (see discussion)&lt;br /&gt;
|-&lt;br /&gt;
! {{X60s}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{X61s}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 / 3 || 0.32 ||  || [http://www.slackwiki.org/ThinkPad_X61s ref] says 3 but conflicting report received&lt;br /&gt;
|-&lt;br /&gt;
! {{X60_Tablet}}&lt;br /&gt;
| {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cno|text=}} 3 ||      ||  || [http://luke.no-ip.org/x60tablet/ ref] [http://rad.bioinfo.ulaval.ca/hardware/x60tablet ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{X61_Tablet}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cno|text=}} 6 || 0.32  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=11 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=====Z series=====&lt;br /&gt;
|-&lt;br /&gt;
{{tp_smapi/model_status_table_header}}&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z60t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cunk}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61m}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes|text=}} 0 || 0.32 ||  ||&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61t}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  || [https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/45014 ref]&lt;br /&gt;
|-&lt;br /&gt;
! {{Z61p}}&lt;br /&gt;
| {{Cyes}} || {{Cyes}} || {{Cunk}} || {{Cunk}} || {{Cyes}} || {{Cyes}} || {{Cunk}} ||      ||  ||&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SMAPI capabilities may depend on the BIOS version as well, so upgrading to the latest version of the BIOS might provide more SMAPI functions (especially true for long-lived BIOS with lots of releases, like the TP-1R).&lt;br /&gt;
&lt;br /&gt;
Please update the above and report your experience on the [[Talk:tp_smapi|discussion]] page. If the module loads but gives a &amp;quot;&amp;lt;tt&amp;gt;not supported&amp;lt;/tt&amp;gt;&amp;quot; or &amp;quot;&amp;lt;tt&amp;gt;not implementeded&amp;lt;/tt&amp;gt;&amp;quot; error when you try to use some specific file in {{path|/sys/devices/platform/smapi/}}, please report the &amp;lt;tt&amp;gt;dmesg&amp;lt;/tt&amp;gt; output and whether the corresponding functionality is available under Windows - maybe your ThinkPad just can't do that. &lt;br /&gt;
&lt;br /&gt;
While at it, you may also want to add your laptop to the [[list of DMI IDs]].&lt;br /&gt;
&lt;br /&gt;
=====HDAPS axis orientation=====&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; The HDAPS axis orientation is set using the &amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; module parameter (at load time) or sysfs attribute (at runtime). The tp_smapi's hdaps driver supports all 8 possible sensor orientations (inversion and swapping). You can use [[HDAPS#Visualisation_of_ThinkPad_orientation|hdaps visualisation]] to check if the settings is correct.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;invert&amp;lt;/tt&amp;gt; is an integer between 0 and 7, whose meaning is as follows. Let &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt; denote the hardware readouts. Let &amp;lt;tt&amp;gt;R&amp;lt;/tt&amp;gt; denote the laptop's roll (tilt left/right), and let &amp;lt;tt&amp;gt;P&amp;lt;/tt&amp;gt; denote the laptop's pitch (tilt forward/backward). The possible values are as follows:&lt;br /&gt;
    invert=0:   R= X  P= Y   (same as mainline)&lt;br /&gt;
    invert=1:   R=-X  P=-Y   (same as mainline)&lt;br /&gt;
    invert=2:   R=-X  P= Y   (new)&lt;br /&gt;
    invert=3:   R= X  P=-Y   (new)&lt;br /&gt;
    invert=4:   R= Y  P= X   (new)&lt;br /&gt;
    invert=5:   R=-Y  P=-X   (new)&lt;br /&gt;
    invert=6:   R=-Y  P= X   (new)&lt;br /&gt;
    invert=7:   R= Y  P=-X   (new)&lt;br /&gt;
&lt;br /&gt;
[[Category:Drivers]] [[Category:Patches]]&lt;br /&gt;
&lt;br /&gt;
===Tools using this driver===&lt;br /&gt;
&lt;br /&gt;
The driver's interface can be accessed directly through the files under {{path|/sys/devices/platform/smapi}}, or via the following tools:&lt;br /&gt;
* [[KThinkBat]] - display battery status on the KDE &amp;lt;tt&amp;gt;kicker&amp;lt;/tt&amp;gt; panel.&lt;br /&gt;
* [[gkrellm-ThinkBat]] - battery status plugin for Gkrellm2&lt;br /&gt;
* {{CodeRef|thinkpad-smapi.sh}} - script to display various SMAPI information using tp_smapi module.&lt;/div&gt;</summary>
		<author><name>Lcampagn</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X60_Tablet&amp;diff=28347</id>
		<title>Installation instructions for the ThinkPad X60 Tablet</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X60_Tablet&amp;diff=28347"/>
		<updated>2007-02-22T03:39:19Z</updated>

		<summary type="html">&lt;p&gt;Lcampagn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==External Sources==&lt;br /&gt;
*[http://luke.no-ip.org/x60tablet/ Linux on the X60 Tablet]&lt;/div&gt;</summary>
		<author><name>Lcampagn</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation&amp;diff=28346</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation&amp;diff=28346"/>
		<updated>2007-02-22T02:40:35Z</updated>

		<summary type="html">&lt;p&gt;Lcampagn: /* Installation instructions for specific ThinkPads */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
Here you will find specific information on how to install different operating systems on your ThinkPad.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==General installation instructions==&lt;br /&gt;
*[[Pre-Installation steps]]&lt;br /&gt;
*[[Installation on ThinkPads without CD-ROM drive]]&lt;br /&gt;
*[[How to setup boot loaders]]&lt;br /&gt;
*[[Supported Boot Devices]]&lt;br /&gt;
&lt;br /&gt;
==Installation instructions for specific ThinkPads==&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!!Z series!!others&lt;br /&gt;
|- style=&amp;quot;text-align:left;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
'''{{ThinkPad|220|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|230|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|240|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|340|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|350|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|360|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|365|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|370|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|380|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|385|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|390|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|500|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|560|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|570|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|600|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|700|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|701|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|750|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|755|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|760|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|765|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|770|Installation instructions for the}}'''&lt;br /&gt;
||&lt;br /&gt;
'''{{ThinkPad|A20m|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A20p|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A21e|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A21m|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A21p|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A22e|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A22m|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A22p|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A30|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A30p|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A31|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|A31p|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
'''{{ThinkPad|G40|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|G41|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
'''{{ThinkPad|R30|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R31|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R32|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R40|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R40e|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R50|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R50p|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R50e|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R51|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R51e|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R52|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R60e|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|R60|Installation instructions for the}}'''&lt;br /&gt;
||&lt;br /&gt;
'''{{ThinkPad|S30|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|S31|Installation instructions for the}}'''&lt;br /&gt;
||&lt;br /&gt;
'''{{ThinkPad|T20|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T21|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T22|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T23|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T30|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T40|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T40p|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T41|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T41p|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T42|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T42p|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T43|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T43p|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T60|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|T60p|Installation instructions for the}}'''&lt;br /&gt;
||&lt;br /&gt;
'''{{ThinkPad|X20|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X21|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X22|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X23|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X24|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X30|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X31|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X32|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X40|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X41|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X41 Tablet|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X60|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X60s|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|X60 Tablet|Installation instructions for the}}'''&lt;br /&gt;
||&lt;br /&gt;
'''{{ThinkPad|Z60m|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|Z60t|Installation instructions for the}}'''&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|Z61p|Installation instructions for the}}'''&lt;br /&gt;
||&lt;br /&gt;
'''[[Installation instructions for the RS/6000 Notebook 860|RS/6000 Notebook 860]]'''[[Category:860]]&lt;br /&gt;
&lt;br /&gt;
'''[[Installation instructions for the PC110|PC110]]'''[[Category:PC110]]&lt;br /&gt;
&lt;br /&gt;
'''{{ThinkPad|TransNote|Installation instructions for the}}'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-48NT8D IBMs Linux on Personal Systems page]&lt;br /&gt;
*[http://www.linux-laptop.net Linux on Laptops] features a [http://www.linux-laptop.net/ibm.html list of installation guides for IBM Notebooks]&lt;br /&gt;
*[http://tuxmobil.org/ TuxMobil] also features a [http://tuxmobil.org/ibm.html list of installation guides for IBM Notebooks]&lt;br /&gt;
*[http://ce.et.tudelft.nl/~zhijiangchang/index.html#useful How to make Windows, Linux and AcessIBM working all together]&lt;/div&gt;</summary>
		<author><name>Lcampagn</name></author>
		
	</entry>
</feed>