https://www.thinkwiki.org/w/api.php?action=feedcontributions&user=Mitchell&feedformat=atomThinkWiki - User contributions [en]2024-03-28T16:01:31ZUser contributionsMediaWiki 1.31.12https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&diff=43246Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X2002009-05-23T16:40:52Z<p>Mitchell: /* Resolve Issues */ +sound info.</p>
<hr />
<div>[[Category: X200]]<br />
==Overview==<br />
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].<br />
<br />
Upgrading from 8.10 may not be a painless process. There are regressions (at least with the X200Tablet).<br />
<br />
==Saving Windows==<br />
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP). If you were planning to use Windows, the first thing you would do is to back this up. Even if you don't plan on using Windows, you may wish to back it up anyway. See other installation instructions for details. You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows). But backing up Windows may be the hardest part of the entire installation process.<br />
<br />
==Install Ubuntu==<br />
If you have an UltraBase, the CD install should just work.<br />
<br />
==Resolve Issues==<br />
The X200 is newish hardware, and Lenovo no longer officially supports linux, so it takes some time to get everything working. Joys of monoculture.<br />
<br />
=== Bugzilla ===<br />
* https://launchpad.net/ubuntu/+bugs (very large - the best place to start searches)<br />
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.assignee=&field.bug_reporter=&field.omit_dupes=on&field.has_patch=&field.has_no_package= search: ''thinkpad''] (large - includes bugs not applicable to the X200, but misses some which don't mention it)<br />
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=X200&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.assignee=&field.bug_reporter=&field.omit_dupes=on&field.has_patch=&field.has_no_package= search: ''X200''] (medium - still includes a couple of false hits, eg Radeon "X200", and misses more)<br />
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad+X200&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.assignee=&field.bug_reporter=&field.omit_dupes=on&field.has_patch=&field.has_no_package= search: ''thinkpad X200''] (small - but misses many)<br />
<br />
=== Features ===<br />
* Display - now just works.<br />
* Trackpoint - now just works? For customizing the calibration, see ''link''.<br />
* Wireless (Intel 5100) - seems to just work.<br />
* Bluetooth - ''untested''.<br />
* Broadband (AT&T) - ''untested''.<br />
* Camera - seems to just work (install <tt>cheese</tt>).<br />
* Sound<br />
** Speakers - not working, on Base or off. This is a 9.04 regression.<br />
** Headphones - just work, both laptop and base.<br />
** Mic - all just work: built-in, laptop external, and base external.<br />
<br />
'''untested'''<br />
* Skype<br />
* UltraBase VGA<br />
* Power Mgmt<br />
* HDD clicking. (but I haven't heard a click (on AC) since install).<br />
* HDAPS and drive parking<br />
* HDAPS as tilt sensor<br />
* GPS (AT&T)<br />
* Fingerprint reader<br />
* Temperature sensors<br />
<br />
===Sound===<br />
Internal speakers don't seem to be working out of the box. See the 8.10 doc.<br />
<br />
===Suspend and Hibernate===<br />
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).<br />
<br />
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].<br />
<br />
===X200 Tablet===<br />
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].<br />
<br />
* Wacom stylus - seems to just work.<br />
* Wacom touch - "works", but is still miscalibrated, so the cursor position doesn't match your finger position.<br />
* Screen rotation - the old scripts don't work in 9.04.<br />
<br />
====Wacom touch calibration====<br />
There are old instruction for adjusting the calibration ... somewhere. They will have to be dug up and modified for the new, bare, "works" out of the box xorg.conf.<br />
<br />
====Screen rotation====<br />
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04. But it looks like a modified script might work?<br />
<br />
== Notes ==<br />
<br />
== See also ==</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&diff=43245Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X2002009-05-23T15:43:42Z<p>Mitchell: /* Resolve Issues */ +bugzilla links.</p>
<hr />
<div>[[Category: X200]]<br />
==Overview==<br />
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].<br />
<br />
Upgrading from 8.10 may not be a painless process. There are regressions (at least with the X200Tablet).<br />
<br />
==Saving Windows==<br />
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP). If you were planning to use Windows, the first thing you would do is to back this up. Even if you don't plan on using Windows, you may wish to back it up anyway. See other installation instructions for details. You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows). But backing up Windows may be the hardest part of the entire installation process.<br />
<br />
==Install Ubuntu==<br />
If you have an UltraBase, the CD install should just work.<br />
<br />
==Resolve Issues==<br />
The X200 is newish hardware, and Lenovo no longer officially supports linux, so it takes some time to get everything working. Joys of monoculture.<br />
<br />
=== Bugzilla ===<br />
* https://launchpad.net/ubuntu/+bugs (very large - the best place to start searches)<br />
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.assignee=&field.bug_reporter=&field.omit_dupes=on&field.has_patch=&field.has_no_package= search: ''thinkpad''] (large - includes bugs not applicable to the X200, but misses some which don't mention it)<br />
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=X200&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.assignee=&field.bug_reporter=&field.omit_dupes=on&field.has_patch=&field.has_no_package= search: ''X200''] (medium - still includes a couple of false hits, eg Radeon "X200", and misses more)<br />
* [https://launchpad.net/ubuntu/+bugs?field.searchtext=thinkpad+X200&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=FIXCOMMITTED&field.assignee=&field.bug_reporter=&field.omit_dupes=on&field.has_patch=&field.has_no_package= search: ''thinkpad X200''] (small - but misses many)<br />
<br />
=== Features ===<br />
* Display - now just works.<br />
* Trackpoint - now just works. For customizing the calibration, see ''link''.<br />
* Wireless (Intel 5100) - seems to just work.<br />
* Bluetooth - ''untested''.<br />
* Broadband (AT&T) - ''untested''.<br />
* Camera - seems to just work (install <tt>cheese</tt>).<br />
<br />
'''untested'''<br />
* Speakers<br />
* Headphones (laptop, base)<br />
* Mic (camera, laptop, base)<br />
* Skype<br />
* UltraBase VGA<br />
* Power Mgmt<br />
* HDD clicking. (but I haven't heard a click (on AC) since install).<br />
* HDAPS and drive parking<br />
* HDAPS as tilt sensor<br />
* GPS (AT&T)<br />
* Fingerprint reader<br />
* Temperature sensors<br />
<br />
===Suspend and Hibernate===<br />
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).<br />
<br />
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].<br />
<br />
===Sound===<br />
Doesn't seem to be working out of the box, at least while on ultrabase. See the 8.10 doc.<br />
<br />
===X200 Tablet===<br />
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].<br />
<br />
* Wacom stylus - seems to just work.<br />
* Wacom touch - "works", but is still miscalibrated, so the cursor position doesn't match your finger position.<br />
* Screen rotation - the old scripts don't work in 9.04.<br />
<br />
====Wacom touch calibration====<br />
There are old instruction for adjusting the calibration ... somewhere. They will have to be dug up and modified for the new, bare, "works" out of the box xorg.conf.<br />
<br />
====Screen rotation====<br />
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04. But it looks like a modified script might work?<br />
<br />
== Notes ==<br />
<br />
== See also ==</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&diff=43243Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X2002009-05-23T05:13:04Z<p>Mitchell: /* Saving Windows */ tweak</p>
<hr />
<div>[[Category: X200]]<br />
==Overview==<br />
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].<br />
<br />
Upgrading from 8.10 may not be a painless process. There are regressions (at least with the X200Tablet).<br />
<br />
==Saving Windows==<br />
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP). If you were planning to use Windows, the first thing you would do is to back this up. Even if you don't plan on using Windows, you may wish to back it up anyway. See other installation instructions for details. You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD, without booting Windows). But backing up Windows may be the hardest part of the entire installation process.<br />
<br />
==Install Ubuntu==<br />
If you have an UltraBase, the CD install should just work.<br />
<br />
==Resolve Issues==<br />
* Display - now just works.<br />
* Trackpoint - now just works. For customizing the calibration, see ''link''.<br />
* Wireless (Intel 5100) - seems to just work.<br />
* Bluetooth - ''untested''.<br />
* Broadband (AT&T) - ''untested''.<br />
* Camera - seems to just work (install <tt>cheese</tt>).<br />
<br />
'''untested'''<br />
* Speakers<br />
* Headphones (laptop, base)<br />
* Mic (camera, laptop, base)<br />
* Skype<br />
* UltraBase VGA<br />
* Power Mgmt<br />
* HDD clicking. (but I haven't heard a click (on AC) since install).<br />
* HDAPS and drive parking<br />
* HDAPS as tilt sensor<br />
* GPS (AT&T)<br />
* Fingerprint reader<br />
* Temperature sensors<br />
<br />
===Suspend and Hibernate===<br />
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).<br />
<br />
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].<br />
<br />
===Sound===<br />
Doesn't seem to be working out of the box, at least while on ultrabase. See the 8.10 doc.<br />
<br />
===X200 Tablet===<br />
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].<br />
<br />
* Wacom stylus - seems to just work.<br />
* Wacom touch - "works", but is still miscalibrated, so the cursor position doesn't match your finger position.<br />
* Screen rotation - the old scripts don't work in 9.04.<br />
<br />
====Wacom touch calibration====<br />
There are old instruction for adjusting the calibration ... somewhere. They will have to be dug up and modified for the new, bare, "works" out of the box xorg.conf.<br />
<br />
====Screen rotation====<br />
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04. But it looks like a modified script might work?<br />
<br />
== Notes ==<br />
<br />
== See also ==</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_9.04_(Jaunty_Jackalope)_on_a_ThinkPad_X200&diff=43242Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X2002009-05-23T05:09:01Z<p>Mitchell: First draft of a new Ubuntu install page.</p>
<hr />
<div>[[Category: X200]]<br />
==Overview==<br />
This page is intended to evolve into a more recent version of [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]].<br />
<br />
Upgrading from 8.10 may not be a painless process. There are regressions (at least with the X200Tablet).<br />
<br />
==Saving Windows==<br />
The factory install of Windows on your hard disk is likely the only copy you have (aside from, perhaps, an downgrade disk for XP). If you were planning to use Windows, the first thing you would do is to back this up. Even if you don't plan on using Windows, you may wish to backup it up anyway. See other installation instructions for details. You don't need to register to do it (ie, you can save a raw disk image using the Ubuntu LiveCD). But backing up Windows may be the hardest part of the entire installation process.<br />
<br />
==Install Ubuntu==<br />
If you have an UltraBase, the CD install should just work.<br />
<br />
==Resolve Issues==<br />
* Display - now just works.<br />
* Trackpoint - now just works. For customizing the calibration, see ''link''.<br />
* Wireless (Intel 5100) - seems to just work.<br />
* Bluetooth - ''untested''.<br />
* Broadband (AT&T) - ''untested''.<br />
* Camera - seems to just work (install <tt>cheese</tt>).<br />
<br />
'''untested'''<br />
* Speakers<br />
* Headphones (laptop, base)<br />
* Mic (camera, laptop, base)<br />
* Skype<br />
* UltraBase VGA<br />
* Power Mgmt<br />
* HDD clicking. (but I haven't heard a click (on AC) since install).<br />
* HDAPS and drive parking<br />
* HDAPS as tilt sensor<br />
* GPS (AT&T)<br />
* Fingerprint reader<br />
* Temperature sensors<br />
<br />
===Suspend and Hibernate===<br />
While they don't immediately fail, very limited testing suggests they cause later system flakiness (after suspending and then hibernating, a new synaptic hung while installing cheese).<br />
<br />
There are notes in [[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200#Suspend_and_Hibernate]].<br />
<br />
===Sound===<br />
Doesn't seem to be working out of the box, at least while on ultrabase. See the 8.10 doc.<br />
<br />
===X200 Tablet===<br />
There is old information in [[:Category:X61 Tablet]], especially [[Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X61 Tablet]], and in [[Wacom Serial Tablet PC Stylus]].<br />
<br />
* Wacom stylus - seems to just work.<br />
* Wacom touch - "works", but is still miscalibrated, so the cursor position doesn't match your finger position.<br />
* Screen rotation - the old scripts don't work in 9.04.<br />
<br />
====Wacom touch calibration====<br />
There are old instruction for adjusting the calibration ... somewhere. They will have to be dug up and modified for the new, bare, "works" out of the box xorg.conf.<br />
<br />
====Screen rotation====<br />
Neither the old xrandr+xsetwacom scripts, nor xrandr by itself, work in 9.04. But it looks like a modified script might work?<br />
<br />
== Notes ==<br />
<br />
== See also ==</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X200&diff=43241Installation instructions for the ThinkPad X2002009-05-23T03:46:36Z<p>Mitchell: Starting new Ubuntu install page, as old one has rather dated info.</p>
<hr />
<div>[[Category: X200]]<br />
==Installation Instructions==<br />
*[[Installing Fedora on an X200]]<br />
*[[Installing Debian on an X200]]<br />
*[[Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X200]]<br />
*[[Installing Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad X200]]<br />
*[[Installing Debian Sid on an X200]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200&diff=43240Category:X2002009-05-23T03:36:57Z<p>Mitchell: /* Notes */ improve indentation</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top" |<br />
=== ThinkPad X200 ===<br />
This page gives an overview of all ThinkPad X200 related topics.<br />
<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
==== Standard Features ====<br />
* One of the following [[Intel Core 2 Duo (Penryn)]] processors:<br />
** [[Intel Core 2 Duo]] P8400, 2.26GHz, 3MB L2, 1066MHz FSB<br />
** [[Intel Core 2 Duo]] P8600, 2.40GHz, 3MB L2, 1066MHz FSB<br />
* [[Intel Graphics Media Accelerator 4500MHD]] graphics<br />
** 12" CCFL with 1280x800 (WXGA, 200nit) [[TFT display]]<br />
* Support for up to 8GB DDR3-RAM [[PC3-8500]]<br />
** As of 27 Aug 2008, 4GB option is most available and '''only''' if you select upgrade to Windows Vista Business 64<br />
* One of the following hard drives:<br />
** 80, 160, 250GB SATA 2.5" 5400/7200rpm<br />
** 320GB SATA 2.5" 5400rpm<br />
** 200GB SATA 2.5" 7200rpm with [[Full Disk Encryption (FDE)]]<br />
** 64, 128GB SATA 1.8" SSD<br />
* Optional ThinkPad [[X200 UltraBase]] featuring [[Ultrabay|Serial Ultrabay Slim]] with one of the following:<br />
** None (empty)<br />
**[[Serial Ultrabay Slim DVD-ROM Drive]]<br />
**[[Serial Ultrabay Slim CD-RW/DVD combo Drive]]<br />
**[[Serial Ultrabay Slim DVD Multi III Drive]] (8x Dual Layer)<br />
**[[Serial Ultrabay Slim Blu Ray Drive]]<br />
* One of the following expansion slots:<br />
** 5-1 (MMC/SD/SDHC and MS/MS Pro) Media card Reader with Modem<br />
** 3-1 (MMC/SD/SDHC) Media card Reader without Modem (to save weight)<br />
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[ThinkPad 11b/g Wireless LAN Mini-PCI Express Adapter III]] (Atheros AR2425 chipset - PCI ID 168c001c)<br />
** [[Intel Wifi Link 5100 (AGN)]]<br />
** [[Intel Wifi Link 5300 (AGN)]]<br />
** [[Intel WiMAX/Wifi Link 5350 (AGN)]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** [[Ericsson_F3507g_Mobile_Broadband_Module|Integrated AT&T Mobile Broadband (3G)]] with GPS<br />
** Integrated Verizon Wireless Mobile Broadband (3G) with GPS?<br />
* [[MiniPCI Express slot]] additional with one of the following:<br />
** [[Intel® Turbo Memory hard drive cache]] 2GB<br />
** UWB - wireless usb feature (there is an extra antenna connector for UWB)<br />
* Optional Features<br />
** Integrated camera<br />
** Integrated microphone<br />
** Security cable slot<br />
** [[Integrated Fingerprint Reader]]<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth]]<br />
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]<br />
* [[Active Protection System|IBM Active Protection System]]<br />
* TrackPoint '''only'''<br />
* One of the following batteries<br />
** 4-cell battery, 29 Wh (14.4 V, 2.0 Ah). up to 3.3 hr, 1.34kg<br />
** 4-cell *tablet, 29 Wh (14.4 V, 2.0 Ah).<br />
** 6-cell battery, 56 Wh (10.8 V, 5.2 Ah). up to 6.5 hr, 1.47kg (slightly elevates the back)<br />
** 8-cell *tablet, 66 Wh (14.4 V, 4.6 Ah)<br />
** 9-cell battery, 85 Wh (10.8 V, 7.8 Ah). up to 9.8 hr, 1.63kg (protrudes out back 22.8cm/.9in)<br />
</div><br />
<br />
==== Resources ====<br />
* [http://shop.lenovo.com/ISS_Static/merchandising/US/PDFs/x200_datasheet.pdf X200 Technical Specifications (pdf)]<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-70149 Hardware Maintenance Manual (HMM) - ThinkPad X200, August 2008 Edition] ''(from [http://www.lenovo.com/us/en/ lenovo] / Support / User's guides & manuals)''<br />
<br />
==== Reviews ====<br />
* [http://www.notebookreview.com/default.asp?newsID=4497 Notebookreview.com] 2008-07-15<br />
* [http://www.laptopmag.com/review/laptops/lenovo-thinkpad-x200.aspx Laptopmag.com] 2007-07-14<br />
* [http://reviews.cnet.com/laptops/lenovo-thinkpad-x200/4505-3121_7-33184078.html Cnet.com] 2008-08-14<br />
<br />
==== Notes ====<br />
Sometimes even basic information is hard to find. Here's a place for it.<br />
* Lenovo is having fulfillment problems (2008 Q4). Take estimated ship dates with a grain of salt. Ordering from Lenovo seems to be working better than resellers. Some resellers have yet to receive their first unit. One person I know received an X200 within days (direct, replacing stolen machine), another has been waiting for ~2 months.<br />
* The '''X200T does ''not'' support [http://en.wikipedia.org/wiki/Multi-touch Multi-touch]!'''. "MultiTouch" is Lenovo's misleading way of saying you can use your finger, in addition to a pen. The X200T uses Wacom's no-longer-cutting-edge non-multitouch screen. Only one contact point is available in hardware.<br />
*: Though, hypothetically, you could get two points from a MultiTouch screen, one from finger contact, and one from a stylus hovering over but not touching the screen - they are available in linux as separate devices. It's not clear it's ever been done.<br />
* [[GPS]] - If you have an optional WWAN card (AT&T or Verizon), you have GPS. ''unconfirmed''<br />
* The 5300 normally has 3 x 3 antennas. Adding the webcam reduces this to 2 x 2. ''unconfirmed''<br />
*: Any other conflicts? Bluetooth, etc?<br />
* X200T configured with SSD do '''not''' include the [[Active Protection System]] accelerometer. Despite alternate uses (theft deterrence). Confirmed by Lenovo US sales phone, 2008-10. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)<br />
** My x200t that shipped with an SSD (Feb 2009) *does* include the accelerometer. I suspect that the same accelerometer is the one used to automatically change the screen orientation, so it doesn't make sense that any of the tablets wouldn't include it. There's also only a single part number for the motherboard in the Hardware Maintenance Manual: if there was a revision used for units shipped with SSDs it would likely be listed separately.<br />
** X200 configured with SSD include the [[Active Protection System]] accelerometer (at least 7454-CTO models shipped in Q4 2008). [[User:Vminko|Vminko]] 02:41, 30 December 2008 (CET)<br />
* The [http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS108-588&appname=lenovous&language=en X200 Tablet Sleeve] supports 4 and 8 cell batteries, but not 9 cell. ''from announcement''<br />
* The X200 does not have a touchpad. For folks who really want one, a somewhat messy possibility ''might'' be [http://www.ergonomictouchpad.com/ergonomic_touchpad.php www.ergonomictouchpad.com] (never used - no endorsement) which looks vaguely like a [http://www.cirque.com/cpages/?page=17 Cirque TSM9925 Touchpad] with velcro and wire added.<br />
* There can be a ''big'' cost difference between preconfigured units from VARs, and custom configured units from shop.lenovo.com, as of 2008-10-31 ([http://alltp.blogspot.com/2008/10/heckuva-deal-on-lenovo-x200-tablet-pc.html examples]).<br />
*: But shipping delays may be even greater than when ordering directly from Lenovo (2008 Q4).<br />
<br />
[[Category:X Series]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Wacom_Serial_Tablet_PC_Stylus&diff=40248Wacom Serial Tablet PC Stylus2008-12-15T08:59:48Z<p>Mitchell: /* Models featuring this Device */ +X200_Tablet</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<br />
|style="vertical-align:top" |[[Image:Logo_wacom.gif|Wacom Logo]]<br />
|style="vertical-align:top" |<br />
<div style="margin:0px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
=== Wacom Serial Tablet PC Stylus ===<br />
This is a stylus made for tablet PCs by Wacom.<br />
=== Features ===<br />
* Chipset: Wacom<br />
* Serial: irq 5 port 0x0200<br />
</div><br />
|}<br />
<br />
==Linux Support==<br />
The pen is supported by the XFree/Xorg Wacom driver. New tablets also have the [[MultiTouch]] capability. [[MultiTouch]] is experimentally supported presently by the Linux wacom project. The pen works regardless of [[MultiTouch]] support.<br />
<br />
The pen uses serial and appears on some {{path|/dev/ttySnn}} device where <tt>nn</tt> is a number. An easy way to find it is to map {{path|/dev/ttyS0}} to the pen's port and irq. The values can be found under the windows driver properties. Using values from an {{X41T}} 1869-5CU, the command is: {{cmdroot|setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig}} (you need to run this after every suspend/resume cycle).<br />
<br />
This may be inserted into startup scripts in {{path|/etc/rc.d/}}<br />
<br />
The X config file needs to be changed to use the stylus. Add the following sections to your xorg.conf:<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/ttyS0"<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4" <br />
Option "Mode" "Absolute"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/ttyS0"<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/ttyS0"<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4"<br />
EndSection<br />
<br />
<br />
Add the following lines to the ServerLayout section:<br />
<br />
InputDevice "cursor" "SendCoreEvents"<br />
InputDevice "stylus" "SendCoreEvents"<br />
<br />
Check the wacom driver man page and [http://linuxwacom.sf.net/ website] for other options.<br />
<br />
For handwriting recognition using pen you can use [[CellWriter]].<br />
<br />
To get the right mouse button to map to the stylus button use this script and run it through .bashrc<br />
<br />
#!/bin/bash<br />
xsetwacom set stylus Button1 "button 1"<br />
xsetwacom set stylus Button2 "button 3"<br />
xsetwacom set stylus Button3 "button 3"<br />
<br />
==xrandr Rotation==<br />
<br />
linuxwacom is very buggy. I needed some time to get the tablet work with "xrandr -r". I use the script below to do screen rotation. copy the source an put it in /usr/local/bin/xrotate. You may change output and devices to fit to you're system (the default values work fine for my x41 tablet)<br />
<br />
you can use "xrotate +" to rotate the screen CCW or "xrotate -" to rotate clockwise. use "xrotate x" where x is<br />
* 0 to set rotation to normal<br />
* 1 to set rotation to left<br />
* 2 to set rotation to inverted<br />
* 3 to set rotation to right<br />
<br />
#!/bin/sh<br />
<br />
output=LVDS<br />
if [ "$XROT_OUTPUT" ]<br />
then <br />
output=$XROT_OUTPUT;<br />
fi<br />
devices="stylus cursor"<br />
<br />
geomnbr=0<br />
xrandr=normal<br />
wacom=normal<br />
if [ "$1" == "-" ] || [ "$1" == "+" ] || ! [ "$1" ];<br />
then <br />
operator="$1";<br />
[ "$1" ] || operator='+';<br />
case `xrandr --verbose | grep "^$output " | sed "s/^[^ ]* [^ ]* [^ ]* ([^(]*) \([a-z]*\).*/\1/"` in<br />
normal) geom=0;;<br />
left) geom=1;;<br />
inverted) geom=2;;<br />
right) geom=3;;<br />
esac<br />
let geom=${geom}${operator}1+4<br />
let geom=${geom}%4<br />
else <br />
geom="$1"<br />
fi<br />
<br />
<br />
case $geom in<br />
1) wacom=2; xrandr=left ;;<br />
2) wacom=3; xrandr=inverted ;;<br />
3) wacom=1; xrandr=right ;;<br />
*) wacom=0; xrandr=normal ;;<br />
esac<br />
<br />
echo "xrandr to $xrandr, xsetwacom to $wacom" >&2<br />
<br />
if xrandr --output "$output" --rotate "$xrandr"; then<br />
for d in $devices<br />
do <br />
xsetwacom set "stylus" Rotate "$wacom"<br />
done<br />
fi<br />
<br />
#workaround for linuxwacom bug<br />
if [ "`xsetwacom get stylus Mode`" == '1' ]; then<br />
for d in $devices<br />
do <br />
xsetwacom set stylus CoreEvent "off"<br />
xsetwacom set stylus Mode "off"<br />
done<br />
{ sleep 1;<br />
for d in $devices<br />
do <br />
xsetwacom set stylus Mode "on"<br />
xsetwacom set stylus CoreEvent "on"<br />
done; } &<br />
fi<br />
<br />
--[[User:Gtx|Gtx]] 13:34, 22 April 2008 (CEST)<br />
<br />
modified script for linuxwacom 0.8.1-1.<br />
<br />
#!/bin/sh<br />
<br />
output="(normal left inverted right)" #LVDS<br />
# if [ "$XROT_OUTPUT" ]<br />
# then <br />
# output=$XROT_OUTPUT;<br />
# fi<br />
devices="stylus cursor"<br />
<br />
geomnbr=0<br />
xrandr=normal<br />
wacom=normal<br />
if [ "$1" == "-" ] || [ "$1" == "+" ] || ! [ "$1" ];<br />
then <br />
operator="$1";<br />
[ "$1" ] || operator='+';<br />
case `xrandr --verbose | grep "$output" | sed "s/^[^ ]* [^ ]* [^ ]* ([^(]*) \([a-z]*\).*/\1/"` in<br />
normal) geom=0;;<br />
left) geom=1;;<br />
inverted) geom=2;;<br />
right) geom=3;;<br />
esac<br />
let geom=${geom}${operator}1+4<br />
let geom=${geom}%4 <br />
else <br />
geom="$1"<br />
fi<br />
case $geom in<br />
1) wacom=2; xrandr=left ;;<br />
2) wacom=3; xrandr=inverted ;;<br />
3) wacom=1; xrandr=right ;;<br />
*) wacom=0; xrandr=normal ;;<br />
esac<br />
<br />
echo "xrandr to $xrandr, xsetwacom to $wacom" >&2<br />
<br />
if xrandr -o "$xrandr"; then<br />
for d in $devices<br />
do <br />
xsetwacom set "stylus" Rotate "$wacom"<br />
done<br />
fi<br />
<br />
#workaround for linuxwacom bug<br />
if [ "`xsetwacom get stylus Mode`" == '1' ]; then<br />
for d in $devices<br />
do <br />
xsetwacom set stylus CoreEvent "off"<br />
xsetwacom set stylus Mode "off"<br />
done<br />
{ sleep 1;<br />
for d in $devices<br />
do <br />
xsetwacom set stylus Mode "on"<br />
xsetwacom set stylus CoreEvent "on"<br />
done; } &<br />
fi<br />
<br />
<br />
--[[User:radix|radix]] 13:15, 28 August 2008 (CEST)<br />
<br />
==Troubleshooting==<br />
<br />
If the stylus still doesn't work try to reset the bios. This fixed it for me. --[[User:Gtx|Gtx]] 08:22, 21 April 2008 (CEST)<br />
<br />
==Models featuring this Device==<br />
*ThinkPad {{X41_Tablet}}<br />
*ThinkPad {{X60_Tablet}}<br />
*ThinkPad {{X61_Tablet}}<br />
*ThinkPad {{X200_Tablet}}<br />
<br />
[[Category:Components]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_and_Ubuntu_8.10_(Intrepid_Ibex)_on_a_ThinkPad_X200&diff=40247Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X2002008-12-15T06:40:56Z<p>Mitchell: /* Tablet */ Note unneeded "pad" input device.</p>
<hr />
<div>==Overview==<br />
<br />
Some items in this page still date from before the 8.10 final release. Please keep a close eye out, and if needed, refer to [http://ubuntuforums.org/showthread.php?p=5897839 this X200 owners' thread] on the Ubuntu forums.<br />
<br />
Started off working w. Ubuntu 8.04 install using the optical drive in the X200 ultrabase. Everything went swimmingly - ethernet worked out of the box as did the optical drive itself.<br />
<br />
Wound up upgrading to the 8.10 beta b/c of wireless troubles. See below.<br />
<br />
'''Reminder:''' [[Pre-Installation steps]]: ''Create Recovery Media''.<br />
<br />
==Ultrabay==<br />
<br />
Handles install without any problem - note: while the machine is in the bay, it forces you to use the ethernet port on the bay.<br />
<br />
<br />
==Ethernet==<br />
<br />
Intel GigE worked out of the box w. 8.04 and 8.10.<br />
<br />
<br />
==Wireless==<br />
<br />
Ah, the wireless.<br />
<br />
run <lshw -C network> and sort out which wireless hardware you're working with.<br />
<br />
===Atheros===<br />
<br />
For Atheros, check out [http://ubuntuforums.org/showthread.php?t=905126 this forum post]<br />
<br />
===Intel 5300===<br />
<br />
====On 8.04====<br />
<br />
For Intel 5300 on 8.04, neither the recommended drivers (iwl5000) nor ndiswrapper did the trick. It's possible that manually-upgrading the kernel to 2.27 would do it.<br />
<br />
====On 8.10====<br />
<br />
With 8.10 the Intel 5300 works out of the box. Running <lshw -C network> again shows that it's the iwlagn driver (pre-loaded with the 2.27 kernel) that does the trick.<br />
<br />
<br />
== Sensors ==<br />
<br />
The gnome sensors applets allow you to monitor all important temperatures, including battery, hdd, cpu and gpu and system fan.<br />
sudo apt-get install sensors-applet hddtemp<br />
<br />
Add the hardware sensor monitor to the panel and then configure it. You will see a lot of datasources.<br />
<br />
* libsensors: temp9 and temp10 seem to be mainboard/Nortbridge or power regulator sensors.<br />
* hddtemp: /dev/sda is the sensor of the harddisk. It is important to keep the harddisk always below 45°, normally under 40°. This is no problem with the X200, the hdd cooling system seems to be very good. <br />
* ibm-acpi: cpu, mPCI, GPU and FAN are intersting sensors.<br />
<br />
The sensors-applet's default high value for CPU temperature is 60 C. So even a cool but running centrino shows up red. 80 C seems a more plausible value. Max temp is apparently[http://users.erols.com/chare/elec.htm] 85 or 90 C.<br />
<br />
==Power Mgmt==<br />
<br />
Not sure what's going on here yet, but the battery claims to have only ~3 hours of life after a full charge.<br />
<br />
The "laptop" mode is by default disabled in ubuntu (for some historical weird hang up, I guess). To enable it, edit the file:<br />
<br />
/etc/default/acpi-support<br />
<br />
Change the following line:<br />
<br />
ENABLE_LAPTOP_MODE=false<br />
<br />
to be:<br />
<br />
ENABLE_LAPTOP_MODE=true<br />
<br />
Then your battery can provide you with some extra time (about half an hour~one hour). You can also enable it through [http://www.lesswatts.org/projects/powertop/ powertop] together with other tweaks. So far no hang is observed.<br />
<br />
==Display==<br />
<br />
With 8.10 things don't work well if you stick with the "preconfigured" xorg.conf settings: the default resolution is only 1074x768 and the highest setting that the laptop display is capable of (1280x800) doesn't even show up in the <em> System -> Preferences -> Screen Resolution </em>applet. To make matters worse, VGA output is a royal pain.<br />
<br />
Here's a step-by-step guide to improve the situation if you just want to get the laptop display working properly:<br />
<br />
* First, make sure you've got the latest drivers for your Intel 4500MHD video card:<br />
<br />
$ sudo apt-get install xserver-xorg-video-intel<br />
<br />
::On current 8.10, this step seems unnecessary. You get intel by default, and by this point in the install, you should have already have updated your packages. [[User:Mitchell|Mitchell]] 01:28, 15 December 2008 (CET)<br />
<br />
* Once that's over and done with, open up your xorg.conf file (note: be careful with this file):<br />
<br />
$ sudo gedit /etc/X11/xorg.conf<br />
<br />
* Make the part that isn't commented out (i.e. that isn't preceded by a #) look like this:<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
# The following line was an auto-configuration added by an external VGA projector; you might leave it out to try<br />
# letting the system detect dimensions appropriate for whatever display you happen to use.<br />
Virtual 2432 864<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
<br />
* Note: those HDMI settings are really important because they get rid of some imaginary monitors (see [[Installing_Debian_on_an_X200 | this other X200 installation notes post]] for more details). Save your new xorg.conf file and quit the Gedit text editor. Also quit any other open programs and log-out from your session to reset the X-server and apply the new settings. <br />
*:On current 8.10, some changes seem unnecessary: Driver (intel is already the default), DefaultDepth (24 is the default), and the Option "monitor-HDMI-x" lines (the "HDMI-x" sections are sufficient to get rid of the imaginary monitor; but I've not yet tried using an external laptop or base monitor). [[User:Mitchell|Mitchell]] 01:28, 15 December 2008 (CET)<br />
<br />
* When you log back in, all the new settings should "just work," but don't be alarmed if things look a little weird or if the screen resolution still isn't the full 1280x800...<br />
:To make sure the xorg.conf changes "stuck" and that the resolution is set properly, open the aforementioned Screen Resolution applet: <em>System -> Preferences -> Screen Resolution</em>. Make sure the the box that says "Mirror Screens" is unchecked and click the "Detect Displays" button. In the little colorful diagram thingy, there should just be a big rectangle that says "laptop 12"" (or whatever portion of those words fits in the rectangle). Click on this "laptop" rectangle to make sure and activate it. Once you've clicked on it, look for the drop-down menu that says the resolution and re-set this to "1280 x 800 (16:10)." If there are other "imaginary" displays activated (there shouldn't be with the HDMI workaround in the xorg.conf file included above) use the same drop-down menu to turn them to "Off." Click "Apply" at the bottom and close the applet. Log out again to activate the new settings. If all goes according to plan, your 12800x800 display should now work like a charm!<br />
<br />
* Once you've got that all sorted out, go ahead and hook the X200 up to an external display via the VGA port (so far, I've only tried it directly from the laptop and not from the ultrabase). Open the Screen Resolution applet again and click "detect displays." Choose a resolution for the external display and decide whether you want a mirrored output or not. Click apply (here the system may prompt you to accept virtual display settings - say yes and confirm by typing your password), close the applet and log-out again to reset X. Once you log in, you should have an external display working perfectly.<br />
<br />
==Suspend and Hibernate==<br />
<br />
There will be conflicting reports and confusion about this, because there is at least one problem causing ''intermittent'' suspend/hibernate crashes. In other words, things may appear to work, and then they may not. <br />
<br />
If you experience a crash while resuming (my guess is that you will, eventually), first attempt the fix described here:<br />
<br />
[[Install_Ubuntu_8.10_(Intrepid_Ibex)_on_an_T400#Suspend.2FHibernate|Workaround on T400]]<br />
<br />
Apparently, this is a mulitprocessor problem, and the workaround to disable one core at Suspend/Hibernate is relatively easy to implement.<br />
<br />
'''Confirmations:'''<br />
<br />
On a up to date 8.10 system (as of Nov 12th: linux-2.6.27-8, video-intel-2.4.1ubuntu10) suspend now seems to work perfectly. Before the above multi-processor workaround, resuming from suspend used to crash about half of the time. Not a single crash has been observed since the workaround.<br />
<br />
Seconded; this appeared to fix it for me as well (12/2/08), on a fully updated 8.10, with no other modifications to stock. <br />
<br />
On current 8.10, without the workaround, hibernating from the menu, I get ata errors going down, and then a crash waking up. 2 trials, 2 crashes. [[User:Mitchell|Mitchell]] 04:30, 15 December 2008 (CET)<br />
<br />
Additional information about various potential fixes is included below for reference, though I didn't (so far) need to do anything aside from what's described above.<br />
<br />
'''Older workarounds:'''<br />
<br />
Without tweaking drivers and xorg.conf suspending thcrough the Gnome desktop does not work - seems to be related to the problems with the display. Some people have reported no problems with Hibernate, while others...you get the idea. If you're one of those having problems, read on... <br />
<br />
Once you've followed the instructions to get the Intel video card drivers installed (see above) Hibernate (suspend to disk) *should* work and Sleep/Suspend (suspend to RAM) *might* work (there are some conflicting reports out there). If you like, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
If the suspend/sleep <em>still</em> doesn't work, try the following work-around to get the system to recognize the sleep settings.<br />
<br />
First, create a text file called "sleep_module" in the /etc/pm/config.d directory:<br />
<br />
sudo gedit /etc/pm/config.d/sleep_module<br />
<br />
In the new file, enter:<br />
<br />
SLEEP_MODULE=kernel <br />
<br />
Then save this new file and exit your text editor as well as your other apps. Do a reboot and try out your freshly reconfigured suspend funciton. As before, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
Note: Consider using "sudo -e" for editing files.<br />
<br />
'''Update:''' The latest updates to 8.10 (still in beta at the time of this writing) appear to include a sleep_module configuration file that includes this tweak.<br />
<br />
I had lots of problems with both hibernate and suspend. I have disabled lots of (for me at least) unneeded devices in the bios, and now at least hibernat works. My x200 bios configuration is now like this:<br />
<br />
* Network<br />
* wake on lan disabled<br />
* flash over lan disabled<br />
* ethernet lan option rom disabled<br />
* hdd dma enabled<br />
* wireless lan and wimax enabled<br />
* SATA AHCI<br />
* CPU<br />
* multiprocessing enabled<br />
* intel virtualisation enabled<br />
* intel vt-d enabled<br />
* Intel AMT<br />
* AMT Control disabled<br />
* IO Port access<br />
* ethernet enabled<br />
* wlan enabled<br />
* wimax enabled<br />
* wwan enabled<br />
* bluetooth enabled<br />
* wireless usb disabled<br />
* modem disabled<br />
* usb enabled<br />
* expresscard slot disabled<br />
* ultrabay hdd disabled<br />
* memory card disabled<br />
* camera enabled<br />
* microphone enabled<br />
* fingerprint reader disabled<br />
<br />
I left the rest at bios defaults. Of course, you may one some of these devices enabled, but this is a starting point to get hibernate/suspend working and by enabling one after the other you should be able to find the device/s that cause problems.<br />
<br />
Note: with this setup i get 4h30min battery time instead of 3h55min<br />
<br />
===Hibernate fails with Virtualbox running===<br />
<br />
-> http://ubuntuforums.org/showpost.php?p=4582777&postcount=3<br />
<br />
To circumvent this, put this in ~/bin/vbox_suspend:<br />
<br />
#!/bin/bash<br />
for x in `vboxmanage -nologo list runningvms`<br />
do<br />
vboxmanage -nologo controlvm $x savestate<br />
done<br />
<br />
and make it executable. you can test it by running ~/bin/vbox_suspend, which should save all your running virtual machines.<br />
<br />
put the following lines in /etc/pm/sleep.d/90virtualbox and make it executable as well:<br />
<br />
#!/bin/bash<br />
case $1 in<br />
hibernate)<br />
su YOURUSER -c /home/YOURUSER/bin/vbox_suspend<br />
;;<br />
esac<br />
<br />
This is not very elegant (as the user is hard-coded), but it works.<br />
I have tried to make the machines resume on thaw, but it would place the vms on the wrong workspace even if it know which X server to use, which it doesn't.<br />
<br />
==Sound==<br />
<br />
(Mostly) works out of the box under 8.04 and 8.10<br />
<br />
Worth noting the apparent problems w. Skype and Medibuntu on 8.10 - some of this [http://ubuntuforums.org/showthread.php?t=925211 appears to have been resolved] recently and will hopefully make it into the final release. Sound playback within Skype still failing despite the workaround.<br />
<br />
==Camera==<br />
<br />
Works with Cheese Webcam Booth on 8.10. Also with Kopete on 8.10.<br />
* Not for me (re cheese). https://bugs.launchpad.net/ubuntu/+source/gstreamer0.10/+bug/266879 . [[User:Mitchell|Mitchell]] 03:02, 15 December 2008 (CET)<br />
<br />
==VGA==<br />
<br />
"Unclaimed"<br />
[[Category:X200]]<br />
<br />
==Tablet==<br />
<br />
The X200 Tablet uses a wacom device. The instructions for configuring xorg in 8.10 to work with wacom input do seem to work.<br />
<br />
https://help.ubuntu.com/community/WacomTroubleshooting<br />
<br />
Just follow the directions for a SERIAL tablet (which is indeed what you have).<br />
<br />
Here is an xorg.conf that has both the resolution fix and the tablet fixes (tested on 8.10 with an X200 tablet, multitouch - i.e. pen and fingertip - screen):<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "pad"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "pad"<br />
EndSection<br />
<br />
# Uncomment the following section if you you have a TabletPC that upports touch<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "touch"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "touch"<br />
Option "ForceDevice" "ISDV4" # Serial Tablet PC ONLY<br />
# Adding manual calibration, since proper calibration seems impossible.<br />
Option "BottomX" "915"<br />
Option "BottomY" "940"<br />
Option "TopX" "48"<br />
Option "TopY" "90"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "Default Layout"<br />
Screen "Default Screen"<br />
InputDevice "stylus" "SendCoreEvents"<br />
InputDevice "eraser" "SendCoreEvents"<br />
InputDevice "cursor" "SendCoreEvents" # For non-LCD tablets only<br />
InputDevice "pad" # For Intuos3/CintiqV5/Graphire4/Bamboo tablets<br />
InputDevice "touch" "SendCoreEvents" # Only a few TabletPCs support this typeEndSection <br />
EndSection<br />
<br />
You may also want to download the "wacom-tools" package.<br />
<br />
When I started experimenting with this, the touchscreen portion of multitouch was quite miscalibrated, and the distro's wacom-tools package has a bug which seems to prevent calibration of the touchscreen via wacomcpl. In fact, it seems to have a series of bugs, judging based on what I've found in google. My solution was to futilely experiment with various xsetwacom values (as documented [http://linuxwacom.sourceforge.net/index.php/howto/xsetwacom here]) for a few minutes, and then try the values [http://dkukawka.blogspot.com/2008/07/lenovo-thinkpad-x61t-touch-support.html posted by an X61t user]. :) These were close enough to be a starting point. Then I fiddled some more, and the results are included in the xorg.conf above. With luck, these numbers will just work for you, and you won't have any issue. If not, check out the linux wacom documentation and experiment with new calibration values via xsetwacom.<br />
<br />
:Why is a "pad" input device included? The X200T's "wacom tablet" doesn't have a mousepad. [[User:Mitchell|Mitchell]] 07:40, 15 December 2008 (CET)<br />
<br />
==TrackPoint==<br />
<br />
Trackpoint scrolling is, as of 12/02/08, not in a good way on 8.10. <br />
<br />
There are numerous instructions on the net which don't work for the X200, including instructions here ([How to configure the TrackPoint]). <br />
<br />
On the X200, the HAL-based instructions in the last section may work, but only until suspend/resume or VT switching, due to a [https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/282387|known bug in evdev].<br />
<br />
I do have it working, but it is not pretty:<br />
<br />
* Create a patched evdev. The following is based on instructions from the bug report. These instructions will be extremely fragile - they work for me today but could stop working at any point, based on updates to evdev or changes to the bug. The lines below do the following:<br />
** Set up a work area<br />
** Download the patch from the bug report<br />
** Prepare your environment for building evdev<br />
** Download the evdev sources<br />
** Patch them<br />
** Produce a new deb<br />
** Install it<br />
<br />
sudo bash<br />
cd /usr/local/src/<br />
mkdir evdev<br />
cd evdev <br />
wget http://launchpadlibrarian.net/19254960/preinit.diff<br />
apt-get build-dep xserver-xorg-input-evdev<br />
apt-get source xserver-xorg-input-evdev<br />
cd xserver-xorg-input-evdev-2.0.99+git20080912<br />
patch -p1 < ../preinit.diff<br />
debian/rules binary<br />
cd ..<br />
dpkg -i xserver-xorg-input-evdev_2.0.99*.deb<br />
<br />
<br />
* Add xinput lines to your .profile; with this patch, the normal HAL method no longer works (though note, I have not tested this with no hal policy for the trackpoint at all, just left the non-working one in place. YMMV). <br />
<br />
# TEMPORARY FIX FOR BROKEN EVDEV/HAL for TrackPoint scrolling:<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation" 8 1<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Button" 8 2<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Y Axis" 8 4 5<br />
<br />
* reboot your system.<br />
<br />
This _should_ enable trackpoint scrolling that will be durable through suspend/resumes. <br />
<br />
At some point they will fix the upstream evdev package, and/or adjust other configs. You may see this suddenly stop working after an update (evdev was updated but this fix wasn't in the update); in which case, re-run the steps above to create an updated patched evdev (hopefully). Or the update may carry an upstream fix; latest word in the bug is that the unstable upstream debian packages work out of the box. In which case you should simply come back and reexamine whether the xinput lines in the .profile are still necessary at a later date, or you can use the more canonical HAL profile to control the trackpoint properties.<br />
<br />
==Rotating the Screen==<br />
<br />
A classic gripe of linux tablet users is that they can rotate the screen but the digitizer does not rotate with it automatically. This can render the portrait "tablet" configuration useless. <br />
<br />
The wacom driver actually has the capability to rotate as well. A script has been developed to both rotate the display and the wacom driver:<br />
<br />
http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus<br />
<br />
The last version of the script (for linuxwacom 8.1) appears to work on the x200, in 8.10, after using the other xorg display and wacom modifications above.<br />
<br />
''However'' after a few days I have noticed some instability and odd behaviour with it. If anyone would like to have a look at it, please feel free to post a correction here. <br />
<br />
Once you have copied the script to your local system, you can use the normal key binding facilities in gnome or kde to bind your rotation key to it. <br />
<br />
If anyone has any idea how to receive and act automatically on signals from the sensor inside the x200 tablet's screen hinge, please post it!<br />
<br />
==Fan==<br />
<br />
'''WARNING: USE AT YOUR OWN RISK'''<br />
<br />
Monitor the temperatures of harddisk, gpu and cpu when controlling fan speed.<br />
<br />
Software fan control is dangerous, and can shorten the life of a laptop or even destroy it. For a detailed discussion and warning from the kernel maintainer, see [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html this thread, which happens to be an X200s user asking for help].<br />
<br />
As reported elsewhere, the fan seems to run constantly while the machine is on under 8.04 and 8.10 (though not at 100% speed).<br />
<br />
The fan can be made less noisy by installing the tpfand packages. <br />
<br />
* First add the tpfand repository. Instructions are [http://www.gambitchess.org/mediawiki/index.php/ThinkPad_Fan_Control here]<br />
<br />
* Then install the packages.<br />
<br />
sudo apt-get install tpfand tpfand-admin <br />
<br />
There is currently no tpfand profile for the x200, but you can set the thresholds and power settings for all fans easily with the thinkpad fan control software. Here are the settings from my /etc/tpfand.conf as a starting point. Use the sensors applet to control and monitor temperatures of cpu, gpu and harddisk (see below)!<br />
<br />
#... <br />
0. CPU = 0:0 50:7 <br />
1. Mini PCI = 0:0 55:4 <br />
2. Sensor 2 = 0:255 <br />
3. GPU = 0:0 55:5 <br />
4. Bat0 = 0:0 35:3 <br />
5. Sensor 5 = 0:255 <br />
6. Bat1 = 0:0 35:3 <br />
7. Sensor 7 = 0:255 <br />
8. MB? = 0:0 45:2 <br />
9. MB? = 0:0 55:3 <br />
10. Sensor 10 = 0:255 <br />
11. Sensor 11 = 0:255 <br />
12. Sensor 12 = 0:255 <br />
13. Sensor 13 = 0:255 <br />
14. Sensor 14 = 0:255 <br />
15. Sensor 15 = 0:255 <br />
#...<br />
<br />
These settings achieve the following:<br />
* fan runs at 15% if the system is idle. This is very quiet, while still having airflow through the system<br />
* if MB2>55° or BAT>35°, fan runs at 30%<br />
* if MiniPCI>55° fan 45%<br />
* if GPU>55 fan 60%<br />
* if CPU>50 fan 90%<br />
The net effect is that a busy system will run the fan between 45%-90% depending on load. <br />
<br />
The above settings are for the X200 (without an s) as is all the information on this page. Don't know why somebody messes this page up with stuff about the X200s and sinister warnings. <br />
<br />
(Warnings are cheap. New laptops are not. When you have a '''"sinister warning"''' about tpfand from [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html the maintainer of the thinkpad fan code in the kernel himself], I don't know why this section is even here - it's not safe. Even so I say leave it, but just make sure there is a big warning.)<br />
<br />
The sensor names were deduced by matching sensor readings between tpfand and acpi temperatures.</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&diff=40246How to get special keys to work2008-12-15T06:18:25Z<p>Mitchell: /* Overview */ Another "Tablet buttons vary with model" link.</p>
<hr />
<div>==Overview==<br />
The following table gives an overview over the special keys found on ThinkPads and what is needed to make them work.<br />
{| {{prettytable}}<br />
! key !! standard function{{footnote|1}} !! tools supporting key{{footnote|2}} !! configurability{{footnote|3}} !! remarks<br />
|-<br />
| {{key|Fn}} || - || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || on release without completed key combination<br />
|-<br />
| {{key|Fn}}{{key|F1}} || - || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|F2}} || lock screen || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || in models from T/X/Z 60 onwards<br />
|-<br />
| {{key|Fn}}{{key|F3}} || blank screen || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| {{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<br />
|-<br />
| {{key|Fn}}{{key|F5}} || switch bluetooth || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || in models starting from 2002<br />
|-<br />
| {{key|Fn}}{{key|F6}} || - || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|F7}} || toggle display || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions || [[Sample Fn-F7 script]]<br />
|-<br />
| {{key|Fn}}{{key|F8}} || toggle trackpoint/touchpad || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions ||<br />
|-<br />
| {{key|Fn}}{{key|F9}} || eject from dock || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|F10}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|F11}} || - || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| {{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<br />
|-<br />
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || brightness up || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{key|Fn}}{{key|End}} || brightness down || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{key|Fn}}{{key|PageUp}} || toggle thinklight || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{key|Fn}}{{key|Space}} || toggle zoom || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|Ins}} || - || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]]|| full ||<br />
|-<br />
| {{key|Fn}}{{key|Del}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|Backspace}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||<br />
|-<br />
| {{key|NumLock}} || - || [[#xmodmap configuration|xmodmap]] || make working ||<br />
|-<br />
| {{key|Windows}} || - || [[#xmodmap configuration|xmodmap]] || remapping ||<br />
|-<br />
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} or {{ibmkey|ThinkVantage|#495988}} || help application || [[thinkpad-acpi]],[[#tpb configuration|tpb]], [[KMilo]] || full ||<br />
|-<br />
| {{ibmkey|Home|#494949}} || open web browser || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Search|#494949}} || open search application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Mail|#494949}} || open mail application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Favorites|#494949}} || open favorites || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Reload|#494949}} || reload web page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Abort|#494949}} || abort loading page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Backward|#494949}} || previous page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || ext. keyboards and ThinkPads starting from 2002<br />
|-<br />
| {{ibmkey|Forward|#494949}} || next page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || ext. keyboards and ThinkPads starting from 2002<br />
|-<br />
| {{ibmkey|Volume up|#494949}} || volume up || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{ibmkey|Volume down|#494949}} || volume down || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{ibmkey|Volume mute|#494949}} || mute volume || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{ibmkey|Play/Pause|#494949}} || start/pause playback || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Down)<br />
|-<br />
| {{ibmkey|Stop|#494949}} || stop playback || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Up)<br />
|-<br />
| {{ibmkey|Next|#494949}} || play next || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Right)<br />
|-<br />
| {{ibmkey|Previous|#494949}} || play previous || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Left)<br />
|-<br />
| {{ibmkey|Power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]],[[thinkpad-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press<br />
|-<br />
| Display lid || blank screen || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| Ultrabay lid || announce ultrabay change || [[#ibm-acpi events|ibm-acpi]] || full ||<br />
|-<br />
| Dock eject || eject from dock || [[#ibm-acpi events|ibm-acpi]] || full ||<br />
|-<br />
| {{ibmkey|Tablet power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press<br />
|-<br />
| {{ibmkey|Tablet orientation|#494949}} || rotates screen || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet shortcut|#494949}} || shortcut menu || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet Esc|#494949}} || esc key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet Enter|#494949}} || enter key || [[#mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet Up|#494949}} || up key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet Down|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet (unlabeled)|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|}<br />
<br />
For completeness, note that the WiFi enable/disable switch is located (on the X61 and other models that have it) just under the front edge of the base of the machine. You should see a small horizontal slider switch. Enable by sliding it rightwards, disable by sliding it leftwards.<br />
<br />
Tablet buttons vary with model. See [[Tablet Hardware Buttons]].<br />
<br />
==Triggering key events==<br />
===ibm-acpi/thinkpad-acpi events===<br />
Some of the following events require a {{cmdroot|echo enable,0xffff >/proc/acpi/ibm/hotkey}} (when using ibm-acpi) in order to make acpi able to get information on them. Since the newer thinkpad-acpi has a larger number of bits that can be set in the mask, you might try {{cmdroot|echo enable,0xffffffff >/proc/acpi/ibm/hotkey}} if you are using this driver. These events can be used to [[How to configure acpid|configure acpid]].<br />
<br />
{| {{prettytable}}<br />
|+ events triggered by [[ibm-acpi]] for {{path|/etc/acpi/events}} files. May vary on different models.<br />
! key !! event<br />
|-<br />
| {{key|Fn}}{{key|F1}} || ibm/hotkey HKEY 00000080 00001001<br />
|-<br />
| {{key|Fn}}{{key|F2}} || ibm/hotkey HKEY 00000080 00001002<br />
|-<br />
| {{key|Fn}}{{key|F3}} || ibm/hotkey HKEY 00000080 00001003<br />
|-<br />
| {{key|Fn}}{{key|F4}} || ibm/hotkey HKEY 00000080 00001004<br />
|-<br />
| {{key|Fn}}{{key|F5}} || ibm/hotkey HKEY 00000080 00001005<br />
|- <br />
| {{key|Fn}}{{key|F6}} || ibm/hotkey HKEY 00000080 00001006<br />
|-<br />
| {{key|Fn}}{{key|F7}} || ibm/hotkey HKEY 00000080 00001007<br />
|-<br />
| {{key|Fn}}{{key|F8}} || ibm/hotkey HKEY 00000080 00001008<br />
|- <br />
| {{key|Fn}}{{key|F9}} || ibm/hotkey HKEY 00000080 00001009 <br />
|-<br />
| {{key|Fn}}{{key|F10}} || ibm/hotkey HKEY 00000080 0000100a<br />
|-<br />
| {{key|Fn}}{{key|F11}} || ibm/hotkey HKEY 00000080 0000100b <br />
|-<br />
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c<br />
|-<br />
| {{key|Fn}}{{key|Backspace}} || ibm/hotkey HKEY 00000080 0000100d<br />
|-<br />
| {{key|Fn}}{{key|Ins}} || ibm/hotkey HKEY 00000080 0000100e <br />
|-<br />
| {{key|Fn}}{{key|Del}} || ibm/hotkey HKEY 00000080 0000100f <br />
|-<br />
| {{key|Fn}}{{key|Home}}/{{key|Fn}}{{key|Pos1}} || ibm/hotkey HKEY 00000080 00001010<br />
|-<br />
| {{key|Fn}}{{key|End}} || ibm/hotkey HKEY 00000080 00001011<br />
|-<br />
| {{key|Fn}}{{key|PgUp}} || ibm/hotkey HKEY 00000080 00001012<br />
|-<br />
| {{key|Fn}}{{key|Space}} || ibm/hotkey HKEY 00000080 00001014<br />
|-<br />
| {{ibmkey|Volume up|#494949}}|| ibm/hotkey HKEY 00000080 00001015<br />
|-<br />
| {{ibmkey|Volume down|#494949}} || ibm/hotkey HKEY 00000080 00001016<br />
|-<br />
| {{ibmkey|Volume mute|#494949}} || ibm/hotkey HKEY 00000080 00001017<br />
|-<br />
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} or {{ibmkey|ThinkVantage|#495988}} || ibm/hotkey HKEY 00000080 00001018<br />
|-<br />
| Ultrabay eject || ibm/bay MSTR 00000003 00000000<br />
|-<br />
| Ultrabay inserted || ibm/bay MSTR 00000001 00000000 <br />
|-<br />
| Dock eject || ibm/dock GDCK 00000003 00000001 <br />
|-<br />
| Wireless switch || ibm/hotkey HKEY 00000080 00007000 <br />
|}<br />
<br />
By disassembling and editing the DSDT, more events can be added. HKEY events are triggered by calls to the MKHQ function, e.g. <tt>\_SB.PCI0.LPC.EC.HKEY.MHKQ(0×1007)</tt> will trigger "ibm/hotkey HKEY 00000080 00001007". Most of these can be found in <tt>_Qxx</tt> 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 <tt>_Qxx</tt> method to get it recognized by ibm-acpi as well as creating new <tt>_Qxx</tt> 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].<br />
<br />
=== ACPI events from the <tt>button</tt> module===<br />
<br />
A few keys can generate ACPI events that result from the <tt>button</tt> kernel module, as long as they are masked off in the <tt>ibm-acpi</tt>/<tt>thinkpad-acpi</tt> hotkey's mask or the hotkey function of the latter module is disabled.<br />
<br />
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.<br />
<br />
{| {{prettytable}}<br />
|+ events triggered by ACPI when hotkey is masked out or disabled. <br />
! key !! event !! T60 event<br />
|-<br />
| {{ibmkey|Power|#494949}} || button/power PWRF 00000080 xxxxxxxx || button/power PWRF 00000080 00000001<br />
|-<br />
| {{key|Fn}}{{key|F4}} || button/sleep SLPB 00000080 00000001 || button/sleep SLPB 00000080 00000001<br />
|-<br />
| Display lid || button/lid LID 00000080 xxxxxxxx || button/lid LID 00000080 00000001<br />
|}<br />
<br />
===tpb configuration===<br />
{| {{prettytable}}<br />
|+ configuration keywords for [[tpb]] (to put in {{path|/etc/tpbrc}})<br />
! key !! config keyword<br />
|-<br />
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || THINKPAD<br />
|-<br />
| {{ibmkey|Home|#494949}} || HOME<br />
|-<br />
| {{ibmkey|Search|#494949}} || SEARCH<br />
|-<br />
| {{ibmkey|Mail|#494949}} || MAIL<br />
|-<br />
| {{ibmkey|Favorites|#494949}} || FAVORITES<br />
|-<br />
| {{ibmkey|Reload|#494949}} || RELOAD<br />
|-<br />
| {{ibmkey|Abort|#494949}} || ABORT<br />
|-<br />
| {{ibmkey|Backward|#494949}} || BACKWARD<br />
|-<br />
| {{ibmkey|Forward|#494949}} || FORWARD<br />
|-<br />
| {{key|Fn}} || FN<br />
|-<br />
| {{key|Fn}}{{key|Space}} || CALLBACK (zoom on/off)<br />
|-<br />
| {{key|Fn}}{{key|PageUp}} || CALLBACK (thinklight on/off)<br />
|-<br />
| {{key|Fn}}{{key|F7}} || CALLBACK (display lcd/crt/both)<br />
|-<br />
| {{key|Fn}}{{key|F8}} || CALLBACK (expand on/off)<br />
|-<br />
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || CALLBACK (brightness <percent>)<br />
|-<br />
| {{key|Fn}}{{key|End}} || CALLBACK (brightness <percent>)<br />
|-<br />
| {{ibmkey|Volume up|#494949}} || CALLBACK (volume <percent>)<br />
|-<br />
| {{ibmkey|Volume down|#494949}} || CALLBACK (volume <percent>)<br />
|-<br />
| {{ibmkey|Volume mute|#494949}} || CALLBACK (mute on/off)<br />
|}<br />
<br />
To all parameter keywords should be assigned the full path to the executables supposed to be started on key press.<br />
The exectable provided for the CALLBACK keyword should take the parameters given in parentheses and act according to them.<br />
If you want to use xmodmap for the HOME, SEARCH, MAIL, FAVORITES, RELOAD, ABORT, BACKWARD, FORWARD and FN keys you should<br />
provide a <tt>XEVENTS OFF</tt> in your {{path|/etc/tpbrc}}. <br />
You can use an appropriate executable to [[How to inject fake keystrokes|inject fake keystrokes]].<br />
<br />
For Debian users, tpb is started from {{path|/etc/X11/Xsession.d/90tpb}}.<br />
<br />
'''Sound Button configuration'''<br />
<br />
''Note: Tested on T60p with Ubuntu 6.06 LTS''<br />
<br />
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}}.<br />
<br />
''Note: Tested on X21 with Ubuntu 6.06 LTS''<br />
<br />
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]].<br />
<br />
===KMilo configuration===<br />
The programs to be executed by [[KMilo]] are configured via the KDE Control Center (<tt>kcontrol</tt>), under <tt>System Administration --> IBM Thinkpad Laptop</tt>. Note that you can use appropriate commands to [[How to inject fake keystrokes|inject fake keystrokes]].<br />
<br />
===xmodmap configuration===<br />
xmodmap enables you to edit the modifier map and keymap tables that are used to translate keycodes into keysyms.<br />
Understood? Well, basically it allows you to give the X server a dictionary for the translation of keycodes like "97" into more human readable synonyms like "Home". This way xmodmap allows you to make the special keys of your keyboard known to X applications.<br />
<br />
To discover the keycode that a certain keypress produces, use the tool {{cmduser|xev}} <br />
<br />
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.<br />
<br />
The {{path|~/.Xmodmap}} lines for our purpose are in the form of<br />
keycode <keycode> = <keysym><br />
<br />
Load the assocation using the command<br />
<br />
{{cmduser|xmodmap ~/.Xmodmap}} <br />
<br />
(some configurations do this automatically upon X startup). <br />
<br />
The following table shows the keycodes generated by the ThinkPad special keys and sensible keysyms to assign them to.<br />
{| {{prettytable}}<br />
|+ keycodes and recommended keysyms<br />
! key !! keycode !! keysym<br />
|-<br />
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || 159 || XF86LaunchA<br />
|-<br />
| {{ibmkey|Backward|#494949}} || 234 || XF86Back or F19<br />
|-<br />
| {{ibmkey|Forward|#494949}} || 233 || XF86Forward or F20<br />
|-<br />
| {{ibmkey|Play/Pause|#494949}} || 162 || XF86AudioPlay<br />
|-<br />
| {{ibmkey|Stop|#494949}} || 164 || XF86AudioStop<br />
|-<br />
| {{ibmkey|Next|#494949}} || 153 || XF86AudioNext<br />
|-<br />
| {{ibmkey|Previous|#494949}} || 144 || XF86AudioPrev<br />
|-<br />
<br />
<br />
| {{ibmkey|Home|#494949}} || 178 || XF86HomePage<br />
|-<br />
| {{ibmkey|Search|#494949}} || 229 || XF86Search<br />
|-<br />
| {{ibmkey|Mail|#494949}} || 236 || XF86Mail<br />
|-<br />
| {{ibmkey|Favorites|#494949}} || 230 || XF86AddFavorite or XF86Favorites<br />
|-<br />
| {{ibmkey|Reload|#494949}} || 231 || XF86Reload<br />
|-<br />
| {{ibmkey|Abort|#494949}} || 232 || XF86Stop<br />
|-<br />
| {{key|Fn}} || 227 || F35<br />
|}<br />
<br />
Note: You can also use xkeycaps (an X tool to display and edit the X keyboard mapping) to generate proper .Xmodmap.<br />
<br />
Note: if you are running [[tpb]] you might need to add the line <tt>XEVENTS=off</tt> 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.<br />
<br />
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.<br />
<br />
Note: The "XF86AudioPlay" etc. just works with a few programs. To make it work with more multimedia programs you have map the key to use something like [http://www.kde-apps.org/content/show.php/ReMoot?content=63140 ReMoot]. ReMoot is a command line wrapper that control 18 of the most common multimedia applications. <br />
<br />
=====Enabling the Windows and Menu Keys=====<br />
On some systems the Windows and Menu keys may not be recognized. You can enable then by<br />
making the following changes:<br />
<br />
keycode 115 = F13<br />
keycode 227 = F35<br />
<br />
F13 and F35 are used for the Windows and and Menu keys respectively. Labelling keycpode 227 as "Menu" may conflict with the right-mouse-click event.<br />
<br />
=====Using Caps Lock as Super L (Windows key)=====<br />
You can easily use Caps Lock as Win key by adding the following in your ~/.Xmodmap:<br />
! No Caps Lock<br />
clear lock<br />
! Caps Lock as Win key<br />
add mod4 = Caps_Lock<br />
=====NumLock=====<br />
On the ThinkPad {{600}}, {{T20}}, {{T21}}, {{T22}}, {{T30}}, {{X20}}, {{X21}}, {{X31}}, {{X40}}, {{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 <tt>xmodmap</tt>, ex: <tt>xmodmap ~/.Xmodmap</tt>:<br />
keycode 77 = Num_Lock<br />
<br />
This configuration also enables the respective LED.<br />
<br />
Please note, pressing the {{key|Shift}}+{{key|ScrLk}} key combination, without first following the above configuration, will start an accessibility feature, which will allow the numeric keypad to maneuver the mouse pointer. Starting this accessibility feature and subsequently running xmodmap, as described above, results in the accessibility feature and the numeric lock LED functioning simultaneously. As such, the above configuration should be completed before the accessibility feature is started in order to produce numbers.<br />
======T60 (and possibly others)======<br />
It seems that on the T60, PrtSc, ScrLk and Pause all generate the correct keycodes, however Fn-PrtSc (labelled as SysRq) generates keycode 64 (Alt_L) followed by the expected 111 (Sys_Req) on down and the same thing in the opposite order on release. Fn-ScrLk (labelled as NmLk) does indeed toggle the Numlock, but only seems to register as an X event the first time it is engaged. The above solution does not appear to work. This is perhaps because the Numlock toggle is built into the firmware rather than controlled by the kernel. Finally, Fn-Pause (labelled as Break) generates keycode 37 (Control_L) followed by the expected keycode 110 (Break) on down and the same thing in reverse order on release.<br />
=====NumPad (KeyPad) keys access by a key combination=====<br />
The current state is that you have to switch NumLock '''on''' via {{key|Fn}}+{{key|ScrLk}} and then e.g. type {{key|u}} to get a {{key|KP_4}} (NumPad 4). To get back to normal keyboard, you have to type {{key|Fn}}+{{key|ScrLk}} again.<br />
<br />
Some people (including me) are missing on recent Thinkpads the option to have Fn as a modifier key to access the NumPad instead, i.e. and e.g. {{key|Fn}}+{{key|u}} gives you {{key|KP_4}}.<br />
<br />
There is currently no way to make this work in a simple way (pleeeease correct me if I am wrong!), though there is a work-around. Instead of using {{key|Fn}} for accessing the NumPad, {{key|CapsLock}} can get this function by being mapped as Mode_switch (the {{key|AltGr}} on international keyboards). The {{key|Fn}} can be remapped to be Caps_Lock - while at the same time retaining its function to access the special laptop functions (e.g. {{key|Fn}}+{{key|F4}} for sleep}}, by using .Xmodmap.<br />
<br />
So on my R60 running fvwm@Slackware 12.1 the .Xmodmap would look like this:<br />
<br />
! Make the forward and back buttons work<br />
keycode 233 = XF86Forward<br />
keycode 234 = XF86Back<br />
! Make the WIN key to Super modifier<br />
keycode 115 = Super_L<br />
! Set the Caps_Lock physical key to Mode_switch (like AltGr on intl. keyboards)<br />
keycode 66 = Mode_switch<br />
! Set the Fn key to work as Caps_Lock now. The special key combos like Fn-F4 for "sleep" still work then<br />
keycode 227 = Caps_Lock<br />
clear lock<br />
add lock = Caps_Lock<br />
! Now we activate those new keys. Find some free mod slots (xmodmap) and put them there.<br />
clear mod4<br />
clear mod5<br />
add mod4 = Super_L<br />
add mod3 = Mode_switch<br />
! It's time to add the keypad keys to the third position of the key definition (pure shift mode_switch shift+mode_switch)<br />
keycode 16 = 7 ampersand KP_7<br />
keycode 17 = 8 asterisk KP_8<br />
keycode 18 = 9 parenleft KP_9<br />
keycode 19 = 0 parenright KP_Divide<br />
keycode 30 = u U KP_4<br />
keycode 31 = i I KP_5<br />
keycode 32 = o O KP_6<br />
keycode 33 = p P KP_Multiply<br />
keycode 44 = j J KP_1<br />
keycode 45 = k K KP_2<br />
keycode 46 = l L KP_3<br />
keycode 47 = semicolon colon KP_Subtract<br />
keycode 58 = m M KP_0<br />
! ... I have to use the coma key, too, on the keypad...so I set it to be F20 (which is not existing on normal keyboards and thus is free... check for side effects in programmes accepting F12+ keys!)<br />
keycode 59 = comma less F20 <br />
keycode 60 = period greater KP_Decimal <br />
keycode 61 = slash question KP_Add<br />
<br />
{{WARN|Your keycodes might be different as well as your '''mod''#''''' settings.}}<br />
Use {{cmduser|xmodmap}} and {{cmduser|xmodmap -pke}} to check your ModMap, and the tool {{cmduser|xev}} to obtain your exact key codes.<br />
<br />
===Mapping keys with setkeycodes===<br />
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.<br />
<br />
The following table shows the scancodes generated by the ThinkPad keys. They vary with model - see [[Tablet Hardware Buttons]].<br />
{| {{prettytable}}<br />
|+ scancodes<br />
! key !! scancode<br />
|-<br />
| {{ibmkey|Tablet orientation|#494949}} || 0x6c<br />
|-<br />
| {{ibmkey|Tablet Shortcut|#494949}} || 0x68<br />
|-<br />
| {{ibmkey|Tablet Esc|#494949}} || 0x6b<br />
|-<br />
| {{ibmkey|Tablet Enter|#494949}} || 0x69<br />
|-<br />
| {{ibmkey|Tablet Up|#494949}} || 0x6d<br />
|-<br />
| {{ibmkey|Tablet Down|#494949}} || 0x6e<br />
|-<br />
| {{ibmkey|Tablet (unlabeled)|#494949}} || 0x67<br />
|}<br />
<br />
===acpi_fakekey===<br />
You can turn acpi events into user-level xevents by putting <tt>acpi_fakekey</tt> commands into the acpi action scripts. There are several layers involved in using acpi keys in this way, so I'll go through the example of using the ThinkVantage button to open xmms.<br />
<br />
My ThinkVantage button generates an '''acpi event''' "ibm/hotkey HKEY 00000080 00001018", so we have the event file <tt>/etc/acpi/events/ThinkVantage</tt> for it which executes the script <tt>/etc/acpi/actions/fakekey-macro.sh</tt>. <br />
<pre><br />
event=ibm/hotkey HKEY 00000080 00001018<br />
action=/etc/acpi/actions/fakekey-macro.sh<br />
</pre><br />
In turn, the executable <tt>/etc/acpi/actions/fakekey-macro.sh</tt> script calls acpi_fakekey with the '''key number''' defined in <tt>/usr/share/acpi-support/key-constants</tt> as $KEY_MACRO which is 112 (you could just as well choose an other key number, just make sure that it doesn't belong to something else like the "j" key or something). <br />
<pre><br />
#!/bin/sh<br />
. /usr/share/acpi-support/key-constants<br />
acpi_fakekey $KEY_MACRO <br />
</pre><br />
I have no idea how this actually corresponds to which xevent is generated, so I can find out out by running the program <tt>xev</tt> and hitting the ThinkVantage button while the mouse is in the <tt>xev</tt> window (remember to <tt>/etc/init.d/acpid restart</tt> first if you just created the <tt>/etc/acpi/events/ThinkVantage</tt> file). I get something popping up in the terminal where I ran xev that looks like this:<br />
<pre><br />
KeyPress event, serial 30, synthetic NO, window 0x2800001,<br />
root 0x6a, subw 0x0, time 2000522842, (138,83), root:(781,500),<br />
state 0x0, keycode 239 (keysym 0x0, NoSymbol), same_screen YES,<br />
XLookupString gives 0 bytes: <br />
XmbLookupString gives 0 bytes: <br />
XFilterEvent returns: False<br />
<br />
KeyRelease event, serial 30, synthetic NO, window 0x2800001,<br />
root 0x6a, subw 0x0, time 2000522842, (138,83), root:(781,500),<br />
state 0x0, keycode 239 (keysym 0x0, NoSymbol), same_screen YES,<br />
XLookupString gives 0 bytes: <br />
XFilterEvent returns: False<br />
</pre><br />
This tells me that the <tt>acpi_fakekey 112</tt> as executed by hitting the ThinkVantage button generates KeyPress event followed by a KeyRelease event with '''keycode''' 239 and that this keycode has been assigned no corresponding '''keysym'''. Thus, I am free to assign the keycode to any keysym I want. You can find a list of available keysyms in <tt>/usr/share/X11/XKeysymDB</tt>. Again try and pick one that is not likely to have already been taken by something, such as <tt>XF86LaunchA</tt>. To assign this keysym to keycode 239, you can either edit ~/.Xmodmap on an individual user basis, or edit the systemwide <tt>/etc/X11/Xmodmap</tt> file to contain the line<br />
<pre><br />
keycode 239 = XF86LaunchA<br />
</pre><br />
If you choose to go with the former, you may need to run <tt>xmodmap ~/.Xmodmap</tt> for every login session in order to read in your ~/.Xmodmap file if your window manager does not do it for you. Regardless of which option you choose, you can run <tt>xmodmap <file></tt> to read in the updated Xmodmap file without logging out and logging back in.<br />
<br />
You should now find that hitting the ThinkVantage button creates the following output from <tt>xev</tt>:<br />
<pre><br />
KeyPress event, serial 55, synthetic NO, window 0x2800001,<br />
root 0x6a, subw 0x0, time 2001286078, (0,106), root:(643,523),<br />
state 0x0, keycode 239 (keysym 0x1008ff4a, XF86LaunchA), same_screen YES,<br />
XLookupString gives 0 bytes: <br />
XmbLookupString gives 0 bytes: <br />
XFilterEvent returns: False<br />
<br />
KeyRelease event, serial 55, synthetic NO, window 0x2800001,<br />
root 0x6a, subw 0x0, time 2001286078, (0,106), root:(643,523),<br />
state 0x0, keycode 239 (keysym 0x1008ff4a, XF86LaunchA), same_screen YES,<br />
XLookupString gives 0 bytes: <br />
XFilterEvent returns: False<br />
</pre><br />
Note the change of <tt>(keysym 0x0, NoSymbol)</tt> to <tt>(keysym 0x1008ff4a, XF86LaunchA)</tt>.<br />
<br />
You're now ready to map <tt>XF86LaunchA</tt> to executing xmms. This is highly dependent on what keygrabber you decide to use. For openbox, I edit my <tt>~/.config/openbox/rc.xml</tt> file and add the following entry in the <keyboard> section:<br />
<pre><br />
<keybind key="XF86LaunchA"><br />
<action name="Execute"><br />
<startupnotify><br />
<enabled>true</enabled><br />
</startupnotify><br />
<command><br />
xmms<br />
</command><br />
</action><br />
</keybind><br />
</pre><br />
After, right clicking on the desktop and selecting the "Reconfigure" menu option, you should then have xmms pop up when you hit the ThinkVantage key.<br />
<br />
==Example Applications==<br />
===Web Browsers===<br />
====Firefox (<3.0)====<br />
<br />
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->Keyconfig. Then you can assign any action you want to the F19/F20 keys (you still need to create {{path|~/.Xmodmap}} as explained above).<br />
<br />
<br />
The remaining discussion gives you various more complicated ways to achieve the same thing. <br />
To have firefox make use of the browser keys you need to modify one of its files{{footnote|4}}.<br />
To do this you will first need to extract it from the {{path|browser.jar}} archive. Do...<br />
<br />
Step 1: Edit .Xmodmap and add entries for F19 and F20 as explained above.<br />
<br />
Step 2:<br />
<br />
Note: <firefox-directory> is probably /usr/lib/firefox. Use your version so, if you have 3.0.1 or 3.0.2 use /usr/lib/firefox-3.0.1<br />
<br />
:{{cmdroot|cd <firefox-directory>/chrome}}<br /><br />
:{{cmdroot|unzip browser.jar}}<br />
<br />
The file of interest is {{path|content/browser/browser.xul}}. Edit it {and don't forget to make a backup copy first}...<br />
:{{cmdroot|vi content/browser/browser.xul}}<br />
<br />
Look for the '''<keyset id="mainKeyset">''' section and add the following lines within...<br />
<key id="goBackKb" keycode="VK_F19" command="Browser:Back" /><br />
<key id="goForwardKb" keycode="VK_F20" command="Browser:Forward" /><br />
<br />
The Command you need for Next Tab <br />
<key id="goBackTabKb" keycode="VK_F19" oncommand="gBrowser.mTabContainer.advanceSelectedTab(-1)" /><br />
For the Previous Tab <br />
<key id="goForwardTabKb" keycode="VK_F20" oncommand="gBrowser.mTabContainer.advanceSelectedTab(1)" /><br />
<br />
Now save the file and repackage the {{path|browser.jar}} archive...<br />
:{{cmdroot|zip -rD0 browser.jar content/browser/}}<br />
<br />
That's it.<br />
<br />
Step 3: Restart Firefox.<br />
<br />
{{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.}}<br />
<br />
{{HINT| 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 and also 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); You can alternatively install the [http://www.pqrs.org/~tekezo/firefox/extensions/functions_for_keyconfig/index.html functions for keyconfig] and set the variable f4kc_NextTab to F20 and f4kc_PrevTab to F19.}}.<br />
<br />
====Firefox 3.0====<br />
Thankfully the people at Mozilla decided to include the expected functionality for the XF86Back and XF86Forward keysyms in the new release so all you need to do is<br />
<br><code># printf 'keycode 234 = XF86Back\nkeycode 233 = XF86Forward' >> /etc/X11/Xmodmap</code><br><br />
And to make this take effect immediately (i.e., without having to log out and log in again), as a regular user run:<br />
<br><code>{{cmduser|Xmodmap /etc/X11/Xmodmap}}</code><br />
<br />
For Hardy Heron, the xmodmap command is all lowercase. Also, the /etc/X11/Xmodmap file is not being read on boot. I've added the command to my .bashrc to have it called on startup.<br />
<br />
====Konqueror====<br />
KDE allows you set key mappings for KDE applications (Go to KMenu > System > Control Center > Regional & Accessibility > 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. <br />
<br />
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).<br />
<br />
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.<br />
<br />
====Opera====<br />
However this isn't a simple configration file, you can set your browser manually.<br /><br />
Go to <i>Tool > Settings > Mouse and keyboard > Keyboard settings > Edit > Browser Window</i>. There add F19 - Back and F20 - Forward. Now you can surf using your TP keys ;-)<br />
<br />
====Epiphany====<br />
To get the keys work in epiphany, you could use the extension from [http://crashman.homelinux.org/~andre/public/epiphany%20extensions/thinkpad%20browserkeys/ here]<br />
You just need to edit your Xmodmap like described for Firefox < 3.0 (bind the keys on F19 and F20)<br />
<br />
===Open an application===<br />
<br />
To configure the ThinkVantage button to open a terminal window in Gnome:<br />
<br />
Step 1:<br />
Use xev to find the keycode generated by the button on your machine. In my case is is 159.<br />
<br />
Step 2:<br />
Create an entry in .Xmodmap like so<br />
<br />
keycode 159 = XF86LaunchA<br />
<br />
replacing 159 by the keycode found in step 1. Load the map using<br />
<br />
:{{cmd|xmodmap ~/.Xmodmap}}<br />
<br />
Step 3:<br />
Configure the required function (e.g. open terminal window) in System->Preferences->Keyboard shortcuts<br />
<br />
===Window Managers===<br />
====fvwm====<br />
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}}:<br />
Key XF86Back A A Scroll -100000 0<br />
Key XF86Forward A A Scroll +100000 0<br />
If you use multiple virtual desktops, you could instead use the keys to flip between them by using GotoDesk.<br />
<br />
====fluxbox====<br />
To get the keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fluxbox/keys}}:<br />
None F19 :PrevWorkspace<br />
None F20 :NextWorkspace<br />
<br />
====pekwm configuration====<br />
You can make the two browser keys switch workspaces in pekwm, by adding the following two lines to the {{path|~/.pekwm/keys}} file:<br />
KeyPress = "Mod1 XF86Back" { Actions = "GoToWorkspace prev" }<br />
KeyPress = "Mod1 XF86Forward" { Actions = "GoToWorkspace next" }<br />
<br />
====pwm====<br />
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}}:<br />
kbind "Back", "switch_rot", -1<br />
kbind "Forward", "switch_rot", 1<br />
<br />
====IceWM====<br />
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):<br />
# "Previous workspace" shortcut<br />
KeySysWorkspacePrev="F19"<br />
# "Next workspace" shortcut<br />
KeySysWorkspaceNext="F20"<br />
<br />
==== Gnome/metacity ====<br />
<br />
Follow the [https://wiki.ubuntu.com/Keybindings Ubuntu guide].<br />
<br />
===Other Uses===<br />
====Console tools configuraton====<br />
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}}):<br />
keycode 158 = Decr_Console<br />
keycode 159 = Incr_Console<br />
<br />
Alternatively you can load this script (perhaps on system startup) to enable Backward/Forward button console (VT) switch:<br />
<br />
#!/bin/sh<br />
echo keycode 158 = Decr_Console | loadkeys<br />
echo keycode 159 = Incr_Console | loadkeys<br />
<br />
It should work with any distro.<br />
<br />
====Cycling through tabs====<br />
In Gnome and Xfce4, Ctrl-PageUp/Ctrl-PageDown move to the previous/following open tab in all applications that have tabbed user interfaces (terminal emulator, web browser, ...). To make use of the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys for this task, there're two possibilities.<br />
<br />
For both ways, you should map the keycodes 233 and 234 to XF86Back and XF86Forward as described in [[#xmodmap_configuration|xmodmap configuration]].<br />
<br />
=====Using xautomation=====<br />
xautomation can be found [http://hoopajoo.net/projects/xautomation.html here].<br />
<br />
Create two files with permissions 755:<br />
<br />
{{path|/usr/local/bin/tp_back}}:<br />
<bash><br />
#!/bin/bash<br />
/usr/bin/xte 'keydown Control_L' 'keydown Page_Up' 'keyup Page_Up' 'keyup Control_L'<br />
</bash><br />
<br />
{{path|/usr/local/bin/tp_forward}}:<br />
<bash><br />
#!/bin/bash<br />
/usr/bin/xte 'keydown Control_L' 'keydown Page_Down' 'keyup Page_Down' 'keyup Control_L'<br />
</bash><br />
<br />
Use your desktop's keyboard shortcut editor to assign XF86Back as a shortcut for tp_back and XF86Forward as a shortcut for tp_forward.<br />
<br />
This should work in all distros and with all window managers (you might have to use other key combinations than Ctrl-PageUp and Ctrl-PageDown).<br />
<br />
=====Redirecting XF86Back/XF86Forward=====<br />
Create {{path|/etc/X11/xkb/compat/thinkpad}}:<br />
<pre><br />
// $XFree86$<br />
// XFree86 special keysyms<br />
default partial xkb_compatibility "basic" {<br />
interpret.repeat= True;<br />
<br />
interpret XF86Back {<br />
action = Redirect(Key=<PGUP>, modifiers=Control);<br />
};<br />
interpret XF86Forward {<br />
action = Redirect(Key=<PGDN>, modifiers=Control);<br />
};<br />
};<br />
</pre><br />
<br />
Edit {{path|/etc/X11/xkb/compat/complete}} and add <tt>'''augment "thinkpad"'''</tt> so that it looks similar to the following:<br />
<pre><br />
// $XKeyboardConfig: xkbdesc/compat/complete,v 1.3 2005/10/17 00:42:11 svu Exp $<br />
// $Xorg: complete,v 1.3 2000/08/17 19:54:34 cpqbld Exp $<br />
default xkb_compatibility "complete" {<br />
include "basic"<br />
augment "iso9995"<br />
augment "mousekeys"<br />
augment "accessx(full)"<br />
augment "misc"<br />
augment "xfree86"<br />
augment "level5"<br />
augment "thinkpad"<br />
};<br />
</pre><br />
<br />
==External Sources==<br />
*[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]<br />
*[http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ Rob Mayoffs page on using IBM Keyboard Navigation Keys in Linux Mozilla and Firefox]<br />
*[http://snarfed.org/space/thinkpad+keys+in+firefox Ryan Barretts blog article about using the browser keys in Firefox]<br />
*[http://chaotika.org/~bluesceada/?page=soft&sub=thinkpad#acpibutn DennisG's help to get the ibm-acpi buttons do useful things] on a {{Z61e}} and possibly {{Z61m}}, {{Z61t}} and {{Z61p}}<br />
<br />
{{footnotes|<br />
#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]].<br />
#if there are more than one tool listed, one is sufficient<br />
#'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.<br />
#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].<br />
}}</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Tablet_Hardware_Buttons&diff=40245Tablet Hardware Buttons2008-12-15T06:16:35Z<p>Mitchell: +See also section. +link "How to get special keys to work".</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" |<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
===Tablet Hardware Buttons===<br />
The Thinkpad tablets includes hardware buttons located on the<br />
LCD screen bezel. They are designed to be used when the ThinkPad is<br />
converted to the tablet configuration (though they are still<br />
accessible when in the laptop configuration).<br />
</div><br />
|}<br />
<br />
==Buttons==<br />
The X41 Tablet hardware buttons include:<br />
*Power (with sliding lock)<br />
*Cltr-Alt-Del [sic]<br />
*Page up<br />
*Page down<br />
*Enter<br />
*Escape<br />
*Screen Rotation<br />
*Tablet shortcut menu<br />
<br />
X61 Tablet: [http://www.tabletpcreview.com/picture.asp?f=3104 picture] from [http://www.tabletpcreview.com/default.asp?newsID=896 here].<br />
<br />
X200 Tablet: see below.<br />
<br />
==Linux Support==<br />
The hardware buttons (except power) are recognized by the standard atkbd kernel driver which emits the following scancodes:<br />
<br />
{| border="1" cellpadding="5" cellspacing="0"<br />
! Key !! X41 Scancode || {{X60t}} Scancode || {{X61_Tablet}} Scancode || {{X200_Tablet}} Scancode<br />
|-<br />
| Page up || 0x6D || NA || NA || NA<br />
|-<br />
| Page down || 0x6E || NA || NA || NA<br />
|-<br />
| Enter || 0x69 || 0x69 || 0x69 || NA<br />
|-<br />
| Esc || 0x6B || 0x6B || 0x6b || NA<br />
|-<br />
| Toolbox || 0x68 || 0x68 || 0x68 || 0x66<br />
|-<br />
| Rotate || 0x6C || 0x6c || 0x6c || 0x6b<br />
|-<br />
| (Unlabeled) || 0x67 || NA || 0x67 || 0xe0 0x12<br />
|-<br />
| Right || NA || 0x6D || 0x6d || NA<br />
|-<br />
| Left || NA || 0x6E || 0x6e || NA<br />
|-<br />
| Up || NA || 0x71 || 0x71 || NA<br />
|-<br />
| Down || NA || 0x6F || 0x6f || NA<br />
|-<br />
<br />
|}<br />
<br />
Notes:<br />
* X200 Tablet<br />
*: Layout: power (with sliding lock); clockwise-arrow (formerly unlabeled); rotate (two boxes and an arrow); Toolbox (the icon is now a menu); padlock.<br />
*: The padlock button seems to do nothing. It generates no scancode, and has no effect on the other buttons.<br />
*: The clockwise-arrow button returns a scancode pair. So you say {{cmduser|setkeycodes e012 ''whatever''}}.<br />
<br />
The utility setkeycodes can be used to map these scancodes to keycodes. Read {{cmduser|man setkeycodes}} for usage.<br />
For example, the following command will map the page up and page down buttons to their respective keys:<br />
<br />
{{cmdroot|setkeycodes 6e 109 6d 104}}<br />
<br />
==Models featuring this Device==<br />
* {{X41_Tablet}}, {{X60t}}, {{X61_Tablet}}, {{X200_Tablet}}<br />
<br />
==See also==<br />
*[[How to get special keys to work]]<br />
<br />
[[Category:Components]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Tablet_Hardware_Buttons&diff=40244Tablet Hardware Buttons2008-12-15T06:15:18Z<p>Mitchell: +link to X61 "what button is that?" resource.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" |<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
===Tablet Hardware Buttons===<br />
The Thinkpad tablets includes hardware buttons located on the<br />
LCD screen bezel. They are designed to be used when the ThinkPad is<br />
converted to the tablet configuration (though they are still<br />
accessible when in the laptop configuration).<br />
</div><br />
|}<br />
<br />
==Buttons==<br />
The X41 Tablet hardware buttons include:<br />
*Power (with sliding lock)<br />
*Cltr-Alt-Del [sic]<br />
*Page up<br />
*Page down<br />
*Enter<br />
*Escape<br />
*Screen Rotation<br />
*Tablet shortcut menu<br />
<br />
X61 Tablet: [http://www.tabletpcreview.com/picture.asp?f=3104 picture] from [http://www.tabletpcreview.com/default.asp?newsID=896 here].<br />
<br />
X200 Tablet: see below.<br />
<br />
==Linux Support==<br />
The hardware buttons (except power) are recognized by the standard atkbd kernel driver which emits the following scancodes:<br />
<br />
{| border="1" cellpadding="5" cellspacing="0"<br />
! Key !! X41 Scancode || {{X60t}} Scancode || {{X61_Tablet}} Scancode || {{X200_Tablet}} Scancode<br />
|-<br />
| Page up || 0x6D || NA || NA || NA<br />
|-<br />
| Page down || 0x6E || NA || NA || NA<br />
|-<br />
| Enter || 0x69 || 0x69 || 0x69 || NA<br />
|-<br />
| Esc || 0x6B || 0x6B || 0x6b || NA<br />
|-<br />
| Toolbox || 0x68 || 0x68 || 0x68 || 0x66<br />
|-<br />
| Rotate || 0x6C || 0x6c || 0x6c || 0x6b<br />
|-<br />
| (Unlabeled) || 0x67 || NA || 0x67 || 0xe0 0x12<br />
|-<br />
| Right || NA || 0x6D || 0x6d || NA<br />
|-<br />
| Left || NA || 0x6E || 0x6e || NA<br />
|-<br />
| Up || NA || 0x71 || 0x71 || NA<br />
|-<br />
| Down || NA || 0x6F || 0x6f || NA<br />
|-<br />
<br />
|}<br />
<br />
Notes:<br />
* X200 Tablet<br />
*: Layout: power (with sliding lock); clockwise-arrow (formerly unlabeled); rotate (two boxes and an arrow); Toolbox (the icon is now a menu); padlock.<br />
*: The padlock button seems to do nothing. It generates no scancode, and has no effect on the other buttons.<br />
*: The clockwise-arrow button returns a scancode pair. So you say {{cmduser|setkeycodes e012 ''whatever''}}.<br />
<br />
The utility setkeycodes can be used to map these scancodes to keycodes. Read {{cmduser|man setkeycodes}} for usage.<br />
For example, the following command will map the page up and page down buttons to their respective keys:<br />
<br />
{{cmdroot|setkeycodes 6e 109 6d 104}}<br />
<br />
==Models featuring this Device==<br />
* {{X41_Tablet}}, {{X60t}}, {{X61_Tablet}}, {{X200_Tablet}}<br />
<br />
[[Category:Components]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=How_to_get_special_keys_to_work&diff=40243How to get special keys to work2008-12-15T06:09:37Z<p>Mitchell: /* Mapping keys with setkeycodes */ Scancodes vary with model. Correction: s/keycode/scancode/ - they are different.</p>
<hr />
<div>==Overview==<br />
The following table gives an overview over the special keys found on ThinkPads and what is needed to make them work.<br />
{| {{prettytable}}<br />
! key !! standard function{{footnote|1}} !! tools supporting key{{footnote|2}} !! configurability{{footnote|3}} !! remarks<br />
|-<br />
| {{key|Fn}} || - || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || on release without completed key combination<br />
|-<br />
| {{key|Fn}}{{key|F1}} || - || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|F2}} || lock screen || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || in models from T/X/Z 60 onwards<br />
|-<br />
| {{key|Fn}}{{key|F3}} || blank screen || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| {{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<br />
|-<br />
| {{key|Fn}}{{key|F5}} || switch bluetooth || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full || in models starting from 2002<br />
|-<br />
| {{key|Fn}}{{key|F6}} || - || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|F7}} || toggle display || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions || [[Sample Fn-F7 script]]<br />
|-<br />
| {{key|Fn}}{{key|F8}} || toggle trackpoint/touchpad || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]] || additional actions ||<br />
|-<br />
| {{key|Fn}}{{key|F9}} || eject from dock || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|F10}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|F11}} || - || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| {{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<br />
|-<br />
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || brightness up || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{key|Fn}}{{key|End}} || brightness down || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{key|Fn}}{{key|PageUp}} || toggle thinklight || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{key|Fn}}{{key|Space}} || toggle zoom || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|Ins}} || - || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]]|| full ||<br />
|-<br />
| {{key|Fn}}{{key|Del}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||<br />
|-<br />
| {{key|Fn}}{{key|Backspace}} || - || [[#ibm-acpi events|ibm-acpi]] || full ||<br />
|-<br />
| {{key|NumLock}} || - || [[#xmodmap configuration|xmodmap]] || make working ||<br />
|-<br />
| {{key|Windows}} || - || [[#xmodmap configuration|xmodmap]] || remapping ||<br />
|-<br />
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} or {{ibmkey|ThinkVantage|#495988}} || help application || [[thinkpad-acpi]],[[#tpb configuration|tpb]], [[KMilo]] || full ||<br />
|-<br />
| {{ibmkey|Home|#494949}} || open web browser || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Search|#494949}} || open search application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Mail|#494949}} || open mail application || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]], [[KMilo]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Favorites|#494949}} || open favorites || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Reload|#494949}} || reload web page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Abort|#494949}} || abort loading page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || only {{A30}}, {{A30p}}, {{A31}}, {{A31p}} and ext. keyboards<br />
|-<br />
| {{ibmkey|Backward|#494949}} || previous page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || ext. keyboards and ThinkPads starting from 2002<br />
|-<br />
| {{ibmkey|Forward|#494949}} || next page || [[#xmodmap configuration|xmodmap]], [[#tpb configuration|tpb]] || full || ext. keyboards and ThinkPads starting from 2002<br />
|-<br />
| {{ibmkey|Volume up|#494949}} || volume up || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{ibmkey|Volume down|#494949}} || volume down || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{ibmkey|Volume mute|#494949}} || mute volume || [[thinkpad-acpi]], [[#tpb configuration|tpb]], [[KMilo]] || additional actions ||<br />
|-<br />
| {{ibmkey|Play/Pause|#494949}} || start/pause playback || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Down)<br />
|-<br />
| {{ibmkey|Stop|#494949}} || stop playback || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Up)<br />
|-<br />
| {{ibmkey|Next|#494949}} || play next || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Right)<br />
|-<br />
| {{ibmkey|Previous|#494949}} || play previous || [[#xmodmap configuration|xmodmap]] || full || {{X60s}} (Fn+Arrow Left)<br />
|-<br />
| {{ibmkey|Power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]],[[thinkpad-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press<br />
|-<br />
| Display lid || blank screen || [[#ibm-acpi events|ibm-acpi]], [[thinkpad-acpi]] || full ||<br />
|-<br />
| Ultrabay lid || announce ultrabay change || [[#ibm-acpi events|ibm-acpi]] || full ||<br />
|-<br />
| Dock eject || eject from dock || [[#ibm-acpi events|ibm-acpi]] || full ||<br />
|-<br />
| {{ibmkey|Tablet power|#494949}} || shutdown || [[#ibm-acpi events|ibm-acpi]] || full || triggered on pressing 3secs, but notebook goes off on 5sec press<br />
|-<br />
| {{ibmkey|Tablet orientation|#494949}} || rotates screen || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet shortcut|#494949}} || shortcut menu || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet Esc|#494949}} || esc key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet Enter|#494949}} || enter key || [[#mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet Up|#494949}} || up key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet Down|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|-<br />
| {{ibmkey|Tablet (unlabeled)|#494949}} || down key || [[#Mapping keys with setkeycodes|setkeycodes]] || full ||<br />
|}<br />
<br />
For completeness, note that the WiFi enable/disable switch is located (on the X61 and other models that have it) just under the front edge of the base of the machine. You should see a small horizontal slider switch. Enable by sliding it rightwards, disable by sliding it leftwards.<br />
<br />
==Triggering key events==<br />
===ibm-acpi/thinkpad-acpi events===<br />
Some of the following events require a {{cmdroot|echo enable,0xffff >/proc/acpi/ibm/hotkey}} (when using ibm-acpi) in order to make acpi able to get information on them. Since the newer thinkpad-acpi has a larger number of bits that can be set in the mask, you might try {{cmdroot|echo enable,0xffffffff >/proc/acpi/ibm/hotkey}} if you are using this driver. These events can be used to [[How to configure acpid|configure acpid]].<br />
<br />
{| {{prettytable}}<br />
|+ events triggered by [[ibm-acpi]] for {{path|/etc/acpi/events}} files. May vary on different models.<br />
! key !! event<br />
|-<br />
| {{key|Fn}}{{key|F1}} || ibm/hotkey HKEY 00000080 00001001<br />
|-<br />
| {{key|Fn}}{{key|F2}} || ibm/hotkey HKEY 00000080 00001002<br />
|-<br />
| {{key|Fn}}{{key|F3}} || ibm/hotkey HKEY 00000080 00001003<br />
|-<br />
| {{key|Fn}}{{key|F4}} || ibm/hotkey HKEY 00000080 00001004<br />
|-<br />
| {{key|Fn}}{{key|F5}} || ibm/hotkey HKEY 00000080 00001005<br />
|- <br />
| {{key|Fn}}{{key|F6}} || ibm/hotkey HKEY 00000080 00001006<br />
|-<br />
| {{key|Fn}}{{key|F7}} || ibm/hotkey HKEY 00000080 00001007<br />
|-<br />
| {{key|Fn}}{{key|F8}} || ibm/hotkey HKEY 00000080 00001008<br />
|- <br />
| {{key|Fn}}{{key|F9}} || ibm/hotkey HKEY 00000080 00001009 <br />
|-<br />
| {{key|Fn}}{{key|F10}} || ibm/hotkey HKEY 00000080 0000100a<br />
|-<br />
| {{key|Fn}}{{key|F11}} || ibm/hotkey HKEY 00000080 0000100b <br />
|-<br />
| {{key|Fn}}{{key|F12}} || ibm/hotkey HKEY 00000080 0000100c<br />
|-<br />
| {{key|Fn}}{{key|Backspace}} || ibm/hotkey HKEY 00000080 0000100d<br />
|-<br />
| {{key|Fn}}{{key|Ins}} || ibm/hotkey HKEY 00000080 0000100e <br />
|-<br />
| {{key|Fn}}{{key|Del}} || ibm/hotkey HKEY 00000080 0000100f <br />
|-<br />
| {{key|Fn}}{{key|Home}}/{{key|Fn}}{{key|Pos1}} || ibm/hotkey HKEY 00000080 00001010<br />
|-<br />
| {{key|Fn}}{{key|End}} || ibm/hotkey HKEY 00000080 00001011<br />
|-<br />
| {{key|Fn}}{{key|PgUp}} || ibm/hotkey HKEY 00000080 00001012<br />
|-<br />
| {{key|Fn}}{{key|Space}} || ibm/hotkey HKEY 00000080 00001014<br />
|-<br />
| {{ibmkey|Volume up|#494949}}|| ibm/hotkey HKEY 00000080 00001015<br />
|-<br />
| {{ibmkey|Volume down|#494949}} || ibm/hotkey HKEY 00000080 00001016<br />
|-<br />
| {{ibmkey|Volume mute|#494949}} || ibm/hotkey HKEY 00000080 00001017<br />
|-<br />
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} or {{ibmkey|ThinkVantage|#495988}} || ibm/hotkey HKEY 00000080 00001018<br />
|-<br />
| Ultrabay eject || ibm/bay MSTR 00000003 00000000<br />
|-<br />
| Ultrabay inserted || ibm/bay MSTR 00000001 00000000 <br />
|-<br />
| Dock eject || ibm/dock GDCK 00000003 00000001 <br />
|-<br />
| Wireless switch || ibm/hotkey HKEY 00000080 00007000 <br />
|}<br />
<br />
By disassembling and editing the DSDT, more events can be added. HKEY events are triggered by calls to the MKHQ function, e.g. <tt>\_SB.PCI0.LPC.EC.HKEY.MHKQ(0×1007)</tt> will trigger "ibm/hotkey HKEY 00000080 00001007". Most of these can be found in <tt>_Qxx</tt> 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 <tt>_Qxx</tt> method to get it recognized by ibm-acpi as well as creating new <tt>_Qxx</tt> 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].<br />
<br />
=== ACPI events from the <tt>button</tt> module===<br />
<br />
A few keys can generate ACPI events that result from the <tt>button</tt> kernel module, as long as they are masked off in the <tt>ibm-acpi</tt>/<tt>thinkpad-acpi</tt> hotkey's mask or the hotkey function of the latter module is disabled.<br />
<br />
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.<br />
<br />
{| {{prettytable}}<br />
|+ events triggered by ACPI when hotkey is masked out or disabled. <br />
! key !! event !! T60 event<br />
|-<br />
| {{ibmkey|Power|#494949}} || button/power PWRF 00000080 xxxxxxxx || button/power PWRF 00000080 00000001<br />
|-<br />
| {{key|Fn}}{{key|F4}} || button/sleep SLPB 00000080 00000001 || button/sleep SLPB 00000080 00000001<br />
|-<br />
| Display lid || button/lid LID 00000080 xxxxxxxx || button/lid LID 00000080 00000001<br />
|}<br />
<br />
===tpb configuration===<br />
{| {{prettytable}}<br />
|+ configuration keywords for [[tpb]] (to put in {{path|/etc/tpbrc}})<br />
! key !! config keyword<br />
|-<br />
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || THINKPAD<br />
|-<br />
| {{ibmkey|Home|#494949}} || HOME<br />
|-<br />
| {{ibmkey|Search|#494949}} || SEARCH<br />
|-<br />
| {{ibmkey|Mail|#494949}} || MAIL<br />
|-<br />
| {{ibmkey|Favorites|#494949}} || FAVORITES<br />
|-<br />
| {{ibmkey|Reload|#494949}} || RELOAD<br />
|-<br />
| {{ibmkey|Abort|#494949}} || ABORT<br />
|-<br />
| {{ibmkey|Backward|#494949}} || BACKWARD<br />
|-<br />
| {{ibmkey|Forward|#494949}} || FORWARD<br />
|-<br />
| {{key|Fn}} || FN<br />
|-<br />
| {{key|Fn}}{{key|Space}} || CALLBACK (zoom on/off)<br />
|-<br />
| {{key|Fn}}{{key|PageUp}} || CALLBACK (thinklight on/off)<br />
|-<br />
| {{key|Fn}}{{key|F7}} || CALLBACK (display lcd/crt/both)<br />
|-<br />
| {{key|Fn}}{{key|F8}} || CALLBACK (expand on/off)<br />
|-<br />
| {{key|Fn}}{{key|Home}} / {{key|Fn}}{{key|Pos1}} || CALLBACK (brightness <percent>)<br />
|-<br />
| {{key|Fn}}{{key|End}} || CALLBACK (brightness <percent>)<br />
|-<br />
| {{ibmkey|Volume up|#494949}} || CALLBACK (volume <percent>)<br />
|-<br />
| {{ibmkey|Volume down|#494949}} || CALLBACK (volume <percent>)<br />
|-<br />
| {{ibmkey|Volume mute|#494949}} || CALLBACK (mute on/off)<br />
|}<br />
<br />
To all parameter keywords should be assigned the full path to the executables supposed to be started on key press.<br />
The exectable provided for the CALLBACK keyword should take the parameters given in parentheses and act according to them.<br />
If you want to use xmodmap for the HOME, SEARCH, MAIL, FAVORITES, RELOAD, ABORT, BACKWARD, FORWARD and FN keys you should<br />
provide a <tt>XEVENTS OFF</tt> in your {{path|/etc/tpbrc}}. <br />
You can use an appropriate executable to [[How to inject fake keystrokes|inject fake keystrokes]].<br />
<br />
For Debian users, tpb is started from {{path|/etc/X11/Xsession.d/90tpb}}.<br />
<br />
'''Sound Button configuration'''<br />
<br />
''Note: Tested on T60p with Ubuntu 6.06 LTS''<br />
<br />
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}}.<br />
<br />
''Note: Tested on X21 with Ubuntu 6.06 LTS''<br />
<br />
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]].<br />
<br />
===KMilo configuration===<br />
The programs to be executed by [[KMilo]] are configured via the KDE Control Center (<tt>kcontrol</tt>), under <tt>System Administration --> IBM Thinkpad Laptop</tt>. Note that you can use appropriate commands to [[How to inject fake keystrokes|inject fake keystrokes]].<br />
<br />
===xmodmap configuration===<br />
xmodmap enables you to edit the modifier map and keymap tables that are used to translate keycodes into keysyms.<br />
Understood? Well, basically it allows you to give the X server a dictionary for the translation of keycodes like "97" into more human readable synonyms like "Home". This way xmodmap allows you to make the special keys of your keyboard known to X applications.<br />
<br />
To discover the keycode that a certain keypress produces, use the tool {{cmduser|xev}} <br />
<br />
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.<br />
<br />
The {{path|~/.Xmodmap}} lines for our purpose are in the form of<br />
keycode <keycode> = <keysym><br />
<br />
Load the assocation using the command<br />
<br />
{{cmduser|xmodmap ~/.Xmodmap}} <br />
<br />
(some configurations do this automatically upon X startup). <br />
<br />
The following table shows the keycodes generated by the ThinkPad special keys and sensible keysyms to assign them to.<br />
{| {{prettytable}}<br />
|+ keycodes and recommended keysyms<br />
! key !! keycode !! keysym<br />
|-<br />
| {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkPad|#494949}} || 159 || XF86LaunchA<br />
|-<br />
| {{ibmkey|Backward|#494949}} || 234 || XF86Back or F19<br />
|-<br />
| {{ibmkey|Forward|#494949}} || 233 || XF86Forward or F20<br />
|-<br />
| {{ibmkey|Play/Pause|#494949}} || 162 || XF86AudioPlay<br />
|-<br />
| {{ibmkey|Stop|#494949}} || 164 || XF86AudioStop<br />
|-<br />
| {{ibmkey|Next|#494949}} || 153 || XF86AudioNext<br />
|-<br />
| {{ibmkey|Previous|#494949}} || 144 || XF86AudioPrev<br />
|-<br />
<br />
<br />
| {{ibmkey|Home|#494949}} || 178 || XF86HomePage<br />
|-<br />
| {{ibmkey|Search|#494949}} || 229 || XF86Search<br />
|-<br />
| {{ibmkey|Mail|#494949}} || 236 || XF86Mail<br />
|-<br />
| {{ibmkey|Favorites|#494949}} || 230 || XF86AddFavorite or XF86Favorites<br />
|-<br />
| {{ibmkey|Reload|#494949}} || 231 || XF86Reload<br />
|-<br />
| {{ibmkey|Abort|#494949}} || 232 || XF86Stop<br />
|-<br />
| {{key|Fn}} || 227 || F35<br />
|}<br />
<br />
Note: You can also use xkeycaps (an X tool to display and edit the X keyboard mapping) to generate proper .Xmodmap.<br />
<br />
Note: if you are running [[tpb]] you might need to add the line <tt>XEVENTS=off</tt> 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.<br />
<br />
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.<br />
<br />
Note: The "XF86AudioPlay" etc. just works with a few programs. To make it work with more multimedia programs you have map the key to use something like [http://www.kde-apps.org/content/show.php/ReMoot?content=63140 ReMoot]. ReMoot is a command line wrapper that control 18 of the most common multimedia applications. <br />
<br />
=====Enabling the Windows and Menu Keys=====<br />
On some systems the Windows and Menu keys may not be recognized. You can enable then by<br />
making the following changes:<br />
<br />
keycode 115 = F13<br />
keycode 227 = F35<br />
<br />
F13 and F35 are used for the Windows and and Menu keys respectively. Labelling keycpode 227 as "Menu" may conflict with the right-mouse-click event.<br />
<br />
=====Using Caps Lock as Super L (Windows key)=====<br />
You can easily use Caps Lock as Win key by adding the following in your ~/.Xmodmap:<br />
! No Caps Lock<br />
clear lock<br />
! Caps Lock as Win key<br />
add mod4 = Caps_Lock<br />
=====NumLock=====<br />
On the ThinkPad {{600}}, {{T20}}, {{T21}}, {{T22}}, {{T30}}, {{X20}}, {{X21}}, {{X31}}, {{X40}}, {{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 <tt>xmodmap</tt>, ex: <tt>xmodmap ~/.Xmodmap</tt>:<br />
keycode 77 = Num_Lock<br />
<br />
This configuration also enables the respective LED.<br />
<br />
Please note, pressing the {{key|Shift}}+{{key|ScrLk}} key combination, without first following the above configuration, will start an accessibility feature, which will allow the numeric keypad to maneuver the mouse pointer. Starting this accessibility feature and subsequently running xmodmap, as described above, results in the accessibility feature and the numeric lock LED functioning simultaneously. As such, the above configuration should be completed before the accessibility feature is started in order to produce numbers.<br />
======T60 (and possibly others)======<br />
It seems that on the T60, PrtSc, ScrLk and Pause all generate the correct keycodes, however Fn-PrtSc (labelled as SysRq) generates keycode 64 (Alt_L) followed by the expected 111 (Sys_Req) on down and the same thing in the opposite order on release. Fn-ScrLk (labelled as NmLk) does indeed toggle the Numlock, but only seems to register as an X event the first time it is engaged. The above solution does not appear to work. This is perhaps because the Numlock toggle is built into the firmware rather than controlled by the kernel. Finally, Fn-Pause (labelled as Break) generates keycode 37 (Control_L) followed by the expected keycode 110 (Break) on down and the same thing in reverse order on release.<br />
=====NumPad (KeyPad) keys access by a key combination=====<br />
The current state is that you have to switch NumLock '''on''' via {{key|Fn}}+{{key|ScrLk}} and then e.g. type {{key|u}} to get a {{key|KP_4}} (NumPad 4). To get back to normal keyboard, you have to type {{key|Fn}}+{{key|ScrLk}} again.<br />
<br />
Some people (including me) are missing on recent Thinkpads the option to have Fn as a modifier key to access the NumPad instead, i.e. and e.g. {{key|Fn}}+{{key|u}} gives you {{key|KP_4}}.<br />
<br />
There is currently no way to make this work in a simple way (pleeeease correct me if I am wrong!), though there is a work-around. Instead of using {{key|Fn}} for accessing the NumPad, {{key|CapsLock}} can get this function by being mapped as Mode_switch (the {{key|AltGr}} on international keyboards). The {{key|Fn}} can be remapped to be Caps_Lock - while at the same time retaining its function to access the special laptop functions (e.g. {{key|Fn}}+{{key|F4}} for sleep}}, by using .Xmodmap.<br />
<br />
So on my R60 running fvwm@Slackware 12.1 the .Xmodmap would look like this:<br />
<br />
! Make the forward and back buttons work<br />
keycode 233 = XF86Forward<br />
keycode 234 = XF86Back<br />
! Make the WIN key to Super modifier<br />
keycode 115 = Super_L<br />
! Set the Caps_Lock physical key to Mode_switch (like AltGr on intl. keyboards)<br />
keycode 66 = Mode_switch<br />
! Set the Fn key to work as Caps_Lock now. The special key combos like Fn-F4 for "sleep" still work then<br />
keycode 227 = Caps_Lock<br />
clear lock<br />
add lock = Caps_Lock<br />
! Now we activate those new keys. Find some free mod slots (xmodmap) and put them there.<br />
clear mod4<br />
clear mod5<br />
add mod4 = Super_L<br />
add mod3 = Mode_switch<br />
! It's time to add the keypad keys to the third position of the key definition (pure shift mode_switch shift+mode_switch)<br />
keycode 16 = 7 ampersand KP_7<br />
keycode 17 = 8 asterisk KP_8<br />
keycode 18 = 9 parenleft KP_9<br />
keycode 19 = 0 parenright KP_Divide<br />
keycode 30 = u U KP_4<br />
keycode 31 = i I KP_5<br />
keycode 32 = o O KP_6<br />
keycode 33 = p P KP_Multiply<br />
keycode 44 = j J KP_1<br />
keycode 45 = k K KP_2<br />
keycode 46 = l L KP_3<br />
keycode 47 = semicolon colon KP_Subtract<br />
keycode 58 = m M KP_0<br />
! ... I have to use the coma key, too, on the keypad...so I set it to be F20 (which is not existing on normal keyboards and thus is free... check for side effects in programmes accepting F12+ keys!)<br />
keycode 59 = comma less F20 <br />
keycode 60 = period greater KP_Decimal <br />
keycode 61 = slash question KP_Add<br />
<br />
{{WARN|Your keycodes might be different as well as your '''mod''#''''' settings.}}<br />
Use {{cmduser|xmodmap}} and {{cmduser|xmodmap -pke}} to check your ModMap, and the tool {{cmduser|xev}} to obtain your exact key codes.<br />
<br />
===Mapping keys with setkeycodes===<br />
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.<br />
<br />
The following table shows the scancodes generated by the ThinkPad keys. They vary with model - see [[Tablet Hardware Buttons]].<br />
{| {{prettytable}}<br />
|+ scancodes<br />
! key !! scancode<br />
|-<br />
| {{ibmkey|Tablet orientation|#494949}} || 0x6c<br />
|-<br />
| {{ibmkey|Tablet Shortcut|#494949}} || 0x68<br />
|-<br />
| {{ibmkey|Tablet Esc|#494949}} || 0x6b<br />
|-<br />
| {{ibmkey|Tablet Enter|#494949}} || 0x69<br />
|-<br />
| {{ibmkey|Tablet Up|#494949}} || 0x6d<br />
|-<br />
| {{ibmkey|Tablet Down|#494949}} || 0x6e<br />
|-<br />
| {{ibmkey|Tablet (unlabeled)|#494949}} || 0x67<br />
|}<br />
<br />
===acpi_fakekey===<br />
You can turn acpi events into user-level xevents by putting <tt>acpi_fakekey</tt> commands into the acpi action scripts. There are several layers involved in using acpi keys in this way, so I'll go through the example of using the ThinkVantage button to open xmms.<br />
<br />
My ThinkVantage button generates an '''acpi event''' "ibm/hotkey HKEY 00000080 00001018", so we have the event file <tt>/etc/acpi/events/ThinkVantage</tt> for it which executes the script <tt>/etc/acpi/actions/fakekey-macro.sh</tt>. <br />
<pre><br />
event=ibm/hotkey HKEY 00000080 00001018<br />
action=/etc/acpi/actions/fakekey-macro.sh<br />
</pre><br />
In turn, the executable <tt>/etc/acpi/actions/fakekey-macro.sh</tt> script calls acpi_fakekey with the '''key number''' defined in <tt>/usr/share/acpi-support/key-constants</tt> as $KEY_MACRO which is 112 (you could just as well choose an other key number, just make sure that it doesn't belong to something else like the "j" key or something). <br />
<pre><br />
#!/bin/sh<br />
. /usr/share/acpi-support/key-constants<br />
acpi_fakekey $KEY_MACRO <br />
</pre><br />
I have no idea how this actually corresponds to which xevent is generated, so I can find out out by running the program <tt>xev</tt> and hitting the ThinkVantage button while the mouse is in the <tt>xev</tt> window (remember to <tt>/etc/init.d/acpid restart</tt> first if you just created the <tt>/etc/acpi/events/ThinkVantage</tt> file). I get something popping up in the terminal where I ran xev that looks like this:<br />
<pre><br />
KeyPress event, serial 30, synthetic NO, window 0x2800001,<br />
root 0x6a, subw 0x0, time 2000522842, (138,83), root:(781,500),<br />
state 0x0, keycode 239 (keysym 0x0, NoSymbol), same_screen YES,<br />
XLookupString gives 0 bytes: <br />
XmbLookupString gives 0 bytes: <br />
XFilterEvent returns: False<br />
<br />
KeyRelease event, serial 30, synthetic NO, window 0x2800001,<br />
root 0x6a, subw 0x0, time 2000522842, (138,83), root:(781,500),<br />
state 0x0, keycode 239 (keysym 0x0, NoSymbol), same_screen YES,<br />
XLookupString gives 0 bytes: <br />
XFilterEvent returns: False<br />
</pre><br />
This tells me that the <tt>acpi_fakekey 112</tt> as executed by hitting the ThinkVantage button generates KeyPress event followed by a KeyRelease event with '''keycode''' 239 and that this keycode has been assigned no corresponding '''keysym'''. Thus, I am free to assign the keycode to any keysym I want. You can find a list of available keysyms in <tt>/usr/share/X11/XKeysymDB</tt>. Again try and pick one that is not likely to have already been taken by something, such as <tt>XF86LaunchA</tt>. To assign this keysym to keycode 239, you can either edit ~/.Xmodmap on an individual user basis, or edit the systemwide <tt>/etc/X11/Xmodmap</tt> file to contain the line<br />
<pre><br />
keycode 239 = XF86LaunchA<br />
</pre><br />
If you choose to go with the former, you may need to run <tt>xmodmap ~/.Xmodmap</tt> for every login session in order to read in your ~/.Xmodmap file if your window manager does not do it for you. Regardless of which option you choose, you can run <tt>xmodmap <file></tt> to read in the updated Xmodmap file without logging out and logging back in.<br />
<br />
You should now find that hitting the ThinkVantage button creates the following output from <tt>xev</tt>:<br />
<pre><br />
KeyPress event, serial 55, synthetic NO, window 0x2800001,<br />
root 0x6a, subw 0x0, time 2001286078, (0,106), root:(643,523),<br />
state 0x0, keycode 239 (keysym 0x1008ff4a, XF86LaunchA), same_screen YES,<br />
XLookupString gives 0 bytes: <br />
XmbLookupString gives 0 bytes: <br />
XFilterEvent returns: False<br />
<br />
KeyRelease event, serial 55, synthetic NO, window 0x2800001,<br />
root 0x6a, subw 0x0, time 2001286078, (0,106), root:(643,523),<br />
state 0x0, keycode 239 (keysym 0x1008ff4a, XF86LaunchA), same_screen YES,<br />
XLookupString gives 0 bytes: <br />
XFilterEvent returns: False<br />
</pre><br />
Note the change of <tt>(keysym 0x0, NoSymbol)</tt> to <tt>(keysym 0x1008ff4a, XF86LaunchA)</tt>.<br />
<br />
You're now ready to map <tt>XF86LaunchA</tt> to executing xmms. This is highly dependent on what keygrabber you decide to use. For openbox, I edit my <tt>~/.config/openbox/rc.xml</tt> file and add the following entry in the <keyboard> section:<br />
<pre><br />
<keybind key="XF86LaunchA"><br />
<action name="Execute"><br />
<startupnotify><br />
<enabled>true</enabled><br />
</startupnotify><br />
<command><br />
xmms<br />
</command><br />
</action><br />
</keybind><br />
</pre><br />
After, right clicking on the desktop and selecting the "Reconfigure" menu option, you should then have xmms pop up when you hit the ThinkVantage key.<br />
<br />
==Example Applications==<br />
===Web Browsers===<br />
====Firefox (<3.0)====<br />
<br />
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->Keyconfig. Then you can assign any action you want to the F19/F20 keys (you still need to create {{path|~/.Xmodmap}} as explained above).<br />
<br />
<br />
The remaining discussion gives you various more complicated ways to achieve the same thing. <br />
To have firefox make use of the browser keys you need to modify one of its files{{footnote|4}}.<br />
To do this you will first need to extract it from the {{path|browser.jar}} archive. Do...<br />
<br />
Step 1: Edit .Xmodmap and add entries for F19 and F20 as explained above.<br />
<br />
Step 2:<br />
<br />
Note: <firefox-directory> is probably /usr/lib/firefox. Use your version so, if you have 3.0.1 or 3.0.2 use /usr/lib/firefox-3.0.1<br />
<br />
:{{cmdroot|cd <firefox-directory>/chrome}}<br /><br />
:{{cmdroot|unzip browser.jar}}<br />
<br />
The file of interest is {{path|content/browser/browser.xul}}. Edit it {and don't forget to make a backup copy first}...<br />
:{{cmdroot|vi content/browser/browser.xul}}<br />
<br />
Look for the '''<keyset id="mainKeyset">''' section and add the following lines within...<br />
<key id="goBackKb" keycode="VK_F19" command="Browser:Back" /><br />
<key id="goForwardKb" keycode="VK_F20" command="Browser:Forward" /><br />
<br />
The Command you need for Next Tab <br />
<key id="goBackTabKb" keycode="VK_F19" oncommand="gBrowser.mTabContainer.advanceSelectedTab(-1)" /><br />
For the Previous Tab <br />
<key id="goForwardTabKb" keycode="VK_F20" oncommand="gBrowser.mTabContainer.advanceSelectedTab(1)" /><br />
<br />
Now save the file and repackage the {{path|browser.jar}} archive...<br />
:{{cmdroot|zip -rD0 browser.jar content/browser/}}<br />
<br />
That's it.<br />
<br />
Step 3: Restart Firefox.<br />
<br />
{{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.}}<br />
<br />
{{HINT| 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 and also 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); You can alternatively install the [http://www.pqrs.org/~tekezo/firefox/extensions/functions_for_keyconfig/index.html functions for keyconfig] and set the variable f4kc_NextTab to F20 and f4kc_PrevTab to F19.}}.<br />
<br />
====Firefox 3.0====<br />
Thankfully the people at Mozilla decided to include the expected functionality for the XF86Back and XF86Forward keysyms in the new release so all you need to do is<br />
<br><code># printf 'keycode 234 = XF86Back\nkeycode 233 = XF86Forward' >> /etc/X11/Xmodmap</code><br><br />
And to make this take effect immediately (i.e., without having to log out and log in again), as a regular user run:<br />
<br><code>{{cmduser|Xmodmap /etc/X11/Xmodmap}}</code><br />
<br />
For Hardy Heron, the xmodmap command is all lowercase. Also, the /etc/X11/Xmodmap file is not being read on boot. I've added the command to my .bashrc to have it called on startup.<br />
<br />
====Konqueror====<br />
KDE allows you set key mappings for KDE applications (Go to KMenu > System > Control Center > Regional & Accessibility > 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. <br />
<br />
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).<br />
<br />
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.<br />
<br />
====Opera====<br />
However this isn't a simple configration file, you can set your browser manually.<br /><br />
Go to <i>Tool > Settings > Mouse and keyboard > Keyboard settings > Edit > Browser Window</i>. There add F19 - Back and F20 - Forward. Now you can surf using your TP keys ;-)<br />
<br />
====Epiphany====<br />
To get the keys work in epiphany, you could use the extension from [http://crashman.homelinux.org/~andre/public/epiphany%20extensions/thinkpad%20browserkeys/ here]<br />
You just need to edit your Xmodmap like described for Firefox < 3.0 (bind the keys on F19 and F20)<br />
<br />
===Open an application===<br />
<br />
To configure the ThinkVantage button to open a terminal window in Gnome:<br />
<br />
Step 1:<br />
Use xev to find the keycode generated by the button on your machine. In my case is is 159.<br />
<br />
Step 2:<br />
Create an entry in .Xmodmap like so<br />
<br />
keycode 159 = XF86LaunchA<br />
<br />
replacing 159 by the keycode found in step 1. Load the map using<br />
<br />
:{{cmd|xmodmap ~/.Xmodmap}}<br />
<br />
Step 3:<br />
Configure the required function (e.g. open terminal window) in System->Preferences->Keyboard shortcuts<br />
<br />
===Window Managers===<br />
====fvwm====<br />
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}}:<br />
Key XF86Back A A Scroll -100000 0<br />
Key XF86Forward A A Scroll +100000 0<br />
If you use multiple virtual desktops, you could instead use the keys to flip between them by using GotoDesk.<br />
<br />
====fluxbox====<br />
To get the keys to cycle through pages in the virtual desktop, add this to your {{path|~/.fluxbox/keys}}:<br />
None F19 :PrevWorkspace<br />
None F20 :NextWorkspace<br />
<br />
====pekwm configuration====<br />
You can make the two browser keys switch workspaces in pekwm, by adding the following two lines to the {{path|~/.pekwm/keys}} file:<br />
KeyPress = "Mod1 XF86Back" { Actions = "GoToWorkspace prev" }<br />
KeyPress = "Mod1 XF86Forward" { Actions = "GoToWorkspace next" }<br />
<br />
====pwm====<br />
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}}:<br />
kbind "Back", "switch_rot", -1<br />
kbind "Forward", "switch_rot", 1<br />
<br />
====IceWM====<br />
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):<br />
# "Previous workspace" shortcut<br />
KeySysWorkspacePrev="F19"<br />
# "Next workspace" shortcut<br />
KeySysWorkspaceNext="F20"<br />
<br />
==== Gnome/metacity ====<br />
<br />
Follow the [https://wiki.ubuntu.com/Keybindings Ubuntu guide].<br />
<br />
===Other Uses===<br />
====Console tools configuraton====<br />
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}}):<br />
keycode 158 = Decr_Console<br />
keycode 159 = Incr_Console<br />
<br />
Alternatively you can load this script (perhaps on system startup) to enable Backward/Forward button console (VT) switch:<br />
<br />
#!/bin/sh<br />
echo keycode 158 = Decr_Console | loadkeys<br />
echo keycode 159 = Incr_Console | loadkeys<br />
<br />
It should work with any distro.<br />
<br />
====Cycling through tabs====<br />
In Gnome and Xfce4, Ctrl-PageUp/Ctrl-PageDown move to the previous/following open tab in all applications that have tabbed user interfaces (terminal emulator, web browser, ...). To make use of the {{ibmkey|Forward|#494949}} and {{ibmkey|Backward|#494949}} keys for this task, there're two possibilities.<br />
<br />
For both ways, you should map the keycodes 233 and 234 to XF86Back and XF86Forward as described in [[#xmodmap_configuration|xmodmap configuration]].<br />
<br />
=====Using xautomation=====<br />
xautomation can be found [http://hoopajoo.net/projects/xautomation.html here].<br />
<br />
Create two files with permissions 755:<br />
<br />
{{path|/usr/local/bin/tp_back}}:<br />
<bash><br />
#!/bin/bash<br />
/usr/bin/xte 'keydown Control_L' 'keydown Page_Up' 'keyup Page_Up' 'keyup Control_L'<br />
</bash><br />
<br />
{{path|/usr/local/bin/tp_forward}}:<br />
<bash><br />
#!/bin/bash<br />
/usr/bin/xte 'keydown Control_L' 'keydown Page_Down' 'keyup Page_Down' 'keyup Control_L'<br />
</bash><br />
<br />
Use your desktop's keyboard shortcut editor to assign XF86Back as a shortcut for tp_back and XF86Forward as a shortcut for tp_forward.<br />
<br />
This should work in all distros and with all window managers (you might have to use other key combinations than Ctrl-PageUp and Ctrl-PageDown).<br />
<br />
=====Redirecting XF86Back/XF86Forward=====<br />
Create {{path|/etc/X11/xkb/compat/thinkpad}}:<br />
<pre><br />
// $XFree86$<br />
// XFree86 special keysyms<br />
default partial xkb_compatibility "basic" {<br />
interpret.repeat= True;<br />
<br />
interpret XF86Back {<br />
action = Redirect(Key=<PGUP>, modifiers=Control);<br />
};<br />
interpret XF86Forward {<br />
action = Redirect(Key=<PGDN>, modifiers=Control);<br />
};<br />
};<br />
</pre><br />
<br />
Edit {{path|/etc/X11/xkb/compat/complete}} and add <tt>'''augment "thinkpad"'''</tt> so that it looks similar to the following:<br />
<pre><br />
// $XKeyboardConfig: xkbdesc/compat/complete,v 1.3 2005/10/17 00:42:11 svu Exp $<br />
// $Xorg: complete,v 1.3 2000/08/17 19:54:34 cpqbld Exp $<br />
default xkb_compatibility "complete" {<br />
include "basic"<br />
augment "iso9995"<br />
augment "mousekeys"<br />
augment "accessx(full)"<br />
augment "misc"<br />
augment "xfree86"<br />
augment "level5"<br />
augment "thinkpad"<br />
};<br />
</pre><br />
<br />
==External Sources==<br />
*[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]<br />
*[http://dqd.com/~mayoff/notes/thinkpad/dqdnavkeys/ Rob Mayoffs page on using IBM Keyboard Navigation Keys in Linux Mozilla and Firefox]<br />
*[http://snarfed.org/space/thinkpad+keys+in+firefox Ryan Barretts blog article about using the browser keys in Firefox]<br />
*[http://chaotika.org/~bluesceada/?page=soft&sub=thinkpad#acpibutn DennisG's help to get the ibm-acpi buttons do useful things] on a {{Z61e}} and possibly {{Z61m}}, {{Z61t}} and {{Z61p}}<br />
<br />
{{footnotes|<br />
#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]].<br />
#if there are more than one tool listed, one is sufficient<br />
#'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.<br />
#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].<br />
}}</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Tablet_Hardware_Buttons&diff=40242Tablet Hardware Buttons2008-12-15T05:01:07Z<p>Mitchell: +X200 Tablet scancodes. Generalized intro. -broken link.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" |<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
===Tablet Hardware Buttons===<br />
The Thinkpad tablets includes hardware buttons located on the<br />
LCD screen bezel. They are designed to be used when the ThinkPad is<br />
converted to the tablet configuration (though they are still<br />
accessible when in the laptop configuration).<br />
</div><br />
|}<br />
<br />
The X41 Tablet hardware buttons include:<br />
*Power (with sliding lock)<br />
*Cltr-Alt-Del [sic]<br />
*Page up<br />
*Page down<br />
*Enter<br />
*Escape<br />
*Screen Rotation<br />
*Tablet shortcut menu<br />
<br />
<br />
<br />
==Linux Support==<br />
The hardware buttons (except power) are recognized by the standard atkbd kernel driver which emits the following scancodes:<br />
<br />
{| border="1" cellpadding="5" cellspacing="0"<br />
! Key !! X41 Scancode || {{X60t}} Scancode || {{X61_Tablet}} Scancode || {{X200_Tablet}} Scancode<br />
|-<br />
| Page up || 0x6D || NA || NA || NA<br />
|-<br />
| Page down || 0x6E || NA || NA || NA<br />
|-<br />
| Enter || 0x69 || 0x69 || 0x69 || NA<br />
|-<br />
| Esc || 0x6B || 0x6B || 0x6b || NA<br />
|-<br />
| Toolbox || 0x68 || 0x68 || 0x68 || 0x66<br />
|-<br />
| Rotate || 0x6C || 0x6c || 0x6c || 0x6b<br />
|-<br />
| (Unlabeled) || 0x67 || NA || 0x67 || 0xe0 0x12<br />
|-<br />
| Right || NA || 0x6D || 0x6d || NA<br />
|-<br />
| Left || NA || 0x6E || 0x6e || NA<br />
|-<br />
| Up || NA || 0x71 || 0x71 || NA<br />
|-<br />
| Down || NA || 0x6F || 0x6f || NA<br />
|-<br />
<br />
|}<br />
<br />
Notes:<br />
* X200 Tablet<br />
*: Layout: power (with sliding lock); clockwise-arrow (formerly unlabeled); rotate (two boxes and an arrow); Toolbox (the icon is now a menu); padlock.<br />
*: The padlock button seems to do nothing. It generates no scancode, and has no effect on the other buttons.<br />
*: The clockwise-arrow button returns a scancode pair. So you say {{cmduser|setkeycodes e012 ''whatever''}}.<br />
<br />
The utility setkeycodes can be used to map these scancodes to keycodes. Read {{cmduser|man setkeycodes}} for usage.<br />
For example, the following command will map the page up and page down buttons to their respective keys:<br />
<br />
{{cmdroot|setkeycodes 6e 109 6d 104}}<br />
<br />
==Models featuring this Device==<br />
* {{X41_Tablet}}, {{X60t}}, {{X61_Tablet}}, {{X200_Tablet}}<br />
<br />
[[Category:Components]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200_Tablet&diff=40241Category:X200 Tablet2008-12-15T04:00:14Z<p>Mitchell: +link to hardware manual.</p>
<hr />
<div>''See also: [[:Category:X200|X200]]''<br />
<br />
The X200T is very similar to the [[:Category:X200|X200]].<br />
This page is mainly for Tablet-specific information.<br />
<br />
The [[:Category:X61 Tablet|X61 Tablet]] is the earlier model. It continued to be manufactured even after X200T release in 2008 Q4.<br />
<br />
[ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/45n3683.pdf Hardware Maintenance Manual - ThinkPad X200 Tablet] from [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-70830 here].<br />
<br />
[[Category:X Series]]<br />
[[Category:X200]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=User:Mitchell&diff=40240User:Mitchell2008-12-15T03:58:22Z<p>Mitchell: received new thinkpad.</p>
<hr />
<div>[[:Category:X200_Tablet|X200 Tablet]].</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Active_Rotate&diff=40239Active Rotate2008-12-15T03:37:19Z<p>Mitchell: /* Models featuring this Technology */ +X200_Tablet</p>
<hr />
<div>A technology to automatically rotate the screen orientation based on the physical orientation of the tablet. It uses the same sensor as [[HDAPS]].<br />
<br />
==Models featuring this Technology==<br />
*ThinkPad {{X60_Tablet}}, {{X61_Tablet}}, {{X200_Tablet}} (non-SSD)<br />
<br />
[[Category:Glossary]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Template:X200_Tablet&diff=40238Template:X200 Tablet2008-12-15T03:36:50Z<p>Mitchell: An X200_Tablet version of the Template:X60_Tablet and X61_Tablet.</p>
<hr />
<div>[[:Category:X200_Tablet|X200 Tablet]][[Category:X200_Tablet]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_and_Ubuntu_8.10_(Intrepid_Ibex)_on_a_ThinkPad_X200&diff=40237Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X2002008-12-15T03:30:41Z<p>Mitchell: /* Suspend and Hibernate */ +note hibernate crashing</p>
<hr />
<div>==Overview==<br />
<br />
Some items in this page still date from before the 8.10 final release. Please keep a close eye out, and if needed, refer to [http://ubuntuforums.org/showthread.php?p=5897839 this X200 owners' thread] on the Ubuntu forums.<br />
<br />
Started off working w. Ubuntu 8.04 install using the optical drive in the X200 ultrabase. Everything went swimmingly - ethernet worked out of the box as did the optical drive itself.<br />
<br />
Wound up upgrading to the 8.10 beta b/c of wireless troubles. See below.<br />
<br />
'''Reminder:''' [[Pre-Installation steps]]: ''Create Recovery Media''.<br />
<br />
==Ultrabay==<br />
<br />
Handles install without any problem - note: while the machine is in the bay, it forces you to use the ethernet port on the bay.<br />
<br />
<br />
==Ethernet==<br />
<br />
Intel GigE worked out of the box w. 8.04 and 8.10.<br />
<br />
<br />
==Wireless==<br />
<br />
Ah, the wireless.<br />
<br />
run <lshw -C network> and sort out which wireless hardware you're working with.<br />
<br />
===Atheros===<br />
<br />
For Atheros, check out [http://ubuntuforums.org/showthread.php?t=905126 this forum post]<br />
<br />
===Intel 5300===<br />
<br />
====On 8.04====<br />
<br />
For Intel 5300 on 8.04, neither the recommended drivers (iwl5000) nor ndiswrapper did the trick. It's possible that manually-upgrading the kernel to 2.27 would do it.<br />
<br />
====On 8.10====<br />
<br />
With 8.10 the Intel 5300 works out of the box. Running <lshw -C network> again shows that it's the iwlagn driver (pre-loaded with the 2.27 kernel) that does the trick.<br />
<br />
<br />
== Sensors ==<br />
<br />
The gnome sensors applets allow you to monitor all important temperatures, including battery, hdd, cpu and gpu and system fan.<br />
sudo apt-get install sensors-applet hddtemp<br />
<br />
Add the hardware sensor monitor to the panel and then configure it. You will see a lot of datasources.<br />
<br />
* libsensors: temp9 and temp10 seem to be mainboard/Nortbridge or power regulator sensors.<br />
* hddtemp: /dev/sda is the sensor of the harddisk. It is important to keep the harddisk always below 45°, normally under 40°. This is no problem with the X200, the hdd cooling system seems to be very good. <br />
* ibm-acpi: cpu, mPCI, GPU and FAN are intersting sensors.<br />
<br />
The sensors-applet's default high value for CPU temperature is 60 C. So even a cool but running centrino shows up red. 80 C seems a more plausible value. Max temp is apparently[http://users.erols.com/chare/elec.htm] 85 or 90 C.<br />
<br />
==Power Mgmt==<br />
<br />
Not sure what's going on here yet, but the battery claims to have only ~3 hours of life after a full charge.<br />
<br />
The "laptop" mode is by default disabled in ubuntu (for some historical weird hang up, I guess). To enable it, edit the file:<br />
<br />
/etc/default/acpi-support<br />
<br />
Change the following line:<br />
<br />
ENABLE_LAPTOP_MODE=false<br />
<br />
to be:<br />
<br />
ENABLE_LAPTOP_MODE=true<br />
<br />
Then your battery can provide you with some extra time (about half an hour~one hour). You can also enable it through [http://www.lesswatts.org/projects/powertop/ powertop] together with other tweaks. So far no hang is observed.<br />
<br />
==Display==<br />
<br />
With 8.10 things don't work well if you stick with the "preconfigured" xorg.conf settings: the default resolution is only 1074x768 and the highest setting that the laptop display is capable of (1280x800) doesn't even show up in the <em> System -> Preferences -> Screen Resolution </em>applet. To make matters worse, VGA output is a royal pain.<br />
<br />
Here's a step-by-step guide to improve the situation if you just want to get the laptop display working properly:<br />
<br />
* First, make sure you've got the latest drivers for your Intel 4500MHD video card:<br />
<br />
$ sudo apt-get install xserver-xorg-video-intel<br />
<br />
::On current 8.10, this step seems unnecessary. You get intel by default, and by this point in the install, you should have already have updated your packages. [[User:Mitchell|Mitchell]] 01:28, 15 December 2008 (CET)<br />
<br />
* Once that's over and done with, open up your xorg.conf file (note: be careful with this file):<br />
<br />
$ sudo gedit /etc/X11/xorg.conf<br />
<br />
* Make the part that isn't commented out (i.e. that isn't preceded by a #) look like this:<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
# The following line was an auto-configuration added by an external VGA projector; you might leave it out to try<br />
# letting the system detect dimensions appropriate for whatever display you happen to use.<br />
Virtual 2432 864<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
<br />
* Note: those HDMI settings are really important because they get rid of some imaginary monitors (see [[Installing_Debian_on_an_X200 | this other X200 installation notes post]] for more details). Save your new xorg.conf file and quit the Gedit text editor. Also quit any other open programs and log-out from your session to reset the X-server and apply the new settings. <br />
*:On current 8.10, some changes seem unnecessary: Driver (intel is already the default), DefaultDepth (24 is the default), and the Option "monitor-HDMI-x" lines (the "HDMI-x" sections are sufficient to get rid of the imaginary monitor; but I've not yet tried using an external laptop or base monitor). [[User:Mitchell|Mitchell]] 01:28, 15 December 2008 (CET)<br />
<br />
* When you log back in, all the new settings should "just work," but don't be alarmed if things look a little weird or if the screen resolution still isn't the full 1280x800...<br />
:To make sure the xorg.conf changes "stuck" and that the resolution is set properly, open the aforementioned Screen Resolution applet: <em>System -> Preferences -> Screen Resolution</em>. Make sure the the box that says "Mirror Screens" is unchecked and click the "Detect Displays" button. In the little colorful diagram thingy, there should just be a big rectangle that says "laptop 12"" (or whatever portion of those words fits in the rectangle). Click on this "laptop" rectangle to make sure and activate it. Once you've clicked on it, look for the drop-down menu that says the resolution and re-set this to "1280 x 800 (16:10)." If there are other "imaginary" displays activated (there shouldn't be with the HDMI workaround in the xorg.conf file included above) use the same drop-down menu to turn them to "Off." Click "Apply" at the bottom and close the applet. Log out again to activate the new settings. If all goes according to plan, your 12800x800 display should now work like a charm!<br />
<br />
* Once you've got that all sorted out, go ahead and hook the X200 up to an external display via the VGA port (so far, I've only tried it directly from the laptop and not from the ultrabase). Open the Screen Resolution applet again and click "detect displays." Choose a resolution for the external display and decide whether you want a mirrored output or not. Click apply (here the system may prompt you to accept virtual display settings - say yes and confirm by typing your password), close the applet and log-out again to reset X. Once you log in, you should have an external display working perfectly.<br />
<br />
==Suspend and Hibernate==<br />
<br />
There will be conflicting reports and confusion about this, because there is at least one problem causing ''intermittent'' suspend/hibernate crashes. In other words, things may appear to work, and then they may not. <br />
<br />
If you experience a crash while resuming (my guess is that you will, eventually), first attempt the fix described here:<br />
<br />
[[Install_Ubuntu_8.10_(Intrepid_Ibex)_on_an_T400#Suspend.2FHibernate|Workaround on T400]]<br />
<br />
Apparently, this is a mulitprocessor problem, and the workaround to disable one core at Suspend/Hibernate is relatively easy to implement.<br />
<br />
'''Confirmations:'''<br />
<br />
On a up to date 8.10 system (as of Nov 12th: linux-2.6.27-8, video-intel-2.4.1ubuntu10) suspend now seems to work perfectly. Before the above multi-processor workaround, resuming from suspend used to crash about half of the time. Not a single crash has been observed since the workaround.<br />
<br />
Seconded; this appeared to fix it for me as well (12/2/08), on a fully updated 8.10, with no other modifications to stock. <br />
<br />
On current 8.10, without the workaround, hibernating from the menu, I get ata errors going down, and then a crash waking up. 2 trials, 2 crashes. [[User:Mitchell|Mitchell]] 04:30, 15 December 2008 (CET)<br />
<br />
Additional information about various potential fixes is included below for reference, though I didn't (so far) need to do anything aside from what's described above.<br />
<br />
'''Older workarounds:'''<br />
<br />
Without tweaking drivers and xorg.conf suspending thcrough the Gnome desktop does not work - seems to be related to the problems with the display. Some people have reported no problems with Hibernate, while others...you get the idea. If you're one of those having problems, read on... <br />
<br />
Once you've followed the instructions to get the Intel video card drivers installed (see above) Hibernate (suspend to disk) *should* work and Sleep/Suspend (suspend to RAM) *might* work (there are some conflicting reports out there). If you like, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
If the suspend/sleep <em>still</em> doesn't work, try the following work-around to get the system to recognize the sleep settings.<br />
<br />
First, create a text file called "sleep_module" in the /etc/pm/config.d directory:<br />
<br />
sudo gedit /etc/pm/config.d/sleep_module<br />
<br />
In the new file, enter:<br />
<br />
SLEEP_MODULE=kernel <br />
<br />
Then save this new file and exit your text editor as well as your other apps. Do a reboot and try out your freshly reconfigured suspend funciton. As before, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
Note: Consider using "sudo -e" for editing files.<br />
<br />
'''Update:''' The latest updates to 8.10 (still in beta at the time of this writing) appear to include a sleep_module configuration file that includes this tweak.<br />
<br />
I had lots of problems with both hibernate and suspend. I have disabled lots of (for me at least) unneeded devices in the bios, and now at least hibernat works. My x200 bios configuration is now like this:<br />
<br />
* Network<br />
* wake on lan disabled<br />
* flash over lan disabled<br />
* ethernet lan option rom disabled<br />
* hdd dma enabled<br />
* wireless lan and wimax enabled<br />
* SATA AHCI<br />
* CPU<br />
* multiprocessing enabled<br />
* intel virtualisation enabled<br />
* intel vt-d enabled<br />
* Intel AMT<br />
* AMT Control disabled<br />
* IO Port access<br />
* ethernet enabled<br />
* wlan enabled<br />
* wimax enabled<br />
* wwan enabled<br />
* bluetooth enabled<br />
* wireless usb disabled<br />
* modem disabled<br />
* usb enabled<br />
* expresscard slot disabled<br />
* ultrabay hdd disabled<br />
* memory card disabled<br />
* camera enabled<br />
* microphone enabled<br />
* fingerprint reader disabled<br />
<br />
I left the rest at bios defaults. Of course, you may one some of these devices enabled, but this is a starting point to get hibernate/suspend working and by enabling one after the other you should be able to find the device/s that cause problems.<br />
<br />
Note: with this setup i get 4h30min battery time instead of 3h55min<br />
<br />
===Hibernate fails with Virtualbox running===<br />
<br />
-> http://ubuntuforums.org/showpost.php?p=4582777&postcount=3<br />
<br />
To circumvent this, put this in ~/bin/vbox_suspend:<br />
<br />
#!/bin/bash<br />
for x in `vboxmanage -nologo list runningvms`<br />
do<br />
vboxmanage -nologo controlvm $x savestate<br />
done<br />
<br />
and make it executable. you can test it by running ~/bin/vbox_suspend, which should save all your running virtual machines.<br />
<br />
put the following lines in /etc/pm/sleep.d/90virtualbox and make it executable as well:<br />
<br />
#!/bin/bash<br />
case $1 in<br />
hibernate)<br />
su YOURUSER -c /home/YOURUSER/bin/vbox_suspend<br />
;;<br />
esac<br />
<br />
This is not very elegant (as the user is hard-coded), but it works.<br />
I have tried to make the machines resume on thaw, but it would place the vms on the wrong workspace even if it know which X server to use, which it doesn't.<br />
<br />
==Sound==<br />
<br />
(Mostly) works out of the box under 8.04 and 8.10<br />
<br />
Worth noting the apparent problems w. Skype and Medibuntu on 8.10 - some of this [http://ubuntuforums.org/showthread.php?t=925211 appears to have been resolved] recently and will hopefully make it into the final release. Sound playback within Skype still failing despite the workaround.<br />
<br />
==Camera==<br />
<br />
Works with Cheese Webcam Booth on 8.10. Also with Kopete on 8.10.<br />
* Not for me (re cheese). https://bugs.launchpad.net/ubuntu/+source/gstreamer0.10/+bug/266879 . [[User:Mitchell|Mitchell]] 03:02, 15 December 2008 (CET)<br />
<br />
==VGA==<br />
<br />
"Unclaimed"<br />
[[Category:X200]]<br />
<br />
==Tablet==<br />
<br />
The X200 Tablet uses a wacom device. The instructions for configuring xorg in 8.10 to work with wacom input do seem to work.<br />
<br />
https://help.ubuntu.com/community/WacomTroubleshooting<br />
<br />
Just follow the directions for a SERIAL tablet (which is indeed what you have).<br />
<br />
Here is an xorg.conf that has both the resolution fix and the tablet fixes (tested on 8.10 with an X200 tablet, multitouch - i.e. pen and fingertip - screen):<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "pad"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "pad"<br />
EndSection<br />
<br />
# Uncomment the following section if you you have a TabletPC that upports touch<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "touch"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "touch"<br />
Option "ForceDevice" "ISDV4" # Serial Tablet PC ONLY<br />
# Adding manual calibration, since proper calibration seems impossible.<br />
Option "BottomX" "915"<br />
Option "BottomY" "940"<br />
Option "TopX" "48"<br />
Option "TopY" "90"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "Default Layout"<br />
Screen "Default Screen"<br />
InputDevice "stylus" "SendCoreEvents"<br />
InputDevice "eraser" "SendCoreEvents"<br />
InputDevice "cursor" "SendCoreEvents" # For non-LCD tablets only<br />
InputDevice "pad" # For Intuos3/CintiqV5/Graphire4/Bamboo tablets<br />
InputDevice "touch" "SendCoreEvents" # Only a few TabletPCs support this typeEndSection <br />
EndSection<br />
<br />
You may also want to download the "wacom-tools" package.<br />
<br />
When I started experimenting with this, the touchscreen portion of multitouch was quite miscalibrated, and the distro's wacom-tools package has a bug which seems to prevent calibration of the touchscreen via wacomcpl. In fact, it seems to have a series of bugs, judging based on what I've found in google. My solution was to futilely experiment with various xsetwacom values (as documented [http://linuxwacom.sourceforge.net/index.php/howto/xsetwacom here]) for a few minutes, and then try the values [http://dkukawka.blogspot.com/2008/07/lenovo-thinkpad-x61t-touch-support.html posted by an X61t user]. :) These were close enough to be a starting point. Then I fiddled some more, and the results are included in the xorg.conf above. With luck, these numbers will just work for you, and you won't have any issue. If not, check out the linux wacom documentation and experiment with new calibration values via xsetwacom.<br />
<br />
==TrackPoint==<br />
<br />
Trackpoint scrolling is, as of 12/02/08, not in a good way on 8.10. <br />
<br />
There are numerous instructions on the net which don't work for the X200, including instructions here ([How to configure the TrackPoint]). <br />
<br />
On the X200, the HAL-based instructions in the last section may work, but only until suspend/resume or VT switching, due to a [https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/282387|known bug in evdev].<br />
<br />
I do have it working, but it is not pretty:<br />
<br />
* Create a patched evdev. The following is based on instructions from the bug report. These instructions will be extremely fragile - they work for me today but could stop working at any point, based on updates to evdev or changes to the bug. The lines below do the following:<br />
** Set up a work area<br />
** Download the patch from the bug report<br />
** Prepare your environment for building evdev<br />
** Download the evdev sources<br />
** Patch them<br />
** Produce a new deb<br />
** Install it<br />
<br />
sudo bash<br />
cd /usr/local/src/<br />
mkdir evdev<br />
cd evdev <br />
wget http://launchpadlibrarian.net/19254960/preinit.diff<br />
apt-get build-dep xserver-xorg-input-evdev<br />
apt-get source xserver-xorg-input-evdev<br />
cd xserver-xorg-input-evdev-2.0.99+git20080912<br />
patch -p1 < ../preinit.diff<br />
debian/rules binary<br />
cd ..<br />
dpkg -i xserver-xorg-input-evdev_2.0.99*.deb<br />
<br />
<br />
* Add xinput lines to your .profile; with this patch, the normal HAL method no longer works (though note, I have not tested this with no hal policy for the trackpoint at all, just left the non-working one in place. YMMV). <br />
<br />
# TEMPORARY FIX FOR BROKEN EVDEV/HAL for TrackPoint scrolling:<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation" 8 1<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Button" 8 2<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Y Axis" 8 4 5<br />
<br />
* reboot your system.<br />
<br />
This _should_ enable trackpoint scrolling that will be durable through suspend/resumes. <br />
<br />
At some point they will fix the upstream evdev package, and/or adjust other configs. You may see this suddenly stop working after an update (evdev was updated but this fix wasn't in the update); in which case, re-run the steps above to create an updated patched evdev (hopefully). Or the update may carry an upstream fix; latest word in the bug is that the unstable upstream debian packages work out of the box. In which case you should simply come back and reexamine whether the xinput lines in the .profile are still necessary at a later date, or you can use the more canonical HAL profile to control the trackpoint properties.<br />
<br />
==Rotating the Screen==<br />
<br />
A classic gripe of linux tablet users is that they can rotate the screen but the digitizer does not rotate with it automatically. This can render the portrait "tablet" configuration useless. <br />
<br />
The wacom driver actually has the capability to rotate as well. A script has been developed to both rotate the display and the wacom driver:<br />
<br />
http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus<br />
<br />
The last version of the script (for linuxwacom 8.1) appears to work on the x200, in 8.10, after using the other xorg display and wacom modifications above.<br />
<br />
''However'' after a few days I have noticed some instability and odd behaviour with it. If anyone would like to have a look at it, please feel free to post a correction here. <br />
<br />
Once you have copied the script to your local system, you can use the normal key binding facilities in gnome or kde to bind your rotation key to it. <br />
<br />
If anyone has any idea how to receive and act automatically on signals from the sensor inside the x200 tablet's screen hinge, please post it!<br />
<br />
==Fan==<br />
<br />
'''WARNING: USE AT YOUR OWN RISK'''<br />
<br />
Monitor the temperatures of harddisk, gpu and cpu when controlling fan speed.<br />
<br />
Software fan control is dangerous, and can shorten the life of a laptop or even destroy it. For a detailed discussion and warning from the kernel maintainer, see [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html this thread, which happens to be an X200s user asking for help].<br />
<br />
As reported elsewhere, the fan seems to run constantly while the machine is on under 8.04 and 8.10 (though not at 100% speed).<br />
<br />
The fan can be made less noisy by installing the tpfand packages. <br />
<br />
* First add the tpfand repository. Instructions are [http://www.gambitchess.org/mediawiki/index.php/ThinkPad_Fan_Control here]<br />
<br />
* Then install the packages.<br />
<br />
sudo apt-get install tpfand tpfand-admin <br />
<br />
There is currently no tpfand profile for the x200, but you can set the thresholds and power settings for all fans easily with the thinkpad fan control software. Here are the settings from my /etc/tpfand.conf as a starting point. Use the sensors applet to control and monitor temperatures of cpu, gpu and harddisk (see below)!<br />
<br />
#... <br />
0. CPU = 0:0 50:7 <br />
1. Mini PCI = 0:0 55:4 <br />
2. Sensor 2 = 0:255 <br />
3. GPU = 0:0 55:5 <br />
4. Bat0 = 0:0 35:3 <br />
5. Sensor 5 = 0:255 <br />
6. Bat1 = 0:0 35:3 <br />
7. Sensor 7 = 0:255 <br />
8. MB? = 0:0 45:2 <br />
9. MB? = 0:0 55:3 <br />
10. Sensor 10 = 0:255 <br />
11. Sensor 11 = 0:255 <br />
12. Sensor 12 = 0:255 <br />
13. Sensor 13 = 0:255 <br />
14. Sensor 14 = 0:255 <br />
15. Sensor 15 = 0:255 <br />
#...<br />
<br />
These settings achieve the following:<br />
* fan runs at 15% if the system is idle. This is very quiet, while still having airflow through the system<br />
* if MB2>55° or BAT>35°, fan runs at 30%<br />
* if MiniPCI>55° fan 45%<br />
* if GPU>55 fan 60%<br />
* if CPU>50 fan 90%<br />
The net effect is that a busy system will run the fan between 45%-90% depending on load. <br />
<br />
The above settings are for the X200 (without an s) as is all the information on this page. Don't know why somebody messes this page up with stuff about the X200s and sinister warnings. <br />
<br />
(Warnings are cheap. New laptops are not. When you have a '''"sinister warning"''' about tpfand from [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html the maintainer of the thinkpad fan code in the kernel himself], I don't know why this section is even here - it's not safe. Even so I say leave it, but just make sure there is a big warning.)<br />
<br />
The sensor names were deduced by matching sensor readings between tpfand and acpi temperatures.</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_and_Ubuntu_8.10_(Intrepid_Ibex)_on_a_ThinkPad_X200&diff=40236Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X2002008-12-15T03:14:35Z<p>Mitchell: /* Sensors */ +Note expected CPU temperature.</p>
<hr />
<div>==Overview==<br />
<br />
Some items in this page still date from before the 8.10 final release. Please keep a close eye out, and if needed, refer to [http://ubuntuforums.org/showthread.php?p=5897839 this X200 owners' thread] on the Ubuntu forums.<br />
<br />
Started off working w. Ubuntu 8.04 install using the optical drive in the X200 ultrabase. Everything went swimmingly - ethernet worked out of the box as did the optical drive itself.<br />
<br />
Wound up upgrading to the 8.10 beta b/c of wireless troubles. See below.<br />
<br />
'''Reminder:''' [[Pre-Installation steps]]: ''Create Recovery Media''.<br />
<br />
==Ultrabay==<br />
<br />
Handles install without any problem - note: while the machine is in the bay, it forces you to use the ethernet port on the bay.<br />
<br />
<br />
==Ethernet==<br />
<br />
Intel GigE worked out of the box w. 8.04 and 8.10.<br />
<br />
<br />
==Wireless==<br />
<br />
Ah, the wireless.<br />
<br />
run <lshw -C network> and sort out which wireless hardware you're working with.<br />
<br />
===Atheros===<br />
<br />
For Atheros, check out [http://ubuntuforums.org/showthread.php?t=905126 this forum post]<br />
<br />
===Intel 5300===<br />
<br />
====On 8.04====<br />
<br />
For Intel 5300 on 8.04, neither the recommended drivers (iwl5000) nor ndiswrapper did the trick. It's possible that manually-upgrading the kernel to 2.27 would do it.<br />
<br />
====On 8.10====<br />
<br />
With 8.10 the Intel 5300 works out of the box. Running <lshw -C network> again shows that it's the iwlagn driver (pre-loaded with the 2.27 kernel) that does the trick.<br />
<br />
<br />
== Sensors ==<br />
<br />
The gnome sensors applets allow you to monitor all important temperatures, including battery, hdd, cpu and gpu and system fan.<br />
sudo apt-get install sensors-applet hddtemp<br />
<br />
Add the hardware sensor monitor to the panel and then configure it. You will see a lot of datasources.<br />
<br />
* libsensors: temp9 and temp10 seem to be mainboard/Nortbridge or power regulator sensors.<br />
* hddtemp: /dev/sda is the sensor of the harddisk. It is important to keep the harddisk always below 45°, normally under 40°. This is no problem with the X200, the hdd cooling system seems to be very good. <br />
* ibm-acpi: cpu, mPCI, GPU and FAN are intersting sensors.<br />
<br />
The sensors-applet's default high value for CPU temperature is 60 C. So even a cool but running centrino shows up red. 80 C seems a more plausible value. Max temp is apparently[http://users.erols.com/chare/elec.htm] 85 or 90 C.<br />
<br />
==Power Mgmt==<br />
<br />
Not sure what's going on here yet, but the battery claims to have only ~3 hours of life after a full charge.<br />
<br />
The "laptop" mode is by default disabled in ubuntu (for some historical weird hang up, I guess). To enable it, edit the file:<br />
<br />
/etc/default/acpi-support<br />
<br />
Change the following line:<br />
<br />
ENABLE_LAPTOP_MODE=false<br />
<br />
to be:<br />
<br />
ENABLE_LAPTOP_MODE=true<br />
<br />
Then your battery can provide you with some extra time (about half an hour~one hour). You can also enable it through [http://www.lesswatts.org/projects/powertop/ powertop] together with other tweaks. So far no hang is observed.<br />
<br />
==Display==<br />
<br />
With 8.10 things don't work well if you stick with the "preconfigured" xorg.conf settings: the default resolution is only 1074x768 and the highest setting that the laptop display is capable of (1280x800) doesn't even show up in the <em> System -> Preferences -> Screen Resolution </em>applet. To make matters worse, VGA output is a royal pain.<br />
<br />
Here's a step-by-step guide to improve the situation if you just want to get the laptop display working properly:<br />
<br />
* First, make sure you've got the latest drivers for your Intel 4500MHD video card:<br />
<br />
$ sudo apt-get install xserver-xorg-video-intel<br />
<br />
::On current 8.10, this step seems unnecessary. You get intel by default, and by this point in the install, you should have already have updated your packages. [[User:Mitchell|Mitchell]] 01:28, 15 December 2008 (CET)<br />
<br />
* Once that's over and done with, open up your xorg.conf file (note: be careful with this file):<br />
<br />
$ sudo gedit /etc/X11/xorg.conf<br />
<br />
* Make the part that isn't commented out (i.e. that isn't preceded by a #) look like this:<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
# The following line was an auto-configuration added by an external VGA projector; you might leave it out to try<br />
# letting the system detect dimensions appropriate for whatever display you happen to use.<br />
Virtual 2432 864<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
<br />
* Note: those HDMI settings are really important because they get rid of some imaginary monitors (see [[Installing_Debian_on_an_X200 | this other X200 installation notes post]] for more details). Save your new xorg.conf file and quit the Gedit text editor. Also quit any other open programs and log-out from your session to reset the X-server and apply the new settings. <br />
*:On current 8.10, some changes seem unnecessary: Driver (intel is already the default), DefaultDepth (24 is the default), and the Option "monitor-HDMI-x" lines (the "HDMI-x" sections are sufficient to get rid of the imaginary monitor; but I've not yet tried using an external laptop or base monitor). [[User:Mitchell|Mitchell]] 01:28, 15 December 2008 (CET)<br />
<br />
* When you log back in, all the new settings should "just work," but don't be alarmed if things look a little weird or if the screen resolution still isn't the full 1280x800...<br />
:To make sure the xorg.conf changes "stuck" and that the resolution is set properly, open the aforementioned Screen Resolution applet: <em>System -> Preferences -> Screen Resolution</em>. Make sure the the box that says "Mirror Screens" is unchecked and click the "Detect Displays" button. In the little colorful diagram thingy, there should just be a big rectangle that says "laptop 12"" (or whatever portion of those words fits in the rectangle). Click on this "laptop" rectangle to make sure and activate it. Once you've clicked on it, look for the drop-down menu that says the resolution and re-set this to "1280 x 800 (16:10)." If there are other "imaginary" displays activated (there shouldn't be with the HDMI workaround in the xorg.conf file included above) use the same drop-down menu to turn them to "Off." Click "Apply" at the bottom and close the applet. Log out again to activate the new settings. If all goes according to plan, your 12800x800 display should now work like a charm!<br />
<br />
* Once you've got that all sorted out, go ahead and hook the X200 up to an external display via the VGA port (so far, I've only tried it directly from the laptop and not from the ultrabase). Open the Screen Resolution applet again and click "detect displays." Choose a resolution for the external display and decide whether you want a mirrored output or not. Click apply (here the system may prompt you to accept virtual display settings - say yes and confirm by typing your password), close the applet and log-out again to reset X. Once you log in, you should have an external display working perfectly.<br />
<br />
==Suspend and Hibernate==<br />
<br />
There will be conflicting reports and confusion about this, because there is at least one problem causing ''intermittent'' suspend/hibernate crashes. In other words, things may appear to work, and then they may not. <br />
<br />
If you experience a crash while resuming (my guess is that you will, eventually), first attempt the fix described here:<br />
<br />
[[Install_Ubuntu_8.10_(Intrepid_Ibex)_on_an_T400#Suspend.2FHibernate|Workaround on T400]]<br />
<br />
Apparently, this is a mulitprocessor problem, and the workaround to disable one core at Suspend/Hibernate is relatively easy to implement.<br />
<br />
'''Confirmations:'''<br />
<br />
On a up to date 8.10 system (as of Nov 12th: linux-2.6.27-8, video-intel-2.4.1ubuntu10) suspend now seems to work perfectly. Before the above multi-processor workaround, resuming from suspend used to crash about half of the time. Not a single crash has been observed since the workaround. <br />
<br />
Seconded; this appeared to fix it for me as well (12/2/08), on a fully updated 8.10, with no other modifications to stock. <br />
<br />
Additional information about various potential fixes is included below for reference, though I didn't (so far) need to do anything aside from what's described above.<br />
<br />
'''Older workarounds:'''<br />
<br />
Without tweaking drivers and xorg.conf suspending thcrough the Gnome desktop does not work - seems to be related to the problems with the display. Some people have reported no problems with Hibernate, while others...you get the idea. If you're one of those having problems, read on... <br />
<br />
Once you've followed the instructions to get the Intel video card drivers installed (see above) Hibernate (suspend to disk) *should* work and Sleep/Suspend (suspend to RAM) *might* work (there are some conflicting reports out there). If you like, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
If the suspend/sleep <em>still</em> doesn't work, try the following work-around to get the system to recognize the sleep settings.<br />
<br />
First, create a text file called "sleep_module" in the /etc/pm/config.d directory:<br />
<br />
sudo gedit /etc/pm/config.d/sleep_module<br />
<br />
In the new file, enter:<br />
<br />
SLEEP_MODULE=kernel <br />
<br />
Then save this new file and exit your text editor as well as your other apps. Do a reboot and try out your freshly reconfigured suspend funciton. As before, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
Note: Consider using "sudo -e" for editing files.<br />
<br />
'''Update:''' The latest updates to 8.10 (still in beta at the time of this writing) appear to include a sleep_module configuration file that includes this tweak.<br />
<br />
I had lots of problems with both hibernate and suspend. I have disabled lots of (for me at least) unneeded devices in the bios, and now at least hibernat works. My x200 bios configuration is now like this:<br />
<br />
* Network<br />
* wake on lan disabled<br />
* flash over lan disabled<br />
* ethernet lan option rom disabled<br />
* hdd dma enabled<br />
* wireless lan and wimax enabled<br />
* SATA AHCI<br />
* CPU<br />
* multiprocessing enabled<br />
* intel virtualisation enabled<br />
* intel vt-d enabled<br />
* Intel AMT<br />
* AMT Control disabled<br />
* IO Port access<br />
* ethernet enabled<br />
* wlan enabled<br />
* wimax enabled<br />
* wwan enabled<br />
* bluetooth enabled<br />
* wireless usb disabled<br />
* modem disabled<br />
* usb enabled<br />
* expresscard slot disabled<br />
* ultrabay hdd disabled<br />
* memory card disabled<br />
* camera enabled<br />
* microphone enabled<br />
* fingerprint reader disabled<br />
<br />
I left the rest at bios defaults. Of course, you may one some of these devices enabled, but this is a starting point to get hibernate/suspend working and by enabling one after the other you should be able to find the device/s that cause problems.<br />
<br />
Note: with this setup i get 4h30min battery time instead of 3h55min<br />
<br />
===Hibernate fails with Virtualbox running===<br />
<br />
-> http://ubuntuforums.org/showpost.php?p=4582777&postcount=3<br />
<br />
To circumvent this, put this in ~/bin/vbox_suspend:<br />
<br />
#!/bin/bash<br />
for x in `vboxmanage -nologo list runningvms`<br />
do<br />
vboxmanage -nologo controlvm $x savestate<br />
done<br />
<br />
and make it executable. you can test it by running ~/bin/vbox_suspend, which should save all your running virtual machines.<br />
<br />
put the following lines in /etc/pm/sleep.d/90virtualbox and make it executable as well:<br />
<br />
#!/bin/bash<br />
case $1 in<br />
hibernate)<br />
su YOURUSER -c /home/YOURUSER/bin/vbox_suspend<br />
;;<br />
esac<br />
<br />
This is not very elegant (as the user is hard-coded), but it works.<br />
I have tried to make the machines resume on thaw, but it would place the vms on the wrong workspace even if it know which X server to use, which it doesn't.<br />
<br />
==Sound==<br />
<br />
(Mostly) works out of the box under 8.04 and 8.10<br />
<br />
Worth noting the apparent problems w. Skype and Medibuntu on 8.10 - some of this [http://ubuntuforums.org/showthread.php?t=925211 appears to have been resolved] recently and will hopefully make it into the final release. Sound playback within Skype still failing despite the workaround.<br />
<br />
==Camera==<br />
<br />
Works with Cheese Webcam Booth on 8.10. Also with Kopete on 8.10.<br />
* Not for me (re cheese). https://bugs.launchpad.net/ubuntu/+source/gstreamer0.10/+bug/266879 . [[User:Mitchell|Mitchell]] 03:02, 15 December 2008 (CET)<br />
<br />
==VGA==<br />
<br />
"Unclaimed"<br />
[[Category:X200]]<br />
<br />
==Tablet==<br />
<br />
The X200 Tablet uses a wacom device. The instructions for configuring xorg in 8.10 to work with wacom input do seem to work.<br />
<br />
https://help.ubuntu.com/community/WacomTroubleshooting<br />
<br />
Just follow the directions for a SERIAL tablet (which is indeed what you have).<br />
<br />
Here is an xorg.conf that has both the resolution fix and the tablet fixes (tested on 8.10 with an X200 tablet, multitouch - i.e. pen and fingertip - screen):<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "pad"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "pad"<br />
EndSection<br />
<br />
# Uncomment the following section if you you have a TabletPC that upports touch<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "touch"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "touch"<br />
Option "ForceDevice" "ISDV4" # Serial Tablet PC ONLY<br />
# Adding manual calibration, since proper calibration seems impossible.<br />
Option "BottomX" "915"<br />
Option "BottomY" "940"<br />
Option "TopX" "48"<br />
Option "TopY" "90"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "Default Layout"<br />
Screen "Default Screen"<br />
InputDevice "stylus" "SendCoreEvents"<br />
InputDevice "eraser" "SendCoreEvents"<br />
InputDevice "cursor" "SendCoreEvents" # For non-LCD tablets only<br />
InputDevice "pad" # For Intuos3/CintiqV5/Graphire4/Bamboo tablets<br />
InputDevice "touch" "SendCoreEvents" # Only a few TabletPCs support this typeEndSection <br />
EndSection<br />
<br />
You may also want to download the "wacom-tools" package.<br />
<br />
When I started experimenting with this, the touchscreen portion of multitouch was quite miscalibrated, and the distro's wacom-tools package has a bug which seems to prevent calibration of the touchscreen via wacomcpl. In fact, it seems to have a series of bugs, judging based on what I've found in google. My solution was to futilely experiment with various xsetwacom values (as documented [http://linuxwacom.sourceforge.net/index.php/howto/xsetwacom here]) for a few minutes, and then try the values [http://dkukawka.blogspot.com/2008/07/lenovo-thinkpad-x61t-touch-support.html posted by an X61t user]. :) These were close enough to be a starting point. Then I fiddled some more, and the results are included in the xorg.conf above. With luck, these numbers will just work for you, and you won't have any issue. If not, check out the linux wacom documentation and experiment with new calibration values via xsetwacom.<br />
<br />
==TrackPoint==<br />
<br />
Trackpoint scrolling is, as of 12/02/08, not in a good way on 8.10. <br />
<br />
There are numerous instructions on the net which don't work for the X200, including instructions here ([How to configure the TrackPoint]). <br />
<br />
On the X200, the HAL-based instructions in the last section may work, but only until suspend/resume or VT switching, due to a [https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/282387|known bug in evdev].<br />
<br />
I do have it working, but it is not pretty:<br />
<br />
* Create a patched evdev. The following is based on instructions from the bug report. These instructions will be extremely fragile - they work for me today but could stop working at any point, based on updates to evdev or changes to the bug. The lines below do the following:<br />
** Set up a work area<br />
** Download the patch from the bug report<br />
** Prepare your environment for building evdev<br />
** Download the evdev sources<br />
** Patch them<br />
** Produce a new deb<br />
** Install it<br />
<br />
sudo bash<br />
cd /usr/local/src/<br />
mkdir evdev<br />
cd evdev <br />
wget http://launchpadlibrarian.net/19254960/preinit.diff<br />
apt-get build-dep xserver-xorg-input-evdev<br />
apt-get source xserver-xorg-input-evdev<br />
cd xserver-xorg-input-evdev-2.0.99+git20080912<br />
patch -p1 < ../preinit.diff<br />
debian/rules binary<br />
cd ..<br />
dpkg -i xserver-xorg-input-evdev_2.0.99*.deb<br />
<br />
<br />
* Add xinput lines to your .profile; with this patch, the normal HAL method no longer works (though note, I have not tested this with no hal policy for the trackpoint at all, just left the non-working one in place. YMMV). <br />
<br />
# TEMPORARY FIX FOR BROKEN EVDEV/HAL for TrackPoint scrolling:<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation" 8 1<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Button" 8 2<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Y Axis" 8 4 5<br />
<br />
* reboot your system.<br />
<br />
This _should_ enable trackpoint scrolling that will be durable through suspend/resumes. <br />
<br />
At some point they will fix the upstream evdev package, and/or adjust other configs. You may see this suddenly stop working after an update (evdev was updated but this fix wasn't in the update); in which case, re-run the steps above to create an updated patched evdev (hopefully). Or the update may carry an upstream fix; latest word in the bug is that the unstable upstream debian packages work out of the box. In which case you should simply come back and reexamine whether the xinput lines in the .profile are still necessary at a later date, or you can use the more canonical HAL profile to control the trackpoint properties.<br />
<br />
==Rotating the Screen==<br />
<br />
A classic gripe of linux tablet users is that they can rotate the screen but the digitizer does not rotate with it automatically. This can render the portrait "tablet" configuration useless. <br />
<br />
The wacom driver actually has the capability to rotate as well. A script has been developed to both rotate the display and the wacom driver:<br />
<br />
http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus<br />
<br />
The last version of the script (for linuxwacom 8.1) appears to work on the x200, in 8.10, after using the other xorg display and wacom modifications above.<br />
<br />
''However'' after a few days I have noticed some instability and odd behaviour with it. If anyone would like to have a look at it, please feel free to post a correction here. <br />
<br />
Once you have copied the script to your local system, you can use the normal key binding facilities in gnome or kde to bind your rotation key to it. <br />
<br />
If anyone has any idea how to receive and act automatically on signals from the sensor inside the x200 tablet's screen hinge, please post it!<br />
<br />
==Fan==<br />
<br />
'''WARNING: USE AT YOUR OWN RISK'''<br />
<br />
Monitor the temperatures of harddisk, gpu and cpu when controlling fan speed.<br />
<br />
Software fan control is dangerous, and can shorten the life of a laptop or even destroy it. For a detailed discussion and warning from the kernel maintainer, see [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html this thread, which happens to be an X200s user asking for help].<br />
<br />
As reported elsewhere, the fan seems to run constantly while the machine is on under 8.04 and 8.10 (though not at 100% speed).<br />
<br />
The fan can be made less noisy by installing the tpfand packages. <br />
<br />
* First add the tpfand repository. Instructions are [http://www.gambitchess.org/mediawiki/index.php/ThinkPad_Fan_Control here]<br />
<br />
* Then install the packages.<br />
<br />
sudo apt-get install tpfand tpfand-admin <br />
<br />
There is currently no tpfand profile for the x200, but you can set the thresholds and power settings for all fans easily with the thinkpad fan control software. Here are the settings from my /etc/tpfand.conf as a starting point. Use the sensors applet to control and monitor temperatures of cpu, gpu and harddisk (see below)!<br />
<br />
#... <br />
0. CPU = 0:0 50:7 <br />
1. Mini PCI = 0:0 55:4 <br />
2. Sensor 2 = 0:255 <br />
3. GPU = 0:0 55:5 <br />
4. Bat0 = 0:0 35:3 <br />
5. Sensor 5 = 0:255 <br />
6. Bat1 = 0:0 35:3 <br />
7. Sensor 7 = 0:255 <br />
8. MB? = 0:0 45:2 <br />
9. MB? = 0:0 55:3 <br />
10. Sensor 10 = 0:255 <br />
11. Sensor 11 = 0:255 <br />
12. Sensor 12 = 0:255 <br />
13. Sensor 13 = 0:255 <br />
14. Sensor 14 = 0:255 <br />
15. Sensor 15 = 0:255 <br />
#...<br />
<br />
These settings achieve the following:<br />
* fan runs at 15% if the system is idle. This is very quiet, while still having airflow through the system<br />
* if MB2>55° or BAT>35°, fan runs at 30%<br />
* if MiniPCI>55° fan 45%<br />
* if GPU>55 fan 60%<br />
* if CPU>50 fan 90%<br />
The net effect is that a busy system will run the fan between 45%-90% depending on load. <br />
<br />
The above settings are for the X200 (without an s) as is all the information on this page. Don't know why somebody messes this page up with stuff about the X200s and sinister warnings. <br />
<br />
(Warnings are cheap. New laptops are not. When you have a '''"sinister warning"''' about tpfand from [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html the maintainer of the thinkpad fan code in the kernel himself], I don't know why this section is even here - it's not safe. Even so I say leave it, but just make sure there is a big warning.)<br />
<br />
The sensor names were deduced by matching sensor readings between tpfand and acpi temperatures.</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_and_Ubuntu_8.10_(Intrepid_Ibex)_on_a_ThinkPad_X200&diff=40233Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X2002008-12-15T02:02:34Z<p>Mitchell: /* Camera */ Not working - open gstreamer bug.</p>
<hr />
<div>==Overview==<br />
<br />
Some items in this page still date from before the 8.10 final release. Please keep a close eye out, and if needed, refer to [http://ubuntuforums.org/showthread.php?p=5897839 this X200 owners' thread] on the Ubuntu forums.<br />
<br />
Started off working w. Ubuntu 8.04 install using the optical drive in the X200 ultrabase. Everything went swimmingly - ethernet worked out of the box as did the optical drive itself.<br />
<br />
Wound up upgrading to the 8.10 beta b/c of wireless troubles. See below.<br />
<br />
'''Reminder:''' [[Pre-Installation steps]]: ''Create Recovery Media''.<br />
<br />
==Ultrabay==<br />
<br />
Handles install without any problem - note: while the machine is in the bay, it forces you to use the ethernet port on the bay.<br />
<br />
<br />
==Ethernet==<br />
<br />
Intel GigE worked out of the box w. 8.04 and 8.10.<br />
<br />
<br />
==Wireless==<br />
<br />
Ah, the wireless.<br />
<br />
run <lshw -C network> and sort out which wireless hardware you're working with.<br />
<br />
===Atheros===<br />
<br />
For Atheros, check out [http://ubuntuforums.org/showthread.php?t=905126 this forum post]<br />
<br />
===Intel 5300===<br />
<br />
====On 8.04====<br />
<br />
For Intel 5300 on 8.04, neither the recommended drivers (iwl5000) nor ndiswrapper did the trick. It's possible that manually-upgrading the kernel to 2.27 would do it.<br />
<br />
====On 8.10====<br />
<br />
With 8.10 the Intel 5300 works out of the box. Running <lshw -C network> again shows that it's the iwlagn driver (pre-loaded with the 2.27 kernel) that does the trick.<br />
<br />
<br />
== Sensors ==<br />
<br />
The gnome sensors applets allow you to monitor all important temperatures, including battery, hdd, cpu and gpu and system fan.<br />
sudo apt-get install sensors-applet hddtemp<br />
<br />
Add the hardware sensor monitor to the panel and then configure it. You will see a lot of datasources.<br />
<br />
* libsensors: temp9 and temp10 seem to be mainboard/Nortbridge or power regulator sensors.<br />
* hddtemp: /dev/sda is the sensor of the harddisk. It is important to keep the harddisk always below 45°, normally under 40°. This is no problem with the X200, the hdd cooling system seems to be very good. <br />
* ibm-acpi: cpu, mPCI, GPU and FAN are intersting sensors.<br />
<br />
==Power Mgmt==<br />
<br />
Not sure what's going on here yet, but the battery claims to have only ~3 hours of life after a full charge.<br />
<br />
The "laptop" mode is by default disabled in ubuntu (for some historical weird hang up, I guess). To enable it, edit the file:<br />
<br />
/etc/default/acpi-support<br />
<br />
Change the following line:<br />
<br />
ENABLE_LAPTOP_MODE=false<br />
<br />
to be:<br />
<br />
ENABLE_LAPTOP_MODE=true<br />
<br />
Then your battery can provide you with some extra time (about half an hour~one hour). You can also enable it through [http://www.lesswatts.org/projects/powertop/ powertop] together with other tweaks. So far no hang is observed.<br />
<br />
==Display==<br />
<br />
With 8.10 things don't work well if you stick with the "preconfigured" xorg.conf settings: the default resolution is only 1074x768 and the highest setting that the laptop display is capable of (1280x800) doesn't even show up in the <em> System -> Preferences -> Screen Resolution </em>applet. To make matters worse, VGA output is a royal pain.<br />
<br />
Here's a step-by-step guide to improve the situation if you just want to get the laptop display working properly:<br />
<br />
* First, make sure you've got the latest drivers for your Intel 4500MHD video card:<br />
<br />
$ sudo apt-get install xserver-xorg-video-intel<br />
<br />
::On current 8.10, this step seems unnecessary. You get intel by default, and by this point in the install, you should have already have updated your packages. [[User:Mitchell|Mitchell]] 01:28, 15 December 2008 (CET)<br />
<br />
* Once that's over and done with, open up your xorg.conf file (note: be careful with this file):<br />
<br />
$ sudo gedit /etc/X11/xorg.conf<br />
<br />
* Make the part that isn't commented out (i.e. that isn't preceded by a #) look like this:<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
# The following line was an auto-configuration added by an external VGA projector; you might leave it out to try<br />
# letting the system detect dimensions appropriate for whatever display you happen to use.<br />
Virtual 2432 864<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
<br />
* Note: those HDMI settings are really important because they get rid of some imaginary monitors (see [[Installing_Debian_on_an_X200 | this other X200 installation notes post]] for more details). Save your new xorg.conf file and quit the Gedit text editor. Also quit any other open programs and log-out from your session to reset the X-server and apply the new settings. <br />
*:On current 8.10, some changes seem unnecessary: Driver (intel is already the default), DefaultDepth (24 is the default), and the Option "monitor-HDMI-x" lines (the "HDMI-x" sections are sufficient to get rid of the imaginary monitor; but I've not yet tried using an external laptop or base monitor). [[User:Mitchell|Mitchell]] 01:28, 15 December 2008 (CET)<br />
<br />
* When you log back in, all the new settings should "just work," but don't be alarmed if things look a little weird or if the screen resolution still isn't the full 1280x800...<br />
:To make sure the xorg.conf changes "stuck" and that the resolution is set properly, open the aforementioned Screen Resolution applet: <em>System -> Preferences -> Screen Resolution</em>. Make sure the the box that says "Mirror Screens" is unchecked and click the "Detect Displays" button. In the little colorful diagram thingy, there should just be a big rectangle that says "laptop 12"" (or whatever portion of those words fits in the rectangle). Click on this "laptop" rectangle to make sure and activate it. Once you've clicked on it, look for the drop-down menu that says the resolution and re-set this to "1280 x 800 (16:10)." If there are other "imaginary" displays activated (there shouldn't be with the HDMI workaround in the xorg.conf file included above) use the same drop-down menu to turn them to "Off." Click "Apply" at the bottom and close the applet. Log out again to activate the new settings. If all goes according to plan, your 12800x800 display should now work like a charm!<br />
<br />
* Once you've got that all sorted out, go ahead and hook the X200 up to an external display via the VGA port (so far, I've only tried it directly from the laptop and not from the ultrabase). Open the Screen Resolution applet again and click "detect displays." Choose a resolution for the external display and decide whether you want a mirrored output or not. Click apply (here the system may prompt you to accept virtual display settings - say yes and confirm by typing your password), close the applet and log-out again to reset X. Once you log in, you should have an external display working perfectly.<br />
<br />
==Suspend and Hibernate==<br />
<br />
There will be conflicting reports and confusion about this, because there is at least one problem causing ''intermittent'' suspend/hibernate crashes. In other words, things may appear to work, and then they may not. <br />
<br />
If you experience a crash while resuming (my guess is that you will, eventually), first attempt the fix described here:<br />
<br />
[[Install_Ubuntu_8.10_(Intrepid_Ibex)_on_an_T400#Suspend.2FHibernate|Workaround on T400]]<br />
<br />
Apparently, this is a mulitprocessor problem, and the workaround to disable one core at Suspend/Hibernate is relatively easy to implement.<br />
<br />
'''Confirmations:'''<br />
<br />
On a up to date 8.10 system (as of Nov 12th: linux-2.6.27-8, video-intel-2.4.1ubuntu10) suspend now seems to work perfectly. Before the above multi-processor workaround, resuming from suspend used to crash about half of the time. Not a single crash has been observed since the workaround. <br />
<br />
Seconded; this appeared to fix it for me as well (12/2/08), on a fully updated 8.10, with no other modifications to stock. <br />
<br />
Additional information about various potential fixes is included below for reference, though I didn't (so far) need to do anything aside from what's described above.<br />
<br />
'''Older workarounds:'''<br />
<br />
Without tweaking drivers and xorg.conf suspending thcrough the Gnome desktop does not work - seems to be related to the problems with the display. Some people have reported no problems with Hibernate, while others...you get the idea. If you're one of those having problems, read on... <br />
<br />
Once you've followed the instructions to get the Intel video card drivers installed (see above) Hibernate (suspend to disk) *should* work and Sleep/Suspend (suspend to RAM) *might* work (there are some conflicting reports out there). If you like, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
If the suspend/sleep <em>still</em> doesn't work, try the following work-around to get the system to recognize the sleep settings.<br />
<br />
First, create a text file called "sleep_module" in the /etc/pm/config.d directory:<br />
<br />
sudo gedit /etc/pm/config.d/sleep_module<br />
<br />
In the new file, enter:<br />
<br />
SLEEP_MODULE=kernel <br />
<br />
Then save this new file and exit your text editor as well as your other apps. Do a reboot and try out your freshly reconfigured suspend funciton. As before, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
Note: Consider using "sudo -e" for editing files.<br />
<br />
'''Update:''' The latest updates to 8.10 (still in beta at the time of this writing) appear to include a sleep_module configuration file that includes this tweak.<br />
<br />
I had lots of problems with both hibernate and suspend. I have disabled lots of (for me at least) unneeded devices in the bios, and now at least hibernat works. My x200 bios configuration is now like this:<br />
<br />
* Network<br />
* wake on lan disabled<br />
* flash over lan disabled<br />
* ethernet lan option rom disabled<br />
* hdd dma enabled<br />
* wireless lan and wimax enabled<br />
* SATA AHCI<br />
* CPU<br />
* multiprocessing enabled<br />
* intel virtualisation enabled<br />
* intel vt-d enabled<br />
* Intel AMT<br />
* AMT Control disabled<br />
* IO Port access<br />
* ethernet enabled<br />
* wlan enabled<br />
* wimax enabled<br />
* wwan enabled<br />
* bluetooth enabled<br />
* wireless usb disabled<br />
* modem disabled<br />
* usb enabled<br />
* expresscard slot disabled<br />
* ultrabay hdd disabled<br />
* memory card disabled<br />
* camera enabled<br />
* microphone enabled<br />
* fingerprint reader disabled<br />
<br />
I left the rest at bios defaults. Of course, you may one some of these devices enabled, but this is a starting point to get hibernate/suspend working and by enabling one after the other you should be able to find the device/s that cause problems.<br />
<br />
Note: with this setup i get 4h30min battery time instead of 3h55min<br />
<br />
===Hibernate fails with Virtualbox running===<br />
<br />
-> http://ubuntuforums.org/showpost.php?p=4582777&postcount=3<br />
<br />
To circumvent this, put this in ~/bin/vbox_suspend:<br />
<br />
#!/bin/bash<br />
for x in `vboxmanage -nologo list runningvms`<br />
do<br />
vboxmanage -nologo controlvm $x savestate<br />
done<br />
<br />
and make it executable. you can test it by running ~/bin/vbox_suspend, which should save all your running virtual machines.<br />
<br />
put the following lines in /etc/pm/sleep.d/90virtualbox and make it executable as well:<br />
<br />
#!/bin/bash<br />
case $1 in<br />
hibernate)<br />
su YOURUSER -c /home/YOURUSER/bin/vbox_suspend<br />
;;<br />
esac<br />
<br />
This is not very elegant (as the user is hard-coded), but it works.<br />
I have tried to make the machines resume on thaw, but it would place the vms on the wrong workspace even if it know which X server to use, which it doesn't.<br />
<br />
==Sound==<br />
<br />
(Mostly) works out of the box under 8.04 and 8.10<br />
<br />
Worth noting the apparent problems w. Skype and Medibuntu on 8.10 - some of this [http://ubuntuforums.org/showthread.php?t=925211 appears to have been resolved] recently and will hopefully make it into the final release. Sound playback within Skype still failing despite the workaround.<br />
<br />
==Camera==<br />
<br />
Works with Cheese Webcam Booth on 8.10. Also with Kopete on 8.10.<br />
* Not for me (re cheese). https://bugs.launchpad.net/ubuntu/+source/gstreamer0.10/+bug/266879 . [[User:Mitchell|Mitchell]] 03:02, 15 December 2008 (CET)<br />
<br />
==VGA==<br />
<br />
"Unclaimed"<br />
[[Category:X200]]<br />
<br />
==Tablet==<br />
<br />
The X200 Tablet uses a wacom device. The instructions for configuring xorg in 8.10 to work with wacom input do seem to work.<br />
<br />
https://help.ubuntu.com/community/WacomTroubleshooting<br />
<br />
Just follow the directions for a SERIAL tablet (which is indeed what you have).<br />
<br />
Here is an xorg.conf that has both the resolution fix and the tablet fixes (tested on 8.10 with an X200 tablet, multitouch - i.e. pen and fingertip - screen):<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "pad"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "pad"<br />
EndSection<br />
<br />
# Uncomment the following section if you you have a TabletPC that upports touch<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "touch"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "touch"<br />
Option "ForceDevice" "ISDV4" # Serial Tablet PC ONLY<br />
# Adding manual calibration, since proper calibration seems impossible.<br />
Option "BottomX" "915"<br />
Option "BottomY" "940"<br />
Option "TopX" "48"<br />
Option "TopY" "90"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "Default Layout"<br />
Screen "Default Screen"<br />
InputDevice "stylus" "SendCoreEvents"<br />
InputDevice "eraser" "SendCoreEvents"<br />
InputDevice "cursor" "SendCoreEvents" # For non-LCD tablets only<br />
InputDevice "pad" # For Intuos3/CintiqV5/Graphire4/Bamboo tablets<br />
InputDevice "touch" "SendCoreEvents" # Only a few TabletPCs support this typeEndSection <br />
EndSection<br />
<br />
You may also want to download the "wacom-tools" package.<br />
<br />
When I started experimenting with this, the touchscreen portion of multitouch was quite miscalibrated, and the distro's wacom-tools package has a bug which seems to prevent calibration of the touchscreen via wacomcpl. In fact, it seems to have a series of bugs, judging based on what I've found in google. My solution was to futilely experiment with various xsetwacom values (as documented [http://linuxwacom.sourceforge.net/index.php/howto/xsetwacom here]) for a few minutes, and then try the values [http://dkukawka.blogspot.com/2008/07/lenovo-thinkpad-x61t-touch-support.html posted by an X61t user]. :) These were close enough to be a starting point. Then I fiddled some more, and the results are included in the xorg.conf above. With luck, these numbers will just work for you, and you won't have any issue. If not, check out the linux wacom documentation and experiment with new calibration values via xsetwacom.<br />
<br />
==TrackPoint==<br />
<br />
Trackpoint scrolling is, as of 12/02/08, not in a good way on 8.10. <br />
<br />
There are numerous instructions on the net which don't work for the X200, including instructions here ([How to configure the TrackPoint]). <br />
<br />
On the X200, the HAL-based instructions in the last section may work, but only until suspend/resume or VT switching, due to a [https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/282387|known bug in evdev].<br />
<br />
I do have it working, but it is not pretty:<br />
<br />
* Create a patched evdev. The following is based on instructions from the bug report. These instructions will be extremely fragile - they work for me today but could stop working at any point, based on updates to evdev or changes to the bug. The lines below do the following:<br />
** Set up a work area<br />
** Download the patch from the bug report<br />
** Prepare your environment for building evdev<br />
** Download the evdev sources<br />
** Patch them<br />
** Produce a new deb<br />
** Install it<br />
<br />
sudo bash<br />
cd /usr/local/src/<br />
mkdir evdev<br />
cd evdev <br />
wget http://launchpadlibrarian.net/19254960/preinit.diff<br />
apt-get build-dep xserver-xorg-input-evdev<br />
apt-get source xserver-xorg-input-evdev<br />
cd xserver-xorg-input-evdev-2.0.99+git20080912<br />
patch -p1 < ../preinit.diff<br />
debian/rules binary<br />
cd ..<br />
dpkg -i xserver-xorg-input-evdev_2.0.99*.deb<br />
<br />
<br />
* Add xinput lines to your .profile; with this patch, the normal HAL method no longer works (though note, I have not tested this with no hal policy for the trackpoint at all, just left the non-working one in place. YMMV). <br />
<br />
# TEMPORARY FIX FOR BROKEN EVDEV/HAL for TrackPoint scrolling:<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation" 8 1<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Button" 8 2<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Y Axis" 8 4 5<br />
<br />
* reboot your system.<br />
<br />
This _should_ enable trackpoint scrolling that will be durable through suspend/resumes. <br />
<br />
At some point they will fix the upstream evdev package, and/or adjust other configs. You may see this suddenly stop working after an update (evdev was updated but this fix wasn't in the update); in which case, re-run the steps above to create an updated patched evdev (hopefully). Or the update may carry an upstream fix; latest word in the bug is that the unstable upstream debian packages work out of the box. In which case you should simply come back and reexamine whether the xinput lines in the .profile are still necessary at a later date, or you can use the more canonical HAL profile to control the trackpoint properties.<br />
<br />
==Rotating the Screen==<br />
<br />
A classic gripe of linux tablet users is that they can rotate the screen but the digitizer does not rotate with it automatically. This can render the portrait "tablet" configuration useless. <br />
<br />
The wacom driver actually has the capability to rotate as well. A script has been developed to both rotate the display and the wacom driver:<br />
<br />
http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus<br />
<br />
The last version of the script (for linuxwacom 8.1) appears to work on the x200, in 8.10, after using the other xorg display and wacom modifications above.<br />
<br />
''However'' after a few days I have noticed some instability and odd behaviour with it. If anyone would like to have a look at it, please feel free to post a correction here. <br />
<br />
Once you have copied the script to your local system, you can use the normal key binding facilities in gnome or kde to bind your rotation key to it. <br />
<br />
If anyone has any idea how to receive and act automatically on signals from the sensor inside the x200 tablet's screen hinge, please post it!<br />
<br />
==Fan==<br />
<br />
'''WARNING: USE AT YOUR OWN RISK'''<br />
<br />
Monitor the temperatures of harddisk, gpu and cpu when controlling fan speed.<br />
<br />
Software fan control is dangerous, and can shorten the life of a laptop or even destroy it. For a detailed discussion and warning from the kernel maintainer, see [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html this thread, which happens to be an X200s user asking for help].<br />
<br />
As reported elsewhere, the fan seems to run constantly while the machine is on under 8.04 and 8.10 (though not at 100% speed).<br />
<br />
The fan can be made less noisy by installing the tpfand packages. <br />
<br />
* First add the tpfand repository. Instructions are [http://www.gambitchess.org/mediawiki/index.php/ThinkPad_Fan_Control here]<br />
<br />
* Then install the packages.<br />
<br />
sudo apt-get install tpfand tpfand-admin <br />
<br />
There is currently no tpfand profile for the x200, but you can set the thresholds and power settings for all fans easily with the thinkpad fan control software. Here are the settings from my /etc/tpfand.conf as a starting point. Use the sensors applet to control and monitor temperatures of cpu, gpu and harddisk (see below)!<br />
<br />
#... <br />
0. CPU = 0:0 50:7 <br />
1. Mini PCI = 0:0 55:4 <br />
2. Sensor 2 = 0:255 <br />
3. GPU = 0:0 55:5 <br />
4. Bat0 = 0:0 35:3 <br />
5. Sensor 5 = 0:255 <br />
6. Bat1 = 0:0 35:3 <br />
7. Sensor 7 = 0:255 <br />
8. MB? = 0:0 45:2 <br />
9. MB? = 0:0 55:3 <br />
10. Sensor 10 = 0:255 <br />
11. Sensor 11 = 0:255 <br />
12. Sensor 12 = 0:255 <br />
13. Sensor 13 = 0:255 <br />
14. Sensor 14 = 0:255 <br />
15. Sensor 15 = 0:255 <br />
#...<br />
<br />
These settings achieve the following:<br />
* fan runs at 15% if the system is idle. This is very quiet, while still having airflow through the system<br />
* if MB2>55° or BAT>35°, fan runs at 30%<br />
* if MiniPCI>55° fan 45%<br />
* if GPU>55 fan 60%<br />
* if CPU>50 fan 90%<br />
The net effect is that a busy system will run the fan between 45%-90% depending on load. <br />
<br />
The above settings are for the X200 (without an s) as is all the information on this page. Don't know why somebody messes this page up with stuff about the X200s and sinister warnings. <br />
<br />
(Warnings are cheap. New laptops are not. When you have a '''"sinister warning"''' about tpfand from [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html the maintainer of the thinkpad fan code in the kernel himself], I don't know why this section is even here - it's not safe. Even so I say leave it, but just make sure there is a big warning.)<br />
<br />
The sensor names were deduced by matching sensor readings between tpfand and acpi temperatures.</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_and_Ubuntu_8.10_(Intrepid_Ibex)_on_a_ThinkPad_X200&diff=40232Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X2002008-12-15T00:28:17Z<p>Mitchell: /* Display */ Some items seemed unnecessary.</p>
<hr />
<div>==Overview==<br />
<br />
Some items in this page still date from before the 8.10 final release. Please keep a close eye out, and if needed, refer to [http://ubuntuforums.org/showthread.php?p=5897839 this X200 owners' thread] on the Ubuntu forums.<br />
<br />
Started off working w. Ubuntu 8.04 install using the optical drive in the X200 ultrabase. Everything went swimmingly - ethernet worked out of the box as did the optical drive itself.<br />
<br />
Wound up upgrading to the 8.10 beta b/c of wireless troubles. See below.<br />
<br />
'''Reminder:''' [[Pre-Installation steps]]: ''Create Recovery Media''.<br />
<br />
==Ultrabay==<br />
<br />
Handles install without any problem - note: while the machine is in the bay, it forces you to use the ethernet port on the bay.<br />
<br />
<br />
==Ethernet==<br />
<br />
Intel GigE worked out of the box w. 8.04 and 8.10.<br />
<br />
<br />
==Wireless==<br />
<br />
Ah, the wireless.<br />
<br />
run <lshw -C network> and sort out which wireless hardware you're working with.<br />
<br />
===Atheros===<br />
<br />
For Atheros, check out [http://ubuntuforums.org/showthread.php?t=905126 this forum post]<br />
<br />
===Intel 5300===<br />
<br />
====On 8.04====<br />
<br />
For Intel 5300 on 8.04, neither the recommended drivers (iwl5000) nor ndiswrapper did the trick. It's possible that manually-upgrading the kernel to 2.27 would do it.<br />
<br />
====On 8.10====<br />
<br />
With 8.10 the Intel 5300 works out of the box. Running <lshw -C network> again shows that it's the iwlagn driver (pre-loaded with the 2.27 kernel) that does the trick.<br />
<br />
<br />
== Sensors ==<br />
<br />
The gnome sensors applets allow you to monitor all important temperatures, including battery, hdd, cpu and gpu and system fan.<br />
sudo apt-get install sensors-applet hddtemp<br />
<br />
Add the hardware sensor monitor to the panel and then configure it. You will see a lot of datasources.<br />
<br />
* libsensors: temp9 and temp10 seem to be mainboard/Nortbridge or power regulator sensors.<br />
* hddtemp: /dev/sda is the sensor of the harddisk. It is important to keep the harddisk always below 45°, normally under 40°. This is no problem with the X200, the hdd cooling system seems to be very good. <br />
* ibm-acpi: cpu, mPCI, GPU and FAN are intersting sensors.<br />
<br />
==Power Mgmt==<br />
<br />
Not sure what's going on here yet, but the battery claims to have only ~3 hours of life after a full charge.<br />
<br />
The "laptop" mode is by default disabled in ubuntu (for some historical weird hang up, I guess). To enable it, edit the file:<br />
<br />
/etc/default/acpi-support<br />
<br />
Change the following line:<br />
<br />
ENABLE_LAPTOP_MODE=false<br />
<br />
to be:<br />
<br />
ENABLE_LAPTOP_MODE=true<br />
<br />
Then your battery can provide you with some extra time (about half an hour~one hour). You can also enable it through [http://www.lesswatts.org/projects/powertop/ powertop] together with other tweaks. So far no hang is observed.<br />
<br />
==Display==<br />
<br />
With 8.10 things don't work well if you stick with the "preconfigured" xorg.conf settings: the default resolution is only 1074x768 and the highest setting that the laptop display is capable of (1280x800) doesn't even show up in the <em> System -> Preferences -> Screen Resolution </em>applet. To make matters worse, VGA output is a royal pain.<br />
<br />
Here's a step-by-step guide to improve the situation if you just want to get the laptop display working properly:<br />
<br />
* First, make sure you've got the latest drivers for your Intel 4500MHD video card:<br />
<br />
$ sudo apt-get install xserver-xorg-video-intel<br />
<br />
::On current 8.10, this step seems unnecessary. You get intel by default, and by this point in the install, you should have already have updated your packages. [[User:Mitchell|Mitchell]] 01:28, 15 December 2008 (CET)<br />
<br />
* Once that's over and done with, open up your xorg.conf file (note: be careful with this file):<br />
<br />
$ sudo gedit /etc/X11/xorg.conf<br />
<br />
* Make the part that isn't commented out (i.e. that isn't preceded by a #) look like this:<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
# The following line was an auto-configuration added by an external VGA projector; you might leave it out to try<br />
# letting the system detect dimensions appropriate for whatever display you happen to use.<br />
Virtual 2432 864<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
<br />
* Note: those HDMI settings are really important because they get rid of some imaginary monitors (see [[Installing_Debian_on_an_X200 | this other X200 installation notes post]] for more details). Save your new xorg.conf file and quit the Gedit text editor. Also quit any other open programs and log-out from your session to reset the X-server and apply the new settings. <br />
*:On current 8.10, some changes seem unnecessary: Driver (intel is already the default), DefaultDepth (24 is the default), and the Option "monitor-HDMI-x" lines (the "HDMI-x" sections are sufficient to get rid of the imaginary monitor; but I've not yet tried using an external laptop or base monitor). [[User:Mitchell|Mitchell]] 01:28, 15 December 2008 (CET)<br />
<br />
* When you log back in, all the new settings should "just work," but don't be alarmed if things look a little weird or if the screen resolution still isn't the full 1280x800...<br />
:To make sure the xorg.conf changes "stuck" and that the resolution is set properly, open the aforementioned Screen Resolution applet: <em>System -> Preferences -> Screen Resolution</em>. Make sure the the box that says "Mirror Screens" is unchecked and click the "Detect Displays" button. In the little colorful diagram thingy, there should just be a big rectangle that says "laptop 12"" (or whatever portion of those words fits in the rectangle). Click on this "laptop" rectangle to make sure and activate it. Once you've clicked on it, look for the drop-down menu that says the resolution and re-set this to "1280 x 800 (16:10)." If there are other "imaginary" displays activated (there shouldn't be with the HDMI workaround in the xorg.conf file included above) use the same drop-down menu to turn them to "Off." Click "Apply" at the bottom and close the applet. Log out again to activate the new settings. If all goes according to plan, your 12800x800 display should now work like a charm!<br />
<br />
* Once you've got that all sorted out, go ahead and hook the X200 up to an external display via the VGA port (so far, I've only tried it directly from the laptop and not from the ultrabase). Open the Screen Resolution applet again and click "detect displays." Choose a resolution for the external display and decide whether you want a mirrored output or not. Click apply (here the system may prompt you to accept virtual display settings - say yes and confirm by typing your password), close the applet and log-out again to reset X. Once you log in, you should have an external display working perfectly.<br />
<br />
==Suspend and Hibernate==<br />
<br />
There will be conflicting reports and confusion about this, because there is at least one problem causing ''intermittent'' suspend/hibernate crashes. In other words, things may appear to work, and then they may not. <br />
<br />
If you experience a crash while resuming (my guess is that you will, eventually), first attempt the fix described here:<br />
<br />
[[Install_Ubuntu_8.10_(Intrepid_Ibex)_on_an_T400#Suspend.2FHibernate|Workaround on T400]]<br />
<br />
Apparently, this is a mulitprocessor problem, and the workaround to disable one core at Suspend/Hibernate is relatively easy to implement.<br />
<br />
'''Confirmations:'''<br />
<br />
On a up to date 8.10 system (as of Nov 12th: linux-2.6.27-8, video-intel-2.4.1ubuntu10) suspend now seems to work perfectly. Before the above multi-processor workaround, resuming from suspend used to crash about half of the time. Not a single crash has been observed since the workaround. <br />
<br />
Seconded; this appeared to fix it for me as well (12/2/08), on a fully updated 8.10, with no other modifications to stock. <br />
<br />
Additional information about various potential fixes is included below for reference, though I didn't (so far) need to do anything aside from what's described above.<br />
<br />
'''Older workarounds:'''<br />
<br />
Without tweaking drivers and xorg.conf suspending thcrough the Gnome desktop does not work - seems to be related to the problems with the display. Some people have reported no problems with Hibernate, while others...you get the idea. If you're one of those having problems, read on... <br />
<br />
Once you've followed the instructions to get the Intel video card drivers installed (see above) Hibernate (suspend to disk) *should* work and Sleep/Suspend (suspend to RAM) *might* work (there are some conflicting reports out there). If you like, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
If the suspend/sleep <em>still</em> doesn't work, try the following work-around to get the system to recognize the sleep settings.<br />
<br />
First, create a text file called "sleep_module" in the /etc/pm/config.d directory:<br />
<br />
sudo gedit /etc/pm/config.d/sleep_module<br />
<br />
In the new file, enter:<br />
<br />
SLEEP_MODULE=kernel <br />
<br />
Then save this new file and exit your text editor as well as your other apps. Do a reboot and try out your freshly reconfigured suspend funciton. As before, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
Note: Consider using "sudo -e" for editing files.<br />
<br />
'''Update:''' The latest updates to 8.10 (still in beta at the time of this writing) appear to include a sleep_module configuration file that includes this tweak.<br />
<br />
I had lots of problems with both hibernate and suspend. I have disabled lots of (for me at least) unneeded devices in the bios, and now at least hibernat works. My x200 bios configuration is now like this:<br />
<br />
* Network<br />
* wake on lan disabled<br />
* flash over lan disabled<br />
* ethernet lan option rom disabled<br />
* hdd dma enabled<br />
* wireless lan and wimax enabled<br />
* SATA AHCI<br />
* CPU<br />
* multiprocessing enabled<br />
* intel virtualisation enabled<br />
* intel vt-d enabled<br />
* Intel AMT<br />
* AMT Control disabled<br />
* IO Port access<br />
* ethernet enabled<br />
* wlan enabled<br />
* wimax enabled<br />
* wwan enabled<br />
* bluetooth enabled<br />
* wireless usb disabled<br />
* modem disabled<br />
* usb enabled<br />
* expresscard slot disabled<br />
* ultrabay hdd disabled<br />
* memory card disabled<br />
* camera enabled<br />
* microphone enabled<br />
* fingerprint reader disabled<br />
<br />
I left the rest at bios defaults. Of course, you may one some of these devices enabled, but this is a starting point to get hibernate/suspend working and by enabling one after the other you should be able to find the device/s that cause problems.<br />
<br />
Note: with this setup i get 4h30min battery time instead of 3h55min<br />
<br />
===Hibernate fails with Virtualbox running===<br />
<br />
-> http://ubuntuforums.org/showpost.php?p=4582777&postcount=3<br />
<br />
To circumvent this, put this in ~/bin/vbox_suspend:<br />
<br />
#!/bin/bash<br />
for x in `vboxmanage -nologo list runningvms`<br />
do<br />
vboxmanage -nologo controlvm $x savestate<br />
done<br />
<br />
and make it executable. you can test it by running ~/bin/vbox_suspend, which should save all your running virtual machines.<br />
<br />
put the following lines in /etc/pm/sleep.d/90virtualbox and make it executable as well:<br />
<br />
#!/bin/bash<br />
case $1 in<br />
hibernate)<br />
su YOURUSER -c /home/YOURUSER/bin/vbox_suspend<br />
;;<br />
esac<br />
<br />
This is not very elegant (as the user is hard-coded), but it works.<br />
I have tried to make the machines resume on thaw, but it would place the vms on the wrong workspace even if it know which X server to use, which it doesn't.<br />
<br />
==Sound==<br />
<br />
(Mostly) works out of the box under 8.04 and 8.10<br />
<br />
Worth noting the apparent problems w. Skype and Medibuntu on 8.10 - some of this [http://ubuntuforums.org/showthread.php?t=925211 appears to have been resolved] recently and will hopefully make it into the final release. Sound playback within Skype still failing despite the workaround.<br />
<br />
==Camera==<br />
<br />
Works with Cheese Webcam Booth on 8.10. Also with Kopete on 8.10.<br />
<br />
==VGA==<br />
<br />
"Unclaimed"<br />
[[Category:X200]]<br />
<br />
==Tablet==<br />
<br />
The X200 Tablet uses a wacom device. The instructions for configuring xorg in 8.10 to work with wacom input do seem to work.<br />
<br />
https://help.ubuntu.com/community/WacomTroubleshooting<br />
<br />
Just follow the directions for a SERIAL tablet (which is indeed what you have).<br />
<br />
Here is an xorg.conf that has both the resolution fix and the tablet fixes (tested on 8.10 with an X200 tablet, multitouch - i.e. pen and fingertip - screen):<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "pad"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "pad"<br />
EndSection<br />
<br />
# Uncomment the following section if you you have a TabletPC that upports touch<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "touch"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "touch"<br />
Option "ForceDevice" "ISDV4" # Serial Tablet PC ONLY<br />
# Adding manual calibration, since proper calibration seems impossible.<br />
Option "BottomX" "915"<br />
Option "BottomY" "940"<br />
Option "TopX" "48"<br />
Option "TopY" "90"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "Default Layout"<br />
Screen "Default Screen"<br />
InputDevice "stylus" "SendCoreEvents"<br />
InputDevice "eraser" "SendCoreEvents"<br />
InputDevice "cursor" "SendCoreEvents" # For non-LCD tablets only<br />
InputDevice "pad" # For Intuos3/CintiqV5/Graphire4/Bamboo tablets<br />
InputDevice "touch" "SendCoreEvents" # Only a few TabletPCs support this typeEndSection <br />
EndSection<br />
<br />
You may also want to download the "wacom-tools" package.<br />
<br />
When I started experimenting with this, the touchscreen portion of multitouch was quite miscalibrated, and the distro's wacom-tools package has a bug which seems to prevent calibration of the touchscreen via wacomcpl. In fact, it seems to have a series of bugs, judging based on what I've found in google. My solution was to futilely experiment with various xsetwacom values (as documented [http://linuxwacom.sourceforge.net/index.php/howto/xsetwacom here]) for a few minutes, and then try the values [http://dkukawka.blogspot.com/2008/07/lenovo-thinkpad-x61t-touch-support.html posted by an X61t user]. :) These were close enough to be a starting point. Then I fiddled some more, and the results are included in the xorg.conf above. With luck, these numbers will just work for you, and you won't have any issue. If not, check out the linux wacom documentation and experiment with new calibration values via xsetwacom.<br />
<br />
==TrackPoint==<br />
<br />
Trackpoint scrolling is, as of 12/02/08, not in a good way on 8.10. <br />
<br />
There are numerous instructions on the net which don't work for the X200, including instructions here ([How to configure the TrackPoint]). <br />
<br />
On the X200, the HAL-based instructions in the last section may work, but only until suspend/resume or VT switching, due to a [https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/282387|known bug in evdev].<br />
<br />
I do have it working, but it is not pretty:<br />
<br />
* Create a patched evdev. The following is based on instructions from the bug report. These instructions will be extremely fragile - they work for me today but could stop working at any point, based on updates to evdev or changes to the bug. The lines below do the following:<br />
** Set up a work area<br />
** Download the patch from the bug report<br />
** Prepare your environment for building evdev<br />
** Download the evdev sources<br />
** Patch them<br />
** Produce a new deb<br />
** Install it<br />
<br />
sudo bash<br />
cd /usr/local/src/<br />
mkdir evdev<br />
cd evdev <br />
wget http://launchpadlibrarian.net/19254960/preinit.diff<br />
apt-get build-dep xserver-xorg-input-evdev<br />
apt-get source xserver-xorg-input-evdev<br />
cd xserver-xorg-input-evdev-2.0.99+git20080912<br />
patch -p1 < ../preinit.diff<br />
debian/rules binary<br />
cd ..<br />
dpkg -i xserver-xorg-input-evdev_2.0.99*.deb<br />
<br />
<br />
* Add xinput lines to your .profile; with this patch, the normal HAL method no longer works (though note, I have not tested this with no hal policy for the trackpoint at all, just left the non-working one in place. YMMV). <br />
<br />
# TEMPORARY FIX FOR BROKEN EVDEV/HAL for TrackPoint scrolling:<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation" 8 1<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Button" 8 2<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Y Axis" 8 4 5<br />
<br />
* reboot your system.<br />
<br />
This _should_ enable trackpoint scrolling that will be durable through suspend/resumes. <br />
<br />
At some point they will fix the upstream evdev package, and/or adjust other configs. You may see this suddenly stop working after an update (evdev was updated but this fix wasn't in the update); in which case, re-run the steps above to create an updated patched evdev (hopefully). Or the update may carry an upstream fix; latest word in the bug is that the unstable upstream debian packages work out of the box. In which case you should simply come back and reexamine whether the xinput lines in the .profile are still necessary at a later date, or you can use the more canonical HAL profile to control the trackpoint properties.<br />
<br />
==Rotating the Screen==<br />
<br />
A classic gripe of linux tablet users is that they can rotate the screen but the digitizer does not rotate with it automatically. This can render the portrait "tablet" configuration useless. <br />
<br />
The wacom driver actually has the capability to rotate as well. A script has been developed to both rotate the display and the wacom driver:<br />
<br />
http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus<br />
<br />
The last version of the script (for linuxwacom 8.1) appears to work on the x200, in 8.10, after using the other xorg display and wacom modifications above.<br />
<br />
''However'' after a few days I have noticed some instability and odd behaviour with it. If anyone would like to have a look at it, please feel free to post a correction here. <br />
<br />
Once you have copied the script to your local system, you can use the normal key binding facilities in gnome or kde to bind your rotation key to it. <br />
<br />
If anyone has any idea how to receive and act automatically on signals from the sensor inside the x200 tablet's screen hinge, please post it!<br />
<br />
==Fan==<br />
<br />
'''WARNING: USE AT YOUR OWN RISK'''<br />
<br />
Monitor the temperatures of harddisk, gpu and cpu when controlling fan speed.<br />
<br />
Software fan control is dangerous, and can shorten the life of a laptop or even destroy it. For a detailed discussion and warning from the kernel maintainer, see [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html this thread, which happens to be an X200s user asking for help].<br />
<br />
As reported elsewhere, the fan seems to run constantly while the machine is on under 8.04 and 8.10 (though not at 100% speed).<br />
<br />
The fan can be made less noisy by installing the tpfand packages. <br />
<br />
* First add the tpfand repository. Instructions are [http://www.gambitchess.org/mediawiki/index.php/ThinkPad_Fan_Control here]<br />
<br />
* Then install the packages.<br />
<br />
sudo apt-get install tpfand tpfand-admin <br />
<br />
There is currently no tpfand profile for the x200, but you can set the thresholds and power settings for all fans easily with the thinkpad fan control software. Here are the settings from my /etc/tpfand.conf as a starting point. Use the sensors applet to control and monitor temperatures of cpu, gpu and harddisk (see below)!<br />
<br />
#... <br />
0. CPU = 0:0 50:7 <br />
1. Mini PCI = 0:0 55:4 <br />
2. Sensor 2 = 0:255 <br />
3. GPU = 0:0 55:5 <br />
4. Bat0 = 0:0 35:3 <br />
5. Sensor 5 = 0:255 <br />
6. Bat1 = 0:0 35:3 <br />
7. Sensor 7 = 0:255 <br />
8. MB? = 0:0 45:2 <br />
9. MB? = 0:0 55:3 <br />
10. Sensor 10 = 0:255 <br />
11. Sensor 11 = 0:255 <br />
12. Sensor 12 = 0:255 <br />
13. Sensor 13 = 0:255 <br />
14. Sensor 14 = 0:255 <br />
15. Sensor 15 = 0:255 <br />
#...<br />
<br />
These settings achieve the following:<br />
* fan runs at 15% if the system is idle. This is very quiet, while still having airflow through the system<br />
* if MB2>55° or BAT>35°, fan runs at 30%<br />
* if MiniPCI>55° fan 45%<br />
* if GPU>55 fan 60%<br />
* if CPU>50 fan 90%<br />
The net effect is that a busy system will run the fan between 45%-90% depending on load. <br />
<br />
The above settings are for the X200 (without an s) as is all the information on this page. Don't know why somebody messes this page up with stuff about the X200s and sinister warnings. <br />
<br />
(Warnings are cheap. New laptops are not. When you have a '''"sinister warning"''' about tpfand from [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html the maintainer of the thinkpad fan code in the kernel himself], I don't know why this section is even here - it's not safe. Even so I say leave it, but just make sure there is a big warning.)<br />
<br />
The sensor names were deduced by matching sensor readings between tpfand and acpi temperatures.</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_and_Ubuntu_8.10_(Intrepid_Ibex)_on_a_ThinkPad_X200&diff=40198Installing Ubuntu 8.04 (Hardy Heron) and Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad X2002008-12-10T20:52:18Z<p>Mitchell: +'Create Recovery Media' reminder to Overview</p>
<hr />
<div>==Overview==<br />
<br />
Some items in this page still date from before the 8.10 final release. Please keep a close eye out, and if needed, refer to [http://ubuntuforums.org/showthread.php?p=5897839 this X200 owners' thread] on the Ubuntu forums.<br />
<br />
Started off working w. Ubuntu 8.04 install using the optical drive in the X200 ultrabase. Everything went swimmingly - ethernet worked out of the box as did the optical drive itself.<br />
<br />
Wound up upgrading to the 8.10 beta b/c of wireless troubles. See below.<br />
<br />
'''Reminder:''' [[Pre-Installation steps]]: ''Create Recovery Media''.<br />
<br />
==Ultrabay==<br />
<br />
Handles install without any problem - note: while the machine is in the bay, it forces you to use the ethernet port on the bay.<br />
<br />
<br />
==Ethernet==<br />
<br />
Intel GigE worked out of the box w. 8.04 and 8.10.<br />
<br />
<br />
==Wireless==<br />
<br />
Ah, the wireless.<br />
<br />
run <lshw -C network> and sort out which wireless hardware you're working with.<br />
<br />
===Atheros===<br />
<br />
For Atheros, check out [http://ubuntuforums.org/showthread.php?t=905126 this forum post]<br />
<br />
===Intel 5300===<br />
<br />
====On 8.04====<br />
<br />
For Intel 5300 on 8.04, neither the recommended drivers (iwl5000) nor ndiswrapper did the trick. It's possible that manually-upgrading the kernel to 2.27 would do it.<br />
<br />
====On 8.10====<br />
<br />
With 8.10 the Intel 5300 works out of the box. Running <lshw -C network> again shows that it's the iwlagn driver (pre-loaded with the 2.27 kernel) that does the trick.<br />
<br />
<br />
== Sensors ==<br />
<br />
The gnome sensors applets allow you to monitor all important temperatures, including battery, hdd, cpu and gpu and system fan.<br />
sudo apt-get install sensors-applet hddtemp<br />
<br />
Add the hardware sensor monitor to the panel and then configure it. You will see a lot of datasources.<br />
<br />
* libsensors: temp9 and temp10 seem to be mainboard/Nortbridge or power regulator sensors.<br />
* hddtemp: /dev/sda is the sensor of the harddisk. It is important to keep the harddisk always below 45°, normally under 40°. This is no problem with the X200, the hdd cooling system seems to be very good. <br />
* ibm-acpi: cpu, mPCI, GPU and FAN are intersting sensors.<br />
<br />
==Power Mgmt==<br />
<br />
Not sure what's going on here yet, but the battery claims to have only ~3 hours of life after a full charge.<br />
<br />
The "laptop" mode is by default disabled in ubuntu (for some historical weird hang up, I guess). To enable it, edit the file:<br />
<br />
/etc/default/acpi-support<br />
<br />
Change the following line:<br />
<br />
ENABLE_LAPTOP_MODE=false<br />
<br />
to be:<br />
<br />
ENABLE_LAPTOP_MODE=true<br />
<br />
Then your battery can provide you with some extra time (about half an hour~one hour). You can also enable it through [http://www.lesswatts.org/projects/powertop/ powertop] together with other tweaks. So far no hang is observed.<br />
<br />
==Display==<br />
<br />
With 8.10 things don't work well if you stick with the "preconfigured" xorg.conf settings: the default resolution is only 1074x768 and the highest setting that the laptop display is capable of (1280x800) doesn't even show up in the <em> System -> Preferences -> Screen Resolution </em>applet. To make matters worse, VGA output is a royal pain.<br />
<br />
Here's a step-by-step guide to improve the situation if you just want to get the laptop display working properly:<br />
<br />
* First, make sure you've got the latest drivers for your Intel 4500MHD video card:<br />
<br />
$ sudo apt-get install xserver-xorg-video-intel<br />
<br />
* Once that's over and done with, open up your xorg.conf file (note: be careful with this file):<br />
<br />
$ sudo gedit /etc/X11/xorg.conf<br />
<br />
* Make the part that isn't commented out (i.e. that isn't preceded by a #) look like this:<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
# The following line was an auto-configuration added by an external VGA projector; you might leave it out to try<br />
# letting the system detect dimensions appropriate for whatever display you happen to use.<br />
Virtual 2432 864<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
<br />
* Note: those HDMI settings are really important because they get rid of some imaginary monitors (see [[Installing_Debian_on_an_X200 | this other X200 installation notes post]] for more details). Save your new xorg.conf file and quit the Gedit text editor. Also quit any other open programs and log-out from your session to reset the X-server and apply the new settings. <br />
<br />
* When you log back in, all the new settings should "just work," but don't be alarmed if things look a little weird or if the screen resolution still isn't the full 1280x800...<br />
:To make sure the xorg.conf changes "stuck" and that the resolution is set properly, open the aforementioned Screen Resolution applet: <em>System -> Preferences -> Screen Resolution</em>. Make sure the the box that says "Mirror Screens" is unchecked and click the "Detect Displays" button. In the little colorful diagram thingy, there should just be a big rectangle that says "laptop 12"" (or whatever portion of those words fits in the rectangle). Click on this "laptop" rectangle to make sure and activate it. Once you've clicked on it, look for the drop-down menu that says the resolution and re-set this to "1280 x 800 (16:10)." If there are other "imaginary" displays activated (there shouldn't be with the HDMI workaround in the xorg.conf file included above) use the same drop-down menu to turn them to "Off." Click "Apply" at the bottom and close the applet. Log out again to activate the new settings. If all goes according to plan, your 12800x800 display should now work like a charm!<br />
<br />
* Once you've got that all sorted out, go ahead and hook the X200 up to an external display via the VGA port (so far, I've only tried it directly from the laptop and not from the ultrabase). Open the Screen Resolution applet again and click "detect displays." Choose a resolution for the external display and decide whether you want a mirrored output or not. Click apply (here the system may prompt you to accept virtual display settings - say yes and confirm by typing your password), close the applet and log-out again to reset X. Once you log in, you should have an external display working perfectly.<br />
<br />
==Suspend and Hibernate==<br />
<br />
There will be conflicting reports and confusion about this, because there is at least one problem causing ''intermittent'' suspend/hibernate crashes. In other words, things may appear to work, and then they may not. <br />
<br />
If you experience a crash while resuming (my guess is that you will, eventually), first attempt the fix described here:<br />
<br />
[[Install_Ubuntu_8.10_(Intrepid_Ibex)_on_an_T400#Suspend.2FHibernate|Workaround on T400]]<br />
<br />
Apparently, this is a mulitprocessor problem, and the workaround to disable one core at Suspend/Hibernate is relatively easy to implement.<br />
<br />
'''Confirmations:'''<br />
<br />
On a up to date 8.10 system (as of Nov 12th: linux-2.6.27-8, video-intel-2.4.1ubuntu10) suspend now seems to work perfectly. Before the above multi-processor workaround, resuming from suspend used to crash about half of the time. Not a single crash has been observed since the workaround. <br />
<br />
Seconded; this appeared to fix it for me as well (12/2/08), on a fully updated 8.10, with no other modifications to stock. <br />
<br />
Additional information about various potential fixes is included below for reference, though I didn't (so far) need to do anything aside from what's described above.<br />
<br />
'''Older workarounds:'''<br />
<br />
Without tweaking drivers and xorg.conf suspending thcrough the Gnome desktop does not work - seems to be related to the problems with the display. Some people have reported no problems with Hibernate, while others...you get the idea. If you're one of those having problems, read on... <br />
<br />
Once you've followed the instructions to get the Intel video card drivers installed (see above) Hibernate (suspend to disk) *should* work and Sleep/Suspend (suspend to RAM) *might* work (there are some conflicting reports out there). If you like, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
If the suspend/sleep <em>still</em> doesn't work, try the following work-around to get the system to recognize the sleep settings.<br />
<br />
First, create a text file called "sleep_module" in the /etc/pm/config.d directory:<br />
<br />
sudo gedit /etc/pm/config.d/sleep_module<br />
<br />
In the new file, enter:<br />
<br />
SLEEP_MODULE=kernel <br />
<br />
Then save this new file and exit your text editor as well as your other apps. Do a reboot and try out your freshly reconfigured suspend funciton. As before, you can examine/tweak the settings in <em> system -> preferences -> power management</em>.<br />
<br />
Note: Consider using "sudo -e" for editing files.<br />
<br />
'''Update:''' The latest updates to 8.10 (still in beta at the time of this writing) appear to include a sleep_module configuration file that includes this tweak.<br />
<br />
I had lots of problems with both hibernate and suspend. I have disabled lots of (for me at least) unneeded devices in the bios, and now at least hibernat works. My x200 bios configuration is now like this:<br />
<br />
* Network<br />
* wake on lan disabled<br />
* flash over lan disabled<br />
* ethernet lan option rom disabled<br />
* hdd dma enabled<br />
* wireless lan and wimax enabled<br />
* SATA AHCI<br />
* CPU<br />
* multiprocessing enabled<br />
* intel virtualisation enabled<br />
* intel vt-d enabled<br />
* Intel AMT<br />
* AMT Control disabled<br />
* IO Port access<br />
* ethernet enabled<br />
* wlan enabled<br />
* wimax enabled<br />
* wwan enabled<br />
* bluetooth enabled<br />
* wireless usb disabled<br />
* modem disabled<br />
* usb enabled<br />
* expresscard slot disabled<br />
* ultrabay hdd disabled<br />
* memory card disabled<br />
* camera enabled<br />
* microphone enabled<br />
* fingerprint reader disabled<br />
<br />
I left the rest at bios defaults. Of course, you may one some of these devices enabled, but this is a starting point to get hibernate/suspend working and by enabling one after the other you should be able to find the device/s that cause problems.<br />
<br />
Note: with this setup i get 4h30min battery time instead of 3h55min<br />
<br />
===Hibernate fails with Virtualbox running===<br />
<br />
-> http://ubuntuforums.org/showpost.php?p=4582777&postcount=3<br />
<br />
To circumvent this, put this in ~/bin/vbox_suspend:<br />
<br />
#!/bin/bash<br />
for x in `vboxmanage -nologo list runningvms`<br />
do<br />
vboxmanage -nologo controlvm $x savestate<br />
done<br />
<br />
and make it executable. you can test it by running ~/bin/vbox_suspend, which should save all your running virtual machines.<br />
<br />
put the following lines in /etc/pm/sleep.d/90virtualbox and make it executable as well:<br />
<br />
#!/bin/bash<br />
case $1 in<br />
hibernate)<br />
su YOURUSER -c /home/YOURUSER/bin/vbox_suspend<br />
;;<br />
esac<br />
<br />
This is not very elegant (as the user is hard-coded), but it works.<br />
I have tried to make the machines resume on thaw, but it would place the vms on the wrong workspace even if it know which X server to use, which it doesn't.<br />
<br />
==Sound==<br />
<br />
(Mostly) works out of the box under 8.04 and 8.10<br />
<br />
Worth noting the apparent problems w. Skype and Medibuntu on 8.10 - some of this [http://ubuntuforums.org/showthread.php?t=925211 appears to have been resolved] recently and will hopefully make it into the final release. Sound playback within Skype still failing despite the workaround.<br />
<br />
==Camera==<br />
<br />
Works with Cheese Webcam Booth on 8.10. Also with Kopete on 8.10.<br />
<br />
==VGA==<br />
<br />
"Unclaimed"<br />
[[Category:X200]]<br />
<br />
==Tablet==<br />
<br />
The X200 Tablet uses a wacom device. The instructions for configuring xorg in 8.10 to work with wacom input do seem to work.<br />
<br />
https://help.ubuntu.com/community/WacomTroubleshooting<br />
<br />
Just follow the directions for a SERIAL tablet (which is indeed what you have).<br />
<br />
Here is an xorg.conf that has both the resolution fix and the tablet fixes (tested on 8.10 with an X200 tablet, multitouch - i.e. pen and fingertip - screen):<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "stylus"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "stylus"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "eraser"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "eraser"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "cursor"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "cursor"<br />
Option "ForceDevice" "ISDV4" # Tablet PC ONLY<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "pad"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "pad"<br />
EndSection<br />
<br />
# Uncomment the following section if you you have a TabletPC that upports touch<br />
Section "InputDevice"<br />
Driver "wacom"<br />
Identifier "touch"<br />
Option "Device" "/dev/ttyS0" # SERIAL ONLY<br />
Option "Type" "touch"<br />
Option "ForceDevice" "ISDV4" # Serial Tablet PC ONLY<br />
# Adding manual calibration, since proper calibration seems impossible.<br />
Option "BottomX" "915"<br />
Option "BottomY" "940"<br />
Option "TopX" "48"<br />
Option "TopY" "90"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-1"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "HDMI-2"<br />
Option "Ignore" "True"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Modes "1280x800" "1024x768"<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
Driver "intel"<br />
Option "monitor-HDMI-1" "HDMI-1"<br />
Option "monitor-HDMI-2" "HDMI-2"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "Default Layout"<br />
Screen "Default Screen"<br />
InputDevice "stylus" "SendCoreEvents"<br />
InputDevice "eraser" "SendCoreEvents"<br />
InputDevice "cursor" "SendCoreEvents" # For non-LCD tablets only<br />
InputDevice "pad" # For Intuos3/CintiqV5/Graphire4/Bamboo tablets<br />
InputDevice "touch" "SendCoreEvents" # Only a few TabletPCs support this typeEndSection <br />
EndSection<br />
<br />
You may also want to download the "wacom-tools" package.<br />
<br />
When I started experimenting with this, the touchscreen portion of multitouch was quite miscalibrated, and the distro's wacom-tools package has a bug which seems to prevent calibration of the touchscreen via wacomcpl. In fact, it seems to have a series of bugs, judging based on what I've found in google. My solution was to futilely experiment with various xsetwacom values (as documented [http://linuxwacom.sourceforge.net/index.php/howto/xsetwacom here]) for a few minutes, and then try the values [http://dkukawka.blogspot.com/2008/07/lenovo-thinkpad-x61t-touch-support.html posted by an X61t user]. :) These were close enough to be a starting point. Then I fiddled some more, and the results are included in the xorg.conf above. With luck, these numbers will just work for you, and you won't have any issue. If not, check out the linux wacom documentation and experiment with new calibration values via xsetwacom.<br />
<br />
==TrackPoint==<br />
<br />
Trackpoint scrolling is, as of 12/02/08, not in a good way on 8.10. <br />
<br />
There are numerous instructions on the net which don't work for the X200, including instructions here ([How to configure the TrackPoint]). <br />
<br />
On the X200, the HAL-based instructions in the last section may work, but only until suspend/resume or VT switching, due to a [https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/282387|known bug in evdev].<br />
<br />
I do have it working, but it is not pretty:<br />
<br />
* Create a patched evdev. The following is based on instructions from the bug report. These instructions will be extremely fragile - they work for me today but could stop working at any point, based on updates to evdev or changes to the bug. The lines below do the following:<br />
** Set up a work area<br />
** Download the patch from the bug report<br />
** Prepare your environment for building evdev<br />
** Download the evdev sources<br />
** Patch them<br />
** Produce a new deb<br />
** Install it<br />
<br />
sudo bash<br />
cd /usr/local/src/<br />
mkdir evdev<br />
cd evdev <br />
wget http://launchpadlibrarian.net/19254960/preinit.diff<br />
apt-get build-dep xserver-xorg-input-evdev<br />
apt-get source xserver-xorg-input-evdev<br />
cd xserver-xorg-input-evdev-2.0.99+git20080912<br />
patch -p1 < ../preinit.diff<br />
debian/rules binary<br />
cd ..<br />
dpkg -i xserver-xorg-input-evdev_2.0.99*.deb<br />
<br />
<br />
* Add xinput lines to your .profile; with this patch, the normal HAL method no longer works (though note, I have not tested this with no hal policy for the trackpoint at all, just left the non-working one in place. YMMV). <br />
<br />
# TEMPORARY FIX FOR BROKEN EVDEV/HAL for TrackPoint scrolling:<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation" 8 1<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Button" 8 2<br />
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Wheel Emulation Y Axis" 8 4 5<br />
<br />
* reboot your system.<br />
<br />
This _should_ enable trackpoint scrolling that will be durable through suspend/resumes. <br />
<br />
At some point they will fix the upstream evdev package, and/or adjust other configs. You may see this suddenly stop working after an update (evdev was updated but this fix wasn't in the update); in which case, re-run the steps above to create an updated patched evdev (hopefully). Or the update may carry an upstream fix; latest word in the bug is that the unstable upstream debian packages work out of the box. In which case you should simply come back and reexamine whether the xinput lines in the .profile are still necessary at a later date, or you can use the more canonical HAL profile to control the trackpoint properties.<br />
<br />
==Rotating the Screen==<br />
<br />
A classic gripe of linux tablet users is that they can rotate the screen but the digitizer does not rotate with it automatically. This can render the portrait "tablet" configuration useless. <br />
<br />
The wacom driver actually has the capability to rotate as well. A script has been developed to both rotate the display and the wacom driver:<br />
<br />
http://www.thinkwiki.org/wiki/Wacom_Serial_Tablet_PC_Stylus<br />
<br />
The last version of the script (for linuxwacom 8.1) appears to work on the x200, in 8.10, after using the other xorg display and wacom modifications above.<br />
<br />
''However'' after a few days I have noticed some instability and odd behaviour with it. If anyone would like to have a look at it, please feel free to post a correction here. <br />
<br />
Once you have copied the script to your local system, you can use the normal key binding facilities in gnome or kde to bind your rotation key to it. <br />
<br />
If anyone has any idea how to receive and act automatically on signals from the sensor inside the x200 tablet's screen hinge, please post it!<br />
<br />
==Fan==<br />
<br />
'''WARNING: USE AT YOUR OWN RISK'''<br />
<br />
Monitor the temperatures of harddisk, gpu and cpu when controlling fan speed.<br />
<br />
Software fan control is dangerous, and can shorten the life of a laptop or even destroy it. For a detailed discussion and warning from the kernel maintainer, see [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html this thread, which happens to be an X200s user asking for help].<br />
<br />
As reported elsewhere, the fan seems to run constantly while the machine is on under 8.04 and 8.10 (though not at 100% speed).<br />
<br />
The fan can be made less noisy by installing the tpfand packages. <br />
<br />
* First add the tpfand repository. Instructions are [http://www.gambitchess.org/mediawiki/index.php/ThinkPad_Fan_Control here]<br />
<br />
* Then install the packages.<br />
<br />
sudo apt-get install tpfand tpfand-admin <br />
<br />
There is currently no tpfand profile for the x200, but you can set the thresholds and power settings for all fans easily with the thinkpad fan control software. Here are the settings from my /etc/tpfand.conf as a starting point. Use the sensors applet to control and monitor temperatures of cpu, gpu and harddisk (see below)!<br />
<br />
#... <br />
0. CPU = 0:0 50:7 <br />
1. Mini PCI = 0:0 55:4 <br />
2. Sensor 2 = 0:255 <br />
3. GPU = 0:0 55:5 <br />
4. Bat0 = 0:0 35:3 <br />
5. Sensor 5 = 0:255 <br />
6. Bat1 = 0:0 35:3 <br />
7. Sensor 7 = 0:255 <br />
8. MB? = 0:0 45:2 <br />
9. MB? = 0:0 55:3 <br />
10. Sensor 10 = 0:255 <br />
11. Sensor 11 = 0:255 <br />
12. Sensor 12 = 0:255 <br />
13. Sensor 13 = 0:255 <br />
14. Sensor 14 = 0:255 <br />
15. Sensor 15 = 0:255 <br />
#...<br />
<br />
These settings achieve the following:<br />
* fan runs at 15% if the system is idle. This is very quiet, while still having airflow through the system<br />
* if MB2>55° or BAT>35°, fan runs at 30%<br />
* if MiniPCI>55° fan 45%<br />
* if GPU>55 fan 60%<br />
* if CPU>50 fan 90%<br />
The net effect is that a busy system will run the fan between 45%-90% depending on load. <br />
<br />
The above settings are for the X200 (without an s) as is all the information on this page. Don't know why somebody messes this page up with stuff about the X200s and sinister warnings. <br />
<br />
(Warnings are cheap. New laptops are not. When you have a '''"sinister warning"''' about tpfand from [http://www.nabble.com/tpfand-configuration-for-an-X200s-td20777095.html the maintainer of the thinkpad fan code in the kernel himself], I don't know why this section is even here - it's not safe. Even so I say leave it, but just make sure there is a big warning.)<br />
<br />
The sensor names were deduced by matching sensor readings between tpfand and acpi temperatures.</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&diff=40195How to configure the TrackPoint2008-12-10T15:58:11Z<p>Mitchell: A first attempt to separate historical artifacts from current information. The old config details need to be checked and pulled to the top.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |The [[Patch to enable advanced trackpoint configuration|kernel trackpoint driver]] is controlled by echoing values to special files. Common configuration options are outlined below.<br />
{{NOTE|<br />
*'''With kernels 2.6.19 (Feb 2007) and later, config files for this driver are located in <tt>/sys/devices/platform/i8042/serio1</tt>.'''<br />
*With kernels 2.6.13 (inclusive) to 2.6.19 (exclusive) config files for this driver are located in <tt>/sys/devices/platform/i8042/serio0/serio2</tt>.<br />
*With kernels 2.6.11 (inclusive) to 2.6.13 (exclusive) config files for this driver are located in <tt>/sys/devices/platform/i8042/serio0</tt>.<br />
*With kernels 2.6.9 (inclusive) to 2.6.11 (exclusive) config files for this driver are located in <tt>/proc/trackpoint</tt>.<br />
*Prior to kernel 2.6.9, configuration was not done through files but through command-line options to the psmouse module. (Note this means you must compile psmouse as a module!) See http://stephen.evanchik.com/node/16.<br />
}}<br />
|}<br />
<br />
='''2009'''=<br />
<br />
'''See [[TrackPoint]].'''<br />
<br />
==TrackPoint under Xorg-7.4+ using HAL==<br />
<br />
Because Xorg 7.4 uses HAL FDI policy files instead of xorg.conf for device configuration, you must do the following to get the scrolling working:<br />
(see: http://forum.ubuntuusers.de/topic/mouse-wheel-emulation-in-xorg.conf/?highlight=hal+trackpoint#post-1558282 )<br />
<br />
Create the file '''/etc/hal/fdi/policy/mouse-wheel.fdi''' as root with the following content:<br />
<br />
<pre><br />
<match key="info.product" string="TPPS/2 IBM TrackPoint"><br />
<merge key="input.x11_options.EmulateWheel" type="string">true</merge><br />
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge><br />
<merge key="input.x11_options.YAxisMapping" type="string">4 5</merge><br />
<merge key="input.x11_options.XAxisMapping" type="string">6 7</merge><br />
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge><br />
<merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge><br />
</match><br />
</pre><br />
<br />
In Fedora 10, this fix also works, and with '''lshal''' you can see that the changes do indeed take effect. However, you will need to update the evdev drivers ('''yum --enablerepo=rawhide update xorg-x11-drv-evdev''') before X will use these settings correctly. I'm still not sure what the problem is with the drivers in vanilla Fedora 10, but with version 2.1.0 of these drivers, I have full functionality.<br />
<br />
Note: You must restart both hal and X to see these changes, so it's probably easiest to just reboot.<br />
<br />
Confirmed to work in Gentoo as well. You MUST upgrade to x11-drivers/xf86-input-evdev-2.1.0. As of today (12/8/08), this package is only found in the x11 overlay. <br />
<br />
https://wiki.ubuntu.com/X/Config<br />
<br />
Note: After setting this up, scrolling seems to fail once in a while after resuming from suspend. Re-suspending and then re-resuming causes it to work again. I don't know why this might be.<br />
<br />
<br />
='''2008 and before'''=<br />
<br />
==General Configuration==<br />
The configuration options are reflected by the files you can find in {{path|/sys/devices/platform/i8042/serio0/serio2}}. See the [[Patch to enable advanced trackpoint configuration|TrackPoint driver page]] for a complete list.<br />
Configuration is done by echoing the appropriate values into these special files.<br />
<br />
If you want to set the sysfs parameters at boot, you can use the [http://linux-diag.sourceforge.net/Sysfsutils.html sysfsutils] and put the preferred value in /etc/sysfs.conf.<br />
<br />
==Most common Features==<br />
The most common settings are '''Press to Select''', '''sensitivity''', '''speed''' and '''scrolling'''.<br />
<br />
===Press to Select===<br />
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):<br />
<br />
:{{cmdroot|echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/press_to_select}}<br />
<br />
Press to Select should now be enabled. You can disable it in a similar manner:<br />
<br />
:{{cmdroot|echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/press_to_select}}<br />
<br />
You can use this script to automate the operation<br />
<br />
#!/bin/bash<br />
if [ "$1" = "1" ]; then<br />
echo "Turning on tap on TrackPoint"<br />
echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
exit 0<br />
fi<br />
if [ "$1" = "0" ]; then<br />
echo "Turning off tap on TrackPoint"<br />
echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
exit 0<br />
fi<br />
echo -n "Tap status: "<br />
cat /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
<br />
===Sensitivity & Speed===<br />
Adjusting the speed and sensitivity of the TrackPoint requires echoing a value between 0 and 255 into the appropriate file. For example, for a speed of 120 and a sensitivity of 250, type the following into a terminal:<br />
<br />
:{{cmdroot|echo -n 120 > /sys/devices/platform/i8042/serio0/serio2/speed}}<br />
:{{cmdroot|echo -n 250 > /sys/devices/platform/i8042/serio0/serio2/sensitivity}}<br />
<br />
Feel free to experiment with your settings until you find a combination that is comfortable.<br />
<br />
When you satisfy your setting, add the two lines into /etc/rc.d/rc.local in order to avoid restoring the default setting every time the system reboots.<br />
<br />
===Scrolling===<br />
====Using a kernel prior to 2.6.11====<br />
The scrolling action is essentially the same as is used in the TrackPoint Windows drivers. To enable this feature, type the following in to a terminal (you may need to be root): <br />
<br />
:{{cmdroot|echo -n 1 > /proc/trackpoint/scroll}}<br />
<br />
Then press the middle button and push the stick up and down to scroll. Similarly, to disable scrolling:<br />
<br />
:{{cmdroot|echo -n 0 > /proc/trackpoint/scroll}}<br />
<br />
====Using the X server (kernel 2.6.11+)====<br />
The scroll setting has been removed from the trackpoint driver in kernel versions 2.6.11 and above. Scroll emulation should now be handled in the X server.<br />
<br />
A nice side effect of that is, that middle button scrolling applies to any mouse and not just the TrackPoint interface, which can be a quite handy feature for desktop computers or people who prefer to use an external mouse, especially when scrolling through long lists or needing to use horizontal scrolling with a mouse which has only a vertical scroll wheel.<br />
<br />
The necessary functionality, known as "EmulateWheelTimeout" allowing to use button 2 for a middle click, wasn't implemented in Xorg prior to 6.9/7.0. However, there was a patch included in most distributions packages of Xorg, which was announced [http://www.mail-archive.com/devel@xfree86.org/msg03333.html here]. You can find an updated version of the package in the experimental branch of {{Debian}} or try to build the mouse driver yourself with the information in the announcement. This has successfully been tried with FC3's 6.8.2 packages.<br />
<br />
Once this functionality is in the X.org, add these lines to your TrackPoint configuration section in {{path|/etc/X11/xorg.conf}}:<br />
<br />
Option "EmulateWheel" "on"<br />
Option "EmulateWheelButton" "2"<br />
<br />
It may also be necessary to add these lines:<br />
<br />
Option "YAxisMapping" "4 5"<br />
Option "XAxisMapping" "6 7"<br />
<br />
which specify which buttons are mapped to motion in the vertical (Y) and horizontal (X) directions, respectively, in wheel emulation mode (see http://www.xfree86.org/current/mouse.4.html).<br />
<br />
{{HINT| Use the program "xev" to see, what mouse button identifiers are sent by your mouse/touchpad/trackpoint.<br />You might want to try: "xev &#124; grep button"}}<br />
{{HINT| If it does not work see if evdev is installed and remove it. On gentoo do the following:<br /><br />
eix xf86-input-evdev<br /><br />
emerge -C xf86-input-evdev<br /><br />
and then remove the evdev flag in make.conf INPUT_DEVICES}}<br />
<br />
So, a complete mouse section, that implements this nicely and works very well on my R51, even with a simultaneously connected USB mouse, looks like that (tried out today, 20th of September, 2006 on Dapper):<br />
<br />
Section "InputDevice"<br />
Identifier "Configured Mouse"<br />
Driver "mouse"<br />
Option "CorePointer"<br />
Option "Device" "/dev/input/mice"<br />
Option "Protocol" "ExplorerPS/2"<br />
Option "Emulate3Buttons" "on"<br />
Option "Emulate3TimeOut" "50"<br />
Option "EmulateWheel" "on"<br />
Option "EmulateWheelTimeOut" "200"<br />
Option "EmulateWheelButton" "2"<br />
Option "YAxisMapping" "4 5"<br />
Option "XAxisMapping" "6 7"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
The mappings for Y and Z are the same, since the "Z-Axis" refers to actual hardware scrolling wheels which usually scroll the screen along the Y-Axis. If there is no hardware scrolling wheel present, horizontal and vertical scrolling using the TrackPoint work fine without the Z-Axis line.<br />
<br />
Now restart X and hold down button 2 and move the mouse to scroll, or just press and release button 2 for a middle click.<br />
<br />
To make this work with the synaptics driver for the touchpad, you can add<br />
Option "GuestMouseOff" "1"<br />
to the synaptics device section. This will make the synaptics driver ignore the Trackpoint, so it will be handled by the mouse driver. This allowed me to disable the touchpad while making the TrackPoint work like it should.<br />
<br />
{{NOTE| With the above mouse section in my xorg.conf all this works like a charm: <br />
*I can press the wheel on my external USB mouse and move the mouse up and down for scrolling<br />
*or I can just use the wheel on the external mouse for scrolling<br />
*or pressing the MMB button of the trackpoint and use the trackpoint for scrolling.<br />
*Even horizontal scrolling works automagically in Konqueror, for Firefox/Opera see below.<br />
<br />
Simultaneously I can use <br />
*a press on the external mouse's wheel <br />
*or the MMB of the trackpoint<br />
<br />
for pasting the buffer. Lovely! :) }}<br />
<br />
{{HINT| If you don't use the middle-mouse-button for pasting and sometimes pasting things by mistake while scrolling (witch is really odd) simply set the "EmulateWheelTimeOut" to "1" as a (bloody) workaround. Middle click will only possible with pressing left and right button simultaneously!}}<br />
<br />
<br />
===== EmulateWheelTimeout temporarily broken (-> fix for Ubuntu Dapper) ===== <br />
<br />
Unfortunately, there was a regression so that EmulateWheelTimeout was broken in X.org 6.9.0, and fixed<br />
on March 20th, 2006. <br />
You can see the [https://bugs.freedesktop.org/show_bug.cgi?id=5071 primary bug report] here, and also reports on the [http://qa.mandriva.com/show_bug.cgi?id=21196 Mandriva] and [http://lists.debian.org/debian-x/2006/01/msg00249.html Debian] ([http://bugs.debian.org/346098 #346098], [http://bugs.debian.org/320136 #320136]) packages.<br />
<br />
Unfortunately, this bug is still present in Ubuntu Dapper Drake's xserver-xorg-input-mouse package (version 1.0.3.1+cvs.20060109-0ubuntu1)!<br />
<br />
{{HINT|xserver-xorg-input-mouse (version 1.0.3.1+cvs.20060109-0ubuntu1.1) is in dapper-updates since July 3rd, 2006. You don't need to patch it anymore.}}<br />
<br />
Use the following procedure to make it (middle button scrolling & middle button pasting) work:<br />
<br />
:{{cmduser|cd /desired/path && mkdir tmp && cd tmp}} (create temporary directory somewhere)<br />
:{{cmduser|sudo nano /etc/apt/sources.list}} (insert/uncomment the deb-src lines, save and exit)<br />
:{{cmduser|sudo apt-get update}}<br />
:{{cmduser|apt-get source xserver-xorg-input-mice}} (in order to get the source code)<br />
:{{cmduser|sudo aptitude install xserver-xorg-dev}} (this package and the packages it depends on are needed in order to compile the source code, use aptitude for easy removal later on)<br />
:{{cmduser|cd xserver-xorg-input-mouse-1.0.3.1+cvs.20060109/}}<br />
:{{cmduser|wget http://librarian.launchpad.net/2639933/xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (downloads the patch that fixes the bug)<br />
:{{cmduser|patch -p1 < xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (applies the bug fix)<br />
:{{cmduser|fakeroot dpkg-buildpackage}} (rebuilds the package... watch out for errors and install other missing packages)<br />
:{{cmduser|sudo dpkg -i ../xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2_i386.deb}} (installs the rebuilt built package)<br />
:{{cmduser|sudo aptitude remove xserver-xorg-dev}} (removes the packages needed to rebuild the package)<br />
<br />
Hope it works for you, it did work for me!<br />
CrypTom<br />
<br />
===== Older versions of X.org =====<br />
<br />
For older versions of Xorg or for Xfree86 ({{path|/etc/X11/XF86Config}}) try this:<br />
<br />
Option "Emulate3Buttons" "true"<br />
Option "EmulateWheel" "true"<br />
Option "EmulateWheelButton" "2"<br />
<br />
Now restart X and hold down button two and move the mouse for scrolling. To get a middle click, press buttons 1 and 3 simultaneously.<br />
<br />
==Soft Transparent Mode==<br />
If you wish to connect a special device to the external PS/2 port, you should consider using "Soft Transparent Mode" so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:<br />
<br />
:{{cmdroot|echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/transparent}}<br />
<br />
Disabling soft transparent mode is similar:<br />
<br />
:{{cmdroot|echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/transparent}}<br />
<br />
==Modify trackpoint parameter permanently in trackpoint.h==<br />
If you do not want to run a script to reconfigure the trackpoint<br />
you can change the default settings in the trackpoint header file that is located in<br />
/usr/src/<KERNEL_VERSION>/drivers/input/mouse/trackpoint.h.<br />
<br />
First you must convert the values (decimal numbers) you normaly echo to /sys/[...] to hex:<br />
<br />
'''echo -e 'obase=16;<DECIMAL_NUMBER>' | bc'''<br />
<br />
Then simply replace the default hex values in trackpoint.h, run 'make && make modules_install' to recompile and install psmouse.ko (should be compiled as module)<br />
<br />
<br />
Example patch (speed=100, sensitivity=190, press_to_select=1):<br />
<pre><br />
--- trackpoint.h.orig 2006-01-17 16:18:30.000000000 +0100<br />
+++ trackpoint.h 2006-01-17 16:25:47.000000000 +0100<br />
@@ -108,9 +108,9 @@<br />
/*<br />
* Default power on values<br />
*/<br />
-#define TP_DEF_SENS 0x80<br />
+#define TP_DEF_SENS 0xBE<br />
#define TP_DEF_INERTIA 0x06<br />
-#define TP_DEF_SPEED 0x61<br />
+#define TP_DEF_SPEED 0x64<br />
#define TP_DEF_REACH 0x0A<br />
<br />
#define TP_DEF_DRAGHYS 0xFF<br />
@@ -123,7 +123,7 @@<br />
<br />
/* Toggles */<br />
#define TP_DEF_MB 0x00<br />
-#define TP_DEF_PTSON 0x00<br />
+#define TP_DEF_PTSON 0x01<br />
#define TP_DEF_SKIPBACK 0x00<br />
#define TP_DEF_EXT_DEV 0x01<br />
</pre><br />
<br />
==Configure firefox for using trackpoint horizontal scrolling==<br />
Vertical Scrolling seems to work out of the box in firefox if you followed the steps above.<br />
Anyway, there is a problem when you don't scroll exactly vertical, because horizontal scrolling turns into<br />
browser BACK/FORWARD commands. <br />
You can avoid this by typing about:config + ENTER in the address bar of firefox.<br />
You have to adjust the following options:<br />
<br />
<pre><br />
mousewheel.horizscroll.withcontrolkey.action = 3;<br />
mousewheel.horizscroll.withcontrolkey.numlines = 1; <br />
mousewheel.horizscroll.withcontrolkey.sysnumlines = true;<br />
<br />
mousewheel.horizscroll.withnokey.action = 0;<br />
mousewheel.horizscroll.withnokey.numlines = 1;<br />
mousewheel.horizscroll.withnokey.sysnumlines = true;<br />
<br />
mousewheel.horizscroll.withshiftkey.action = 1;<br />
mousewheel.horizscroll.withshiftkey.numlines = 1;<br />
mousewheel.horizscroll.withshiftkey.sysnumlines = true;<br />
</pre><br />
<br />
FWIW, you can change only the following value to remove the browser BACK/FORWARD commands:<br />
<br />
<pre><br />
mousewheel.horizscroll.withnokey.action = 0;<br />
</pre><br />
<br />
With that, you can still go BACK/FORWARD by pressing together the shift or the alt key, while with the control key you increase or decrease the font size.<br />
<br />
{{NOTE|This appears to be fixed by default in Firefox 3.}}<br />
<br />
==Configure Opera for using trackpoint horizontal scrolling==<br />
You'll experience the same annoying problem with the popular browser Opera. To fix this you need to edit the configfile <tt>standard_mouse.ini</tt> in e.g. /usr/share/opera/ini/ (Debian) or /opt/opera/share/opera/ini/ (Gentoo) and comment out the following lines<br />
<pre><br />
Button6 = Back<br />
Button7 = Forward<br />
</pre><br />
so they look like that<br />
<pre><br />
;Button6 = Back<br />
;Button7 = Forward<br />
</pre><br />
Remember, Button6 and Button7 do not so coincidental correspond with our X configuration we know from above:<br />
<pre><br />
Option "YAxisMapping" "6 7"<br />
</pre><br />
After this change you will be able to scroll vertically and horizontally with your middle button.<br />
<br />
==Fixing trackpoint under Ubuntu 7.10 Gutsy Gibbon==<br />
===Using trackpoint deamon===<br />
My default Ubuntu Gutsy (running on an X61s) would give the following error messages when running the trackpoint daemon. Running<br />
<pre><br />
/etc/init.d/trackpoint restart<br />
</pre><br />
caused a bunch of error messages, as the wrong device was in<br />
<pre><br />
/etc/trackpoint/trackpoint.conf<br />
</pre><br />
<br />
I fixed this by changing:<br />
<pre><br />
echo -n > /sys/devices/platform/i8042/serio0/serio2/sensitivity<br />
</pre><br />
to<br />
<pre><br />
echo -n > /sys/devices/platform/i8042/serio1/sensitivity<br />
</pre><br />
in /etc/trackpoint/trackpoint.conf.<br />
<br />
In addition, Ubuntu ran the appropriate /etc/init.d/trackpoint script on booting, but would give a bunch of errors (which, oddly, I could never find in any of the log files).<br />
<br />
It seems that it was running the scripts too early in the boot sequence. The Gutsy package provided<br />
<pre><br />
/etc/rc2.d/S20trackpoint<br />
</pre><br />
<br />
so I renamed this to S99trackpoint (and in all the other rc.? directories) and it now works on boot.<br />
<br />
===Editing the kernel config files===<br />
Another way of configuring the trackpoint without using the trackpoint daemon is to edit the values of the trackpoint files which, BTW, are located in<br />
/sys/devices/platform/i8042/serio1/serio2.<br />
<br />
The script should be executed during boot. This can be done in an init script (e.g. /etc/bootmisc.sh in some distros)<br />
<br />
Script:<br />
<pre><br />
#! /bin/sh<br />
<br />
#<br />
# configuration du trackpoint<br />
#<br />
<br />
# vitesse<br />
echo -n 120 > /sys/devices/platform/i8042/serio1/serio2/speed<br />
<br />
# sensibilité<br />
echo -n 250 > /sys/devices/platform/i8042/serio1/serio2/sensitivity <br />
<br />
# press to select<br />
echo -n 1 > /sys/devices/platform/i8042/serio1/serio2/press_to_select<br />
</pre><br />
===An Ubuntu/Fedora example===<br />
Another script that I've created seems to work with all versions of Ubuntu/Fedora that I've been able to try (comment out and uncomment the appropriate lines for fedora/ubuntu as necessary)<br />
Place in /etc/rc.local or equivalent for your distro:<br />
<br />
Script:<br />
<pre><br />
#*************************<br />
## START TRACKPOINT CONFIG<br />
#*************************<br />
<br />
# For fedora (the slash after "speed" is returned)<br />
# TRACKPATH=$(find /sys -print0 | grep -FzZ "/serio2/speed" | sed s^speed/^^)<br />
<br />
# For ubuntu (the slash after "speed" is not returned)<br />
TRACKPATH=$(find /sys -print0 | grep -FzZ "/serio2/speed" | sed s/speed//)<br />
<br />
## Select "press_to_select" on the trackpoint input device<br />
## We need to specify the TRACKPATH above because the device under "serio#"<br />
## changes between system boots. (We first test to see if the file we want<br />
## to modify exists, if it does, we make the change<br />
#[ -f $TRACKPATH/press_to_select ] && echo -n 1 > $TRACKPATH/press_to_select<br />
<br />
## Adjust the speed setting of the trackpoint input device<br />
[ -f $TRACKPATH/speed ] && echo -n 120 > $TRACKPATH/speed <br />
## Adjust the sensitivity setting of the trackpoint input device<br />
[ -f $TRACKPATH/sensitivity ] && echo -n 200 > $TRACKPATH/sensitivity<br />
<br />
#***********************<br />
## END TRACKPOINT CONFIG<br />
#***********************<br />
</pre></div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&diff=40189How to configure the TrackPoint2008-12-10T15:33:20Z<p>Mitchell: Boldface the only kernel version range which still matters.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |The [[Patch to enable advanced trackpoint configuration|kernel trackpoint driver]] is controlled by echoing values to special files. Common configuration options are outlined below.<br />
{{NOTE|<br />
*'''With kernels 2.6.19 (Feb 2007) and later, config files for this driver are located in <tt>/sys/devices/platform/i8042/serio1</tt>.'''<br />
*With kernels 2.6.13 (inclusive) to 2.6.19 (exclusive) config files for this driver are located in <tt>/sys/devices/platform/i8042/serio0/serio2</tt>.<br />
*With kernels 2.6.11 (inclusive) to 2.6.13 (exclusive) config files for this driver are located in <tt>/sys/devices/platform/i8042/serio0</tt>.<br />
*With kernels 2.6.9 (inclusive) to 2.6.11 (exclusive) config files for this driver are located in <tt>/proc/trackpoint</tt>.<br />
*Prior to kernel 2.6.9, configuration was not done through files but through command-line options to the psmouse module. (Note this means you must compile psmouse as a module!) See http://stephen.evanchik.com/node/16.<br />
}}<br />
|}<br />
<br />
==General Configuration==<br />
The configuration options are reflected by the files you can find in {{path|/sys/devices/platform/i8042/serio0/serio2}}. See the [[Patch to enable advanced trackpoint configuration|TrackPoint driver page]] for a complete list.<br />
Configuration is done by echoing the appropriate values into these special files.<br />
<br />
If you want to set the sysfs parameters at boot, you can use the [http://linux-diag.sourceforge.net/Sysfsutils.html sysfsutils] and put the preferred value in /etc/sysfs.conf.<br />
<br />
==Most common Features==<br />
The most common settings are '''Press to Select''', '''sensitivity''', '''speed''' and '''scrolling'''.<br />
<br />
===Press to Select===<br />
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):<br />
<br />
:{{cmdroot|echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/press_to_select}}<br />
<br />
Press to Select should now be enabled. You can disable it in a similar manner:<br />
<br />
:{{cmdroot|echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/press_to_select}}<br />
<br />
You can use this script to automate the operation<br />
<br />
#!/bin/bash<br />
if [ "$1" = "1" ]; then<br />
echo "Turning on tap on TrackPoint"<br />
echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
exit 0<br />
fi<br />
if [ "$1" = "0" ]; then<br />
echo "Turning off tap on TrackPoint"<br />
echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
exit 0<br />
fi<br />
echo -n "Tap status: "<br />
cat /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
<br />
===Sensitivity & Speed===<br />
Adjusting the speed and sensitivity of the TrackPoint requires echoing a value between 0 and 255 into the appropriate file. For example, for a speed of 120 and a sensitivity of 250, type the following into a terminal:<br />
<br />
:{{cmdroot|echo -n 120 > /sys/devices/platform/i8042/serio0/serio2/speed}}<br />
:{{cmdroot|echo -n 250 > /sys/devices/platform/i8042/serio0/serio2/sensitivity}}<br />
<br />
Feel free to experiment with your settings until you find a combination that is comfortable.<br />
<br />
When you satisfy your setting, add the two lines into /etc/rc.d/rc.local in order to avoid restoring the default setting every time the system reboots.<br />
<br />
===Scrolling===<br />
====Using a kernel prior to 2.6.11====<br />
The scrolling action is essentially the same as is used in the TrackPoint Windows drivers. To enable this feature, type the following in to a terminal (you may need to be root): <br />
<br />
:{{cmdroot|echo -n 1 > /proc/trackpoint/scroll}}<br />
<br />
Then press the middle button and push the stick up and down to scroll. Similarly, to disable scrolling:<br />
<br />
:{{cmdroot|echo -n 0 > /proc/trackpoint/scroll}}<br />
<br />
====Using the X server (kernel 2.6.11+)====<br />
The scroll setting has been removed from the trackpoint driver in kernel versions 2.6.11 and above. Scroll emulation should now be handled in the X server.<br />
<br />
A nice side effect of that is, that middle button scrolling applies to any mouse and not just the TrackPoint interface, which can be a quite handy feature for desktop computers or people who prefer to use an external mouse, especially when scrolling through long lists or needing to use horizontal scrolling with a mouse which has only a vertical scroll wheel.<br />
<br />
The necessary functionality, known as "EmulateWheelTimeout" allowing to use button 2 for a middle click, wasn't implemented in Xorg prior to 6.9/7.0. However, there was a patch included in most distributions packages of Xorg, which was announced [http://www.mail-archive.com/devel@xfree86.org/msg03333.html here]. You can find an updated version of the package in the experimental branch of {{Debian}} or try to build the mouse driver yourself with the information in the announcement. This has successfully been tried with FC3's 6.8.2 packages.<br />
<br />
Once this functionality is in the X.org, add these lines to your TrackPoint configuration section in {{path|/etc/X11/xorg.conf}}:<br />
<br />
Option "EmulateWheel" "on"<br />
Option "EmulateWheelButton" "2"<br />
<br />
It may also be necessary to add these lines:<br />
<br />
Option "YAxisMapping" "4 5"<br />
Option "XAxisMapping" "6 7"<br />
<br />
which specify which buttons are mapped to motion in the vertical (Y) and horizontal (X) directions, respectively, in wheel emulation mode (see http://www.xfree86.org/current/mouse.4.html).<br />
<br />
{{HINT| Use the program "xev" to see, what mouse button identifiers are sent by your mouse/touchpad/trackpoint.<br />You might want to try: "xev &#124; grep button"}}<br />
{{HINT| If it does not work see if evdev is installed and remove it. On gentoo do the following:<br /><br />
eix xf86-input-evdev<br /><br />
emerge -C xf86-input-evdev<br /><br />
and then remove the evdev flag in make.conf INPUT_DEVICES}}<br />
<br />
So, a complete mouse section, that implements this nicely and works very well on my R51, even with a simultaneously connected USB mouse, looks like that (tried out today, 20th of September, 2006 on Dapper):<br />
<br />
Section "InputDevice"<br />
Identifier "Configured Mouse"<br />
Driver "mouse"<br />
Option "CorePointer"<br />
Option "Device" "/dev/input/mice"<br />
Option "Protocol" "ExplorerPS/2"<br />
Option "Emulate3Buttons" "on"<br />
Option "Emulate3TimeOut" "50"<br />
Option "EmulateWheel" "on"<br />
Option "EmulateWheelTimeOut" "200"<br />
Option "EmulateWheelButton" "2"<br />
Option "YAxisMapping" "4 5"<br />
Option "XAxisMapping" "6 7"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
The mappings for Y and Z are the same, since the "Z-Axis" refers to actual hardware scrolling wheels which usually scroll the screen along the Y-Axis. If there is no hardware scrolling wheel present, horizontal and vertical scrolling using the TrackPoint work fine without the Z-Axis line.<br />
<br />
Now restart X and hold down button 2 and move the mouse to scroll, or just press and release button 2 for a middle click.<br />
<br />
To make this work with the synaptics driver for the touchpad, you can add<br />
Option "GuestMouseOff" "1"<br />
to the synaptics device section. This will make the synaptics driver ignore the Trackpoint, so it will be handled by the mouse driver. This allowed me to disable the touchpad while making the TrackPoint work like it should.<br />
<br />
{{NOTE| With the above mouse section in my xorg.conf all this works like a charm: <br />
*I can press the wheel on my external USB mouse and move the mouse up and down for scrolling<br />
*or I can just use the wheel on the external mouse for scrolling<br />
*or pressing the MMB button of the trackpoint and use the trackpoint for scrolling.<br />
*Even horizontal scrolling works automagically in Konqueror, for Firefox/Opera see below.<br />
<br />
Simultaneously I can use <br />
*a press on the external mouse's wheel <br />
*or the MMB of the trackpoint<br />
<br />
for pasting the buffer. Lovely! :) }}<br />
<br />
{{HINT| If you don't use the middle-mouse-button for pasting and sometimes pasting things by mistake while scrolling (witch is really odd) simply set the "EmulateWheelTimeOut" to "1" as a (bloody) workaround. Middle click will only possible with pressing left and right button simultaneously!}}<br />
<br />
<br />
===== EmulateWheelTimeout temporarily broken (-> fix for Ubuntu Dapper) ===== <br />
<br />
Unfortunately, there was a regression so that EmulateWheelTimeout was broken in X.org 6.9.0, and fixed<br />
on March 20th, 2006. <br />
You can see the [https://bugs.freedesktop.org/show_bug.cgi?id=5071 primary bug report] here, and also reports on the [http://qa.mandriva.com/show_bug.cgi?id=21196 Mandriva] and [http://lists.debian.org/debian-x/2006/01/msg00249.html Debian] ([http://bugs.debian.org/346098 #346098], [http://bugs.debian.org/320136 #320136]) packages.<br />
<br />
Unfortunately, this bug is still present in Ubuntu Dapper Drake's xserver-xorg-input-mouse package (version 1.0.3.1+cvs.20060109-0ubuntu1)!<br />
<br />
{{HINT|xserver-xorg-input-mouse (version 1.0.3.1+cvs.20060109-0ubuntu1.1) is in dapper-updates since July 3rd, 2006. You don't need to patch it anymore.}}<br />
<br />
Use the following procedure to make it (middle button scrolling & middle button pasting) work:<br />
<br />
:{{cmduser|cd /desired/path && mkdir tmp && cd tmp}} (create temporary directory somewhere)<br />
:{{cmduser|sudo nano /etc/apt/sources.list}} (insert/uncomment the deb-src lines, save and exit)<br />
:{{cmduser|sudo apt-get update}}<br />
:{{cmduser|apt-get source xserver-xorg-input-mice}} (in order to get the source code)<br />
:{{cmduser|sudo aptitude install xserver-xorg-dev}} (this package and the packages it depends on are needed in order to compile the source code, use aptitude for easy removal later on)<br />
:{{cmduser|cd xserver-xorg-input-mouse-1.0.3.1+cvs.20060109/}}<br />
:{{cmduser|wget http://librarian.launchpad.net/2639933/xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (downloads the patch that fixes the bug)<br />
:{{cmduser|patch -p1 < xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (applies the bug fix)<br />
:{{cmduser|fakeroot dpkg-buildpackage}} (rebuilds the package... watch out for errors and install other missing packages)<br />
:{{cmduser|sudo dpkg -i ../xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2_i386.deb}} (installs the rebuilt built package)<br />
:{{cmduser|sudo aptitude remove xserver-xorg-dev}} (removes the packages needed to rebuild the package)<br />
<br />
Hope it works for you, it did work for me!<br />
CrypTom<br />
<br />
===== Older versions of X.org =====<br />
<br />
For older versions of Xorg or for Xfree86 ({{path|/etc/X11/XF86Config}}) try this:<br />
<br />
Option "Emulate3Buttons" "true"<br />
Option "EmulateWheel" "true"<br />
Option "EmulateWheelButton" "2"<br />
<br />
Now restart X and hold down button two and move the mouse for scrolling. To get a middle click, press buttons 1 and 3 simultaneously.<br />
<br />
==Soft Transparent Mode==<br />
If you wish to connect a special device to the external PS/2 port, you should consider using "Soft Transparent Mode" so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:<br />
<br />
:{{cmdroot|echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/transparent}}<br />
<br />
Disabling soft transparent mode is similar:<br />
<br />
:{{cmdroot|echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/transparent}}<br />
<br />
==Modify trackpoint parameter permanently in trackpoint.h==<br />
If you do not want to run a script to reconfigure the trackpoint<br />
you can change the default settings in the trackpoint header file that is located in<br />
/usr/src/<KERNEL_VERSION>/drivers/input/mouse/trackpoint.h.<br />
<br />
First you must convert the values (decimal numbers) you normaly echo to /sys/[...] to hex:<br />
<br />
'''echo -e 'obase=16;<DECIMAL_NUMBER>' | bc'''<br />
<br />
Then simply replace the default hex values in trackpoint.h, run 'make && make modules_install' to recompile and install psmouse.ko (should be compiled as module)<br />
<br />
<br />
Example patch (speed=100, sensitivity=190, press_to_select=1):<br />
<pre><br />
--- trackpoint.h.orig 2006-01-17 16:18:30.000000000 +0100<br />
+++ trackpoint.h 2006-01-17 16:25:47.000000000 +0100<br />
@@ -108,9 +108,9 @@<br />
/*<br />
* Default power on values<br />
*/<br />
-#define TP_DEF_SENS 0x80<br />
+#define TP_DEF_SENS 0xBE<br />
#define TP_DEF_INERTIA 0x06<br />
-#define TP_DEF_SPEED 0x61<br />
+#define TP_DEF_SPEED 0x64<br />
#define TP_DEF_REACH 0x0A<br />
<br />
#define TP_DEF_DRAGHYS 0xFF<br />
@@ -123,7 +123,7 @@<br />
<br />
/* Toggles */<br />
#define TP_DEF_MB 0x00<br />
-#define TP_DEF_PTSON 0x00<br />
+#define TP_DEF_PTSON 0x01<br />
#define TP_DEF_SKIPBACK 0x00<br />
#define TP_DEF_EXT_DEV 0x01<br />
</pre><br />
<br />
==Configure firefox for using trackpoint horizontal scrolling==<br />
Vertical Scrolling seems to work out of the box in firefox if you followed the steps above.<br />
Anyway, there is a problem when you don't scroll exactly vertical, because horizontal scrolling turns into<br />
browser BACK/FORWARD commands. <br />
You can avoid this by typing about:config + ENTER in the address bar of firefox.<br />
You have to adjust the following options:<br />
<br />
<pre><br />
mousewheel.horizscroll.withcontrolkey.action = 3;<br />
mousewheel.horizscroll.withcontrolkey.numlines = 1; <br />
mousewheel.horizscroll.withcontrolkey.sysnumlines = true;<br />
<br />
mousewheel.horizscroll.withnokey.action = 0;<br />
mousewheel.horizscroll.withnokey.numlines = 1;<br />
mousewheel.horizscroll.withnokey.sysnumlines = true;<br />
<br />
mousewheel.horizscroll.withshiftkey.action = 1;<br />
mousewheel.horizscroll.withshiftkey.numlines = 1;<br />
mousewheel.horizscroll.withshiftkey.sysnumlines = true;<br />
</pre><br />
<br />
FWIW, you can change only the following value to remove the browser BACK/FORWARD commands:<br />
<br />
<pre><br />
mousewheel.horizscroll.withnokey.action = 0;<br />
</pre><br />
<br />
With that, you can still go BACK/FORWARD by pressing together the shift or the alt key, while with the control key you increase or decrease the font size.<br />
<br />
{{NOTE|This appears to be fixed by default in Firefox 3.}}<br />
<br />
==Configure Opera for using trackpoint horizontal scrolling==<br />
You'll experience the same annoying problem with the popular browser Opera. To fix this you need to edit the configfile <tt>standard_mouse.ini</tt> in e.g. /usr/share/opera/ini/ (Debian) or /opt/opera/share/opera/ini/ (Gentoo) and comment out the following lines<br />
<pre><br />
Button6 = Back<br />
Button7 = Forward<br />
</pre><br />
so they look like that<br />
<pre><br />
;Button6 = Back<br />
;Button7 = Forward<br />
</pre><br />
Remember, Button6 and Button7 do not so coincidental correspond with our X configuration we know from above:<br />
<pre><br />
Option "YAxisMapping" "6 7"<br />
</pre><br />
After this change you will be able to scroll vertically and horizontally with your middle button.<br />
<br />
==Fixing trackpoint under Ubuntu 7.10 Gutsy Gibbon==<br />
===Using trackpoint deamon===<br />
My default Ubuntu Gutsy (running on an X61s) would give the following error messages when running the trackpoint daemon. Running<br />
<pre><br />
/etc/init.d/trackpoint restart<br />
</pre><br />
caused a bunch of error messages, as the wrong device was in<br />
<pre><br />
/etc/trackpoint/trackpoint.conf<br />
</pre><br />
<br />
I fixed this by changing:<br />
<pre><br />
echo -n > /sys/devices/platform/i8042/serio0/serio2/sensitivity<br />
</pre><br />
to<br />
<pre><br />
echo -n > /sys/devices/platform/i8042/serio1/sensitivity<br />
</pre><br />
in /etc/trackpoint/trackpoint.conf.<br />
<br />
In addition, Ubuntu ran the appropriate /etc/init.d/trackpoint script on booting, but would give a bunch of errors (which, oddly, I could never find in any of the log files).<br />
<br />
It seems that it was running the scripts too early in the boot sequence. The Gutsy package provided<br />
<pre><br />
/etc/rc2.d/S20trackpoint<br />
</pre><br />
<br />
so I renamed this to S99trackpoint (and in all the other rc.? directories) and it now works on boot.<br />
<br />
===Editing the kernel config files===<br />
Another way of configuring the trackpoint without using the trackpoint daemon is to edit the values of the trackpoint files which, BTW, are located in<br />
/sys/devices/platform/i8042/serio1/serio2.<br />
<br />
The script should be executed during boot. This can be done in an init script (e.g. /etc/bootmisc.sh in some distros)<br />
<br />
Script:<br />
<pre><br />
#! /bin/sh<br />
<br />
#<br />
# configuration du trackpoint<br />
#<br />
<br />
# vitesse<br />
echo -n 120 > /sys/devices/platform/i8042/serio1/serio2/speed<br />
<br />
# sensibilité<br />
echo -n 250 > /sys/devices/platform/i8042/serio1/serio2/sensitivity <br />
<br />
# press to select<br />
echo -n 1 > /sys/devices/platform/i8042/serio1/serio2/press_to_select<br />
</pre><br />
===An Ubuntu/Fedora example===<br />
Another script that I've created seems to work with all versions of Ubuntu/Fedora that I've been able to try (comment out and uncomment the appropriate lines for fedora/ubuntu as necessary)<br />
Place in /etc/rc.local or equivalent for your distro:<br />
<br />
Script:<br />
<pre><br />
#*************************<br />
## START TRACKPOINT CONFIG<br />
#*************************<br />
<br />
# For fedora (the slash after "speed" is returned)<br />
# TRACKPATH=$(find /sys -print0 | grep -FzZ "/serio2/speed" | sed s^speed/^^)<br />
<br />
# For ubuntu (the slash after "speed" is not returned)<br />
TRACKPATH=$(find /sys -print0 | grep -FzZ "/serio2/speed" | sed s/speed//)<br />
<br />
## Select "press_to_select" on the trackpoint input device<br />
## We need to specify the TRACKPATH above because the device under "serio#"<br />
## changes between system boots. (We first test to see if the file we want<br />
## to modify exists, if it does, we make the change<br />
#[ -f $TRACKPATH/press_to_select ] && echo -n 1 > $TRACKPATH/press_to_select<br />
<br />
## Adjust the speed setting of the trackpoint input device<br />
[ -f $TRACKPATH/speed ] && echo -n 120 > $TRACKPATH/speed <br />
## Adjust the sensitivity setting of the trackpoint input device<br />
[ -f $TRACKPATH/sensitivity ] && echo -n 200 > $TRACKPATH/sensitivity<br />
<br />
#***********************<br />
## END TRACKPOINT CONFIG<br />
#***********************<br />
</pre><br />
<br />
==TrackPoint under Xorg-7.4+ using HAL==<br />
<br />
Because Xorg 7.4 uses HAL FDI policy files instead of xorg.conf for device configuration, you must do the following to get the scrolling working:<br />
(see: http://forum.ubuntuusers.de/topic/mouse-wheel-emulation-in-xorg.conf/?highlight=hal+trackpoint#post-1558282 )<br />
<br />
Create the file '''/etc/hal/fdi/policy/mouse-wheel.fdi''' as root with the following content:<br />
<br />
<pre><br />
<match key="info.product" string="TPPS/2 IBM TrackPoint"><br />
<merge key="input.x11_options.EmulateWheel" type="string">true</merge><br />
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge><br />
<merge key="input.x11_options.YAxisMapping" type="string">4 5</merge><br />
<merge key="input.x11_options.XAxisMapping" type="string">6 7</merge><br />
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge><br />
<merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge><br />
</match><br />
</pre><br />
<br />
In Fedora 10, this fix also works, and with '''lshal''' you can see that the changes do indeed take effect. However, you will need to update the evdev drivers ('''yum --enablerepo=rawhide update xorg-x11-drv-evdev''') before X will use these settings correctly. I'm still not sure what the problem is with the drivers in vanilla Fedora 10, but with version 2.1.0 of these drivers, I have full functionality.<br />
<br />
Note: You must restart both hal and X to see these changes, so it's probably easiest to just reboot.<br />
<br />
<br />
Confirmed to work in Gentoo as well. You MUST upgrade to x11-drivers/xf86-input-evdev-2.1.0. As of today (12/8/08), this package is only found in the x11 overlay. <br />
<br />
<br />
https://wiki.ubuntu.com/X/Config<br />
<br />
<br />
Note: After setting this up, scrolling seems to fail once in a while after resuming from suspend. Re-suspending and then re-resuming causes it to work again. I don't know why this might be.</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=TrackPoint&diff=40185TrackPoint2008-12-10T15:21:01Z<p>Mitchell: /* Linux Support */ Updated page - it's been a long time.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:Trackpoint.jpg|IBM TrackPoint]] __NOTOC__<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
=== IBM TrackPoint ===<br />
The TrackPoint is IBMs name for the stick that sits between the g, h and b keys of the keyboard. It is used as a pointing device and hence as an alternative to an external mouse or a touchpad. What sets it apart from devices found in notebooks of other manufacturers is that it has no moving parts. It works using a solid state strain gauge. Its tap-to-click feature, which means that you can tap the stick to do a left click instead of using the left mouse button, is also handy.<br />
</div><br />
|}<br />
<br />
Modern kernels (after Oct 2005) fully support the TrackPoint.<br />
<br />
== Configuration ==<br />
<br />
If you are using GNOME, you might want to use [http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] as a graphical frontend.<br />
<br />
*Have a look at [[How to configure the TrackPoint]].<br />
<br />
== Obsolete notes ==<br />
<br />
The TrackPoint uses the PS/2 interface, so it is supported by the standard psaux mouse input driver included in the Linux kernel.<br />
<br />
Modern kernels (after Oct 2005), also support TrackPoint-specific support is also part of the regular PS/2 Mouse support.<br />
<br />
Note that the "IMPS/2" driver of the X server is incompatible with most TrackPoints. You'll have to use "PS/2" in the protocol option of your input section if your mouse pointer always jumps to the lower left corner of the screen. This seems to be solved with the T4x generation of ThinkPads.<br />
<br />
To make use of advanced features like configuring sensitivity or enabling "tap-to-click" there are different solutions available depending on the kernel you are using.<br />
* For 2.6.14rc1 and newer (Oct 2005), TrackPoint support is part of the regular PS/2 Mouse support.<br />
* For older 2.6 kernels, you can get the [[Patch to enable advanced trackpoint configuration]].<br />
* For older 2.4 type kernels it is recommended to use the [http://www.slac.stanford.edu/~strauman/pers/tp4utils/ Linux Trackpoint utilities].<br />
<br />
==Models featuring this Technology==<br />
'''TrackPoint'''<br />
*ThinkPad {{220}} <tt>(if that's what the original trackpoint is)</tt><br />
<br />
'''TrackPoint II'''<br />
*{{350}}, {{350C}}, {{355}}, {{355Cs}}, {{355C}}<br />
*{{360}}, {{360Cs}}, {{360C}}, {{360P}}, {{360CSE}}, {{360CE}}, {{360PE}}<br />
*{{370C}}<br />
*{{500}}, {{510Cs}}<br />
*{{555BJ}}<br />
*{{720}}, {{720C}}<br />
*{{700}}, {{700C}}<br />
*{{750}}, {{750Cs}}, {{750C}}, {{750P}}<br />
*{{755Cs}}, {{755C}}<br />
'''TrackPoint III'''<br />
*{{310}}, {{310D}}, {{310E}}, {{310ED}}<br />
*{{345CS}}, {{345C}}<br />
*{{365CS}}, {{365C}}, {{365CSD}}, {{365CD}}, {{365E}}, {{365ED}}, {{365X}}, {{365XD}}<br />
*{{380}}, {{380D}}, {{380E}}, {{380ED}}, {{380XD}}, {{385D}}, {{385ED}}, {{385XD}}<br />
*{{535}}, {{535E}}, {{535X}}<br />
*{{560}}, {{560E}}, {{560X}}<br />
*{{701C}}, {{701CS}}<br />
*{{755CSE}}, {{755CE}}, {{755CX}}, {{755CV}}, {{755CD}}, {{755CDV}}<br />
*{{760L}}, {{760LD}}, {{760C}}, {{760CD}}, {{760EL}}, {{760ELD}}, {{760E}}, {{760ED}}, {{760XL}}, {{760XD}}, {{765L}}, {{765D}}<br />
*{{820}}, {{850}}, {{860}}<br />
'''TrackPoint IV'''<br />
*{{240}}, {{240X}}<br />
*{{380Z}}, {{390}}, {{390E}}, {{390X}}<br />
*{{560Z}}, {{570}}, {{570E}}<br />
*{{600}}, {{600E}}, {{600X}}<br />
*{{770}}, {{770E}}, {{770ED}}, {{770X}}, {{770Z}}<br />
*{{I Series}}<br />
*{{A Series}}<br />
*{{G Series}}<br />
*{{R Series}}<br />
*{{S30}}, {{S31}}<br />
*{{T Series}}<br />
*{{X Series}}<br />
*{{Z Series}}<br />
*{{TransNote}}<br />
<br />
==External Sources==<br />
*[http://web.archive.org/web/20061010223935/http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51536 IBM's page on configuring the third TrackPoint button under Linux] (Note -- link was dead on 2 Dec 2007, replaced with Wayback link)<br />
<br />
*[http://freshmeat.net/projects/tp-scroll/?topic_id=146 Thinkpad Scroll Daemon] Use the middle mouse button on a Trackpoint keyboard for scrolling in Linux. <br />
<br />
[[Category:Glossary]] [[Category:Components]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200&diff=39767Category:X2002008-11-17T17:39:58Z<p>Mitchell: /* Notes */ future proof previous edit, by tagging it with date.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top" |<br />
=== ThinkPad X200 ===<br />
This page gives an overview of all ThinkPad X200 related topics.<br />
<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
==== Standard Features ====<br />
* One of the following processors:<br />
** [[Intel Core 2 Duo]] P8400, 2.26Ghz, 3MB L2, 1066Mhz FSB<br />
** [[Intel Core 2 Duo]] P8600, 2.40Ghz, 3MB L2, 1066Mhz FSB<br />
* Intel Graphics Media Accelerator 4500 MHD onboard graphics<br />
** 12" CCFL with 1280×800 (WXGA, 200 nit)<br />
* Support for up to 4GB DDR3-RAM [[PC3-8500]]<br />
** As of 27 Aug 2008, 4GB option is most available and '''only''' if you select upgrade to Windows Vista Business 64<br />
* One of the following hard drives:<br />
** 80,160,250 GB SATA 2.5" 5400/7200RPM<br />
** 320 GB 5400RPM<br />
** 200 GB Sata 2.5" 7200RPM with [[Full Disk Encryption (FDE)]]<br />
** 64 GB SATA 1.8" SSD<br />
* ThinkPad X200 Ultrabase<br />
** DVD-ROM, CD-RW/DVD-ROM, DVD Burner, Blu-ray<br />
* One of the following expansion slots:<br />
** 5-1 Media card Reader with Modem<br />
** 3-1 Media card Reader without Modem<br />
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[ThinkPad 11b/g Wireless LAN Mini-PCI Express Adapter III]]<br />
** [[Intel Wifi Link 5100 (AGN)]]<br />
** [[Intel Wifi Link 5300 (AGN)]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** Integrated WWAN with [[GPS]]<br />
**: ''I believe this is a category, which includes the AT&T and Verizon cards below, rather than a distinct option. Unconfirmed. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)''<br />
** Integrated Ultra Wide Band (UWB) for AT&T<br />
** Integrated Ultra Wide Band (UWB) for Verizon<br />
** WiMAX (late 2008)<br />
** [[Intel® Turbo Memory hard drive cache]] 2GB<br />
* Optional Features<br />
** Integrated camera<br />
** Integrated digital microphone<br />
** Security cable slot<br />
** [[Integrated Fingerprint Reader]]<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth]]<br />
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]<br />
* [[Active Protection System|IBM Active Protection System]]<br />
* TrackPoint '''only'''<br />
* One of the following batteries<br />
** 4-cell battery, 29 Wh (14.4 V, 2.0 Ah). up to 3.3 hr, 1.34kg<br />
** 4-cell *tablet, 29 Wh (14.4 V, 2.0 Ah).<br />
** 6-cell battery, 56 Wh (10.8 V, 5.2 Ah). up to 6.5 hr, 1.47kg<br />
** 8-cell *tablet, 66 Wh (14.4 V, 4.6 Ah)<br />
** 9-cell battery, 85 Wh (10.8 V, 7.8 Ah). up to 9.8 hr, 1.63kg (protrudes out back 22.8cm/.9in)<br />
</div><br />
<br />
==== Resources ====<br />
* [http://shop.lenovo.com/ISS_Static/merchandising/US/PDFs/x200_datasheet.pdf X200 Technical Specifications (pdf)]<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-70149 Hardware Maintenance Manual (HMM) - ThinkPad X200, August 2008 Edition] ''(from [http://www.lenovo.com/us/en/ lenovo] / Support / User's guides & manuals)''<br />
<br />
==== Reviews ====<br />
* [http://www.notebookreview.com/default.asp?newsID=4497 Notebookreview.com] 2008-07-15<br />
* [http://www.laptopmag.com/review/laptops/lenovo-thinkpad-x200.aspx Laptopmag.com] 2007-07-14<br />
* [http://reviews.cnet.com/laptops/lenovo-thinkpad-x200/4505-3121_7-33184078.html Cnet.com] 2008-08-14<br />
<br />
==== Notes ====<br />
Sometimes even basic information is hard to find. Here's a place for it.<br />
* Lenovo is having fulfillment problems (2008 Q4). Take estimated ship dates with a grain of salt. Ordering from Lenovo seems to be working better than resellers. Some resellers have yet to receive their first unit. One person I know received an X200 within days (direct, replacing stolen machine), another has been waiting for ~2 months.<br />
* The '''X200T does ''not'' support [http://en.wikipedia.org/wiki/Multi-touch Multi-touch]!'''. "MultiTouch" is Lenovo's misleading way of saying you can use your finger, in addition to a pen. The X200T uses Wacom's no-longer-cutting-edge non-multitouch screen. Only one contact point is available in hardware.<br />
*: Though, hypothetically, you could get two points from a MultiTouch screen, one from finger contact, and one from a stylus hovering over but not touching the screen - they are available in linux as separate devices. It's not clear it's ever been done.<br />
* [[GPS]] - If you have an optional WWAN card (AT&T or Verizon), you have GPS. ''unconfirmed''<br />
* The 5300 normally has 3 x 3 antennas. Adding the webcam reduces this to 2 x 2. ''unconfirmed''<br />
*: Any other conflicts? Bluetooth, etc?<br />
* X200T configured with SSD do '''not''' include the [[Active Protection System]] accelerometer. Despite alternate uses (theft deterrence). Confirmed by Lenovo US sales phone, 2008-10. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)<br />
* The [http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS108-588&appname=lenovous&language=en X200 Tablet Sleeve] supports 4 and 8 cell batteries, but not 9 cell. ''from announcement''<br />
* The X200 does not have a touchpad. For folks who really want one, a somewhat messy possibility ''might'' be [http://www.ergonomictouchpad.com/ergonomic_touchpad.php www.ergonomictouchpad.com] (never used - no endorsement) which looks vaguely like a [http://www.cirque.com/cpages/?page=17 Cirque TSM9925 Touchpad] with velcro and wire added.<br />
* There can be a ''big'' cost difference between preconfigured units from VARs, and custom configured units from shop.lenovo.com, as of 2008-10-31 ([http://alltp.blogspot.com/2008/10/heckuva-deal-on-lenovo-x200-tablet-pc.html examples]).<br />
*: But shipping delays may be even greater than when ordering directly from Lenovo (2008 Q4).<br />
<br />
[[Category:X Series]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200&diff=39766Category:X2002008-11-17T17:36:52Z<p>Mitchell: /* Notes */ +Fulfillment problems.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top" |<br />
=== ThinkPad X200 ===<br />
This page gives an overview of all ThinkPad X200 related topics.<br />
<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
==== Standard Features ====<br />
* One of the following processors:<br />
** [[Intel Core 2 Duo]] P8400, 2.26Ghz, 3MB L2, 1066Mhz FSB<br />
** [[Intel Core 2 Duo]] P8600, 2.40Ghz, 3MB L2, 1066Mhz FSB<br />
* Intel Graphics Media Accelerator 4500 MHD onboard graphics<br />
** 12" CCFL with 1280×800 (WXGA, 200 nit)<br />
* Support for up to 4GB DDR3-RAM [[PC3-8500]]<br />
** As of 27 Aug 2008, 4GB option is most available and '''only''' if you select upgrade to Windows Vista Business 64<br />
* One of the following hard drives:<br />
** 80,160,250 GB SATA 2.5" 5400/7200RPM<br />
** 320 GB 5400RPM<br />
** 200 GB Sata 2.5" 7200RPM with [[Full Disk Encryption (FDE)]]<br />
** 64 GB SATA 1.8" SSD<br />
* ThinkPad X200 Ultrabase<br />
** DVD-ROM, CD-RW/DVD-ROM, DVD Burner, Blu-ray<br />
* One of the following expansion slots:<br />
** 5-1 Media card Reader with Modem<br />
** 3-1 Media card Reader without Modem<br />
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[ThinkPad 11b/g Wireless LAN Mini-PCI Express Adapter III]]<br />
** [[Intel Wifi Link 5100 (AGN)]]<br />
** [[Intel Wifi Link 5300 (AGN)]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** Integrated WWAN with [[GPS]]<br />
**: ''I believe this is a category, which includes the AT&T and Verizon cards below, rather than a distinct option. Unconfirmed. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)''<br />
** Integrated Ultra Wide Band (UWB) for AT&T<br />
** Integrated Ultra Wide Band (UWB) for Verizon<br />
** WiMAX (late 2008)<br />
** [[Intel® Turbo Memory hard drive cache]] 2GB<br />
* Optional Features<br />
** Integrated camera<br />
** Integrated digital microphone<br />
** Security cable slot<br />
** [[Integrated Fingerprint Reader]]<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth]]<br />
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]<br />
* [[Active Protection System|IBM Active Protection System]]<br />
* TrackPoint '''only'''<br />
* One of the following batteries<br />
** 4-cell battery, 29 Wh (14.4 V, 2.0 Ah). up to 3.3 hr, 1.34kg<br />
** 4-cell *tablet, 29 Wh (14.4 V, 2.0 Ah).<br />
** 6-cell battery, 56 Wh (10.8 V, 5.2 Ah). up to 6.5 hr, 1.47kg<br />
** 8-cell *tablet, 66 Wh (14.4 V, 4.6 Ah)<br />
** 9-cell battery, 85 Wh (10.8 V, 7.8 Ah). up to 9.8 hr, 1.63kg (protrudes out back 22.8cm/.9in)<br />
</div><br />
<br />
==== Resources ====<br />
* [http://shop.lenovo.com/ISS_Static/merchandising/US/PDFs/x200_datasheet.pdf X200 Technical Specifications (pdf)]<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-70149 Hardware Maintenance Manual (HMM) - ThinkPad X200, August 2008 Edition] ''(from [http://www.lenovo.com/us/en/ lenovo] / Support / User's guides & manuals)''<br />
<br />
==== Reviews ====<br />
* [http://www.notebookreview.com/default.asp?newsID=4497 Notebookreview.com] 2008-07-15<br />
* [http://www.laptopmag.com/review/laptops/lenovo-thinkpad-x200.aspx Laptopmag.com] 2007-07-14<br />
* [http://reviews.cnet.com/laptops/lenovo-thinkpad-x200/4505-3121_7-33184078.html Cnet.com] 2008-08-14<br />
<br />
==== Notes ====<br />
Sometimes even basic information is hard to find. Here's a place for it.<br />
* Lenovo is having fulfillment problems. Take estimated ship dates with a grain of salt. Ordering from Lenovo seems to be working better than resellers. Some resellers have yet to receive their first unit. One person I know received an X200 within days (direct, replacing stolen machine), another has been waiting for ~2 months.<br />
* The '''X200T does ''not'' support [http://en.wikipedia.org/wiki/Multi-touch Multi-touch]!'''. "MultiTouch" is Lenovo's misleading way of saying you can use your finger, in addition to a pen. The X200T uses Wacom's no-longer-cutting-edge non-multitouch screen. Only one contact point is available in hardware.<br />
*: Though, hypothetically, you could get two points from a MultiTouch screen, one from finger contact, and one from a stylus hovering over but not touching the screen - they are available in linux as separate devices. It's not clear it's ever been done.<br />
* [[GPS]] - If you have an optional WWAN card (AT&T or Verizon), you have GPS. ''unconfirmed''<br />
* The 5300 normally has 3 x 3 antennas. Adding the webcam reduces this to 2 x 2. ''unconfirmed''<br />
*: Any other conflicts? Bluetooth, etc?<br />
* X200T configured with SSD do '''not''' include the [[Active Protection System]] accelerometer. Despite alternate uses (theft deterrence). Confirmed by Lenovo US sales phone, 2008-10. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)<br />
* The [http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS108-588&appname=lenovous&language=en X200 Tablet Sleeve] supports 4 and 8 cell batteries, but not 9 cell. ''from announcement''<br />
* The X200 does not have a touchpad. For folks who really want one, a somewhat messy possibility ''might'' be [http://www.ergonomictouchpad.com/ergonomic_touchpad.php www.ergonomictouchpad.com] (never used - no endorsement) which looks vaguely like a [http://www.cirque.com/cpages/?page=17 Cirque TSM9925 Touchpad] with velcro and wire added.<br />
* There can be a ''big'' cost difference between preconfigured units from VARs, and custom configured units from shop.lenovo.com, as of 2008-10-31 ([http://alltp.blogspot.com/2008/10/heckuva-deal-on-lenovo-x200-tablet-pc.html examples]).<br />
*: But shipping delays may be even greater than with ordering directly from Lenovo.<br />
<br />
[[Category:X Series]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200&diff=39435Category:X2002008-10-31T21:09:23Z<p>Mitchell: /* Resources */ +link to the Hardware Maintenance Manual.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top" |<br />
=== ThinkPad X200 ===<br />
This page gives an overview of all ThinkPad X200 related topics.<br />
<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
==== Standard Features ====<br />
* One of the following processors:<br />
** [[Intel Core 2 Duo]] P8400, 2.26Ghz, 3MB L2, 1066Mhz FSB<br />
** [[Intel Core 2 Duo]] P8600, 2.40Ghz, 3MB L2, 1066Mhz FSB<br />
* [[Intel Graphics Media Accelerator 4700 MHD]] onboard graphics<br />
** 12" CCFL with 1280×800 (WXGA, 200 nit)<br />
* Support for up to 4GB DDR3-RAM [[PC3-8500]]<br />
** As of 27 Aug 2008, 4GB option is most available and '''only''' if you select upgrade to Windows Vista Business 64<br />
* One of the following hard drives:<br />
** 80,160,250 GB SATA 2.5" 5400/7200RPM<br />
** 320 GB 5400RPM<br />
** 200 GB Sata 2.5" 7200RPM with [[Full Disk Encryption (FDE)]]<br />
** 64 GB SATA 1.8" SSD<br />
* ThinkPad X200 Ultrabase<br />
** DVD-ROM, CD-RW/DVD-ROM, DVD Burner, Blu-ray<br />
* One of the following expansion slots:<br />
** 5-1 Media card Reader with Modem<br />
** 3-1 Media card Reader without Modem<br />
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[ThinkPad 11b/g Wireless LAN Mini-PCI Express Adapter III]]<br />
** [[Intel Wifi Link 5100 (AGN)]]<br />
** [[Intel Wifi Link 5300 (AGN)]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** Integrated WWAN with [[GPS]]<br />
**: ''I believe this is a category, which includes the AT&T and Verizon cards below, rather than a distinct option. Unconfirmed. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)''<br />
** Integrated Ultra Wide Band (UWB) for AT&T<br />
** Integrated Ultra Wide Band (UWB) for Verizon<br />
** WiMAX (late 2008)<br />
** [[Intel® Turbo Memory hard drive cache]] 2GB<br />
* Optional Features<br />
** Integrated camera<br />
** Integrated digital microphone<br />
** Security cable slot<br />
** [[Integrated Fingerprint Reader]]<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth]]<br />
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]<br />
* [[Active Protection System|IBM Active Protection System]]<br />
* TrackPoint '''only'''<br />
* One of the following batteries<br />
** 4-cell battery, 29 Wh (14.4 V, 2.0 Ah). up to 3.3 hr, 1.34kg<br />
** 4-cell *tablet, 29 Wh (14.4 V, 2.0 Ah).<br />
** 6-cell battery, 56 Wh (10.8 V, 5.2 Ah). up to 6.5 hr, 1.47kg<br />
** 8-cell *tablet, 66 Wh (14.4 V, 4.6 Ah)<br />
** 9-cell battery, 85 Wh (10.8 V, 7.8 Ah). up to 9.8 hr, 1.63kg (protrudes out back 22.8cm/.9in)<br />
</div><br />
<br />
==== Resources ====<br />
* [http://shop.lenovo.com/ISS_Static/merchandising/US/PDFs/x200_datasheet.pdf X200 Technical Specifications (pdf)]<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-70149 Hardware Maintenance Manual (HMM) - ThinkPad X200, August 2008 Edition] ''(from [http://www.lenovo.com/us/en/ lenovo] / Support / User's guides & manuals)''<br />
<br />
==== Reviews ====<br />
* [http://www.notebookreview.com/default.asp?newsID=4497 Notebookreview.com] 2008-07-15<br />
* [http://www.laptopmag.com/review/laptops/lenovo-thinkpad-x200.aspx Laptopmag.com] 2007-07-14<br />
* [http://reviews.cnet.com/laptops/lenovo-thinkpad-x200/4505-3121_7-33184078.html Cnet.com] 2008-08-14<br />
<br />
==== Notes ====<br />
Sometimes even basic information is hard to find. Here's a place for it.<br />
* The '''X200T does ''not'' support [http://en.wikipedia.org/wiki/Multi-touch Multi-touch]!'''. "MultiTouch" is Lenovo's misleading way of saying you can use your finger, in addition to a pen. The X200T uses Wacom's no-longer-cutting-edge non-multitouch screen. Only one contact point is available in hardware.<br />
*: Though, hypothetically, you could get two points from a MultiTouch screen, one from finger contact, and one from a stylus hovering over but not touching the screen - they are available in linux as separate devices. It's not clear it's ever been done.<br />
* [[GPS]] - If you have an optional WWAN card (AT&T or Verizon), you have GPS. ''unconfirmed''<br />
* The 5300 normally has 3 x 3 antennas. Adding the webcam reduces this to 2 x 2. ''unconfirmed''<br />
*: Any other conflicts? Bluetooth, etc?<br />
* X200T configured with SSD do '''not''' include the [[Active Protection System]] accelerometer. Despite alternate uses (theft deterrence). Confirmed by Lenovo US sales phone, 2008-10. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)<br />
* The [http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS108-588&appname=lenovous&language=en X200 Tablet Sleeve] supports 4 and 8 cell batteries, but not 9 cell. ''from announcement''<br />
* The X200 does not have a touchpad. For folks who really want one, a somewhat messy possibility ''might'' be [http://www.ergonomictouchpad.com/ergonomic_touchpad.php www.ergonomictouchpad.com] (never used - no endorsement) which looks vaguely like a [http://www.cirque.com/cpages/?page=17 Cirque TSM9925 Touchpad] with velcro and wire added.<br />
* There can be a ''big'' cost difference between preconfigured units from VARs, and custom configured units from shop.lenovo.com, as of 2008-10-31 ([http://alltp.blogspot.com/2008/10/heckuva-deal-on-lenovo-x200-tablet-pc.html examples]).<br />
<br />
[[Category:X Series]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X61_Tablet&diff=39434Category:X61 Tablet2008-10-31T21:03:31Z<p>Mitchell: +link to X200_Tablet.</p>
<hr />
<div>= ThinkPad X61 Tablet =<br />
<br />
This page gives an overview of all ThinkPad X61 Tablet related topics.<br />
<br />
{| width="100%"<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
<br />
==== Standard Features ====<br />
* One of the following low-voltage processors:<br />
** [[Intel Core 2 Duo]] CPU L7300 (1.40 GHz)<br />
** [[Intel Core 2 Duo]] CPU L7500 (1.60 GHz)<br />
** [[Intel Core 2 Duo]] CPU L7700 (1.80 GHz)<br />
* [[Intel Graphics Media Accelerator X3100]]<br />
** 12.1" TFT display with 1024x768 resolution (106 ppi)<br />
** 12.1" TFT display with 1024x768 resolution and MultiView/MultiTouch (106 ppi)<br />
** 12.1" TFT display with 1400x1050 resolution and Super-Wide Viewing Angle (145 ppi)<br />
* 1 GB [[PC2-5300]] memory standard, 4 GB max<br />
* 80 GB SATA 2.5" HDD<br />
* [[Active Protection System|IBM Active Protection System]]<br />
* [[AD1984]] HD Audio 1.0 controller<br />
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
* [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]] / [[Intel PRO/Wireless 4965AGN Mini-PCI Express Adapter]]<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth 2.0 EDR]]<br />
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]<br />
* [[Integrated Fingerprint Reader]] in some models<br />
* [[Ricoh_R5C843|Ricoh R5C843 Controller]] with the following functions:<br />
** [[SD Card slot]] with IO support<br />
** [[CardBus slot]] (Type 2)<br />
** Firewire (IEEE1394)<br />
* [[Wacom Serial Tablet PC Stylus]]<br />
* [[Tablet Hardware Buttons]]<br />
* [[Active Rotate]]<br />
* [[Intel Active Management Technology (AMT)]] on select models<br />
* [[Centrino Pro]] on select models<br />
<br />
<br />
</div><br />
|style="vertical-align:top" |<br />
[[image:X61_Tablet.jpg]]<br />
|}<br />
====Hardware Maintenance Manual====<br />
* [http://www-307.ibm.com/pc/support/site.wss/MIGR-66749.html ThinkPad X60 Tablet and X61 Tablet Hardware Maintenance Manual]<br />
<br />
====Problems====<br />
* Screen bezel separating from the Screen: http://forum.tabletpcreview.com/showthread.php?t=8282<br />
<br />
[[Category:X Series]]<br />
<br />
====Notes====<br />
*The [[:Category:X200 Tablet|X200 Tablet]] is the newer model.</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Hardware_Specifications&diff=39433Hardware Specifications2008-10-31T20:59:00Z<p>Mitchell: /* Available Models */ +X200_Tablet</p>
<hr />
<div>{{Usage|<br />
*Choose a model name to get a list of all currently available information related to this Model.<br />
*Choose a type-and-model number to get the specs of that specific model.<br />
}}<br />
Here you can learn about specific ThinkPads specifications.<br />
<br />
Furthermore, you may<br />
*compare the [[ThinkPad series]] (G, R, T, X, Z),<br />
*get an overview of the [[ThinkPad History]] or<br />
*learn about the name [[ThinkPad]].<br />
<br />
==IBM/Lenovos hardware specs==<br />
* '''Lenovo ThinkPads'''<br />
** For current Lenovo ThinkPad G, R, T, X and Z series models look for the official specs listed in [ftp://ftp.software.ibm.com/pc/pcinstitute/psref/tabook.pdf tabook.pdf]<br />
** For withdrawn Lenovo ThinkPads, look at [ftp://ftp.software.ibm.com/pc/pcinstitute/psref/ltwbook.pdf ltwbook.pdf]<br />
* '''Withdrawn IBM ThinkPads'''<br />
** For 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]<br />
** For R series models look for the official IBM specs listed in [ftp://ftp.software.ibm.com/pc/pcinstitute/psref/trwbook.pdf trwbook.pdf]<br />
** For i series models look for the official IBM specs listed in [ftp://ftp.software.ibm.com/pc/pcinstitute/psref/tiwbook.pdf tiwbook.pdf]<br />
** For 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]<br><br />
** Or try searching the IBM announcements letters [http://www.ibm.com/news/usalet/ here].<br />
<br />
==Available Models==<br />
{| cellspacing="0" cellpadding="5" border="1"<br />
|- style="text-align:left;"<br />
!Numbered!!A series!!G series!!R series!!S series!!SL series!!T series!!X series!!Z series!!W series!!others<br />
|- style="text-align:left;vertical-align:top;"<br />
|<br />
'''[[:Category:240 | ThinkPad 240]]'''<br />
<br />
'''[[:Category:240X | ThinkPad 240X]]'''<br />
<br />
'''[[:Category:240Z | ThinkPad 240Z]]'''<br />
<br />
'''[[:Category:390X | ThinkPad 390X]]'''<br />
<br />
'''[[:Category:560 | ThinkPad 560]]'''<br />
<br />
'''[[:Category:560E | ThinkPad 560E]]'''<br />
<br />
'''[[:Category:560X | ThinkPad 560X]]'''<br />
<br />
'''[[:Category:560Z | ThinkPad 560Z]]'''<br />
<br />
'''[[:Category:600 | ThinkPad 600]]'''<br />
<br />
'''[[:Category:600E | ThinkPad 600E]]'''<br />
<br />
'''[[:Category:600X | ThinkPad 600X]]'''<br />
<br />
'''[[:Category:700 | ThinkPad 700]]'''<br />
<br />
'''[[:Category:760ED | ThinkPad 760ED]]'''<br />
<br />
'''[[:Category:760XD | ThinkPad 760XD]]'''<br />
<br />
'''[[:Category:765L | ThinkPad 765L]]'''<br />
<br />
'''[[:Category:765D | ThinkPad 765D]]'''<br />
<br />
'''[[:Category:770 | ThinkPad 770]]'''<br />
<br />
'''[[:Category:770E | ThinkPad 770E]]'''<br />
*[[9548-510]]<br />
*[[9548-51U]]<br />
<br />
'''[[:Category:770X | ThinkPad 770X]]'''<br />
*[[9549-7AO]]<br />
'''[[:Category:770Z | ThinkPad 770Z]]'''<br />
<br />
||<br />
'''[[:Category:A20m | ThinkPad A20m]]'''<br />
<br />
'''[[:Category:A20p | ThinkPad A20p]]'''<br />
<br />
'''[[:Category:A21e | ThinkPad A21e]]'''<br />
<br />
'''[[:Category:A21m | ThinkPad A21m]]'''<br />
<br />
'''[[:Category:A21p | ThinkPad A21p]]'''<br />
<br />
'''[[:Category:A22e | ThinkPad A22e]]'''<br />
<br />
'''[[:Category:A22m | ThinkPad A22m]]'''<br />
<br />
'''[[:Category:A22p | ThinkPad A22p]]'''<br />
<br />
'''[[:Category:A30 | ThinkPad A30]]'''<br />
<br />
'''[[:Category:A30p | ThinkPad A30p]]'''<br />
<br />
'''[[:Category:A31 | ThinkPad A31]]'''<br />
<br />
'''[[:Category:A31p | ThinkPad A31p]]'''<br />
<br />
||<br />
'''[[:Category:G40 | ThinkPad G40]]'''<br />
<br />
'''[[:Category:G41 | ThinkPad G41]]'''<br />
<br />
'''[[:Category:G50 | ThinkPad G50]]'''<br />
<br />
||<br />
'''[[:Category:R30 | ThinkPad R30]]'''<br />
<br />
'''[[:Category:R31 | ThinkPad R31]]'''<br />
<br />
'''[[:Category:R32 | ThinkPad R32]]'''<br />
<br />
'''[[:Category:R40 | ThinkPad R40]]'''<br />
*[[2722-9BM]]<br />
*[[2722-DG1]]<br />
*[[2722-BDG]]<br />
<br />
'''[[:Category:R40e | ThinkPad R40e]]'''<br />
*[[1834-9LG]]<br />
*[[1834-J8G]]<br />
<br />
'''[[:Category:R50 | ThinkPad R50]]'''<br />
*[[1829-3HU]]<br />
<br />
'''[[:Category:R50p | ThinkPad R50p]]'''<br />
<br />
'''[[:Category:R50e | ThinkPad R50e]]'''<br />
*[[1834-J8G]]<br />
<br />
'''[[:Category:R51 | ThinkPad R51]]'''<br />
*[[1829-K6G]]<br />
*[[1829-L7G]]<br />
*[[1830-DG4]]<br />
<br />
'''[[:Category:R52 | ThinkPad R52]]'''<br />
*[[1846-B5G]]<br />
*[[1859-4AU]]<br />
<br />
'''[[:Category:R60 | ThinkPad R60]]'''<br />
*[[9456-6FG]]<br />
<br />
'''[[:Category:R60e | ThinkPad R60e]]'''<br />
*[[0657-3LG]]<br />
<br />
'''[[:Category:R61 | ThinkPad R61]]'''<br />
*[[7422-CTO]]<br />
*[[8918-5QG]]<br />
<br />
'''[[:Category:R400 | ThinkPad R400]]'''<br />
<br />
'''[[:Category:R500 | ThinkPad R500]]'''<br />
||<br />
'''[[:Category:S30|ThinkPad S30]]'''<br />
<br />
'''[[:Category:S31|ThinkPad S31]]'''<br />
||<br />
'''[[:Category:SL300|ThinkPad SL300]]'''<br />
<br />
'''[[:Category:SL400|ThinkPad SL400]]'''<br />
<br />
'''[[:Category:SL500|ThinkPad SL500]]'''<br />
||<br />
'''[[:Category:T20|ThinkPad T20]]'''<br />
*[[2647-44G]]<br />
<br />
'''[[:Category:T21|ThinkPad T21]]'''<br />
*[[2647-97G]]<br />
<br />
'''[[:Category:T22|ThinkPad T22]]'''<br />
<br />
'''[[:Category:T23 | ThinkPad T23]]'''<br />
*[[2647-9RG]]<br />
*[[2647-7G1]]<br />
*[[2647-8QU]]<br />
<br />
'''[[:Category:T30 | ThinkPad T30]]'''<br />
*[[2366-52U]]<br />
*[[2366-91U]]<br />
*[[2366-FBG]]<br />
*[[2366-GU1]]<br />
*[[2366-JBG]]<br />
*[[2366-R7G]]<br />
<br />
'''[[:Category:T40 | ThinkPad T40]]'''<br />
<br />
'''[[:Category:T40p | ThinkPad T40p]]'''<br />
*[[2373-G1U]]<br />
<br />
'''[[:Category:T41 | ThinkPad T41]]'''<br />
*[[2373-4QG]]<br />
<br />
'''[[:Category:T41p | ThinkPad T41p]]'''<br />
*[[2373-315]]<br />
*[[2373-GGG]]<br />
*[[2373-GHG]]<br />
*[[2374-GGU]]<br />
<br />
'''[[:Category:T42 | ThinkPad T42]]'''<br />
*[[2373-6ZG]]<br />
*[[2373-9XU]]<br />
*[[2373-B09]]<br />
*[[2373-CH6]]<br />
*[[2373-F1G]]<br />
*[[2373-F7G]]<br />
*[[2373-FWG]]<br />
*[[2373-M1G]]<br />
*[[2373-VUW]]<br />
*[[2373-WGK]]<br />
*[[2378-FVU]]<br />
*[[2378-RSU]]<br />
*[[2379-DXU]]<br />
<br />
'''[[:Category:T42p | ThinkPad T42p]]'''<br />
*[[2373-HTG]]<br />
*[[2373-W6M]]<br />
*[[2373-Y4M]]<br />
*[[2378-DYU]]<br />
*[[2378-KXM]]<br />
<br />
'''[[:Category:T43 | Thinkpad T43]]'''<br />
*[[2668-A1U]]<br />
*[[2668-C2U]]<br />
*[[2668-8AG]]<br />
*[[2668-98U]]<br />
<br />
'''[[:Category:T43p | Thinkpad T43p]]'''<br />
<br />
'''[[:Category:T60 | ThinkPad T60]]'''<br />
<br />
'''[[:Category:T60p | ThinkPad T60p]]'''<br />
<br />
'''[[:Category:T61 | ThinkPad T61]]'''<br />
<br />
'''[[:Category:T61p | ThinkPad T61p]]'''<br />
<br />
'''[[:Category:T400 | ThinkPad T400]]'''<br />
<br />
'''[[:Category:T500 | ThinkPad T500]]'''<br />
||<br />
'''[[:Category:X20 | ThinkPad X20]]'''<br />
<br />
'''[[:Category:X21 | ThinkPad X21]]'''<br />
*[[2662-66U]]<br />
<br />
'''[[:Category:X22 | ThinkPad X22]]'''<br />
*[[2662-95U]]<br />
*[[2662-9BU]]<br />
<br />
'''[[:Category:X23 | ThinkPad X23]]'''<br />
*[[2662-EVJ]]<br />
<br />
'''[[:Category:X24 | ThinkPad X24]]'''<br />
*[[2662-MQG]]<br />
<br />
'''[[:Category:X30 | ThinkPad X30]]'''<br />
<br />
'''[[:Category:X31 | ThinkPad X31]]'''<br />
<br />
'''[[:Category:X32 | ThinkPad X32]]'''<br />
<br />
'''[[:Category:X40 | ThinkPad X40]]'''<br />
*[[2371-AVC]]<br />
<br />
'''[[:Category:X41 | ThinkPad X41]]'''<br />
<br />
'''[[:Category:X41 Tablet | ThinkPad X41 Tablet]]'''<br />
<br />
'''[[:Category:X60 | ThinkPad X60]]'''<br />
*[[1706-BM3]]<br />
*[[1706-BM7]]<br />
<br />
'''[[:Category:X60s | ThinkPad X60s]]'''<br />
<br />
'''[[:Category:X60_Tablet | ThinkPad X60 Tablet]]'''<br />
<br />
'''[[:Category:X61 | ThinkPad X61]]'''<br />
<br />
'''[[:Category:X61s | ThinkPad X61s]]'''<br />
* [[7669-27G]]<br />
<br />
'''[[:Category:X61_Tablet | ThinkPad X61 Tablet]]'''<br />
* [[7762-95G]]<br />
<br />
'''[[:Category:X300 | ThinkPad X300]]'''<br />
<br />
'''[[:Category:X301 | ThinkPad X301]]'''<br />
<br />
'''[[:Category:X200 | ThinkPad X200]]'''<br />
<br />
'''[[:Category:X200 Tablet | ThinkPad X200 Tablet]]'''<br />
<br />
||<br />
<br />
'''[[:Category:Z60t | ThinkPad Z60t]]'''<br />
<br />
'''[[:Category:Z60m | ThinkPad Z60m]]'''<br />
<br />
'''[[:Category:Z61e | ThinkPad Z61e]]'''<br />
<br />
'''[[:Category:Z61t | ThinkPad Z61t]]'''<br />
<br />
'''[[:Category:Z61m | ThinkPad Z61m]]'''<br />
<br />
'''[[:Category:Z61p | ThinkPad Z61p]]'''<br />
||<br />
'''[[:Category:W500 | ThinkPad W500]]'''<br />
<br />
'''[[:Category:W700 | ThinkPad W700]]'''<br />
||<br />
'''[[:Template:I_Series | I Series]]'''<br />
'''[[:Category:PC110 | PC110]]'''<br />
*[[PC110]]<br />
<br />
'''[[:Category:TransNote|TransNote]]'''<br />
*[[2675-61G]]<br />
<br />
|}<br />
<br />
<br />
[[Category:Models]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200_Tablet&diff=39432Category:X200 Tablet2008-10-31T20:57:04Z<p>Mitchell: -category:X61_Tablet. a link was better.</p>
<hr />
<div>''See also: [[:Category:X200|X200]]''<br />
<br />
The X200T is very similar to the [[:Category:X200|X200]].<br />
This page is mainly for Tablet-specific information.<br />
<br />
The [[:Category:X61 Tablet|X61 Tablet]] is the earlier model. It continued to be manufactured even after X200T release in 2008 Q4.<br />
<br />
<br />
[[Category:X Series]]<br />
[[Category:X200]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200_Tablet&diff=39431Category:X200 Tablet2008-10-31T20:43:45Z<p>Mitchell: Created. Very similar to X200, but Tablet-ness seems sufficient to justify a separate article. As with X61_Tablet.</p>
<hr />
<div>''See also: [[:Category:X200|X200]]''<br />
<br />
The X200T is very similar to the [[:Category:X200|X200]].<br />
This page is mainly for Tablet-specific information.<br />
<br />
The [[:Category:X61 Tablet|X61 Tablet]] is the earlier model. It continued to be manufactured even after X200T release in 2008 Q4.<br />
<br />
<br />
[[Category:X Series]]<br />
[[Category:X200]]<br />
[[Category:X61 Tablet]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200&diff=39430Category:X2002008-10-31T20:23:09Z<p>Mitchell: /* Notes */ +Big cost difference of preconfigured vs custom x200's.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top" |<br />
=== ThinkPad X200 ===<br />
This page gives an overview of all ThinkPad X200 related topics.<br />
<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
==== Standard Features ====<br />
* One of the following processors:<br />
** [[Intel Core 2 Duo]] P8400, 2.26Ghz, 3MB L2, 1066Mhz FSB<br />
** [[Intel Core 2 Duo]] P8600, 2.40Ghz, 3MB L2, 1066Mhz FSB<br />
* [[Intel Graphics Media Accelerator 4700 MHD]] onboard graphics<br />
** 12" CCFL with 1280×800 (WXGA, 200 nit)<br />
* Support for up to 4GB DDR3-RAM [[PC3-8500]]<br />
** As of 27 Aug 2008, 4GB option is most available and '''only''' if you select upgrade to Windows Vista Business 64<br />
* One of the following hard drives:<br />
** 80,160,250 GB SATA 2.5" 5400/7200RPM<br />
** 320 GB 5400RPM<br />
** 200 GB Sata 2.5" 7200RPM with [[Full Disk Encryption (FDE)]]<br />
** 64 GB SATA 1.8" SSD<br />
* ThinkPad X200 Ultrabase<br />
** DVD-ROM, CD-RW/DVD-ROM, DVD Burner, Blu-ray<br />
* One of the following expansion slots:<br />
** 5-1 Media card Reader with Modem<br />
** 3-1 Media card Reader without Modem<br />
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[ThinkPad 11b/g Wireless LAN Mini-PCI Express Adapter III]]<br />
** [[Intel Wifi Link 5100 (AGN)]]<br />
** [[Intel Wifi Link 5300 (AGN)]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** Integrated WWAN with [[GPS]]<br />
**: ''I believe this is a category, which includes the AT&T and Verizon cards below, rather than a distinct option. Unconfirmed. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)''<br />
** Integrated Ultra Wide Band (UWB) for AT&T<br />
** Integrated Ultra Wide Band (UWB) for Verizon<br />
** WiMAX (late 2008)<br />
** [[Intel® Turbo Memory hard drive cache]] 2GB<br />
* Optional Features<br />
** Integrated camera<br />
** Integrated digital microphone<br />
** Security cable slot<br />
** [[Integrated Fingerprint Reader]]<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth]]<br />
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]<br />
* [[Active Protection System|IBM Active Protection System]]<br />
* TrackPoint '''only'''<br />
* One of the following batteries<br />
** 4-cell battery, 29 Wh (14.4 V, 2.0 Ah). up to 3.3 hr, 1.34kg<br />
** 4-cell *tablet, 29 Wh (14.4 V, 2.0 Ah).<br />
** 6-cell battery, 56 Wh (10.8 V, 5.2 Ah). up to 6.5 hr, 1.47kg<br />
** 8-cell *tablet, 66 Wh (14.4 V, 4.6 Ah)<br />
** 9-cell battery, 85 Wh (10.8 V, 7.8 Ah). up to 9.8 hr, 1.63kg (protrudes out back 22.8cm/.9in)<br />
</div><br />
<br />
==== Resources ====<br />
* [http://shop.lenovo.com/ISS_Static/merchandising/US/PDFs/x200_datasheet.pdf X200 Technical Specifications (pdf)]<br />
<br />
==== Reviews ====<br />
* [http://www.notebookreview.com/default.asp?newsID=4497 Notebookreview.com] 2008-07-15<br />
* [http://www.laptopmag.com/review/laptops/lenovo-thinkpad-x200.aspx Laptopmag.com] 2007-07-14<br />
* [http://reviews.cnet.com/laptops/lenovo-thinkpad-x200/4505-3121_7-33184078.html Cnet.com] 2008-08-14<br />
<br />
==== Notes ====<br />
Sometimes even basic information is hard to find. Here's a place for it.<br />
* The '''X200T does ''not'' support [http://en.wikipedia.org/wiki/Multi-touch Multi-touch]!'''. "MultiTouch" is Lenovo's misleading way of saying you can use your finger, in addition to a pen. The X200T uses Wacom's no-longer-cutting-edge non-multitouch screen. Only one contact point is available in hardware.<br />
*: Though, hypothetically, you could get two points from a MultiTouch screen, one from finger contact, and one from a stylus hovering over but not touching the screen - they are available in linux as separate devices. It's not clear it's ever been done.<br />
* [[GPS]] - If you have an optional WWAN card (AT&T or Verizon), you have GPS. ''unconfirmed''<br />
* The 5300 normally has 3 x 3 antennas. Adding the webcam reduces this to 2 x 2. ''unconfirmed''<br />
*: Any other conflicts? Bluetooth, etc?<br />
* X200T configured with SSD do '''not''' include the [[Active Protection System]] accelerometer. Despite alternate uses (theft deterrence). Confirmed by Lenovo US sales phone, 2008-10. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)<br />
* The [http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS108-588&appname=lenovous&language=en X200 Tablet Sleeve] supports 4 and 8 cell batteries, but not 9 cell. ''from announcement''<br />
* The X200 does not have a touchpad. For folks who really want one, a somewhat messy possibility ''might'' be [http://www.ergonomictouchpad.com/ergonomic_touchpad.php www.ergonomictouchpad.com] (never used - no endorsement) which looks vaguely like a [http://www.cirque.com/cpages/?page=17 Cirque TSM9925 Touchpad] with velcro and wire added.<br />
* There can be a ''big'' cost difference between preconfigured units from VARs, and custom configured units from shop.lenovo.com, as of 2008-10-31 ([http://alltp.blogspot.com/2008/10/heckuva-deal-on-lenovo-x200-tablet-pc.html examples]).<br />
<br />
[[Category:X Series]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=User:Mitchell&diff=39429User:Mitchell2008-10-31T20:12:44Z<p>Mitchell: ordered</p>
<hr />
<div>[[:Category:X200|X200]] Tablet on order.</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200&diff=39388Category:X2002008-10-30T01:36:33Z<p>Mitchell: /* Standard Features */ Added battery Wh's, and "X200 Tablet series" batteries, from Levono US site.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top" |<br />
=== ThinkPad X200 ===<br />
This page gives an overview of all ThinkPad X200 related topics.<br />
<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
==== Standard Features ====<br />
* One of the following processors:<br />
** [[Intel Core 2 Duo]] P8400, 2.26Ghz, 3MB L2, 1066Mhz FSB<br />
** [[Intel Core 2 Duo]] P8600, 2.40Ghz, 3MB L2, 1066Mhz FSB<br />
* [[Intel Graphics Media Accelerator 4700 MHD]] onboard graphics<br />
** 12" CCFL with 1280×800 (WXGA, 200 nit)<br />
* Support for up to 4GB DDR3-RAM [[PC3-8500]]<br />
** As of 27 Aug 2008, 4GB option is most available and '''only''' if you select upgrade to Windows Vista Business 64<br />
* One of the following hard drives:<br />
** 80,160,250 GB SATA 2.5" 5400/7200RPM<br />
** 320 GB 5400RPM<br />
** 200 GB Sata 2.5" 7200RPM with [[Full Disk Encryption (FDE)]]<br />
** 64 GB SATA 1.8" SSD<br />
* ThinkPad X200 Ultrabase<br />
** DVD-ROM, CD-RW/DVD-ROM, DVD Burner, Blu-ray<br />
* One of the following expansion slots:<br />
** 5-1 Media card Reader with Modem<br />
** 3-1 Media card Reader without Modem<br />
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[ThinkPad 11b/g Wireless LAN Mini-PCI Express Adapter III]]<br />
** [[Intel Wifi Link 5100 (AGN)]]<br />
** [[Intel Wifi Link 5300 (AGN)]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** Integrated WWAN with [[GPS]]<br />
**: ''I believe this is a category, which includes the AT&T and Verizon cards below, rather than a distinct option. Unconfirmed. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)''<br />
** Integrated Ultra Wide Band (UWB) for AT&T<br />
** Integrated Ultra Wide Band (UWB) for Verizon<br />
** WiMAX (late 2008)<br />
** [[Intel® Turbo Memory hard drive cache]] 2GB<br />
* Optional Features<br />
** Integrated camera<br />
** Integrated digital microphone<br />
** Security cable slot<br />
** [[Integrated Fingerprint Reader]]<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth]]<br />
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]<br />
* [[Active Protection System|IBM Active Protection System]]<br />
* TrackPoint '''only'''<br />
* One of the following batteries<br />
** 4-cell battery, 29 Wh (14.4 V, 2.0 Ah). up to 3.3 hr, 1.34kg<br />
** 4-cell *tablet, 29 Wh (14.4 V, 2.0 Ah).<br />
** 6-cell battery, 56 Wh (10.8 V, 5.2 Ah). up to 6.5 hr, 1.47kg<br />
** 8-cell *tablet, 66 Wh (14.4 V, 4.6 Ah)<br />
** 9-cell battery, 85 Wh (10.8 V, 7.8 Ah). up to 9.8 hr, 1.63kg (protrudes out back 22.8cm/.9in)<br />
</div><br />
<br />
==== Resources ====<br />
* [http://shop.lenovo.com/ISS_Static/merchandising/US/PDFs/x200_datasheet.pdf X200 Technical Specifications (pdf)]<br />
<br />
==== Reviews ====<br />
* [http://www.notebookreview.com/default.asp?newsID=4497 Notebookreview.com] 2008-07-15<br />
* [http://www.laptopmag.com/review/laptops/lenovo-thinkpad-x200.aspx Laptopmag.com] 2007-07-14<br />
* [http://reviews.cnet.com/laptops/lenovo-thinkpad-x200/4505-3121_7-33184078.html Cnet.com] 2008-08-14<br />
<br />
==== Notes ====<br />
Sometimes even basic information is hard to find. Here's a place for it.<br />
* The '''X200T does ''not'' support [http://en.wikipedia.org/wiki/Multi-touch Multi-touch]!'''. "MultiTouch" is Lenovo's misleading way of saying you can use your finger, in addition to a pen. The X200T uses Wacom's no-longer-cutting-edge non-multitouch screen. Only one contact point is available in hardware.<br />
*: Though, hypothetically, you could get two points from a MultiTouch screen, one from finger contact, and one from a stylus hovering over but not touching the screen - they are available in linux as separate devices. It's not clear it's ever been done.<br />
* [[GPS]] - If you have an optional WWAN card (AT&T or Verizon), you have GPS. ''unconfirmed''<br />
* The 5300 normally has 3 x 3 antennas. Adding the webcam reduces this to 2 x 2. ''unconfirmed''<br />
*: Any other conflicts? Bluetooth, etc?<br />
* X200T configured with SSD do '''not''' include the [[Active Protection System]] accelerometer. Despite alternate uses (theft deterrence). Confirmed by Lenovo US sales phone, 2008-10. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)<br />
* The [http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS108-588&appname=lenovous&language=en X200 Tablet Sleeve] supports 4 and 8 cell batteries, but not 9 cell. ''from announcement''<br />
* The X200 does not have a touchpad. For folks who really want one, a somewhat messy possibility ''might'' be [http://www.ergonomictouchpad.com/ergonomic_touchpad.php www.ergonomictouchpad.com] (never used - no endorsement) which looks vaguely like a [http://www.cirque.com/cpages/?page=17 Cirque TSM9925 Touchpad] with velcro and wire added.<br />
<br />
<br />
[[Category:X Series]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200&diff=39387Category:X2002008-10-30T01:17:48Z<p>Mitchell: /* Notes */ X200 Tablet Sleeve is now listed.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top" |<br />
=== ThinkPad X200 ===<br />
This page gives an overview of all ThinkPad X200 related topics.<br />
<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
==== Standard Features ====<br />
* One of the following processors:<br />
** [[Intel Core 2 Duo]] P8400, 2.26Ghz, 3MB L2, 1066Mhz FSB<br />
** [[Intel Core 2 Duo]] P8600, 2.40Ghz, 3MB L2, 1066Mhz FSB<br />
* [[Intel Graphics Media Accelerator 4700 MHD]] onboard graphics<br />
** 12" CCFL with 1280×800 (WXGA, 200 nit)<br />
* Support for up to 4GB DDR3-RAM [[PC3-8500]]<br />
** As of 27 Aug 2008, 4GB option is most available and '''only''' if you select upgrade to Windows Vista Business 64<br />
* One of the following hard drives:<br />
** 80,160,250 GB SATA 2.5" 5400/7200RPM<br />
** 320 GB 5400RPM<br />
** 200 GB Sata 2.5" 7200RPM with [[Full Disk Encryption (FDE)]]<br />
** 64 GB SATA 1.8" SSD<br />
* ThinkPad X200 Ultrabase<br />
** DVD-ROM, CD-RW/DVD-ROM, DVD Burner, Blu-ray<br />
* One of the following expansion slots:<br />
** 5-1 Media card Reader with Modem<br />
** 3-1 Media card Reader without Modem<br />
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[ThinkPad 11b/g Wireless LAN Mini-PCI Express Adapter III]]<br />
** [[Intel Wifi Link 5100 (AGN)]]<br />
** [[Intel Wifi Link 5300 (AGN)]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** Integrated WWAN with [[GPS]]<br />
**: ''I believe this is a category, which includes the AT&T and Verizon cards below, rather than a distinct option. Unconfirmed. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)''<br />
** Integrated Ultra Wide Band (UWB) for AT&T<br />
** Integrated Ultra Wide Band (UWB) for Verizon<br />
** WiMAX (late 2008)<br />
** [[Intel® Turbo Memory hard drive cache]] 2GB<br />
* Optional Features<br />
** Integrated camera<br />
** Integrated digital microphone<br />
** Security cable slot<br />
** [[Integrated Fingerprint Reader]]<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth]]<br />
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]<br />
* [[Active Protection System|IBM Active Protection System]]<br />
* TrackPoint '''only'''<br />
* One of the following batteries<br />
** 4-cell battery, up to 3.3 hr, 1.34kg<br />
** 6-cell battery, up to 6.5 hr, 1.47kg<br />
** 8-cell battery<br />
** 9-cell battery, up to 9.8 hr, 1.63kg (protrudes out back 22.8cm/.9in)<br />
</div><br />
<br />
==== Resources ====<br />
* [http://shop.lenovo.com/ISS_Static/merchandising/US/PDFs/x200_datasheet.pdf X200 Technical Specifications (pdf)]<br />
<br />
==== Reviews ====<br />
* [http://www.notebookreview.com/default.asp?newsID=4497 Notebookreview.com] 2008-07-15<br />
* [http://www.laptopmag.com/review/laptops/lenovo-thinkpad-x200.aspx Laptopmag.com] 2007-07-14<br />
* [http://reviews.cnet.com/laptops/lenovo-thinkpad-x200/4505-3121_7-33184078.html Cnet.com] 2008-08-14<br />
<br />
==== Notes ====<br />
Sometimes even basic information is hard to find. Here's a place for it.<br />
* The '''X200T does ''not'' support [http://en.wikipedia.org/wiki/Multi-touch Multi-touch]!'''. "MultiTouch" is Lenovo's misleading way of saying you can use your finger, in addition to a pen. The X200T uses Wacom's no-longer-cutting-edge non-multitouch screen. Only one contact point is available in hardware.<br />
*: Though, hypothetically, you could get two points from a MultiTouch screen, one from finger contact, and one from a stylus hovering over but not touching the screen - they are available in linux as separate devices. It's not clear it's ever been done.<br />
* [[GPS]] - If you have an optional WWAN card (AT&T or Verizon), you have GPS. ''unconfirmed''<br />
* The 5300 normally has 3 x 3 antennas. Adding the webcam reduces this to 2 x 2. ''unconfirmed''<br />
*: Any other conflicts? Bluetooth, etc?<br />
* X200T configured with SSD do '''not''' include the [[Active Protection System]] accelerometer. Despite alternate uses (theft deterrence). Confirmed by Lenovo US sales phone, 2008-10. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)<br />
* The [http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS108-588&appname=lenovous&language=en X200 Tablet Sleeve] supports 4 and 8 cell batteries, but not 9 cell. ''from announcement''<br />
* The X200 does not have a touchpad. For folks who really want one, a somewhat messy possibility ''might'' be [http://www.ergonomictouchpad.com/ergonomic_touchpad.php www.ergonomictouchpad.com] (never used - no endorsement) which looks vaguely like a [http://www.cirque.com/cpages/?page=17 Cirque TSM9925 Touchpad] with velcro and wire added.<br />
<br />
<br />
[[Category:X Series]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200&diff=39370Category:X2002008-10-28T20:59:32Z<p>Mitchell: /* ThinkPad X200 */ mention 8-cell battery.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top" |<br />
=== ThinkPad X200 ===<br />
This page gives an overview of all ThinkPad X200 related topics.<br />
<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
==== Standard Features ====<br />
* One of the following processors:<br />
** [[Intel Core 2 Duo]] P8400, 2.26Ghz, 3MB L2, 1066Mhz FSB<br />
** [[Intel Core 2 Duo]] P8600, 2.40Ghz, 3MB L2, 1066Mhz FSB<br />
* [[Intel Graphics Media Accelerator 4700 MHD]] onboard graphics<br />
** 12" CCFL with 1280×800 (WXGA, 200 nit)<br />
* Support for up to 4GB DDR3-RAM [[PC3-8500]]<br />
** As of 27 Aug 2008, 4GB option is most available and '''only''' if you select upgrade to Windows Vista Business 64<br />
* One of the following hard drives:<br />
** 80,160,250 GB SATA 2.5" 5400/7200RPM<br />
** 320 GB 5400RPM<br />
** 200 GB Sata 2.5" 7200RPM with [[Full Disk Encryption (FDE)]]<br />
** 64 GB SATA 1.8" SSD<br />
* ThinkPad X200 Ultrabase<br />
** DVD-ROM, CD-RW/DVD-ROM, DVD Burner, Blu-ray<br />
* One of the following expansion slots:<br />
** 5-1 Media card Reader with Modem<br />
** 3-1 Media card Reader without Modem<br />
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[ThinkPad 11b/g Wireless LAN Mini-PCI Express Adapter III]]<br />
** [[Intel Wifi Link 5100 (AGN)]]<br />
** [[Intel Wifi Link 5300 (AGN)]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** Integrated WWAN with [[GPS]]<br />
**: ''I believe this is a category, which includes the AT&T and Verizon cards below, rather than a distinct option. Unconfirmed. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)''<br />
** Integrated Ultra Wide Band (UWB) for AT&T<br />
** Integrated Ultra Wide Band (UWB) for Verizon<br />
** WiMAX (late 2008)<br />
** [[Intel® Turbo Memory hard drive cache]] 2GB<br />
* Optional Features<br />
** Integrated camera<br />
** Integrated digital microphone<br />
** Security cable slot<br />
** [[Integrated Fingerprint Reader]]<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth]]<br />
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]<br />
* [[Active Protection System|IBM Active Protection System]]<br />
* TrackPoint '''only'''<br />
* One of the following batteries<br />
** 4-cell battery, up to 3.3 hr, 1.34kg<br />
** 6-cell battery, up to 6.5 hr, 1.47kg<br />
** 8-cell battery<br />
** 9-cell battery, up to 9.8 hr, 1.63kg (protrudes out back 22.8cm/.9in)<br />
</div><br />
<br />
==== Resources ====<br />
* [http://shop.lenovo.com/ISS_Static/merchandising/US/PDFs/x200_datasheet.pdf X200 Technical Specifications (pdf)]<br />
<br />
==== Reviews ====<br />
* [http://www.notebookreview.com/default.asp?newsID=4497 Notebookreview.com] 2008-07-15<br />
* [http://www.laptopmag.com/review/laptops/lenovo-thinkpad-x200.aspx Laptopmag.com] 2007-07-14<br />
* [http://reviews.cnet.com/laptops/lenovo-thinkpad-x200/4505-3121_7-33184078.html Cnet.com] 2008-08-14<br />
<br />
==== Notes ====<br />
Sometimes even basic information is hard to find. Here's a place for it.<br />
* The '''X200T does ''not'' support [http://en.wikipedia.org/wiki/Multi-touch Multi-touch]!'''. "MultiTouch" is Lenovo's misleading way of saying you can use your finger, in addition to a pen. The X200T uses Wacom's no-longer-cutting-edge non-multitouch screen. Only one contact point is available in hardware.<br />
*: Though, hypothetically, you could get two points from a MultiTouch screen, one from finger contact, and one from a stylus hovering over but not touching the screen - they are available in linux as separate devices. It's not clear it's ever been done.<br />
* [[GPS]] - If you have an optional WWAN card (AT&T or Verizon), you have GPS. ''unconfirmed''<br />
* The 5300 normally has 3 x 3 antennas. Adding the webcam reduces this to 2 x 2. ''unconfirmed''<br />
*: Any other conflicts? Bluetooth, etc?<br />
* X200T configured with SSD do '''not''' include the [[Active Protection System]] accelerometer. Despite alternate uses (theft deterrence). Confirmed by Lenovo US sales phone, 2008-10. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)<br />
* The [http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS108-588&appname=lenovous&language=en X200 Tablet Sleeve] supports 4 and 8 cell batteries, but not 9 cell. ''from announcement''<br />
*: As of 2008-10-28, it's not yet listed in the US web site Accessory list.<br />
* The X200 does not have a touchpad. For folks who really want one, a somewhat messy possibility ''might'' be [http://www.ergonomictouchpad.com/ergonomic_touchpad.php www.ergonomictouchpad.com] (never used - no endorsement) which looks vaguely like a [http://www.cirque.com/cpages/?page=17 Cirque TSM9925 Touchpad] with velcro and wire added.<br />
<br />
<br />
[[Category:X Series]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Category:X200&diff=39369Category:X2002008-10-28T20:54:42Z<p>Mitchell: +Notes section. +assorted notes. +tag GPS spec as possible misunderstanding.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top" |<br />
=== ThinkPad X200 ===<br />
This page gives an overview of all ThinkPad X200 related topics.<br />
<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
==== Standard Features ====<br />
* One of the following processors:<br />
** [[Intel Core 2 Duo]] P8400, 2.26Ghz, 3MB L2, 1066Mhz FSB<br />
** [[Intel Core 2 Duo]] P8600, 2.40Ghz, 3MB L2, 1066Mhz FSB<br />
* [[Intel Graphics Media Accelerator 4700 MHD]] onboard graphics<br />
** 12" CCFL with 1280×800 (WXGA, 200 nit)<br />
* Support for up to 4GB DDR3-RAM [[PC3-8500]]<br />
** As of 27 Aug 2008, 4GB option is most available and '''only''' if you select upgrade to Windows Vista Business 64<br />
* One of the following hard drives:<br />
** 80,160,250 GB SATA 2.5" 5400/7200RPM<br />
** 320 GB 5400RPM<br />
** 200 GB Sata 2.5" 7200RPM with [[Full Disk Encryption (FDE)]]<br />
** 64 GB SATA 1.8" SSD<br />
* ThinkPad X200 Ultrabase<br />
** DVD-ROM, CD-RW/DVD-ROM, DVD Burner, Blu-ray<br />
* One of the following expansion slots:<br />
** 5-1 Media card Reader with Modem<br />
** 3-1 Media card Reader without Modem<br />
* [[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[ThinkPad 11b/g Wireless LAN Mini-PCI Express Adapter III]]<br />
** [[Intel Wifi Link 5100 (AGN)]]<br />
** [[Intel Wifi Link 5300 (AGN)]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** Integrated WWAN with [[GPS]]<br />
**: ''I believe this is a category, which includes the AT&T and Verizon cards below, rather than a distinct option. Unconfirmed. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)''<br />
** Integrated Ultra Wide Band (UWB) for AT&T<br />
** Integrated Ultra Wide Band (UWB) for Verizon<br />
** WiMAX (late 2008)<br />
** [[Intel® Turbo Memory hard drive cache]] 2GB<br />
* Optional Features<br />
** Integrated camera<br />
** Integrated digital microphone<br />
** Security cable slot<br />
** [[Integrated Fingerprint Reader]]<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|Bluetooth]]<br />
* [[Embedded Security Subsystem|IBM Embedded Security Subsystem 2.0]]<br />
* [[Active Protection System|IBM Active Protection System]]<br />
* TrackPoint '''only'''<br />
* One of the following batteries<br />
** 4-cell battery, up to 3.3 hr, 1.34kg<br />
** 6-cell battery, up to 6.5 hr, 1.47kg<br />
** 9-cell battery, up to 9.8 hr, 1.63kg (protrudes out back 22.8cm/.9in)<br />
</div><br />
<br />
==== Resources ====<br />
* [http://shop.lenovo.com/ISS_Static/merchandising/US/PDFs/x200_datasheet.pdf X200 Technical Specifications (pdf)]<br />
<br />
==== Reviews ====<br />
* [http://www.notebookreview.com/default.asp?newsID=4497 Notebookreview.com] 2008-07-15<br />
* [http://www.laptopmag.com/review/laptops/lenovo-thinkpad-x200.aspx Laptopmag.com] 2007-07-14<br />
* [http://reviews.cnet.com/laptops/lenovo-thinkpad-x200/4505-3121_7-33184078.html Cnet.com] 2008-08-14<br />
<br />
==== Notes ====<br />
Sometimes even basic information is hard to find. Here's a place for it.<br />
* The '''X200T does ''not'' support [http://en.wikipedia.org/wiki/Multi-touch Multi-touch]!'''. "MultiTouch" is Lenovo's misleading way of saying you can use your finger, in addition to a pen. The X200T uses Wacom's no-longer-cutting-edge non-multitouch screen. Only one contact point is available in hardware.<br />
*: Though, hypothetically, you could get two points from a MultiTouch screen, one from finger contact, and one from a stylus hovering over but not touching the screen - they are available in linux as separate devices. It's not clear it's ever been done.<br />
* [[GPS]] - If you have an optional WWAN card (AT&T or Verizon), you have GPS. ''unconfirmed''<br />
* The 5300 normally has 3 x 3 antennas. Adding the webcam reduces this to 2 x 2. ''unconfirmed''<br />
*: Any other conflicts? Bluetooth, etc?<br />
* X200T configured with SSD do '''not''' include the [[Active Protection System]] accelerometer. Despite alternate uses (theft deterrence). Confirmed by Lenovo US sales phone, 2008-10. [[User:Mitchell|Mitchell]] 21:54, 28 October 2008 (CET)<br />
* The [http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS108-588&appname=lenovous&language=en X200 Tablet Sleeve] supports 4 and 8 cell batteries, but not 9 cell. ''from announcement''<br />
*: As of 2008-10-28, it's not yet listed in the US web site Accessory list.<br />
* The X200 does not have a touchpad. For folks who really want one, a somewhat messy possibility ''might'' be [http://www.ergonomictouchpad.com/ergonomic_touchpad.php www.ergonomictouchpad.com] (never used - no endorsement) which looks vaguely like a [http://www.cirque.com/cpages/?page=17 Cirque TSM9925 Touchpad] with velcro and wire added.<br />
<br />
<br />
[[Category:X Series]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Active_Protection_System&diff=39368Active Protection System2008-10-28T20:49:24Z<p>Mitchell: /* See also */ tweak a link</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:APS.jpg|IBM Active Protection System]] __NOTOC__<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
=== The Active Protection System ===<br />
With the new series of ThinkPads IBM introduced the Active Protection System (APS) in 2003. The APS is a protection system for the ThinkPad's internal harddrive. A sensor inside the ThinkPad recognizes when the notebook is accelerated. A software applet then is triggered to park the harddisk. This way the risk of data loss in case of when the notebook is dropped is significantly reduced since the read/write head of the harddrive is parked and hence can't crash onto the platter when the notebook drops onto the floor.<br />
<br />
The hardware sensor is capable of not only recognizing acceleration of the notebook, but also (to a certain degree) of its whole orientation in space, relative to gravity's axis. Furthermore, having the actual control put into software, its functionality is extendable and it gives chance to implement features like the "ignore minor shocks" feature which is present in the Windows based control applet. (This feature prevents the harddrive from parking in case of minor regular shocks such as occur when in a train or car.)<br />
<br />
The measurements are physically performed by an [[Analog Devices ADXL320 accelerometer]] chip, managed by the [[Embedded Controller Chips|embedded controller]].<br />
</div><br />
|}<br />
<br />
* [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/aps2mst.pdf IBM Active Protection System Whitepaper]<br />
<br />
==Hard-disk Support==<br />
<br />
HD-APS requires a hard-disk with [http://www.hitachigst.com/hdd/research/storage/hdi/loadunload.html head unload ramp technology] and also support on the hard-disk firmware to unload heads without flushing the disk cache. This is required, because as soon as the APS system detects a shock is imminent, the system has less than 500ms to prepare for the shock.<br />
<br />
Unloading heads without flushing the cache is done using the [http://www.t13.org/Documents/UploadedDocuments/docs2003/e03120r5.pdf optional Unload Immediate feature of the IDLE IMMEDIATE ATA command]. It finishes whatever sector write is in-flight, and immediately moves the heads to the unload ramp. Without this command, hard-disk APS cannot be trusted, as disks with big caches can take a lot of time to write it all to disk.<br />
<br />
So far, only hard-disks with IBM APS firmware, as well as the consumer Fujitsu HV2060AH/MHV2100AH/MHV2120AH HDs have been found to implement all the necessary functions. Head unload technology is reasonably common in modern laptop disks, but the APS firmware is very rare in regular consumer products. Please note that newer Apple notebooks also support APS, so it is somewhat likely that their disks also support unload immediate or a similar feature.<br />
<br />
==Linux Support==<br />
Linux support is in development.<br />
<br />
This feature definitely depends on software and there is no hardware or BIOS-only way of making it work.<br />
IBM made contradictory statements about their willingness to release the specifications of the hardware sensor and its API to the linux community or some developers. Although a lot of developers and other interested people from the OpenSource community actively contacted IBM to get the specs, in fact they never got them.<br />
<br />
However, after first efforts of [http://www.kernelthread.com/software/ams/ Amit Singh on a PowerBook] and [http://www.almaden.ibm.com/cs/people/marksmith/tpaps.html Mark Smith on a ThinkPad], the [[HDAPS]] project was founded to produce a linux kernel driver for the acceleration sensor and a user space application to monitor it. Later, a kernel patch to enable harddisk parking followed.<br />
<br />
See [[How to protect the harddisk through APS]] for instructions and [[Problem with APS harddisk parking]] for Troubleshooting.<br />
<br />
Furthermore, a list of alternative applications like theft alarm and others can be found on the [[HDAPS]] driver page.<br />
<br />
==Tilt detection field tests==<br />
Using Perl code for WinXP:<br />
<pre><br />
use Win32API::File qw(:ALL);<br />
sub get_tilt {<br />
my $file = createFile("//./ShockMgr", "r ke") or die "Can't get ShockMgr device";<br />
DeviceIoControl($file, 0x733fc, [], 0, my($buf), 0x24, my($bytes), []);<br />
my @data = unpack "x4s*", $buf;<br />
return @data[1, 0];<br />
}<br />
</pre><br />
my T42 gives values of roughly 490 when at rest in normal upright position with base parallel to the ground. As I gently tilt the T42 through all possible x or y angles, the values range from about 335-645, meaning a resolution of about 155 units per Earth gravity. This seems to suggest that the operating range of the APS is actually about +-3 gs, although the ADXL320 is supposed to allow +-5 gs.<br />
<br />
As the tilt angle is the arcsine of the normalized APS reading, the Thinkpad is most tilt sensitive when in a normal upright position with base parallel to the ground. In this position, the tilt resolution is about 0.35 - 0.4 degrees. At maximum tilt, the resolution is much worse, about 6.5 degrees.<br />
<br />
Shouldn't matter much, but my tests are at an elevation of about 60 meters above sea level.<br />
<br />
===More field tests===<br />
When placed on a reasonably flat and reasonably horizontal work surface my T43 provides readings of about x=503 and y=569. I wrote a command-line application in C# (using the .NET DllImport annotation to access the sensor.dll API) to log the sensor readings at some interval. With 150ms sampling I found the following extreme values: 335 to 654 for x, and 409 to 723 for y. <br />
<br />
<pre><br />
x: 494.5 +/- 159.5<br />
y: 566.0 +/- 157.0<br />
</pre><br />
<br />
Based on the maximum and minimum x and y readings I calculated the above "zero" and range values in order to convert the sensor readings to degrees and wrapped this up in a small graphical application for Windows. My data, source code, executables and a complete description can be found [http://www.stanford.edu/~bsuter/thinkpad-accelerometer/ here].<br />
<br />
== See also ==<br />
* [[HDAPS]] - IBM Active Protection System Linux Driver. Shows various applications of APS.<br />
<br />
==Related Links==<br />
*[http://www.stanford.edu/~bsuter/thinkpad-accelerometer/ Sensor Data, Calibration, command-line and GUI executables for Windows and C# .NET source code]<br />
*[http://www.ibm.com/developerworks/blogs/page/johnston?entry=python_and_thinkpad Python and ThinkPad, a Python script for Windows to access the sensor data]<br />
*[http://www.pc.ibm.com/presentations/us/thinkvantage/56/index.html?shortcut=aps& IBMs ThinkVantage&trade; Technologies Flash presentation - Active Protection System]<br />
*[http://www.musatcha.com/software/LaptopTheftPrevention/ Motion-Sensitive anti-theft alarm for ThinkPads with APS]<br />
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw01Knock-Knock IBM HDAPS/Linux HDAPS information page]<br />
*[http://hdaps.sourceforge.net HDAPS project page]<br />
*[http://sourceforge.net/mailarchive/forum.php?forum=hdaps-devel HDAPS-devel list archive]<br />
<br />
==Models featuring this Technology==<br />
*ThinkPad {{R50}}, {{R50p}}, {{R51}}, {{R52}}, {{R60}}, {{R61}}, {{R61i}}<br />
*ThinkPad {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}<br />
*ThinkPad {{X40}}, {{X41}}, {{X41_Tablet}}, {{X60}}, {{X60s}}, {{X60_Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}, {{X200}}<br />
*ThinkPad {{Z60m}}, {{Z60t}}, {{Z61m}}, {{Z61t}}, {{Z61e}}<br />
<br />
<br />
[[Category:Glossary]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Global_Positioning_System&diff=39365Global Positioning System2008-10-28T20:04:55Z<p>Mitchell: +link to laptopmag's x300 gps-test-drive</p>
<hr />
<div>Global Positioning System (GPS) is optionally supported by several models.<br />
<br />
{{stub}}<br />
<br />
=== Related sites ===<br />
* http://blog.laptopmag.com/lenovo-thinkpad-x300-diary-gps-test-drive</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Global_Positioning_System&diff=39364Global Positioning System2008-10-28T20:02:16Z<p>Mitchell: rephrase - it's not clear support is/will-be always associated with WWAN cards.</p>
<hr />
<div>Global Positioning System (GPS) is optionally supported by several models.<br />
<br />
{{stub}}</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=GPS&diff=39363GPS2008-10-28T19:59:41Z<p>Mitchell: Created. Redirect to Global_Positioning_System.</p>
<hr />
<div>#REDIRECT [[Global Positioning System]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Global_Positioning_System&diff=39362Global Positioning System2008-10-28T19:58:23Z<p>Mitchell: Created. Stub.</p>
<hr />
<div>Global Positioning System (GPS) is supported by the WWAN cards available in several models.<br />
<br />
{{stub}}</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=Active_Protection_System&diff=39361Active Protection System2008-10-28T19:54:45Z<p>Mitchell: +"See also" section. +HDAPS link in "See also" (the current one is buried in the text)</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:APS.jpg|IBM Active Protection System]] __NOTOC__<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
=== The Active Protection System ===<br />
With the new series of ThinkPads IBM introduced the Active Protection System (APS) in 2003. The APS is a protection system for the ThinkPad's internal harddrive. A sensor inside the ThinkPad recognizes when the notebook is accelerated. A software applet then is triggered to park the harddisk. This way the risk of data loss in case of when the notebook is dropped is significantly reduced since the read/write head of the harddrive is parked and hence can't crash onto the platter when the notebook drops onto the floor.<br />
<br />
The hardware sensor is capable of not only recognizing acceleration of the notebook, but also (to a certain degree) of its whole orientation in space, relative to gravity's axis. Furthermore, having the actual control put into software, its functionality is extendable and it gives chance to implement features like the "ignore minor shocks" feature which is present in the Windows based control applet. (This feature prevents the harddrive from parking in case of minor regular shocks such as occur when in a train or car.)<br />
<br />
The measurements are physically performed by an [[Analog Devices ADXL320 accelerometer]] chip, managed by the [[Embedded Controller Chips|embedded controller]].<br />
</div><br />
|}<br />
<br />
* [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/aps2mst.pdf IBM Active Protection System Whitepaper]<br />
<br />
==Hard-disk Support==<br />
<br />
HD-APS requires a hard-disk with [http://www.hitachigst.com/hdd/research/storage/hdi/loadunload.html head unload ramp technology] and also support on the hard-disk firmware to unload heads without flushing the disk cache. This is required, because as soon as the APS system detects a shock is imminent, the system has less than 500ms to prepare for the shock.<br />
<br />
Unloading heads without flushing the cache is done using the [http://www.t13.org/Documents/UploadedDocuments/docs2003/e03120r5.pdf optional Unload Immediate feature of the IDLE IMMEDIATE ATA command]. It finishes whatever sector write is in-flight, and immediately moves the heads to the unload ramp. Without this command, hard-disk APS cannot be trusted, as disks with big caches can take a lot of time to write it all to disk.<br />
<br />
So far, only hard-disks with IBM APS firmware, as well as the consumer Fujitsu HV2060AH/MHV2100AH/MHV2120AH HDs have been found to implement all the necessary functions. Head unload technology is reasonably common in modern laptop disks, but the APS firmware is very rare in regular consumer products. Please note that newer Apple notebooks also support APS, so it is somewhat likely that their disks also support unload immediate or a similar feature.<br />
<br />
==Linux Support==<br />
Linux support is in development.<br />
<br />
This feature definitely depends on software and there is no hardware or BIOS-only way of making it work.<br />
IBM made contradictory statements about their willingness to release the specifications of the hardware sensor and its API to the linux community or some developers. Although a lot of developers and other interested people from the OpenSource community actively contacted IBM to get the specs, in fact they never got them.<br />
<br />
However, after first efforts of [http://www.kernelthread.com/software/ams/ Amit Singh on a PowerBook] and [http://www.almaden.ibm.com/cs/people/marksmith/tpaps.html Mark Smith on a ThinkPad], the [[HDAPS]] project was founded to produce a linux kernel driver for the acceleration sensor and a user space application to monitor it. Later, a kernel patch to enable harddisk parking followed.<br />
<br />
See [[How to protect the harddisk through APS]] for instructions and [[Problem with APS harddisk parking]] for Troubleshooting.<br />
<br />
Furthermore, a list of alternative applications like theft alarm and others can be found on the [[HDAPS]] driver page.<br />
<br />
==Tilt detection field tests==<br />
Using Perl code for WinXP:<br />
<pre><br />
use Win32API::File qw(:ALL);<br />
sub get_tilt {<br />
my $file = createFile("//./ShockMgr", "r ke") or die "Can't get ShockMgr device";<br />
DeviceIoControl($file, 0x733fc, [], 0, my($buf), 0x24, my($bytes), []);<br />
my @data = unpack "x4s*", $buf;<br />
return @data[1, 0];<br />
}<br />
</pre><br />
my T42 gives values of roughly 490 when at rest in normal upright position with base parallel to the ground. As I gently tilt the T42 through all possible x or y angles, the values range from about 335-645, meaning a resolution of about 155 units per Earth gravity. This seems to suggest that the operating range of the APS is actually about +-3 gs, although the ADXL320 is supposed to allow +-5 gs.<br />
<br />
As the tilt angle is the arcsine of the normalized APS reading, the Thinkpad is most tilt sensitive when in a normal upright position with base parallel to the ground. In this position, the tilt resolution is about 0.35 - 0.4 degrees. At maximum tilt, the resolution is much worse, about 6.5 degrees.<br />
<br />
Shouldn't matter much, but my tests are at an elevation of about 60 meters above sea level.<br />
<br />
===More field tests===<br />
When placed on a reasonably flat and reasonably horizontal work surface my T43 provides readings of about x=503 and y=569. I wrote a command-line application in C# (using the .NET DllImport annotation to access the sensor.dll API) to log the sensor readings at some interval. With 150ms sampling I found the following extreme values: 335 to 654 for x, and 409 to 723 for y. <br />
<br />
<pre><br />
x: 494.5 +/- 159.5<br />
y: 566.0 +/- 157.0<br />
</pre><br />
<br />
Based on the maximum and minimum x and y readings I calculated the above "zero" and range values in order to convert the sensor readings to degrees and wrapped this up in a small graphical application for Windows. My data, source code, executables and a complete description can be found [http://www.stanford.edu/~bsuter/thinkpad-accelerometer/ here].<br />
<br />
== See also ==<br />
* [[HDAPS]] - IBM Active Protection System Linux Driver<br />
<br />
==Related Links==<br />
*[http://www.stanford.edu/~bsuter/thinkpad-accelerometer/ Sensor Data, Calibration, command-line and GUI executables for Windows and C# .NET source code]<br />
*[http://www.ibm.com/developerworks/blogs/page/johnston?entry=python_and_thinkpad Python and ThinkPad, a Python script for Windows to access the sensor data]<br />
*[http://www.pc.ibm.com/presentations/us/thinkvantage/56/index.html?shortcut=aps& IBMs ThinkVantage&trade; Technologies Flash presentation - Active Protection System]<br />
*[http://www.musatcha.com/software/LaptopTheftPrevention/ Motion-Sensitive anti-theft alarm for ThinkPads with APS]<br />
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw01Knock-Knock IBM HDAPS/Linux HDAPS information page]<br />
*[http://hdaps.sourceforge.net HDAPS project page]<br />
*[http://sourceforge.net/mailarchive/forum.php?forum=hdaps-devel HDAPS-devel list archive]<br />
<br />
==Models featuring this Technology==<br />
*ThinkPad {{R50}}, {{R50p}}, {{R51}}, {{R52}}, {{R60}}, {{R61}}, {{R61i}}<br />
*ThinkPad {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}<br />
*ThinkPad {{X40}}, {{X41}}, {{X41_Tablet}}, {{X60}}, {{X60s}}, {{X60_Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}, {{X200}}<br />
*ThinkPad {{Z60m}}, {{Z60t}}, {{Z61m}}, {{Z61t}}, {{Z61e}}<br />
<br />
<br />
[[Category:Glossary]]</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=User:Mitchell&diff=39360User:Mitchell2008-10-28T19:42:14Z<p>Mitchell: un-categorize myself.</p>
<hr />
<div>Contemplating purchase of an [[:Category:X200|X200]].</div>Mitchellhttps://www.thinkwiki.org/w/index.php?title=User:Mitchell&diff=39359User:Mitchell2008-10-28T19:38:21Z<p>Mitchell: Created. One line of context.</p>
<hr />
<div>Contemplating purchase of an {{X200}}.</div>Mitchell