https://www.thinkwiki.org/w/api.php?action=feedcontributions&user=Bugmenot1&feedformat=atomThinkWiki - User contributions [en]2024-03-28T21:15:37ZUser contributionsMediaWiki 1.31.12https://www.thinkwiki.org/w/index.php?title=DisplayPort&diff=59194DisplayPort2019-07-28T17:26:02Z<p>Bugmenot1: replace dead link</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
DisplayPort is a digital video connector, available on select ThinkPads<br />
<br />
</div><br />
|}<br />
<br />
* [[Wikipedia:DisplayPort| Wikipedia article on DisplayPort]]<br />
<br />
==ThinkPads featuring this technology==<br />
* Full size DisplayPort (DP) connector<br />
** {{L412}}, {{L512}}<br />
** {{R500}}<br />
** {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T420s}}, {{T500}}, {{T510}}, {{T510i}}, {{T520}}<br />
** {{W500}}, {{W510}}, {{W520}}, {{W700}}, {{W700ds}}, {{W701}}, {{W701ds}}<br />
** {{X301}},{{X220}}<br />
* Mini DisplayPort (mDP) connector<br />
** {{T430}}, {{T430s}}, {{T431}}, {{T440}}, {{T440s}}, {{T460s}}, {{T530}}<br />
** {{X230}}, {{X230s}}, {{X240}}<br />
<br />
==Port Replicators and Docks featuring this technology==<br />
Note, some have multiple Displayports<br />
* [[ThinkPad Mini Dock Series 3]]<br />
* [[ThinkPad Mini Dock Plus Series 3 - 170W]]<br />
* [[ThinkPad Mini Dock Plus Series 3 - 135W]]<br />
* [[ThinkPad Mini Dock Plus Series 3 - 90W]]<br />
* [[X200 UltraBase]]<br />
* [[W700 Mini Dock]]<br />
* [[W700 Mini Dock 2.0]]<br />
<br />
== DVI Pass-through ==<br />
<br />
Certain ThinkPad models have a DisplayPort connection which offers DVI pass-through.<br />
<br />
Check [https://web.archive.org/web/20090416232716/http://www-307.ibm.com/pc/support/site.wss/MIGR-72148.html ThinkPad Digital Video Interface (DVI) and DVI Pass-Through] for more information, and to see if a specific model and configuration is supported.<br />
<br />
== Audio Support ==<br />
<br />
There are reports that DisplayPort on some (possibly all) current thinkpads does not support audio. While there are adapters to convert DisplayPort to HDMI, the lack of audio makes it impossible to, for example, watch a DVD or Blu-Ray on an HDTV using the DisplayPort. [http://forums.lenovo.com/t5/W-Series-ThinkPad-Laptops/Displayport-to-HDMI-with-audio/td-p/68575 See this thread for more information]<br />
<br />
Audio over DisplayPort when used in conjunction with a DisplayPort to HDMI conversion cable is [http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/T410-T510-DisplayPort-features-audio/td-p/191530/page/3 confirmed] to work on T410 and T510 both on integrated and discrete graphics options on Windows systems.<br />
<br />
Audio support works out of the box on T410 and others when configured properly. A few minutes configuring the digital audio and or dolby 5.1 audio to use the dislplay port and it works. [[User:Lathama|Lathama]] ([[User talk:Lathama|talk]]) 22:46, 30 August 2013 (CEST)<br />
<br />
=== T410s ===<br />
<br />
The T410s supports audio pass-through via DisplayPort on recent Linux systems.<br />
<br />
With the Intel HD Audio modul selected recent linux kernels detect the DisplayPort<br />
audio as a separate output device:<br />
<br />
On 2.6.36-rc1 the following devices can be found in {{path|/proc/asound/*}}<br />
<br />
Codec: Intel IbexPeak HDMI<br />
Device: name="INTEL HDMI 0", type="HDMI", device=3<br />
Device: name="INTEL HDMI 1", type="HDMI", device=7<br />
<br />
If you want to pass Audio via DisplayPort you just have to switch to the Intel HDMI audio output device<br />
for the application in PulseAudio (didn't test with pure ALSA).<br />
<br />
=== W510 ===<br />
<br />
The more recent versions of the W510 with the Quadro FX 880M support audio and video out through DisplayPort. Tested with a DisplayPort to HDMI with Audio converter. Used alsa (no PulseAudio) and mplayer, 2.6.35-ARCH, using <code>mplayer -afm hwdts,hwac3 -ao alsa:noblock:device=hw=1.7</code> and nvidia driver version 256.53. Had to unmute with <code>alsamixer -c1</code>.<br />
<br />
=== W520 ===<br />
<br />
Verified audio is working with a port adapter, nvidia driver version 352.41, alsa, PulseAudio (possibly unnecessary). The BIOS setting for graphics is "Discrete graphics".<br />
<br />
=== X220 ===<br />
<br />
Pulseaudio detects and and stream audio out of the DisplayPort. Tested talking to a DisplayPort monitor, just needed to select one of the HDMI profiles in pavucontrol (Pulseaudio Volume Control) on the Configuration tab.<br />
<br />
== Problems ==<br />
<br />
=== T420s and T520 ===<br />
The BIOS for the {{T420s}} (and presumably also the {{T420}}) settings for _Graphics Device_ default to '''NVIDIA Optimus''' and the '''OS Detection for NVIDIA Optimus''' is set to '''Disabled''' which is not a good set of defaults for Linux since Optimus is only supported by Windows 7. To get the NVidia drivers working for Linux I had to set the '''Graphics Device''' to '''Discrete Graphics'''. This was as of 2011-11-26 using '''driver version 290.10'''. Then run '''sudo nvidia-xconfig'''. Both TwinView and Xinerama worked fine.<br />
<br />
The T520 also requires '''Discrete Graphics''' to use DisplayPort.<br />
<br />
=== Twinview using Displayport and DVI broken ===<br />
On my T410 mini-dock series 3, the displayport works unless I try to use it while using the DVI out as well.<br />
DVI+VGA works, but nvidia-settings dies horribly. Tried with 195.* and 260* drivers.<br />
<br />
I am using a displayport -> DVI adapter (displayport++ allows this).<br />
<br />
<b> FIX:</b><br />
Using Nouveau drivers instead of the nvidia binary blob allows my displayport to work in concert with the DVI out of my dock.<br />
This allows dual digital external displays. Attempting to activate the laptop monitor as well leads to problems.<br />
<br />
<b> ANOTHER FIX: </b><br />
Version 275* from the nvidia website allows me to use Displayport and DVI at the same time as well.<br />
<br />
== External Sources ==<br />
* [http://www-307.ibm.com/pc/support/site.wss/MIGR-72148.html ThinkPad Digital Video Interface (DVI) and DVI Pass-Through]<br />
* [http://www-307.ibm.com/pc/support/site.wss/MIGR-70321.html DisplayPort Monitor Cables - Overview]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Lenovo_Integrated_Smart_Card_Reader&diff=56691Lenovo Integrated Smart Card Reader2015-12-28T20:38:26Z<p>Bugmenot1: /* Identification */</p>
<hr />
<div>__NOTOC__<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 />
=== Features ===<br />
The smartcard reader can be used as an additional level of security, such that the user needs to put in his card (typically his badge), and provide a password.<br />
<br />
In addition it can also be used with other [https://en.wikipedia.org/wiki/Electronic_identity_card Electronic identity cards] such as the Belgium eID.<br />
<br />
More information about smartcards in general can be found at [https://en.wikipedia.org/wiki/Smart_card Wikipedia]<br />
* Interface: USB<br />
</div><br />
|style="vertical-align:top" |<br />
|}<br />
<br />
=== pcsclite's libccid driver ===<br />
The driver is maintained at [http://pcsclite.alioth.debian.org/ccid.html].<br />
* [http://packages.debian.org/libccid] - Debian binaries<br />
* [http://download.fedora.redhat.com/pub/fedora/linux/extras/development/] - Fedora binaries<br />
<br />
For Ubuntu (9.04, Jaunty Jackalope) users, a simple "sudo apt-get install libccid" is enough to get<br />
the reader working.<br />
[http://packages.ubuntu.com/jaunty/libccid] - Infos about the Ubuntu libccid package<br />
<br />
=== This chip may be found in ===<br />
USBID 17ef:1003 ChipsBnk<br />
* {{T61}}<br />
USBID ???<br />
* {{T400}}<br />
USBID 17ef:1003<br />
* {{T410}}<br />
* {{T420s}}<br />
* {{T430}}<br />
USBID 058f:9540 Alcor Micro Corp.<br />
* {{T450}}<br />
<br />
=== Identification ===<br />
Bus 006 Device 002: ID 17ef:1003 ChipsBnk <br />
Device Descriptor:<br />
bLength 18<br />
bDescriptorType 1<br />
bcdUSB 2.00<br />
bDeviceClass 0 (Defined at Interface level)<br />
bDeviceSubClass 0 <br />
bDeviceProtocol 0 <br />
bMaxPacketSize0 8<br />
idVendor 0x17ef ChipsBnk<br />
idProduct 0x1003 <br />
bcdDevice 1.00<br />
iManufacturer 1 <br />
iProduct 2 <br />
iSerial 0 <br />
bNumConfigurations 1<br />
Configuration Descriptor:<br />
bLength 9<br />
bDescriptorType 2<br />
wTotalLength 93<br />
bNumInterfaces 1<br />
bConfigurationValue 1<br />
iConfiguration 0 <br />
bmAttributes 0xa0<br />
(Bus Powered)<br />
Remote Wakeup<br />
MaxPower 100mA<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 0<br />
bAlternateSetting 0<br />
bNumEndpoints 3<br />
bInterfaceClass 11 Chip/SmartCard<br />
[[..]]<br />
<br />
And in my T410 it looks like this:<br />
<br />
Bus 002 Device 004: ID 17ef:1003 Lenovo <br />
Device Descriptor:<br />
bLength 18<br />
bDescriptorType 1<br />
bcdUSB 2.00<br />
bDeviceClass 0 (Defined at Interface level)<br />
bDeviceSubClass 0 <br />
bDeviceProtocol 0 <br />
bMaxPacketSize0 8<br />
idVendor 0x17ef Lenovo<br />
idProduct 0x1003 <br />
bcdDevice 1.00<br />
iManufacturer 1 Lenovo<br />
iProduct 2 Integrated Smart Card Reader<br />
iSerial 0 <br />
bNumConfigurations 1<br />
Configuration Descriptor:<br />
bLength 9<br />
bDescriptorType 2<br />
wTotalLength 93<br />
bNumInterfaces 1<br />
bConfigurationValue 1<br />
iConfiguration 0 <br />
bmAttributes 0xa0<br />
(Bus Powered)<br />
Remote Wakeup<br />
MaxPower 100mA<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 0<br />
bAlternateSetting 0<br />
bNumEndpoints 3<br />
bInterfaceClass 11 Chip/SmartCard<br />
bInterfaceSubClass 0 <br />
bInterfaceProtocol 0 <br />
iInterface 0 <br />
** UNRECOGNIZED: 36 21 00 01 00 07 03 00 00 00 a0 0f 00 00 a0 0f 00 00 00 00 2a 00 00 20 a1 07 00 00 fe 00 00 00 00 00 00 00 00 00 00 00 30 02 01 00 0f 01 00 00 00 00 00 00 00 01 <br />
[[..]]<br />
<br />
And in T430 it looks like this:<br />
<br />
Bus 001 Device 003: ID 17ef:1003 Lenovo Integrated Smart Card Reader<br />
Device Descriptor:<br />
bLength 18<br />
bDescriptorType 1<br />
bcdUSB 2.00<br />
bDeviceClass 0 (Defined at Interface level)<br />
bDeviceSubClass 0 <br />
bDeviceProtocol 0 <br />
bMaxPacketSize0 8<br />
idVendor 0x17ef Lenovo<br />
idProduct 0x1003 Integrated Smart Card Reader<br />
bcdDevice 1.00<br />
iManufacturer 1 Lenovo<br />
iProduct 2 Integrated Smart Card Reader<br />
iSerial 0 <br />
bNumConfigurations 1<br />
Configuration Descriptor:<br />
bLength 9<br />
bDescriptorType 2<br />
wTotalLength 93<br />
bNumInterfaces 1<br />
bConfigurationValue 1<br />
iConfiguration 0 <br />
bmAttributes 0xa0<br />
(Bus Powered)<br />
Remote Wakeup<br />
MaxPower 100mA<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 0<br />
bAlternateSetting 0<br />
bNumEndpoints 3<br />
bInterfaceClass 11 Chip/SmartCard<br />
bInterfaceSubClass 0 <br />
bInterfaceProtocol 0 <br />
iInterface 0 <br />
ChipCard Interface Descriptor:<br />
bLength 54<br />
bDescriptorType 33<br />
bcdCCID 1.00<br />
nMaxSlotIndex 0<br />
bVoltageSupport 7 5.0V 3.0V 1.8V <br />
dwProtocols 3 T=0 T=1<br />
dwDefaultClock 4000<br />
dwMaxiumumClock 4000<br />
bNumClockSupported 0<br />
dwDataRate 10752 bps<br />
dwMaxDataRate 500000 bps<br />
bNumDataRatesSupp. 0<br />
dwMaxIFSD 254<br />
dwSyncProtocols 00000000 <br />
dwMechanical 00000000 <br />
dwFeatures 00010230<br />
Auto clock change<br />
Auto baud rate change<br />
NAD value other than 0x00 accpeted<br />
TPDU level exchange<br />
<br />
[[..]]<br />
<br />
While the T450 looks like this:<br />
<br />
Bus 002 Device 003: ID 058f:9540 Alcor Micro Corp. <br />
Device Descriptor:<br />
bLength 18<br />
bDescriptorType 1<br />
bcdUSB 2.01<br />
bDeviceClass 0 (Defined at Interface level)<br />
bDeviceSubClass 0 <br />
bDeviceProtocol 0 <br />
bMaxPacketSize0 8<br />
idVendor 0x058f Alcor Micro Corp.<br />
idProduct 0x9540 <br />
bcdDevice 1.20<br />
iManufacturer 1 Generic<br />
iProduct 2 EMV Smartcard Reader<br />
iSerial 0 <br />
bNumConfigurations 1<br />
Configuration Descriptor:<br />
bLength 9<br />
bDescriptorType 2<br />
wTotalLength 93<br />
bNumInterfaces 1<br />
bConfigurationValue 1<br />
iConfiguration 0 <br />
bmAttributes 0xa0<br />
(Bus Powered)<br />
Remote Wakeup<br />
MaxPower 50mA<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 0<br />
bAlternateSetting 0<br />
bNumEndpoints 3<br />
bInterfaceClass 11 Chip/SmartCard<br />
bInterfaceSubClass 0 <br />
bInterfaceProtocol 0 <br />
iInterface 0 <br />
ChipCard Interface Descriptor:<br />
bLength 54<br />
bDescriptorType 33<br />
bcdCCID 1.10 (Warning: Only accurate for version 1.0)<br />
nMaxSlotIndex 0<br />
bVoltageSupport 7 5.0V 3.0V 1.8V <br />
dwProtocols 3 T=0 T=1<br />
dwDefaultClock 3700<br />
dwMaxiumumClock 12000<br />
bNumClockSupported 3<br />
dwDataRate 9946 bps<br />
dwMaxDataRate 688172 bps<br />
bNumDataRatesSupp. 138<br />
dwMaxIFSD 254<br />
dwSyncProtocols 00000007 2-wire 3-wire I2C<br />
dwMechanical 00000000 <br />
dwFeatures 000404BE<br />
Auto configuration based on ATR<br />
Auto activation on insert<br />
Auto voltage selection<br />
Auto clock change<br />
Auto baud rate change<br />
Auto PPS made by CCID<br />
Auto IFSD exchange<br />
Short and extended APDU level exchange<br />
dwMaxCCIDMsgLen 272<br />
bClassGetResponse echo<br />
bClassEnvelope echo<br />
wlcdLayout none<br />
bPINSupport 0 <br />
bMaxCCIDBusySlots 1<br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x81 EP 1 IN<br />
bmAttributes 3<br />
Transfer Type Interrupt<br />
Synch Type None<br />
Usage Type Data<br />
wMaxPacketSize 0x0004 1x 4 bytes<br />
bInterval 1<br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x02 EP 2 OUT<br />
bmAttributes 2<br />
Transfer Type Bulk<br />
Synch Type None<br />
Usage Type Data<br />
wMaxPacketSize 0x0010 1x 16 bytes<br />
bInterval 0<br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x83 EP 3 IN<br />
bmAttributes 2<br />
Transfer Type Bulk<br />
Synch Type None<br />
Usage Type Data<br />
wMaxPacketSize 0x0010 1x 16 bytes<br />
bInterval 0<br />
Binary Object Store Descriptor:<br />
bLength 5<br />
bDescriptorType 15<br />
wTotalLength 12<br />
bNumDeviceCaps 1<br />
USB 2.0 Extension Device Capability:<br />
bLength 7<br />
bDescriptorType 16<br />
bDevCapabilityType 2<br />
bmAttributes 0x00000002<br />
Link Power Management (LPM) Supported<br />
Device Status: 0x0000<br />
(Bus Powered)<br />
<br />
<br />
[[Category:Components]]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Lenovo_Integrated_Smart_Card_Reader&diff=56690Lenovo Integrated Smart Card Reader2015-12-28T20:27:38Z<p>Bugmenot1: /* This chip may be found in */</p>
<hr />
<div>__NOTOC__<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 />
=== Features ===<br />
The smartcard reader can be used as an additional level of security, such that the user needs to put in his card (typically his badge), and provide a password.<br />
<br />
In addition it can also be used with other [https://en.wikipedia.org/wiki/Electronic_identity_card Electronic identity cards] such as the Belgium eID.<br />
<br />
More information about smartcards in general can be found at [https://en.wikipedia.org/wiki/Smart_card Wikipedia]<br />
* Interface: USB<br />
</div><br />
|style="vertical-align:top" |<br />
|}<br />
<br />
=== pcsclite's libccid driver ===<br />
The driver is maintained at [http://pcsclite.alioth.debian.org/ccid.html].<br />
* [http://packages.debian.org/libccid] - Debian binaries<br />
* [http://download.fedora.redhat.com/pub/fedora/linux/extras/development/] - Fedora binaries<br />
<br />
For Ubuntu (9.04, Jaunty Jackalope) users, a simple "sudo apt-get install libccid" is enough to get<br />
the reader working.<br />
[http://packages.ubuntu.com/jaunty/libccid] - Infos about the Ubuntu libccid package<br />
<br />
=== This chip may be found in ===<br />
USBID 17ef:1003 ChipsBnk<br />
* {{T61}}<br />
USBID ???<br />
* {{T400}}<br />
USBID 17ef:1003<br />
* {{T410}}<br />
* {{T420s}}<br />
* {{T430}}<br />
USBID 058f:9540 Alcor Micro Corp.<br />
* {{T450}}<br />
<br />
=== Identification ===<br />
Bus 006 Device 002: ID 17ef:1003 ChipsBnk <br />
Device Descriptor:<br />
bLength 18<br />
bDescriptorType 1<br />
bcdUSB 2.00<br />
bDeviceClass 0 (Defined at Interface level)<br />
bDeviceSubClass 0 <br />
bDeviceProtocol 0 <br />
bMaxPacketSize0 8<br />
idVendor 0x17ef ChipsBnk<br />
idProduct 0x1003 <br />
bcdDevice 1.00<br />
iManufacturer 1 <br />
iProduct 2 <br />
iSerial 0 <br />
bNumConfigurations 1<br />
Configuration Descriptor:<br />
bLength 9<br />
bDescriptorType 2<br />
wTotalLength 93<br />
bNumInterfaces 1<br />
bConfigurationValue 1<br />
iConfiguration 0 <br />
bmAttributes 0xa0<br />
(Bus Powered)<br />
Remote Wakeup<br />
MaxPower 100mA<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 0<br />
bAlternateSetting 0<br />
bNumEndpoints 3<br />
bInterfaceClass 11 Chip/SmartCard<br />
[[..]]<br />
<br />
And in my T410 it looks like this:<br />
<br />
Bus 002 Device 004: ID 17ef:1003 Lenovo <br />
Device Descriptor:<br />
bLength 18<br />
bDescriptorType 1<br />
bcdUSB 2.00<br />
bDeviceClass 0 (Defined at Interface level)<br />
bDeviceSubClass 0 <br />
bDeviceProtocol 0 <br />
bMaxPacketSize0 8<br />
idVendor 0x17ef Lenovo<br />
idProduct 0x1003 <br />
bcdDevice 1.00<br />
iManufacturer 1 Lenovo<br />
iProduct 2 Integrated Smart Card Reader<br />
iSerial 0 <br />
bNumConfigurations 1<br />
Configuration Descriptor:<br />
bLength 9<br />
bDescriptorType 2<br />
wTotalLength 93<br />
bNumInterfaces 1<br />
bConfigurationValue 1<br />
iConfiguration 0 <br />
bmAttributes 0xa0<br />
(Bus Powered)<br />
Remote Wakeup<br />
MaxPower 100mA<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 0<br />
bAlternateSetting 0<br />
bNumEndpoints 3<br />
bInterfaceClass 11 Chip/SmartCard<br />
bInterfaceSubClass 0 <br />
bInterfaceProtocol 0 <br />
iInterface 0 <br />
** UNRECOGNIZED: 36 21 00 01 00 07 03 00 00 00 a0 0f 00 00 a0 0f 00 00 00 00 2a 00 00 20 a1 07 00 00 fe 00 00 00 00 00 00 00 00 00 00 00 30 02 01 00 0f 01 00 00 00 00 00 00 00 01 <br />
[[..]]<br />
<br />
And in T430 it looks like this:<br />
<br />
Bus 001 Device 003: ID 17ef:1003 Lenovo Integrated Smart Card Reader<br />
Device Descriptor:<br />
bLength 18<br />
bDescriptorType 1<br />
bcdUSB 2.00<br />
bDeviceClass 0 (Defined at Interface level)<br />
bDeviceSubClass 0 <br />
bDeviceProtocol 0 <br />
bMaxPacketSize0 8<br />
idVendor 0x17ef Lenovo<br />
idProduct 0x1003 Integrated Smart Card Reader<br />
bcdDevice 1.00<br />
iManufacturer 1 Lenovo<br />
iProduct 2 Integrated Smart Card Reader<br />
iSerial 0 <br />
bNumConfigurations 1<br />
Configuration Descriptor:<br />
bLength 9<br />
bDescriptorType 2<br />
wTotalLength 93<br />
bNumInterfaces 1<br />
bConfigurationValue 1<br />
iConfiguration 0 <br />
bmAttributes 0xa0<br />
(Bus Powered)<br />
Remote Wakeup<br />
MaxPower 100mA<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 0<br />
bAlternateSetting 0<br />
bNumEndpoints 3<br />
bInterfaceClass 11 Chip/SmartCard<br />
bInterfaceSubClass 0 <br />
bInterfaceProtocol 0 <br />
iInterface 0 <br />
ChipCard Interface Descriptor:<br />
bLength 54<br />
bDescriptorType 33<br />
bcdCCID 1.00<br />
nMaxSlotIndex 0<br />
bVoltageSupport 7 5.0V 3.0V 1.8V <br />
dwProtocols 3 T=0 T=1<br />
dwDefaultClock 4000<br />
dwMaxiumumClock 4000<br />
bNumClockSupported 0<br />
dwDataRate 10752 bps<br />
dwMaxDataRate 500000 bps<br />
bNumDataRatesSupp. 0<br />
dwMaxIFSD 254<br />
dwSyncProtocols 00000000 <br />
dwMechanical 00000000 <br />
dwFeatures 00010230<br />
Auto clock change<br />
Auto baud rate change<br />
NAD value other than 0x00 accpeted<br />
TPDU level exchange<br />
<br />
[[..]]<br />
<br />
[[Category:Components]]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Unofficial_maximum_memory_specs&diff=56468Unofficial maximum memory specs2015-07-09T15:08:01Z<p>Bugmenot1: </p>
<hr />
<div>Some ThinkPads are known to support more memory than their specs say. This page gathers information about those models, how much memory they can take and what special requirements that memory must fulfill.<br />
<br />
Have a look at the [[Memory]] page for the official memory configs and partnumbers<br />
<br />
==Working memory configurations==<br />
The following table gives an overview of tested memory configurations that exceed the specified limits for that ThinkPad type.<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! ThinkPad !! Official Max !! Unoffical Max !! BIOS !! Embedded Controller !! Memory configuration successfully tested<br />
|- style="vertical-align:top;"<br />
| ThinkPad {{A31p}}<br />2653-R8U || 1 GB || 2 GB || 1.10 || 1.05 ||<br />
2 x Elpida 1 GB 200-pin DDR PC2700, FRU # 31P9835<br />
|-<br />
| ThinkPad {{A31p}}<br />2653-R?? || 1 GB || || 1.09 || 1.05 ||<br />
2 x Kingston 1GB 200-Pin DDR, Model# KTM - TP9828/1G<br />
|-<br />
| ThinkPad {{SL500}}<br /> || 4 GB || 8 GB || ?.?? || ?.?? ||<br />
2 x 4GB 200-Pin DDR2 PC2-5300<br />
|-<br />
| ThinkPad {{T30}}<br />2366-92U || 1 GB || || 2.08 || 1.06 ||<br />
2 x Kingmax 1GB 200-Pin DDR SO-DIMM DDR333 PC2700, Model# MSAD42D-KI<BR><br />
:But causes [[:Category:T30#Kernel_Panic|kernel to panic at boot]].<BR><br />
2 x Generic Brand 1GB 200-pin DDR SO-DIMM PC2700 (p/n 89898E):<br />
:BIOS recognizes 2048MB, but Gentoo sees only 1024MB<br />
|-<br />
| ThinkPad {{T42}} [[2373-CTO]] || 2 GB || || 3.17 || 3.04 ||<br />
??? <br />
|-<br />
| ThinkPad {{T42}} [[2373-CTO]] || 2 GB || || 3.23 || 3.04 ||<br />
??? <br />
|-<br />
| ThinkPad {{T43p}} 2668-WTB || 2 GB || || 1.29 || 1.06 ||<br />
* 2 x Kingston 1GB 200-Pin 533MHz DDR2, Model KTM-TP3840/1G DDR2 <br />
|-<br />
| ThinkPad {{T61}}<br />6466-9MG || 4 GB || 8 GB || [[BIOS_Upgrade#Alternative_BIOS:_Middleton_BIOS|2.29 middleton (SATA-II modified)]] || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 800MHz DDR2, Model # CT51264AC800. (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-5GG || 4 GB || 8 GB || 2.19 || 1.08 ||<br />
2 x Kingston 4GB 200-Pin 667MHz DDR2, Model # KTL-TP667/4GB.<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-EEG || 4 GB || 8 GB || 2.27 middleton (SATA-II modified) || 1.08 ||<br />
2 x Samsung SODIMM 4GB PC2-5300 DDR2-667, Model # M470T5267AZ3-CE6 / 4GB.<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-7XG || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 800MHz DDR2, Model # CT51264AC800. (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-BQG || 4 GB || 8 GB || 2.27 || 1.08 ||<br />
2 x Corsair 4GB 200-Pin 800MHz DDR2, Corsair ValueSelect SO-DIMM 4GB PC2-6400S CL6 VS4GSDS800D2 G .<br />
|-<br />
| ThinkPad {{T61p}}<br />6459-CTO || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x G.Skill 4GB 200-Pin 800MHz DDR2, Model # F2-6400CL6D-8GBSQ (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-8YG || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 667MHz DDR2, Model# CT2KIT51264AC667 ( 2x CT51264AC667)<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-DVU || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x G.Skil 4GB 200-Pin 667MHz DDR2, Model# F2-5300CL5D-8GBSQ, CL5-5-5-15, PC2-5300<br />
|-<br />
| ThinkPad {{T61p}}<br />8889-3FG || 4 GB || 8 GB || TBA || TBA ||<br />
2 x Kingston 4GB 200-Pin 667MHz DDR2, KVR667D2S5/4G.<br />
|-<br />
| ThinkPad {{X31}} 2672-C2G || 1 GB || || 3.02 || 1.08 ||<br />
* 2 x 1GB Kingston KVR400X64SC3A/1G DDR400MHz. Newer documentation also states 2GB, but original one did not.<br />
* Boots with 1 bar.<br />
|-<br />
| ThinkPad {{X31}} 2673-C2G || 1 GB || || 3.02 || 1.08 ||<br />
* 2 x 1GB (Team Group Inc. TSDR1024M400 DDR400MHz)<br />
* Boots with 1 x TSDR1024M400<br />
|-<br />
| ThinkPad {{X41}} 2525-CTO || 1.5 GB || 2 GB || 2.09 || 1.02 ||<br />
* 1 x 2GB ( ??? )<br />
BIOS claims 2.5 GB. Diagnostic POST and memtest86+ both test only 2 GB. Linux and Windows XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41}} 2528-5FU || 1.5 GB || || 2.09 || 1.02 ||<br />
* 1 x 2GB (Transcend TS2GIB3847 DDR2 667 MHz)<br />
* 1 x 2GB (FRU 73P3846 DDR2 PC2-4200)<br />
BIOS claims 2.5 GB. Diagnostic POST tests only 2 GB. Linux and XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41}} 2525-F8G || 1.5 GB || 2 GB || 2.06 || 1.01 ||<br />
* 1 x 2GB (Crucial CT25664AC667 DDR2 PC2-5300)<br />
BIOS claims 2.5 GB. Diagnostic POST and memtest86+ both test only 2 GB. Linux and Windows XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41_Tablet}} 1866-6HU || 1.5 GB || || 2.03 || 1.02 ||<br />
* 1 x 2GB (Transcend JM667QSU-2G DDR2 667 MHz)<br />
BIOS claims 2.5GB. Diagnostic POST tests only 2GB. Linux and Windows XP recognize 2GB.<br />
|-<br />
| ThinkPad {{X61}}<br />7675-K2U || 4 GB || 8 GB || ?.?? || ?.?? ||<br />
Kingston 8GB (set of 2x4GB) 200-Pin DDR2, KVR667D2S5K2/8G<br/>''Equivalent to 2 x Kingston KVR667D2S5/4G''<br />
|-<br />
| ThinkPad {{X61s}}<br />7666AK7 || 4GB || 8GB || 2.16 || 1.03 ||<br />
2 x Generic 4GB DDR2 SODIMM (200 pin) 667Mhz PC2 5400 / PC2 5300 CL 5.0<br />
|-<br />
| ThinkPad {{X61s}}<br />7667-CTO || 4GB || 8GB || 2.21 || 1.03 ||<br />
2 x Hynix 4GB DDR2 SODIMM (200 pin) 800Mhz CL6 PC2 6400-2568<br />
|-<br />
| ThinkPad {{X61t}}<br />7764-CTO || 4 GB || 8 GB || 1.23 || ?.?? ||<br />
2 x Generic 4GB 200-Pin DDR2.<br />
|-<br />
| ThinkPad {{X61t}}<br />7762-94G || 4 GB || 8 GB || 1.23 || 1.02 ||<br />
2 x Kingston 4GB 200-Pin DDR2, KVR667D2S5/4G.<br />
|-<br />
| ThinkPad {{X61t}}<br />7762-95G || 4 GB || 8 GB || 1.23 || 1.02 ||<br />
2 x Kingston 4GB 200-Pin DDR2, KVR667D2S5/4G. Ubuntu 10.10 64bit shows installed memory size of 7,7 GiB.<br />
|-<br />
|ThinkPad {{X100e}}<br />3508-CTO || 4GB || 8GB || 1.29 || 1.22 ||<br />
2 x G.Skill 4GB 200-Pin 800MHz DDR2, Model # F2-6400CL6D-8GBSQ (PC2-6400)<br />
|-<br />
| rowspan=2 | ThinkPad {{X120e}}<br />0596-CTO || rowspan=2 | 4GB || rowspan=2 | 8GB || ?.?? || ?.?? ||<br />
2 x Kingston KVR1066D3S7/4G = 8GB SODIMM DDR3 1066MHz CL7<br />
|-<br />
<!-- |ThinkPad {{X120e}}<br />0596-CTO || 4GB || 8GB --><br />
| 1.16 || N/A || 2 x Crucial 4GB CT2K4G3S1067M/CT2C4G3S1067M (8GB Kit for Mac): DDR3/DDR3L-1066 MT/s (PC3-8500) CL7 204-Pin SODIMM<br />
|-<br />
| ThinkPad {{X200}}<br />7459-W2H || 4 GB || 8 GB || 3.13 || 1.06 ||<br />
2 x KVR1066D3S7/4G.<br />
|-<br />
| ThinkPad {{X200}}<br />7459-GH6 || 4 GB || 8 GB || 3.22 || 1.07 ||<br />
2 x Samsung M471B5273DM0-CH9 = 2x4GB SODIMM DDR 1333MHz<br />
|-<br />
| ThinkPad {{X200s}}<br />7466-9QG || 4 GB || 8 GB || 3.11 || 1.06 ||<br />
2 x KVR1333D3S9/4G.<br />
|-<br />
| ThinkPad<br>{{X201}} <br />3680-1N1 || 4 GB || 8 GB || 1.40 || 1.15 ||<br />
2 x Samsung M471B5273DH0-CH9 = 2x4GB SODIMM DDR 1333MHz<br />
|-<br />
| Thinkpad {{X200s}}<br />7465-RH6 || 4 GB || 8 GB || 2.08 || 1.04 ||<br />
2 x SP008GBSTU133V22/4G<br />
|-<br />
| ThinkPad {{X220}}<br />4290-2WG || 8 GB || 16 GB || 8DET58WW (1.28) || 8DHT29WW (1.13) ||<br />
2 x Micron CT102464BF160B.C16FER = 2x8GB SODIMM DDR3 1600MHz<br />
|-<br />
| ThinkPad {{240}}<br />2609-40U || 320MByte || || IRETWWW76 || n/a ||<br />
* Any PC100 256MB memory in 16-chip configuration<br />
|-<br />
| ThinkPad {{240X}}<br /> || 256MByte || || unknown || n/a ||<br />
* Some PC100 256MB memory in 16-chip configuration may work. Chipset cannot handle more than 256MB<br />
|-<br />
| ThinkPad {{570}}<br />2644-3AU || 320MB || || 1.16 IMET65WW 11/11/99 || n/a ||<br />
* Kingston KTM-TP390X/256 256MB MODULE FRU 16P6327 - 16 chips, 8 each side<br />
|-<br />
| ThinkPad {{600}}<br /> ? || 288MB || || ? || ? ||<br />
* 416MB = 256MB '''low density''' PC100 SODIMM + 128MB PC66 SODIMM + 32MB PC66 on-board. It matters which SODIMM you put in which slot. This was first reported working on the [http://zurich.csail.mit.edu/hypermail/thinkpad/2004-04/0797.html Thinkpad Mailing List], and it worked error-free for me.<br />
The 600E (2645-8A0) with Bios INET36WW accept two modules <br />
of 256MB.<br />
The ram modules have 8 chips on each side.<br />
That results in 544MB. (RAM Typ: Micron MT16LSDF3264HG-133E4 PC133 CL3 sync).<br />
Processor is an Intel PII 366 PE, installed platform is Windows XP Pro with SP3.<br />
|-<br />
| ThinkPad {{770X}}<br />9549|| 448MB || || 1.11 IIET42WW 09/10/99 || n/a ||<br />
* 448MB = 256MB PC100 + 128MB PC66 + internal 64MB using IBM 256MB MODULE FRU 33L3070 PC100 CL2 - 16 chips, 8 each side<br />
* 512MB = 2 x 256MB PC100 + 64MB internal booted up as well. 512MB is due to 440LX-Chipset limitations, 64MB are overlapping or unused.<br />
|-<br />
|}<br />
<br />
==Non-working memory configurations==<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! ThinkPad !! max. Specs !! BIOS !! Embedded Controller !! Memory configuration unsuccessfully tested<br />
|- style="vertical-align:top;"<br />
| ThinkPad {{A21m}}<br /> || 512MB || ? || ? ||<br />
* 2 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
* 1 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
* 1 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
:+ 1 x 144-pin 256MB PC133 SDRAM SODIMM<br />
|- style="vertical-align:top;"<br />
| ThinkPad<br>{{T61p}}<br>6460-DVU || 4GB || 7LETC7WW (2.27)<br>04/08/2010 || 1.08 || 6GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Micron MT16HTS51264HY<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2GB: Kingston KTH-ZD8000C6<br><br />
Passed Windows Memory Diagnostic (Standard),<br><br />
but system became slightly unstable, app crash every 1-2 hours,<br><br />
failed Lenovo Toolbox memory test.<br />
|-<br />
|- style="vertical-align:top;"<br />
| ThinkPad<br>{{T43}} || 3GB || 1YET62WW (1.27 ) || 1YHT29WW-1.06 || 3GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2GB: Micron<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1GB: Kingston<br><br />
In 2+1 configuration system doesn't starts (black screen constantly).<br />
In 1+2 configuration system works, but sees only 2GB in BIOS and Linux.<br />
|-<br />
| ThinkPad<br>{{X200s}} || 4GB || 3.17 || 1.06 || 8GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston<br><br />
0 + 4: System starts but stops before bootloader (GRUB).<br><br />
4 + 4: System starts, OS boots. But several issues:<br><br />
''Segmentation faults'': Memory intensive apps crashing randomly (eclipse)<br><br />
''WLAN instability issues'': driver keeps disconnecting under load<br><br />
''Graphic card errors'': [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung<br />
|-<br />
| ThinkPad<br>{{X201}} 3680-PBG || 4GB || 6QET70WW (1.40) || 6QHT34WW (1.15) || 8GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Corsair 1333MHz 9-9-9-24 1.5v (CMSO4GX3M1A1333C9)<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Corsair 1333MHz 9-9-9-24 1.5v (CMSO4GX3M1A1333C9)<br><br />
All combinations (4+4, 4+0 and 0+4 with either module in either slot):<br><br />
Can enter BIOS, memory amount displays correct.<br><br />
Memtest86+ corrupts display and reboots <1sec after test start.<br><br />
Reboots immediately after kernel decompressed.<br />
|-<br />
| ThinkPad<br>{{X201}} 3680-1N1 || 4GB || 6QET70WW (1.40) || 6QHT34WW (1.15) || 8GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston PC3-10600 1333MHz 9-9-9-24 1.5v (KVR13S9S8K2/8) with 2*4*512 chips<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston PC3-10600 1333MHz 9-9-9-24 1.5v (KVR13S9S8K2/8) with 2*4*512 chips<br><br />
Can enter BIOS, memory amount displays correct.<br><br />
After running for a few seconds Memtest86+ 4.20/5.01RC corrupting display and either reboot (4+0 or 0+4) or just hang (4+4) (same with Windows Memory Diagnostic).<br><br />
Xubuntu 15.04 x64: loading GRUB but hangs at loading with kernel panic message 2 seconds.<br><br />
Windows 7/8 x64: reboots even before loading animation starts.<br />
|-<br />
|}<br />
<br />
==External Sources==<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-55644 IBM's official Memory compatibility page]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Unofficial_maximum_memory_specs&diff=56456Unofficial maximum memory specs2015-06-28T11:33:38Z<p>Bugmenot1: </p>
<hr />
<div>Some ThinkPads are known to support more memory than their specs say. This page gathers information about those models, how much memory they can take and what special requirements that memory must fulfill.<br />
<br />
Have a look at the [[Memory]] page for the official memory configs and partnumbers<br />
<br />
==Working memory configurations==<br />
The following table gives an overview of tested memory configurations that exceed the specified limits for that ThinkPad type.<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! ThinkPad !! Official Max !! Unoffical Max !! BIOS !! Embedded Controller !! Memory configuration successfully tested<br />
|- style="vertical-align:top;"<br />
| ThinkPad {{A31p}}<br />2653-R8U || 1 GB || 2 GB || 1.10 || 1.05 ||<br />
2 x Elpida 1 GB 200-pin DDR PC2700, FRU # 31P9835<br />
|-<br />
| ThinkPad {{A31p}}<br />2653-R?? || 1 GB || || 1.09 || 1.05 ||<br />
2 x Kingston 1GB 200-Pin DDR, Model# KTM - TP9828/1G<br />
|-<br />
| ThinkPad {{SL500}}<br /> || 4 GB || 8 GB || ?.?? || ?.?? ||<br />
2 x 4GB 200-Pin DDR2 PC2-5300<br />
|-<br />
| ThinkPad {{T30}}<br />2366-92U || 1 GB || || 2.08 || 1.06 ||<br />
2 x Kingmax 1GB 200-Pin DDR SO-DIMM DDR333 PC2700, Model# MSAD42D-KI<BR><br />
:But causes [[:Category:T30#Kernel_Panic|kernel to panic at boot]].<BR><br />
2 x Generic Brand 1GB 200-pin DDR SO-DIMM PC2700 (p/n 89898E):<br />
:BIOS recognizes 2048MB, but Gentoo sees only 1024MB<br />
|-<br />
| ThinkPad {{T42}} [[2373-CTO]] || 2 GB || || 3.17 || 3.04 ||<br />
??? <br />
|-<br />
| ThinkPad {{T42}} [[2373-CTO]] || 2 GB || || 3.23 || 3.04 ||<br />
??? <br />
|-<br />
| ThinkPad {{T43p}} 2668-WTB || 2 GB || || 1.29 || 1.06 ||<br />
* 2 x Kingston 1GB 200-Pin 533MHz DDR2, Model KTM-TP3840/1G DDR2 <br />
|-<br />
| ThinkPad {{T61}}<br />6466-9MG || 4 GB || 8 GB || [[BIOS_Upgrade#Alternative_BIOS:_Middleton_BIOS|2.29 middleton (SATA-II modified)]] || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 800MHz DDR2, Model # CT51264AC800. (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-5GG || 4 GB || 8 GB || 2.19 || 1.08 ||<br />
2 x Kingston 4GB 200-Pin 667MHz DDR2, Model # KTL-TP667/4GB.<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-EEG || 4 GB || 8 GB || 2.27 middleton (SATA-II modified) || 1.08 ||<br />
2 x Samsung SODIMM 4GB PC2-5300 DDR2-667, Model # M470T5267AZ3-CE6 / 4GB.<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-7XG || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 800MHz DDR2, Model # CT51264AC800. (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-BQG || 4 GB || 8 GB || 2.27 || 1.08 ||<br />
2 x Corsair 4GB 200-Pin 800MHz DDR2, Corsair ValueSelect SO-DIMM 4GB PC2-6400S CL6 VS4GSDS800D2 G .<br />
|-<br />
| ThinkPad {{T61p}}<br />6459-CTO || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x G.Skill 4GB 200-Pin 800MHz DDR2, Model # F2-6400CL6D-8GBSQ (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-8YG || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 667MHz DDR2, Model# CT2KIT51264AC667 ( 2x CT51264AC667)<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-DVU || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x G.Skil 4GB 200-Pin 667MHz DDR2, Model# F2-5300CL5D-8GBSQ, CL5-5-5-15, PC2-5300<br />
|-<br />
| ThinkPad {{T61p}}<br />8889-3FG || 4 GB || 8 GB || TBA || TBA ||<br />
2 x Kingston 4GB 200-Pin 667MHz DDR2, KVR667D2S5/4G.<br />
|-<br />
| ThinkPad {{X31}} 2672-C2G || 1 GB || || 3.02 || 1.08 ||<br />
* 2 x 1GB Kingston KVR400X64SC3A/1G DDR400MHz. Newer documentation also states 2GB, but original one did not.<br />
* Boots with 1 bar.<br />
|-<br />
| ThinkPad {{X31}} 2673-C2G || 1 GB || || 3.02 || 1.08 ||<br />
* 2 x 1GB (Team Group Inc. TSDR1024M400 DDR400MHz)<br />
* Boots with 1 x TSDR1024M400<br />
|-<br />
| ThinkPad {{X41}} 2525-CTO || 1.5 GB || 2 GB || 2.09 || 1.02 ||<br />
* 1 x 2GB ( ??? )<br />
BIOS claims 2.5 GB. Diagnostic POST and memtest86+ both test only 2 GB. Linux and Windows XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41}} 2528-5FU || 1.5 GB || || 2.09 || 1.02 ||<br />
* 1 x 2GB (Transcend TS2GIB3847 DDR2 667 MHz)<br />
* 1 x 2GB (FRU 73P3846 DDR2 PC2-4200)<br />
BIOS claims 2.5 GB. Diagnostic POST tests only 2 GB. Linux and XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41}} 2525-F8G || 1.5 GB || 2 GB || 2.06 || 1.01 ||<br />
* 1 x 2GB (Crucial CT25664AC667 DDR2 PC2-5300)<br />
BIOS claims 2.5 GB. Diagnostic POST and memtest86+ both test only 2 GB. Linux and Windows XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41_Tablet}} 1866-6HU || 1.5 GB || || 2.03 || 1.02 ||<br />
* 1 x 2GB (Transcend JM667QSU-2G DDR2 667 MHz)<br />
BIOS claims 2.5GB. Diagnostic POST tests only 2GB. Linux and Windows XP recognize 2GB.<br />
|-<br />
| ThinkPad {{X61}}<br />7675-K2U || 4 GB || 8 GB || ?.?? || ?.?? ||<br />
Kingston 8GB (set of 2x4GB) 200-Pin DDR2, KVR667D2S5K2/8G<br/>''Equivalent to 2 x Kingston KVR667D2S5/4G''<br />
|-<br />
| ThinkPad {{X61s}}<br />7666AK7 || 4GB || 8GB || 2.16 || 1.03 ||<br />
2 x Generic 4GB DDR2 SODIMM (200 pin) 667Mhz PC2 5400 / PC2 5300 CL 5.0<br />
|-<br />
| ThinkPad {{X61s}}<br />7667-CTO || 4GB || 8GB || 2.21 || 1.03 ||<br />
2 x Hynix 4GB DDR2 SODIMM (200 pin) 800Mhz CL6 PC2 6400-2568<br />
|-<br />
| ThinkPad {{X61t}}<br />7764-CTO || 4 GB || 8 GB || 1.23 || ?.?? ||<br />
2 x Generic 4GB 200-Pin DDR2.<br />
|-<br />
| ThinkPad {{X61t}}<br />7762-94G || 4 GB || 8 GB || 1.23 || 1.02 ||<br />
2 x Kingston 4GB 200-Pin DDR2, KVR667D2S5/4G.<br />
|-<br />
| ThinkPad {{X61t}}<br />7762-95G || 4 GB || 8 GB || 1.23 || 1.02 ||<br />
2 x Kingston 4GB 200-Pin DDR2, KVR667D2S5/4G. Ubuntu 10.10 64bit shows installed memory size of 7,7 GiB.<br />
|-<br />
|ThinkPad {{X100e}}<br />3508-CTO || 4GB || 8GB || 1.29 || 1.22 ||<br />
2 x G.Skill 4GB 200-Pin 800MHz DDR2, Model # F2-6400CL6D-8GBSQ (PC2-6400)<br />
|-<br />
| rowspan=2 | ThinkPad {{X120e}}<br />0596-CTO || rowspan=2 | 4GB || rowspan=2 | 8GB || ?.?? || ?.?? ||<br />
2 x Kingston KVR1066D3S7/4G = 8GB SODIMM DDR3 1066MHz CL7<br />
|-<br />
<!-- |ThinkPad {{X120e}}<br />0596-CTO || 4GB || 8GB --><br />
| 1.16 || N/A || 2 x Crucial 4GB CT2K4G3S1067M/CT2C4G3S1067M (8GB Kit for Mac): DDR3/DDR3L-1066 MT/s (PC3-8500) CL7 204-Pin SODIMM<br />
|-<br />
| ThinkPad {{X200}}<br />7459-W2H || 4 GB || 8 GB || 3.13 || 1.06 ||<br />
2 x KVR1066D3S7/4G.<br />
|-<br />
| ThinkPad {{X200}}<br />7459-GH6 || 4 GB || 8 GB || 3.22 || 1.07 ||<br />
2 x Samsung M471B5273DM0-CH9 = 2x4GB SODIMM DDR 1333MHz<br />
|-<br />
| ThinkPad {{X200s}}<br />7466-9QG || 4 GB || 8 GB || 3.11 || 1.06 ||<br />
2 x KVR1333D3S9/4G.<br />
|-<br />
| Thinkpad {{X200s}}<br />7465-RH6 || 4 GB || 8 GB || 2.08 || 1.04 ||<br />
2 x SP008GBSTU133V22/4G<br />
|-<br />
| ThinkPad {{X220}}<br />4290-2WG || 8 GB || 16 GB || 8DET58WW (1.28) || 8DHT29WW (1.13) ||<br />
2 x Micron CT102464BF160B.C16FER = 2x8GB SODIMM DDR3 1600MHz<br />
|-<br />
| ThinkPad {{240}}<br />2609-40U || 320MByte || || IRETWWW76 || n/a ||<br />
* Any PC100 256MB memory in 16-chip configuration<br />
|-<br />
| ThinkPad {{240X}}<br /> || 256MByte || || unknown || n/a ||<br />
* Some PC100 256MB memory in 16-chip configuration may work. Chipset cannot handle more than 256MB<br />
|-<br />
| ThinkPad {{570}}<br />2644-3AU || 320MB || || 1.16 IMET65WW 11/11/99 || n/a ||<br />
* Kingston KTM-TP390X/256 256MB MODULE FRU 16P6327 - 16 chips, 8 each side<br />
|-<br />
| ThinkPad {{600}}<br /> ? || 288MB || || ? || ? ||<br />
* 416MB = 256MB '''low density''' PC100 SODIMM + 128MB PC66 SODIMM + 32MB PC66 on-board. It matters which SODIMM you put in which slot. This was first reported working on the [http://zurich.csail.mit.edu/hypermail/thinkpad/2004-04/0797.html Thinkpad Mailing List], and it worked error-free for me.<br />
The 600E (2645-8A0) with Bios INET36WW accept two modules <br />
of 256MB.<br />
The ram modules have 8 chips on each side.<br />
That results in 544MB. (RAM Typ: Micron MT16LSDF3264HG-133E4 PC133 CL3 sync).<br />
Processor is an Intel PII 366 PE, installed platform is Windows XP Pro with SP3.<br />
|-<br />
| ThinkPad {{770X}}<br />9549|| 448MB || || 1.11 IIET42WW 09/10/99 || n/a ||<br />
* 448MB = 256MB PC100 + 128MB PC66 + internal 64MB using IBM 256MB MODULE FRU 33L3070 PC100 CL2 - 16 chips, 8 each side<br />
* 512MB = 2 x 256MB PC100 + 64MB internal booted up as well. 512MB is due to 440LX-Chipset limitations, 64MB are overlapping or unused.<br />
|-<br />
|}<br />
<br />
==Non-working memory configurations==<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! ThinkPad !! max. Specs !! BIOS !! Embedded Controller !! Memory configuration unsuccessfully tested<br />
|- style="vertical-align:top;"<br />
| ThinkPad {{A21m}}<br /> || 512MB || ? || ? ||<br />
* 2 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
* 1 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
* 1 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
:+ 1 x 144-pin 256MB PC133 SDRAM SODIMM<br />
|- style="vertical-align:top;"<br />
| ThinkPad<br>{{T61p}}<br>6460-DVU || 4GB || 7LETC7WW (2.27)<br>04/08/2010 || 1.08 || 6GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Micron MT16HTS51264HY<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2GB: Kingston KTH-ZD8000C6<br><br />
Passed Windows Memory Diagnostic (Standard),<br><br />
but system became slightly unstable, app crash every 1-2 hours,<br><br />
failed Lenovo Toolbox memory test.<br />
|-<br />
|- style="vertical-align:top;"<br />
| ThinkPad<br>{{T43}} || 3GB || 1YET62WW (1.27 ) || 1YHT29WW-1.06 || 3GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2GB: Micron<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1GB: Kingston<br><br />
In 2+1 configuration system doesn't starts (black screen constantly).<br />
In 1+2 configuration system works, but sees only 2GB in BIOS and Linux.<br />
|-<br />
| ThinkPad<br>{{X200s}} || 4GB || 3.17 || 1.06 || 8GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston<br><br />
0 + 4: System starts but stops before bootloader (GRUB).<br><br />
4 + 4: System starts, OS boots. But several issues:<br><br />
''Segmentation faults'': Memory intensive apps crashing randomly (eclipse)<br><br />
''WLAN instability issues'': driver keeps disconnecting under load<br><br />
''Graphic card errors'': [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung<br />
|-<br />
| ThinkPad<br>{{X201}} 3680-PBG || 4GB || 6QET70WW (1.40) || 6QHT34WW (1.15) || 8GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Corsair 1333MHz 9-9-9-24 1.5v (CMSO4GX3M1A1333C9)<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Corsair 1333MHz 9-9-9-24 1.5v (CMSO4GX3M1A1333C9)<br><br />
All combinations (4+4, 4+0 and 0+4 with either module in either slot):<br><br />
Can enter BIOS, memory amount displays correct.<br><br />
Memtest86+ corrupts display and reboots <1sec after test start.<br><br />
Reboots immediately after kernel decompressed.<br />
|-<br />
| ThinkPad<br>{{X201}} 3680-1N1 || 4GB || 6QET70WW (1.40) || 6QHT34WW (1.15) || 8GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston PC3-10600 1333MHz 9-9-9-24 1.5v (KVR13S9S8K2/8) with 2*4*512 chips<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston PC3-10600 1333MHz 9-9-9-24 1.5v (KVR13S9S8K2/8) with 2*4*512 chips<br><br />
Can enter BIOS, memory amount displays correct.<br><br />
After running for a few seconds Memtest86+ 4.20/5.01RC corrupting display and either reboot (4+0 or 0+4) or just hang (4+4) (same with Windows Memory Diagnostic).<br><br />
Xubuntu 15.04 x64: loading GRUB but hangs at loading with kernel panic message 2 seconds.<br><br />
Windows 7/8 x64: reboots even before loading animation starts.<br />
|-<br />
|}<br />
<br />
==External Sources==<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-55644 IBM's official Memory compatibility page]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Unofficial_maximum_memory_specs&diff=56455Unofficial maximum memory specs2015-06-28T11:31:52Z<p>Bugmenot1: added x201 36801n1 incompatibility</p>
<hr />
<div>Some ThinkPads are known to support more memory than their specs say. This page gathers information about those models, how much memory they can take and what special requirements that memory must fulfill.<br />
<br />
Have a look at the [[Memory]] page for the official memory configs and partnumbers<br />
<br />
==Working memory configurations==<br />
The following table gives an overview of tested memory configurations that exceed the specified limits for that ThinkPad type.<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! ThinkPad !! Official Max !! Unoffical Max !! BIOS !! Embedded Controller !! Memory configuration successfully tested<br />
|- style="vertical-align:top;"<br />
| ThinkPad {{A31p}}<br />2653-R8U || 1 GB || 2 GB || 1.10 || 1.05 ||<br />
2 x Elpida 1 GB 200-pin DDR PC2700, FRU # 31P9835<br />
|-<br />
| ThinkPad {{A31p}}<br />2653-R?? || 1 GB || || 1.09 || 1.05 ||<br />
2 x Kingston 1GB 200-Pin DDR, Model# KTM - TP9828/1G<br />
|-<br />
| ThinkPad {{SL500}}<br /> || 4 GB || 8 GB || ?.?? || ?.?? ||<br />
2 x 4GB 200-Pin DDR2 PC2-5300<br />
|-<br />
| ThinkPad {{T30}}<br />2366-92U || 1 GB || || 2.08 || 1.06 ||<br />
2 x Kingmax 1GB 200-Pin DDR SO-DIMM DDR333 PC2700, Model# MSAD42D-KI<BR><br />
:But causes [[:Category:T30#Kernel_Panic|kernel to panic at boot]].<BR><br />
2 x Generic Brand 1GB 200-pin DDR SO-DIMM PC2700 (p/n 89898E):<br />
:BIOS recognizes 2048MB, but Gentoo sees only 1024MB<br />
|-<br />
| ThinkPad {{T42}} [[2373-CTO]] || 2 GB || || 3.17 || 3.04 ||<br />
??? <br />
|-<br />
| ThinkPad {{T42}} [[2373-CTO]] || 2 GB || || 3.23 || 3.04 ||<br />
??? <br />
|-<br />
| ThinkPad {{T43p}} 2668-WTB || 2 GB || || 1.29 || 1.06 ||<br />
* 2 x Kingston 1GB 200-Pin 533MHz DDR2, Model KTM-TP3840/1G DDR2 <br />
|-<br />
| ThinkPad {{T61}}<br />6466-9MG || 4 GB || 8 GB || [[BIOS_Upgrade#Alternative_BIOS:_Middleton_BIOS|2.29 middleton (SATA-II modified)]] || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 800MHz DDR2, Model # CT51264AC800. (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-5GG || 4 GB || 8 GB || 2.19 || 1.08 ||<br />
2 x Kingston 4GB 200-Pin 667MHz DDR2, Model # KTL-TP667/4GB.<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-EEG || 4 GB || 8 GB || 2.27 middleton (SATA-II modified) || 1.08 ||<br />
2 x Samsung SODIMM 4GB PC2-5300 DDR2-667, Model # M470T5267AZ3-CE6 / 4GB.<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-7XG || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 800MHz DDR2, Model # CT51264AC800. (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-BQG || 4 GB || 8 GB || 2.27 || 1.08 ||<br />
2 x Corsair 4GB 200-Pin 800MHz DDR2, Corsair ValueSelect SO-DIMM 4GB PC2-6400S CL6 VS4GSDS800D2 G .<br />
|-<br />
| ThinkPad {{T61p}}<br />6459-CTO || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x G.Skill 4GB 200-Pin 800MHz DDR2, Model # F2-6400CL6D-8GBSQ (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-8YG || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 667MHz DDR2, Model# CT2KIT51264AC667 ( 2x CT51264AC667)<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-DVU || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x G.Skil 4GB 200-Pin 667MHz DDR2, Model# F2-5300CL5D-8GBSQ, CL5-5-5-15, PC2-5300<br />
|-<br />
| ThinkPad {{T61p}}<br />8889-3FG || 4 GB || 8 GB || TBA || TBA ||<br />
2 x Kingston 4GB 200-Pin 667MHz DDR2, KVR667D2S5/4G.<br />
|-<br />
| ThinkPad {{X31}} 2672-C2G || 1 GB || || 3.02 || 1.08 ||<br />
* 2 x 1GB Kingston KVR400X64SC3A/1G DDR400MHz. Newer documentation also states 2GB, but original one did not.<br />
* Boots with 1 bar.<br />
|-<br />
| ThinkPad {{X31}} 2673-C2G || 1 GB || || 3.02 || 1.08 ||<br />
* 2 x 1GB (Team Group Inc. TSDR1024M400 DDR400MHz)<br />
* Boots with 1 x TSDR1024M400<br />
|-<br />
| ThinkPad {{X41}} 2525-CTO || 1.5 GB || 2 GB || 2.09 || 1.02 ||<br />
* 1 x 2GB ( ??? )<br />
BIOS claims 2.5 GB. Diagnostic POST and memtest86+ both test only 2 GB. Linux and Windows XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41}} 2528-5FU || 1.5 GB || || 2.09 || 1.02 ||<br />
* 1 x 2GB (Transcend TS2GIB3847 DDR2 667 MHz)<br />
* 1 x 2GB (FRU 73P3846 DDR2 PC2-4200)<br />
BIOS claims 2.5 GB. Diagnostic POST tests only 2 GB. Linux and XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41}} 2525-F8G || 1.5 GB || 2 GB || 2.06 || 1.01 ||<br />
* 1 x 2GB (Crucial CT25664AC667 DDR2 PC2-5300)<br />
BIOS claims 2.5 GB. Diagnostic POST and memtest86+ both test only 2 GB. Linux and Windows XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41_Tablet}} 1866-6HU || 1.5 GB || || 2.03 || 1.02 ||<br />
* 1 x 2GB (Transcend JM667QSU-2G DDR2 667 MHz)<br />
BIOS claims 2.5GB. Diagnostic POST tests only 2GB. Linux and Windows XP recognize 2GB.<br />
|-<br />
| ThinkPad {{X61}}<br />7675-K2U || 4 GB || 8 GB || ?.?? || ?.?? ||<br />
Kingston 8GB (set of 2x4GB) 200-Pin DDR2, KVR667D2S5K2/8G<br/>''Equivalent to 2 x Kingston KVR667D2S5/4G''<br />
|-<br />
| ThinkPad {{X61s}}<br />7666AK7 || 4GB || 8GB || 2.16 || 1.03 ||<br />
2 x Generic 4GB DDR2 SODIMM (200 pin) 667Mhz PC2 5400 / PC2 5300 CL 5.0<br />
|-<br />
| ThinkPad {{X61s}}<br />7667-CTO || 4GB || 8GB || 2.21 || 1.03 ||<br />
2 x Hynix 4GB DDR2 SODIMM (200 pin) 800Mhz CL6 PC2 6400-2568<br />
|-<br />
| ThinkPad {{X61t}}<br />7764-CTO || 4 GB || 8 GB || 1.23 || ?.?? ||<br />
2 x Generic 4GB 200-Pin DDR2.<br />
|-<br />
| ThinkPad {{X61t}}<br />7762-94G || 4 GB || 8 GB || 1.23 || 1.02 ||<br />
2 x Kingston 4GB 200-Pin DDR2, KVR667D2S5/4G.<br />
|-<br />
| ThinkPad {{X61t}}<br />7762-95G || 4 GB || 8 GB || 1.23 || 1.02 ||<br />
2 x Kingston 4GB 200-Pin DDR2, KVR667D2S5/4G. Ubuntu 10.10 64bit shows installed memory size of 7,7 GiB.<br />
|-<br />
|ThinkPad {{X100e}}<br />3508-CTO || 4GB || 8GB || 1.29 || 1.22 ||<br />
2 x G.Skill 4GB 200-Pin 800MHz DDR2, Model # F2-6400CL6D-8GBSQ (PC2-6400)<br />
|-<br />
| rowspan=2 | ThinkPad {{X120e}}<br />0596-CTO || rowspan=2 | 4GB || rowspan=2 | 8GB || ?.?? || ?.?? ||<br />
2 x Kingston KVR1066D3S7/4G = 8GB SODIMM DDR3 1066MHz CL7<br />
|-<br />
<!-- |ThinkPad {{X120e}}<br />0596-CTO || 4GB || 8GB --><br />
| 1.16 || N/A || 2 x Crucial 4GB CT2K4G3S1067M/CT2C4G3S1067M (8GB Kit for Mac): DDR3/DDR3L-1066 MT/s (PC3-8500) CL7 204-Pin SODIMM<br />
|-<br />
| ThinkPad {{X200}}<br />7459-W2H || 4 GB || 8 GB || 3.13 || 1.06 ||<br />
2 x KVR1066D3S7/4G.<br />
|-<br />
| ThinkPad {{X200}}<br />7459-GH6 || 4 GB || 8 GB || 3.22 || 1.07 ||<br />
2 x Samsung M471B5273DM0-CH9 = 2x4GB SODIMM DDR 1333MHz<br />
|-<br />
| ThinkPad {{X200s}}<br />7466-9QG || 4 GB || 8 GB || 3.11 || 1.06 ||<br />
2 x KVR1333D3S9/4G.<br />
|-<br />
| Thinkpad {{X200s}}<br />7465-RH6 || 4 GB || 8 GB || 2.08 || 1.04 ||<br />
2 x SP008GBSTU133V22/4G<br />
|-<br />
| ThinkPad {{X220}}<br />4290-2WG || 8 GB || 16 GB || 8DET58WW (1.28) || 8DHT29WW (1.13) ||<br />
2 x Micron CT102464BF160B.C16FER = 2x8GB SODIMM DDR3 1600MHz<br />
|-<br />
| ThinkPad {{240}}<br />2609-40U || 320MByte || || IRETWWW76 || n/a ||<br />
* Any PC100 256MB memory in 16-chip configuration<br />
|-<br />
| ThinkPad {{240X}}<br /> || 256MByte || || unknown || n/a ||<br />
* Some PC100 256MB memory in 16-chip configuration may work. Chipset cannot handle more than 256MB<br />
|-<br />
| ThinkPad {{570}}<br />2644-3AU || 320MB || || 1.16 IMET65WW 11/11/99 || n/a ||<br />
* Kingston KTM-TP390X/256 256MB MODULE FRU 16P6327 - 16 chips, 8 each side<br />
|-<br />
| ThinkPad {{600}}<br /> ? || 288MB || || ? || ? ||<br />
* 416MB = 256MB '''low density''' PC100 SODIMM + 128MB PC66 SODIMM + 32MB PC66 on-board. It matters which SODIMM you put in which slot. This was first reported working on the [http://zurich.csail.mit.edu/hypermail/thinkpad/2004-04/0797.html Thinkpad Mailing List], and it worked error-free for me.<br />
The 600E (2645-8A0) with Bios INET36WW accept two modules <br />
of 256MB.<br />
The ram modules have 8 chips on each side.<br />
That results in 544MB. (RAM Typ: Micron MT16LSDF3264HG-133E4 PC133 CL3 sync).<br />
Processor is an Intel PII 366 PE, installed platform is Windows XP Pro with SP3.<br />
|-<br />
| ThinkPad {{770X}}<br />9549|| 448MB || || 1.11 IIET42WW 09/10/99 || n/a ||<br />
* 448MB = 256MB PC100 + 128MB PC66 + internal 64MB using IBM 256MB MODULE FRU 33L3070 PC100 CL2 - 16 chips, 8 each side<br />
* 512MB = 2 x 256MB PC100 + 64MB internal booted up as well. 512MB is due to 440LX-Chipset limitations, 64MB are overlapping or unused.<br />
|-<br />
|}<br />
<br />
==Non-working memory configurations==<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! ThinkPad !! max. Specs !! BIOS !! Embedded Controller !! Memory configuration unsuccessfully tested<br />
|- style="vertical-align:top;"<br />
| ThinkPad {{A21m}}<br /> || 512MB || ? || ? ||<br />
* 2 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
* 1 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
* 1 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
:+ 1 x 144-pin 256MB PC133 SDRAM SODIMM<br />
|- style="vertical-align:top;"<br />
| ThinkPad<br>{{T61p}}<br>6460-DVU || 4GB || 7LETC7WW (2.27)<br>04/08/2010 || 1.08 || 6GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Micron MT16HTS51264HY<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2GB: Kingston KTH-ZD8000C6<br><br />
Passed Windows Memory Diagnostic (Standard),<br><br />
but system became slightly unstable, app crash every 1-2 hours,<br><br />
failed Lenovo Toolbox memory test.<br />
|-<br />
|- style="vertical-align:top;"<br />
| ThinkPad<br>{{T43}} || 3GB || 1YET62WW (1.27 ) || 1YHT29WW-1.06 || 3GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2GB: Micron<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1GB: Kingston<br><br />
In 2+1 configuration system doesn't starts (black screen constantly).<br />
In 1+2 configuration system works, but sees only 2GB in BIOS and Linux.<br />
|-<br />
| ThinkPad<br>{{X200s}} || 4GB || 3.17 || 1.06 || 8GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston<br><br />
0 + 4: System starts but stops before bootloader (GRUB).<br><br />
4 + 4: System starts, OS boots. But several issues:<br><br />
''Segmentation faults'': Memory intensive apps crashing randomly (eclipse)<br><br />
''WLAN instability issues'': driver keeps disconnecting under load<br><br />
''Graphic card errors'': [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung<br />
|-<br />
| ThinkPad<br>{{X201}} 3680-PBG || 4GB || 6QET70WW (1.40) || 6QHT34WW (1.15) || 8GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Corsair 1333MHz 9-9-9-24 1.5v (CMSO4GX3M1A1333C9)<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Corsair 1333MHz 9-9-9-24 1.5v (CMSO4GX3M1A1333C9)<br><br />
All combinations (4+4, 4+0 and 0+4 with either module in either slot):<br><br />
Can enter BIOS, memory amount displays correct.<br><br />
Memtest86+ corrupts display and reboots <1sec after test start.<br><br />
Reboots immediately after kernel decompressed.<br />
|-<br />
| ThinkPad<br>{{X201}} 3680-1N1 || 4GB || 6QET70WW (1.40) || 6QHT34WW (1.15) || 8GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston PC3-10600 1333MHz 9-9-9-24 1.5v (KVR13S9S8K2/8) with 2*4*512 chips<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston PC3-10600 1333MHz 9-9-9-24 1.5v (KVR13S9S8K2/8) with 2*4*512 chips<br><br />
Can enter BIOS, memory amount displays correct.<br><br />
After running for a few seconds Memtest86+ 4.20/5.01RC either corrupts display and reboots (4+0 or 0+4) or hangs All combinations (4+4). Same with Windows memory Diagnostics<br><br />
Xubuntu 15.04 x64: loading GRUB but hangs at loading with kernel panic message 2 seconds.<br><br />
Windows 7/8 x64: reboots even before loading animation starts.<br />
|-<br />
|}<br />
<br />
==External Sources==<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-55644 IBM's official Memory compatibility page]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Thermal_Sensors&diff=56320Thermal Sensors2015-05-06T17:54:04Z<p>Bugmenot1: /* ThinkPad {{T500}} */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
This page summarizes known information about the locations and properties of thermal sensors on ThinkPad laptops. <br />
|}<br />
<br />
==Accessing the sensors==<br />
<br />
===Basic ACPI system temperature sensors===<br />
The primary means of accessing the thermal sensors is through the [[thinkpad-acpi]] module, up to 16 sensors are supported. When the module is loaded, the sensors (some of which may be inactive) are shown through the standard sysfs hwmon interface used by the lm-sensors utilities, and also in {{path|/proc/acpi/ibm/thermal}} (which is deprecated and has been removed from the latest versions of the module).<br />
<br />
lm-sensors/libsensors uses the hwmon interface exposed through {{path|/sys/bus/platform/devices/thinkpad_hwmon/}} to read the temperatures, note that the sysfs interface returns normal open errors instead of weird values for sensors that are not active (which the simplistic '''sensors''' command ignore). lm-sensors/libsensors can be configured to give proper names to each sensor, which will be used by any properly written sensor applet.<br />
<br />
{{cmdroot|sensors}}<br />
{{cmdresult|thinkpad-isa-0000<br />
Adapter: ISA adapter<br />
fan1: 3914 RPM<br />
CPU: +45.0°C<br />
LAN/Heatsink/HDAPS: +44.0°C<br />
PC-CARD slot: +35.0°C<br />
GPU: +48.0°C<br />
Main battery charger: +35.0°C<br />
ERROR: Can't get value of subfeature temp6_input: Can't read<br />
Bay battery charger: +0.0°C<br />
Main battery cells: +30.0°C<br />
ERROR: Can't get value of subfeature temp8_input: Can't read<br />
Bay battery cells: +0.0°C<br />
MCH: +42.0°C<br />
PLL clock/ICH/WLAN: +50.0°C<br />
Voltage regulator: +43.0°C}}<br />
<br />
To have 'sensors' use describing labels like above, you can add the following section to /etc/sensors3.conf, if not already there. This is an example for the T43. Similar technique apply for the other models. Use the sensor location findings below.<br />
<br />
chip "thinkpad-isa-0000"<br />
label fan1 "Fan"<br />
label temp1 "CPU"<br />
label temp2 "HDAPS"<br />
label temp3 "PCMCIA"<br />
label temp4 "GPU"<br />
label temp5 "System battery (front left, charging circuit)"<br />
label temp7 "System battery (rear right)"<br />
label temp9 "Bus between Northbridge and DRAM; Ethernet chip"<br />
label temp10 "Southbridge, WLAN and clock generator"<br />
label temp11 "Power circuitry"<br />
<br />
The old method to access the thermal readings is through the {{path|/proc}} interface:<br />
<br />
:{{cmdroot|cat /proc/acpi/ibm/thermal}}<br />
:{{cmdresult|temperatures: 44 41 33 42 33 -128 30 -128}}<br />
<br />
A value of -128 (i.e., 0x80 hex) means the sensor is not connected. For example, above the two -128 values belong to the UltraBay battery, which is not plugged in.<br />
<br />
If the ThinkPad supports the extended sensor set, eight more values will be displayed:<br />
<br />
:{{cmdroot|cat /proc/acpi/ibm/thermal}}<br />
:{{cmdresult|temperatures: 44 41 33 42 33 -128 30 -128 48 50 49 -128 -128 -128 -128 -128}}<br />
<br />
===HDAPS temperature sensor===<br />
The [[Active Protection System]] firmware also reports a temperature, which is identical to one of the ACPI sensors. The corresponding sensor is actually not inside the HDAPS chip, and sometimes not even close to it.<br />
:{{cmdroot|cat /sys/bus/platform/drivers/hdaps/hdaps/temp1}}<br />
:{{cmdresult|41}}<br />
<br />
===Harddisks SMART temperature sensor===<br />
The system hard disk temperature can be read through the disk's SMART interface:<br />
:{{cmdroot|<nowiki>smartctl -A /dev/hda | grep Temperature</nowiki>}}<br />
:{{cmdresult|194 Temperature_Celsius 0x0022 145 097 000 Old_age Always - 31}}<br />
<br />
Or, for SATA-equipped models running a recent Linux kernel (see [[Problems with SATA and Linux]]):<br />
<br />
:{{cmdroot|<nowiki>smartctl -A -d ata /dev/sda | grep Temperature</nowiki>}}<br />
:{{cmdresult|194 Temperature_Celsius 0x0022 145 097 000 Old_age Always - 31}}<br />
<br />
When the [[UltraBay Slim HDD Adapter]] or [[UltraBay Slim SATA HDD Adapter]] are used, the second hard disk will typically provide another temperature readout via its SMART interface, analogously to the above.<br />
<br />
Reading this sensor will typically cause a drive spin-up and head unload.<br />
<br />
===Hitachi harddisks <tt>SENSE CONDITION</tt> temperature sensor===<br />
<br />
Recent Hitachi disks provide a non-standard <tt>SENSE CONDITION</tt> command which reads the disk temperature without causing a spin-up or head load. The reported value is the same as when using SMART. This can be invoked, e.g., using {{cmdroot|hdparm -H}}, or the relevant code in {{CodeRef|tp-fancontrol}}. When using the <tt>libata</tt> driver, this requires kernel >= 2.6.19-rc1.<br />
<br />
==Utilities for viewing temperatures==<br />
<br />
The following utilities display the ThinkPad-specific thermal sensor readouts:<br />
* The above shell commands.<br />
* The "Sensors" builtin of [[GKrellM]] can show 6 specific ACPI sensors (out of up to 11).<br />
* [http://kima.sourceforge.net/ Kima] is a KDE applet that can display the 8 first ACPI sensors as well as the HDAPS sensor.<br />
* [http://www.kraus.tk/projects/IBMDoK/ IBMDoK], another KDE applet. Shows 4 specific sensors (out of up to 11). So far only tested at the {{T60}}.<br />
* There is an [http://munin.projects.linpro.no/wiki/plugin-ibm_acpi ibm_acpi plugin] for [http://munin.projects.linpro.no/ Munin].<br />
* [http://sensors-applet.sourceforge.net/ GNOME Sensors Applet] supports ibm_acpi.<br />
<br />
==Sensor locations==<br />
This information is model specific.<br />
<br />
===ThinkPad {{A31}}===<br />
Found by Milos Popovic using cooling spray to cool down components on a completely removed, running motherboard, to locate the sensors. Also reported [http://forum.thinkpads.com/viewtopic.php?t=31837 here].<br />
EC offset Index in "thermal" Location (estimated)<br />
0x78 1 CPU<br />
0x79 2 Battery (this one heats up when on battery power)<br />
0x7A 3 Power (sensor near power diodes and CPU; heats up <br />
when high power consumption, has crosstalk<br />
from CPU)<br />
0x7B 4 Ultrabay 2000 battery?<br />
0x7C 5 Northbridge (sensor next to Northbridge, also somewhat<br />
near GPU)<br />
0x7D 6 PCMCIA/ambient (sensor is a National Semiconductor LM75 <br />
Digital Temperature Sensor/Thermal Watchdog<br />
chip next to the 9-pin VGA connector; sits <br />
right under PCMCIA slots but doesn't touch)<br />
0x7E 7 Battery (this one stays near ambient temperature, <br />
even when on battery power)<br />
0x7F 8 Ultrabay 2000 battery?<br />
0xC0 none zero<br />
0xC1 none zero<br />
0xC2 none zero<br />
The following photos (resolution reduced for server space) show the locations found for the listed temperature sensors.<br />
{{gallery_start}}<br />
{{thumb|A31_2652M3U_systemboardtop_DSCN6105_tempsensors_lores.jpg|ThinkPad A31 sensor locations on top of motherboard.}}<br />
{{thumb|A31_2652M3U_systemboardbottom_DSCN6105_tempsensors_lores.jpg|ThinkPad A31 sensor locations on bottom of motherboard.}}<br />
{{gallery_end}}<br />
On this A31 systemboard (FRU 26P8398), there is a [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2313 Maxim MAX1668] 5-channel remote/local temperature sensor (4 remote + 1 self temperature) on top of the systemboard, and a [http://www.national.com/pf/LM/LM75.html National Semiconductor LM75] single-channel "digital temperature sensor and thermal watchdog" chip. It would appear that the LM75 has the ability to hard shutdown the processor (without software intervention) if its temperature exceeds a given threshold. I'm not sure if it is wired for this, nor whether the Thinkpad changes the threshold temperature from the chip's power-up default of 80°C. A software application with drivers on the LM75 webpage is available that claims to allow direct access to the thermal sensor chip (this hasn't been tried, but could be useful in other models to determine if this sensor is somewhere on the MB, and which register it corresponds to). The MAX1668's self-temperature reading does not appear anywhere in the above temperature registers; it's not clear whether it is read at all, and whether it is to be found elsewhere in the EC memory. These two chips (LM75 and MAX1668) account for some of the sensors.<br />
<br />
===ThinkPad {{R51}}===<br />
The [[thinkpad-acpi]] documentation includes the report by Thomas Gruber:<br />
EC offset Index in "thermal" Location (estimated)<br />
0x78 1 CPU<br />
0x79 2 Mini-PCI<br />
0x7A 3 HDD<br />
0x7B 4 GPU<br />
0x7C 5 System battery<br />
0x7D 6 UltraBay battery<br />
0x7E 7 System battery<br />
0x7F 8 UltraBay battery<br />
0xC0 none ?<br />
0xC1 none ?<br />
0xC2 none ?<br />
<br />
===ThinkPad {{T40}}===<br />
The location of one of the sensors is identified [http://forum.thinkpads.com/viewtopic.php?t=11574 here].<br />
EC offset Index in "thermal" Location (estimated)<br />
0x78 1 CPU<br />
0x79 2 System board under rear left corner of Mini-PCI module<br />
0x7A 3 ?<br />
0x7B 4 GPU<br />
0x7C 5 Battery<br />
0x7D 6 n/a<br />
0x7E 7 Battery<br />
0x7F 8 n/a<br />
0xC0 none n/a<br />
0xC1 none n/a<br />
0xC2 none n/a<br />
<br />
===ThinkPad {{T43}}, {{T43p}}===<br />
Found by Shmidoax using cooling spray to cool down components and observe the effect on the sensors.<br />
EC offset Index in "thermal" Location (estimated)<br />
0x78 1 CPU<br />
0x79 2 Between PCMCIA slot and CPU (same as HDAPS module)<br />
0x7A 3 PCMCIA slot<br />
0x7B 4 GPU<br />
0x7C 5 System battery (front left = charging circuit)<br />
0x7D 6 UltraBay battery<br />
0x7E 7 System battery (rear right)<br />
0x7F 8 UltraBay battery<br />
0xC0 9 Bus between Northbridge and DRAM; Ethernet chip<br />
0xC1 10 Southbridge, WLAN and clock generator (under Mini-PCI card,<br />
under touchpad)<br />
0xC2 11 Power circuitry, on underside of system board under F2 key<br />
{{gallery_start}}<br />
{{thumb|T43-thermal-sensors.jpg|ThinkPad T43 sensor locations}}<br />
{{thumb|T43-2668-thermal-sensors-zoom.jpg|ThinkPad T43 sensor locations detail}}<br />
{{thumb|T43p-H8S2161.jpg|ThinkPad T43/p 26xx Embedded Controller Renesas H8S/2161BV}}<br />
{{gallery_end}}<br />
<br />
===ThinkPad {{T60}}===<br />
Found by Marco Kraus for use in [http://www.kraus.tk/projects/IBMDoK/ IBMDok].<br />
EC offset Index in "thermal" Location (estimated)<br />
0x78 1 CPU<br />
0x79 2 APS<br />
0x7A 3 PCM<br />
0x7B 4 GPU<br />
0x7C 5 BAT<br />
0x7D 6 n/a<br />
0x7E 7 BAT<br />
0x7F 8 n/a<br />
0xC0 9 n/a<br />
0xC1 10 n/a<br />
0xC2 11 n/a<br />
0xC3 12 n/a<br />
0xC4 13 n/a<br />
0xC5 14 n/a<br />
0xC6 15 n/a<br />
0xC7 16 n/a<br />
<br />
/etc/sensors.d/tpsensors<br />
chip "acpitz-virtual-0"<br />
label temp1 "CPU_0"<br />
label temp2 "CPU_1"<br />
chip "thinkpad-isa-0000"<br />
label fan1 "FAN"<br />
label temp1 "CPU"<br />
label temp2 "APS"<br />
label temp3 "PCM"<br />
label temp4 "GPU"<br />
label temp5 "BAT"<br />
ignore temp6 "n/a"<br />
label temp7 "BAT"<br />
ignore temp8 "n/a"<br />
label temp9 "BUS"<br />
label temp10 "PCI"<br />
label temp11 "PWR"<br />
ignore temp12 "n/a"<br />
ignore temp13 "n/a"<br />
ignore temp14 "n/a"<br />
ignore temp15 "n/a"<br />
ignore temp16 "n/a"<br />
<br />
The CPU thermal sensors seem to be exposed in both {{path|/proc/acpi/thermal_zone/THM0/temperature}} and {{path|/proc/acpi/thermal_zone/THM1/temperature}}, though the latter curiously seems to exist only in this file and nowhere in {{path|/proc/acpi/ibm/ecdump}}.<br />
<br />
===ThinkPad {{T61}}===<br />
<br />
'''Sensor numbering correlated with {{path|/sys/devices/platform/thinkpad_hwmon/temp*_input}}'''<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! Thermal ID !! Location/Related Hardware !! Confirmed !! Notes<br />
|-<br />
| 1 || CPU || {{Cyes}} || <br />
|-<br />
| 2 || North-bridge || {{Cpart}} || <br />
|-<br />
| 3 || Cardbus/ExpressCard Bay || {{Cyes}} || <br />
|-<br />
| 4 || GPU || {{Cyes}} || seperate from GPU's integrated sensor<br />
|-<br />
| 5 || 9-Cell Battery - Secondary || {{Cyes}} || static @ 50C on 6-cell<br />
|-<br />
| 6 || Ultrabay - Secondary || {{Cyes}} || Available only when device present<br />
|-<br />
| 7 || 6/9-Cell Battery - Primary || {{Cyes}} ||<br />
|-<br />
| 8 || UltraBay - Primary || {{Cyes}} || Available only when device present<br />
|-<br />
| 9 || RAM || {{Cyes}} ||<br />
|-<br />
| 10 || Right of RAM, Under Touchpad || {{Cyes}} ||<br />
|-<br />
| 11 || Mini-PCI Area || {{Cpart}} ||<br />
|}<br />
{{Todo|determine sensor 6 and 8 relavence for other UltraBay accessories}}<br />
{{Todo|confirm sensor 11}}<br />
<br />
'''Contributors:''' ''Daniel Castro, [[User:Lunatico|Lunatico]], [[User:andrewcbates|Andrew C Bates]]''<br />
<br />
===ThinkPad {{T61p}}===<br />
<br />
'''Sensor numbering correlated with {{path|/sys/devices/platform/thinkpad_hwmon/temp*_input}}'''<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! Thermal ID !! Location/Related Hardware !! Confirmed !! Notes<br />
|-<br />
| 1 || CPU || {{Cyes}} || <br />
|-<br />
| 2 || North-bridge || {{Cpart}} || <br />
|-<br />
| 3 || Cardbus/ExpressCard Bay || {{Cyes}} || <br />
|-<br />
| 4 || GPU || {{Cyes}} || seperate from GPU's integrated sensor<br />
|-<br />
| 5 || 9-Cell Battery - Secondary || {{Cyes}} || static @ 50C on 6-cell<br />
|-<br />
| 6 || Ultrabay - Secondary || {{Cyes}} || Available only when device present<br />
|-<br />
| 7 || 6/9-Cell Battery - Primary || {{Cyes}} ||<br />
|-<br />
| 8 || UltraBay - Primary || {{Cyes}} || Available only when device present<br />
|-<br />
| 9 || RAM || {{Cyes}} ||<br />
|-<br />
| 10 || Right of RAM, Under Touchpad || {{Cyes}} ||<br />
|-<br />
| 11 || Mini-PCI Area || {{Cpart}} ||<br />
|}<br />
{{Todo|determine sensor 6 and 8 relavence for other UltraBay accessories}}<br />
{{Todo|confirm sensor 11}}<br />
<br />
'''Contributors:''' ''[[User:andrewcbates|Andrew C Bates]]''<br />
<br />
===ThinkPad {{T400}}===<br />
Experimenting with a hair dryer, fgl_glxgears, grep and tools like that I ([[User:Dummyaccount|Dummyaccount]]) came to the following conclusions for the sensor-index mapping. More comments are provided at [http://www.cosy.sbg.ac.at/~shuber/misc-t400.php#temp_sensors].<br />
<br />
Index in "thermal" Location<br />
1 CPU neighbourhood (also via ACPI THM0)<br />
2 Ultrabay<br />
3 Express card<br />
4 ATI graphics module<br />
5 Main battery (always around 50°C)<br />
6 n/a (probably ultrabay battery)<br />
7 Main Battery (fits about the value reported by smapi)<br />
8 n/a (probably ultrabay battery)<br />
9 Hard disc<br />
10 Intel graphics module<br />
11 Heatsink?<br />
12 n/a<br />
13 n/a<br />
14 n/a<br />
15 n/a<br />
16 n/a<br />
<br />
'''sensors3.conf''' ready sniplet:<br />
<code><br />
chip "thinkpad-isa-0000"<br />
label fan1 "Fan"<br />
label temp1 "CPU neighbourhood (also via ACPI THM0)"<br />
label temp2 "Ultrabay"<br />
label temp3 "Express card"<br />
label temp4 "ATI graphics module"<br />
label temp5 "Main battery (always around 50°C)"<br />
label temp6 "n/a (probably ultrabay battery)"<br />
label temp7 "Main Battery (fits about the value reported by smapi)"<br />
label temp8 "n/a (probably ultrabay battery)"<br />
label temp9 "Hard disc"<br />
label temp10 "Intel graphics module"<br />
label temp11 "Heatsink?"<br />
label temp12 "n/a"<br />
label temp13 "n/a"<br />
label temp14 "n/a"<br />
label temp15 "n/a"<br />
label temp16 "n/a"<br />
</code><br />
<br />
===ThinkPad {{T400s}}===<br />
<br />
Index in "thermal" Location<br />
1 CPU neighbourhood (same as ACPI THM0)<br />
2 ?<br />
3 ?<br />
4 n/a<br />
5 Main battery<br />
6 Ultrabay battery<br />
7 Main Battery<br />
8 Ultrabay battery<br />
9 ?<br />
10 n/a<br />
11 ?<br />
12 n/a<br />
13 n/a<br />
14 n/a<br />
15 n/a<br />
16 n/a<br />
<br />
None of the these matches ACPI THM1, which (judging by the dramatic response to CPU load) is probably the CPU's on-die thermal sensor.<br />
<br />
===ThinkPad {{T500}}===<br />
According to [http://forum.thinkpads.com/viewtopic.php?f=45&t=75032], the sensors in the T500 "may be identical to those reported for the [[#ThinkPad T61|T61]]", with the possibility that #11 may be the CPU heatsink. "It is very closely correlated to cpu load but shows a lot more inertia than sensor 1 which changes almost instantaneously with cpu load."<br />
<br />
I ([[User:Nandhp]]) experimented with running glxgears, this produces a spike in #9, which does not occur under regular CPU load. #5 and #7 both belong to the main battery, for they disappear when it is removed. [http://www.kernel.org/doc/Documentation/laptops/thinkpad-acpi.txt] suggests #6 and #8 should be for the UltraBay battery. It also implies that #4 should be for the GPU, however, my model (which has an integrated GPU) does not have a #4 sensor. --[[User:Nandhp|Nandhp]] 19:27, 17 June 2009 (UTC)<br />
<br />
I ([[User:jal2]]) had a look into the schematics of the T500/W500 mainboard. There are thermal sensors at the CPU (internal diode), WWAN (Q21), under dem SO-DIMM slots (Q31), graphics chip (discrete only, internal diode), at the WLAN slot (Q104) and at the bottom side below the ICH (Q93). All Qxx are small, three pin transistors marked in the silk screen. These sensors are connected to a MAX6693 (U4), which also measures its own temperature. U4 in turn is connected via SMB to the EC. No idea about the mapping of the sensors to the indices in thermal, maybe someone wants to determine it using cooling spray?<br />
<br />
Index in "thermal" Location<br />
1 CPU (also via ACPI THM0)<br />
2 WLAN PCIe slot (Q104)<br />
3 HDD ?<br />
4 n/a<br />
5 Main Battery A<br />
6 n/a (probably Second Battery A)<br />
7 Main Battery B<br />
8 n/a (probably Second Battery B)<br />
9 SO-DIMM slot (Q31)<br />
10 integrated graphics chip<br />
11 WWAN PCIe slot (Q21)<br />
12 n/a<br />
13 n/a<br />
14 n/a<br />
15 n/a<br />
16 n/a<br />
<br />
Put this in /etc/sensors.d/tpsensors<br />
chip "acpitz-virtual-0"<br />
label temp1 "CPU_0"<br />
label temp2 "CPU_1"<br />
chip "thinkpad-isa-0000"<br />
label fan1 "FAN"<br />
label temp1 "CPU"<br />
label temp2 "WLAN"<br />
label temp3 "HDD?"<br />
ignore temp4<br />
label temp5 "BAT1"<br />
ignore temp6<br />
label temp7 "BAT2"<br />
ignore temp8<br />
label temp9 "RAM"<br />
label temp10 "VGA"<br />
label temp11 "WWAN"<br />
ignore temp12<br />
ignore temp13<br />
ignore temp14<br />
ignore temp15<br />
ignore temp16<br />
<br />
===ThinkPad {{X22}} {{X23}} {{X24}}===<br />
There is a chip very close to the CPU, which monitors the processor and its own temperature, reports as temperatures 1 and 2 respectively. In X22, this sensor is ADM1023ARQ. In X24, the chip is NE1618. I think the sensor for temperature 3 is on the underside. Temperature 3 is high while charging battery.<br />
<br />
EC offset Index in "thermal" Location<br />
0x78 1 CPU<br />
0x79 2 just in front of CPU<br />
0x7A 3 ? gets hot when charging battery<br />
<br />
{{gallery_start}}<br />
{{thumb|X22_heatsink.JPG|location of CPU thermal monitor}}<br />
{{thumb|X22_planar_charge_volt_regulate_chips.JPG|temperature 3 is somewhere near battery prongs}}<br />
{{gallery_end}}<br />
<br />
===ThinkPad {{X31}}===<br />
I figured these out by myself ([[User:BDKMPSS|BDKMPSS]]), as there are just a few available, this wasn't a huge problem. I verified my presumptions with a contactless thermometer.<br />
EC offset Index in "thermal" Location (estimated)<br />
0x78 1 CPU<br />
0x79 2 n/a<br />
0x7A 3 GPU?<br />
0x7B 4 near or the ICH4M Southbrige, on the back of the Motherboard<br />
0x7C 5 Battery<br />
0x7D 6 Extended-Life-Battery; may also UltraBay battery<br />
0x7E 7 Battery<br />
0x7F 8 Extended-Life-Battery; may also UltraBay battery<br />
0xC0 none n/a<br />
0xC1 none n/a<br />
0xC2 none n/a<br />
<br />
0x7A "GPU?" is pretty hot and seems like the GPU, but as the Chipset and the GPU are cooled with the same heatsink it is difficult to separate them without roasting the machine. However the left and GPU side of the heatsink is much closer to the shown value than the right Chipset side.<br />
<br />
===ThinkPad {{X60}}===<br />
These sensors were found on my X60:<br />
Index Location Sensor* Idle** Idle*** Comments<br />
1 CPU CPU (0x78) 62 C 39 C<br />
3 Card? Crd (0x7A) -- --<br />
2 ?? APS (0x97) 43 C 46 C<br />
4 GPU GPU (0x7B) 59 C 39 C<br />
5 Battery No5 (0x7c) Disappears when battery removed<br />
7 Battery Bat (0x7E) Disappears when battery removed<br />
9 ?? Bus (0xC0) 44 C 41 C<br />
10 ?? PCI (0xC1) 50 C 35 C<br />
11 ?? Pwr (0xC2) -- --<br />
<br />
Unused/-known sensor numbers:<br />
6 -- Value N/A<br />
8 -- Value N/A<br />
12-16 -- Value N/A<br />
<br />
* Sensor names taken from "TPFanControl V0.62 by troubadix" for Windows<br />
** Idle values when running under TPFanControl's "Smart" mode; fan never engages if the machine just sits idle<br />
*** Mostly idle values when running in Linux Mint with the machine's firmware-based fan control<br />
<br />
===ThinkPad {{X61}}===<br />
[[User:Jdthood|I]] have started to figure out which sensors are which.<br />
<br />
Index Location How known?<br />
1 CPU Increases immediately on computationally intensive task<br />
2 HDAPS Always the same value as /sys/bus/platform/drivers/hdaps/hdaps/temp1<br />
3<br />
4<br />
5 Battery Disappears if battery removed<br />
7 Battery Disappears if battery removed<br />
9<br />
10<br />
<br />
===ThinkPad {{X200 Tablet}}===<br />
That's what [[User:Jdthood|I]] found out so far. Hope the guys in the german tp-forum have some more details. [http://thinkpad-forum.de/threads/143790-Temperatursensoren-im-X200-Tablet thread]<br />
<br />
Sensors Location How known?<br />
temp1 CPU Increases immediately on computationally intensive task<br />
temp5 Battery Disappears if battery removed <br />
temp7 Battery Disappears if battery removed<br />
<br />
===ThinkPad {{X220}}===<br />
On [[User:Jdthood|my]] X220 there is only one sensor, named <tt>fan1</tt>.<br />
<br />
<pre><br />
$ sensors<br />
acpitz-virtual-0<br />
Adapter: Virtual device<br />
temp1: +49.0°C (crit = +99.0°C) <br />
<br />
thinkpad-isa-0000<br />
Adapter: ISA adapter<br />
fan1: 1954 RPM<br />
<br />
$ lsmod | grep '^t[hp]'<br />
thinkpad_acpi 81587 0 <br />
tpm_tis 18537 1 <br />
tpm 22267 1 tpm_tis<br />
tpm_bios 13684 1 tpm<br />
tp_smapi 28471 0 <br />
thinkpad_ec 14450 2 hdaps,tp_smapi<br />
<br />
$ modinfo thinkpad-acpi|grep vers<br />
filename: /lib/modules/2.6.38-11-generic/kernel/drivers/platform/x86/thinkpad_acpi.ko<br />
version: 0.24<br />
srcversion: 0B6457473BB90551EE1D20F<br />
vermagic: 2.6.38-11-generic SMP mod_unload modversions <br />
</pre><br />
<br />
<br />
I am seeing more sensors on a '''X220 Tablet''':<br />
<pre><br />
$ sensors<br />
acpitz-virtual-0<br />
Adapter: Virtual device<br />
temp1: +52.0°C (crit = +99.0°C)<br />
<br />
coretemp-isa-0000<br />
Adapter: ISA adapter<br />
Physical id 0: +60.0°C (high = +86.0°C, crit = +100.0°C)<br />
Core 0: +55.0°C (high = +86.0°C, crit = +100.0°C)<br />
Core 1: +60.0°C (high = +86.0°C, crit = +100.0°C)<br />
<br />
thinkpad-isa-0000<br />
Adapter: ISA adapter<br />
fan1: 1853 RPM<br />
<br />
pkg-temp-0-virtual-0<br />
Adapter: Virtual device<br />
temp1: +55.0°C <br />
<br />
$ modinfo thinkpad_acpi|grep vers<br />
filename: /lib/modules/3.11.0-19-generic/kernel/drivers/platform/x86/thinkpad_acpi.ko<br />
version: 0.25<br />
srcversion: 61CA19938CD5679D7FEE38B<br />
vermagic: 3.11.0-19-generic SMP mod_unload modversions<br />
</pre></div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&diff=54504List of DMI IDs2013-04-01T01:48:47Z<p>Bugmenot1: Add W510 w/ bios v1.32</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
This page maintains a database of [http://en.wikipedia.org/wiki/Desktop_Management_Interface DMI] information which can be used to identify ThinkPad models. It is intended as an aid for driver development.<br />
{{HELP|We need more information about older models, especially those released before 2004. Please [[#Adding_entries|add your model]] to the database.}}<br />
{{NOTE|If your ThinkPad is not using the [[BIOS Upgrade Downloads|latest BIOS]], and you would be willing to [[BIOS Upgrade|upgrade your BIOS]], please add your ThinkPad to this table twice: '''before''' and '''after''' the BIOS upgrade. This information helps us a great deal, so your contribution would be very appreciated.}}<br />
|}<br />
<br />
==DMI ID database==<br />
<br />
<div style="font-size: 80%"><br />
{| border="1" cellspacing="0" cellpadding="2" style="text-align:center"<br />
|-<br />
! Model<br />
! <tt>system-<br />manufa<br />cturer</tt><br />
! <tt>system-<br />product-<br />name</tt><br />
! <tt>system-<br />version</tt><br />
! <tt>baseboard-<br />manufa<br />cturer</tt><br />
! <tt>baseboard-<br />product-<br />name</tt><br />
! <tt>base<br />board-<br />version</tt><br />
! <tt>chassis-<br />manufa<br />cturer</tt><br />
! <tt>chassis-<br />version</tt><br />
! <tt>bios-<br />vendor</tt><br />
! <tt>bios-<br />version</tt><br />
! <tt>bios-<br />release-<br />date</tt><br />
! Embedded controller<br />
! Notes<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====Numbered series====<br />
|-<br />
| {{240X}} 2609-61U<br />
|| IBM || 260961U || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 1.03.09 || 12/21/1999 <br />
||<br />
||<br />
|-<br />
| {{570}} 2644-1AU<br />
|| IBM || 26441AU || Not Available || IBM || 26441AU || Not Available || IBM || Not Available || IBM || IMET65WW || 11/11/99<br />
||<br />
||<br />
|-<br />
| {{570E}} 2644-5AU<br />
|| IBM || 26445AU || Not Available || IBM || 26445AU || Not Available || IBM || Not Available || IBM || IUET25WW || 12/11/1999<br />
||<br />
||<br />
|-<br />
| {{600E}} 2645-5AU<br />
|| IBM || 26455AU || Not Available || IBM || 26455AU || Not Available || IBM || Not Available || IBM || INET36WW || 11/20/1999<br />
||<br />
||<br />
|-<br />
| {{600X}} 2645-5FU<br />
|| IBM || 26455FU || Not Available || IBM || 26455FU || Not Available || IBM || Not Available || IBM || INET55WW || 11/30/1999<br />
||<br />
||<br />
|-<br />
| {{600X}} 2645-8EU<br />
|| IBM || 26458EU || Not Available || IBM || 26458EU || Not Available || IBM || Not Available || IBM || ITET54WW || 11/30/1999 <br />
||<br />
||<br />
|-<br />
| {{600X}} 2645-8EU<br />
|| IBM || 26458EU || Not Available || IBM || 26458EU || Not Available || IBM || Not Available || IBM || ITET48WW || 11/30/1999 <br />
||<br />
||POST/BIOS Version 1.13 old prior to upgrade <br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====A series====<br />
|-<br />
| {{A21m}} 2628-FSG<br />
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET24WW (1.02b) || 12/19/2000 <br />
|| <br />
||<br />
|-<br />
| {{A21m}} 2628-FSG<br />
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET36WW (1.09 ) || 05/08/2003 <br />
||<br />
||<br />
|-<br />
| {{A21m}} 2628-GTU<br />
|| IBM || 2628GTU || Not Available || IBM || 2628GTU || Not Available || IBM || Not Available || IBM || KXET29WW (1.03d) || 03/21/2001 <br />
||<br />
||<br />
|-<br />
| {{A22e}} 2655-KG1<br />
|| IBM || 2655KG1 || Not Available || IBM || 2655KG1 || Not Available || IBM || Not Available || IBM || 10ET23WW (1.04 ) || 09/05/2001 <br />
||<br />
||<br />
|-<br />
| {{A22e}} 2655-KG1<br />
|| IBM || 2655KG1 || Not Available || IBM || 2655KG1 || Not Available || IBM || Not Available || IBM || 10ET26WW (1.07 ) || 06/13/2003 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{A22p}} 2629-USG<br />
|| IBM || 2629USG || Not Available || IBM || 2629USG || Not Available || IBM || Not Available || IBM || KYET36WW (1.09a) || 10/17/2002 <br />
||<br />
|| {{T-WARN|Outdated BIOS}}<br />
|-<br />
| {{A22p}} 2629-A2G<br />
|| IBM || 2629A2G || Not Available || IBM || 2629A2G || Not Available || IBM || Not Available || IBM || KYET38WW (1.11 ) || 05/20/2004 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{A31}} 2652-PBU<br />
|| IBM || 2652PBU || Not Available || IBM || 2652PBU || Not Available || IBM || Not Available || IBM || 1NET15WW (1.09 ) || 04/06/2005<br />
|| <nowiki>Handle&nbsp;0x0026,&nbsp;DMI&nbsp;type&nbsp;11,&nbsp;5&nbsp;byte&nbsp;String&nbsp;1:&nbsp;IBM .&nbsp;.&nbsp;ThinkPad&nbsp;Embedded&nbsp;Controller&nbsp;-[1NHT04WW-1.01&nbsp;]-&nbsp;.&nbsp;.</nowiki><!-- Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1NHT04WW-1.01 ]- --><br />
||<br />
|-<br />
| {{A31p}} 2653-RNG<br />
|| IBM || 2653RNG || Not Available || IBM || 2653RNG || Not Available || IBM || Not Available || IBM || 1NET16WW (1.10 ) || 10/19/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1NHT08WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{A31p}} 2653-H6U<br />
|| IBM || 2653H6U || Not Available || IBM || 2653H6U || Not Available || IBM || Not Available || IBM || 1GET31WW (1.03 ) || 07/23/2002<br />
|colspan="2"|{{T-WARN|Missing EC string, extremely outdated BIOS}}<br />
{{HELP|We need a report to know if the latest BIOS fixes the missing EC string}}<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====G series====<br />
|-<br />
| {{G41}} 2881-75M<br />
|| IBM || 288175M || ThinkPad G41 || IBM || 288175M || Not Available || IBM || Not Available || IBM || 1XET47WW (1.06 ) || 01/14/2005<br />
||<br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====R series====<br />
|-<br />
| {{R40}} 2681-5UU<br />
|| IBM || 26815UU || Not Available || IBM || 26815UU || Not Available || IBM || Not Available || IBM || 1OET57WW (1.23 ) || 03/23/2005 <br />
||<br />
|| {{T-WARN|Outdated BIOS}}<br />
|-<br />
| {{R40}} 2681-HSG<br />
|| IBM || 2681HSG || Not Available || IBM || 2681HSG || Not Available || IBM || Not Available || IBM || 1OET61WW (1.27 ) || 06/29/2006<br />
||<br />
|| {{T-WARN|Outdated BIOS}}<br />
|-<br />
| {{R40}} 2722-B3G<br />
|| IBM || 2722B3G || Not Available || IBM || 2722B3G || Not Available || IBM || Not Available || IBM || 1PET62WW (1.30 ) || 09/29/2005<br />
||<br />
||<br />
|-<br />
| {{R40}} 2722-BDG<br />
|| IBM || 2722BDG || Not Available || IBM || 2722BDG || Not Available || IBM || Not Available || IBM || 1PET65WW (1.33 ) || 06/29/2006 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{R40}} 2722-C4U <br />
|| IBM || 2722CU4 || Not Available || IBM || 2722CU4 || Not Available || IBM || Not Available || IBM || 1PET46WW (1.14 ) || 07/15/2003<br />
|| 1OHT37WW (1.09) 05/26/03<br />
|| {{T-WARN|Outdated BIOS}}<br />
|- <br />
| {{R40}} 2722-C4U <br />
|| IBM || 2722CU4 || Not Available || IBM || 2722CU4 || Not Available || IBM || Not Available || IBM || 1PET65WW (1.33 ) || 06/29/2006 <br />
|| 1OHT42WW (1.14) 05/23/05<br />
||<br />
|- <br />
| {{R40}} 2897-B4U<br />
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1PET52WW (1.20 ) || 03/03/2004<br />
||<br />
||<br />
|- <br />
| {{R40e}} 2684-L8G<br />
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1SET62WW (1.30 ) || 07/09/2004<br />
||<br />
|| {{T-WARN|Outdated BIOS}}<br />
|-<br />
| {{R40e}} 2684-L8G<br />
|| IBM || 2684L8G || Not Available || IBM || 2684L8G || Not Available || IBM || Not Available || IBM || 1SET70WW (1.38 ) || 11/15/2005<br />
||<br />
||<br />
|-<br />
| {{R50}} 1829-7QG<br />
|| IBM || 0123456 || ThinkPad R50 || IBM || 0123456 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
|{{R50e}} 1834-JAG<br />
|| IBM || 1834JAG || ThinkPad R50e || IBM || 1834JAG || Not Available || IBM || Not Available || IBM || 1WET82WW (2.02 ) || 02/21/2005<br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
|{{R50e}}<br />
|| IBM || 1834S5G || ThinkPad R50e || IBM || 1834S5G || Not Available || IBM || Not Available || IBM || 1WET86WW (2.06 ) || 11/15/2005 <br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04 ]-</nowiki><br />
|| {{T-WARN|Outdated BIOS}}<br />
|- <br />
|{{R50e}}<br />
|| IBM || 1834S5G || ThinkPad R50e || IBM || 1834S5G || Not Available || IBM || Not Available || IBM || 1WET90WW (2.10 ) || 12/08/2006 <br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04 ]-</nowiki><br />
||<br />
|- <br />
|{{R50p}} 1832-2AG<br />
|| IBM || 18322AG || ThinkPad R50p || IBM || 18322AG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 1829-DRG<br />
|| IBM || 1829DRG || ThinkPad R51 || IBM || 1829DRG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a ]-</nowiki> <br />
||<br />
|-<br />
| {{R51}} 1829-9MG<br />
|| IBM || 18299MG || ThinkPad R51 || IBM || 18299MG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 1829-L7G<br />
|| IBM || 1829L7G || ThinkPad R51 || IBM || 1829L7G || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT70WW-3.03 ]-</nowiki><br />
||<br />
|- <br />
| {{R51}} [[1830-DG4]]<br />
|| IBM || 1830DG4 || ThinkPad R51 || IBM || 1830DG4 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} [[1830-DG4]]<br />
|| IBM || 1830DG4 || ThinkPad R51 || IBM || 1830DG4 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 1836-GEU<br />
|| IBM || 1836GEU || ThinkPad R51 || IBM || 1836GEU || Not Available || IBM || Not Available || IBM || 1RETDLWW (3.17 ) || 07/27/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes. String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 2883-ELU<br />
|| IBM || 2883ELU || ThinkPad R51 || IBM || 2883ELU || Not Available || IBM || Not Available || IBM || 1VET69WW (1.27 ) || 03/03/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 2883-8QU<br />
|| IBM || 28838QU || ThinkPad R51 || IBM || 28838QU || Not Available || IBM || Not Available || IBM || 1VET61WW (1.19 ) || 12/20/2004<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1VHT27WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-AQG<br />
|| IBM || 1846AQG || ThinkPad H || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04 ]-</nowiki><br />
|| Weird system version, this bug is known fixed in latest BIOS<br />
|-<br />
| {{R52}} 1846-AQG<br />
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET68WW (1.28 ) || 11/15/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-AQG<br />
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET69WW (1.29 ) || 12/06/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1847-CTO<br />
|| IBM || 1847W15 || ThinkPad R52 || IBM || 1847W15 || Not Available || IBM || Not Available || IBM || 76ET69WW (1.29 ) || 12/06/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1847-W62<br />
|| IBM || 1847W62 || ThinkPad . || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04 ]-</nowiki><br />
|| Weird system version, this bug is known fixed in latest BIOS<br />
|-<br />
| {{R52}} 1847-W62<br />
|| IBM || 1847W62 || ThinkPad R52 || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1858-6MM<br />
|| IBM || 18586MM || ThinkPad R52 || IBM || 18586MM || Not Available || IBM || Not Available || IBM || 70ET40WW (1.04 ) || 06/02/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1858-6SM<br />
|| IBM || 18586SM || ThinkPad R52 || IBM || 18586SM || Not Available || IBM || Not Available || IBM || 70ET57WW (1.17 ) || 07/15/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-4CG<br />
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT15WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-4CG<br />
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-B5G<br />
|| IBM || 1846B5G || ThinkPad H || IBM || 1846B5G || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R60e}} 0657-4TG<br />
|| LENOVO || 06574TG || ThinkPad R60e || LENOVO || 06574TG || Not Available || LENOVO || Not Available || LENOVO || 7EET18WW (1.04 ) || 07/28/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7EHT13WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9456-6FG<br />
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9456-6FG<br />
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CETB7WW (2.07 ) || 11/13/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9461-54G<br />
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9461-54G<br />
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CETC1WW (2.11 ) || 01/09/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
|| With this bios version the brightness control buttons don't work for kernel < 2.6.20<br />
|-<br />
| {{R60}} 9461-54G<br />
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CET49WW (1.04 ) || 05/11/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT16WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9460MR2<br />
|| LENOVO || 9460MR2 || ThinkPad R60 || LENOVO || 9460MR2 || Not Available || LENOVO || Not Available || LENOVO || 7CETC6WW (2.16 ) || 04/18/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9461-DXG<br />
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETB6WW (2.06 ) || 10/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9461-DXG<br />
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETD2WW (2.22 ) || 05/28/2008<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT22WW-1.10 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9462-GAG<br />
|| LENOVO || 9462GAG || ThinkPad R60 || LENOVO || 9462GAG || Not Available || LENOVO || Not Available || LENOVO || 7CETB5WW (2.05 ) || 10/13/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 8918-5QG<br />
|| LENOVO || 89185QG || ThinkPad R61 || LENOVO || 89185QG || Not Available || LENOVO || Not Available || LENOVO || 7KETA7WW (2.07 ) || 12/06/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 8919-W4P<br />
|| LENOVO || 8919W4P || ThinkPad R61 || LENOVO || 8919W4P || Not Available || LENOVO || Not Available || LENOVO || 7KET76WW (1.26 ) || 10/18/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
|| According to the sticker on the bottom of the notebook as well as according to Lenovo web it is 8919-CTO subtype<br />
|-<br />
| {{R61}} 8919-W6X<br />
|| LENOVO || 8919W6X || ThinkPad R61 || LENOVO || 8919W6X || Not Available || LENOVO || Not Available || LENOVO || 7KET71WW (1.21 ) || 08/22/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 8919-W6X<br />
|| LENOVO || 8919W6X || ThinkPad R61 || LENOVO || 8919W6X || Not Available || LENOVO || Not Available || LENOVO || 7KETB9WW (2.19 ) || 06/05/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 8919-DFG<br />
|| LENOVO || 8918DFG || ThinkPad R61 || LENOVO || 8918DFG || Not Available || LENOVO || Not Available || LENOVO || 7KETA9WW (2.09 ) || 12/27/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
|| <br />
|-<br />
| {{R61}} 8943-DMG<br />
|| LENOVO || 8943DMG || ThinkPad R61 || LENOVO || 8943DMG || Not Available || LENOVO || Not Available || LENOVO || 7QET34WW (1.16 ) || 03/24/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7QHT15WW-1.00 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 7732-4TG<br />
|| LENOVO || 77324TG || ThinkPad R61 || LENOVO || 77324TG || Not Available || LENOVO || Not Available || LENOVO || 7LET51WW (1.21 ) || 08/22/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 7732-4TG<br />
|| LENOVO || 77324TG || ThinkPad R61 || LENOVO || 77324TG || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 7732-NEG<br />
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETB6WW (2.16 ) || 04/16/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 7732-NEG<br />
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 7732-NEG<br />
|| LENOVO || 7732NEG || ThinkPad R61 || LENOVO || 7732NEG || Not Available || LENOVO || Not Available || LENOVO || 7LETC6WW (2.26 ) || 05/11/2009 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 7733-1ES<br />
|| LENOVO || 77331ES || ThinkPad R61 || LENOVO || 77331ES || Not Available || LENOVO || Not Available || LENOVO || 7LETB0WW (2.10 ) || 01/21/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 7733-1ES<br />
|| LENOVO || 77331ES || ThinkPad R61 || LENOVO || 77331ES || Not Available || LENOVO || Not Available || LENOVO || 7LETB4WW (2.14 ) || 03/24/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 7733-A82 <br />
|| LENOVO || 7733A82 || ThinkPad R61/R61i || LENOVO || 7733A82 || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
|| Intel graphics, 14.1" WXGA, Atheros wireless<br />
|-<br />
| {{R61i}} 7732-A12<br />
|| LENOVO || 7732A12 || ThinkPad R61i || LENOVO || 7732A12 || Not Available || LENOVO || Not Available || LENOVO || 7KET76WW (1.26 ) || 10/18/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
|| Prior to Flashing<br />
|-<br />
| {{R61i}} 7732-A12<br />
|| LENOVO || 7732A12 || ThinkPad R61i || LENOVO || 7732A12 || Not Available || LENOVO || Not Available || LENOVO || 7KETC8WW (2.28) || 05/26/2009 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
|| Post Flashing<br />
|-<br />
| {{R61i}} 7650-D7G<br />
|| LENOVO || 7650D7G || ThinkPad R61e || LENOVO || 7650D7G || Not Available || LENOVO || Not Available || LENOVO || 7PETB0WW (2.10 ) || 01/21/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61e}} 7650-E6G<br />
|| LENOVO || 7650E6G || ThinkPad R61e || LENOVO || 7650E6G || Not Available || LENOVO || Not Available || LENOVO || 7PETB2WW (2.12 ) || 02/20/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R400}} 7439-A85<br />
|| LENOVO || 7439A85 || ThinkPad R400 || LENOVO || 7439A85 || Not Available || LENOVO || Not Available || LENOVO || 7UET45WW (1.15 ) || 09/08/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{R400}} 7443-TPA<br />
|| LENOVO || 7443TPA || ThinkPad R400 || LENOVO || 7443TPA || Not Available || LENOVO || Not Available || LENOVO || 7UET49WW (1.19 ) || 10/17/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{R400}} 7443-TPA<br />
|| LENOVO || 7443TPA || ThinkPad R400 || LENOVO || 7443TPA || Not Available || LENOVO || Not Available || LENOVO || 7UET50WW (1.20 ) || 10/30/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====S series====<br />
|-<br />
| {{s30}} 2639-4WJ<br />
|| IBM || 26394WJ || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 18ET45WW (1.45) || 07/10/2001<br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====SL series====<br />
|-<br />
| {{SL410}} 2842-7PU || LENOVO || 28427PU || ThinkPad SL410 || LENOVO || 28427PU || Not Available || LENOVO || Not Available || LENOVO || 6JET69WW (1.27 ) || 11/30/2009 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6JHT54WW-1.174000]-</nowiki><br />
||<br />
|-<br />
| {{SL410}} 2842-XF2 || LENOVO || 28427PU || ThinkPad SL410 || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6JET58WW (1.16 ) || 09/17/2009 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6JHT48WW-1.168000]-</nowiki><br />
||<br />
|-<br />
| {{SL500}} 2746-3ZG || LENOVO || 27463ZG || ThinkPad SL500 || LENOVO || BOXSTER || 6AET<br />42WW || LENOVO || 6AET<br />42WW || LENOVO || 6AET42WW || 08/04/2008 <br />
|| <nowiki></nowiki><br />
|| {{T-WARN|IdeaPad EC and BIOS. This is an IdeaPad in disguise.}}<br />
|-<br />
| {{SL500}} 2746-4CG || LENOVO || 27464CG || ThinkPad SL500 || LENOVO || BOXSTER || 6AET<br />41WW || LENOVO || 6AET<br />41WW || LENOVO || 6AET41WW || 07/10/2008 <br />
|| <nowiki></nowiki><br />
|| {{T-WARN|IdeaPad EC and BIOS. This is an IdeaPad in disguise.}}<br />
|-<br />
| {{SL500}} 2764-EAG || LENOVO || 2746EAG || ThinkPad SL || LENOVO || 2746EAG || 6AET<br />58WW || LENOVO || 6AET<br />58WW || LENOVO || 6AET58WW || 05/29/2009 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{SL510}} 2847-7MG<br />
|| LENOVO || 28477MG || ThinkPad SL510 || LENOVO || ? || not available || LENOVO || not available || LENOVO || 6JET72WW (1.30 ) || 01/26/2010 <br />
|| Handle 0x0018, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[6JHT57WW-1.177000]-<br />
|| {{T-WARN|IdeaPad EC and BIOS.}}<br />
|-<br />
| {{SL400}} 2743-Rk3<br />
|| LENOVO || 2743RK3 || ThinkPad SL || LENOVO || 2743RK3 || LENOVO 6AET59WW || LENOVO || LENOVO 6AET59WW || LENOVO || 6AET59WW || 08/26/2009 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====T series====<br />
|-<br />
| {{T20}} 2647-UC2<br />
|| IBM || 2647UC2 || Not Available || IBM || 2647UC2 || Not Available || IBM || Not Available || IBM || IYET45WW (1.08a) || 12/21/1999<br />
||<br />
|| {{T-WARN|Very outdated BIOS}}<br />
|-<br />
| {{T21}} 2647-8AG <br />
|| IBM || 26478AG || Not Available || IBM || 26478AG || Not Available || IBM || Not Available || IBM || KZET22WW (1.04a) || 01/19/2001 <br />
||<br />
||<br />
|-<br />
| {{T21}} 2647-9AU<br />
|| IBM || 26479AU || Not Available || IBM || 26479AU || Not Available || IBM || Not Available || IBM || KZET33WW (1.15 ) || 03/28/2003<br />
||<br />
||<br />
|-<br />
| {{T21}} 2647-8AG <br />
|| IBM || 26478AG || Not Available || IBM || 26478AG || Not Available || IBM || Not Available || IBM || KZET34WW (1.16 ) || 04/28/2004 <br />
||<br />
|| <br />
|- <br />
| {{T21}} 2647-8AU<br />
|| IBM || 26478AU || Not Available || IBM || 26478AU || Not Available || IBM || Not Available || IBM || KZET34WW (1.16 ) || 04/28/2004<br />
||<br />
||<br />
|-<br />
| {{T21}} 2647-8GG<br />
|| IBM || 26478GG || Not Available || IBM || 26478GG || Not Available || IBM || Not Available || IBM || 16ET29WW (1.09 ) || 02/28/2002 <br />
||<br />
||<br />
|-<br />
| {{T22}} 2647-4EG<br />
|| IBM || 26474EG || Not Available || IBM || 26474EG || Not Available || IBM || Not Available || IBM || 16ET31WW (1.11 ) || 03/20/2003 <br />
||<br />
||<br />
|-<br />
| {{T22}} 2647-8EU<br />
|| IBM || 26478EU || Not Available || IBM || 26478EU || Not Available || IBM || Not Available || IBM || 16ET32WW (1.12 ) || 04/27/2004<br />
||<br />
||<br />
|- <br />
| {{T23}} 2647<br />
|| IBM || 2647 || Not Available || IBM || 2647 || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13) || 07/23/2002 <br />
|| <br />
|| Manufactured in Greenock, Scotland<br />
|- <br />
| {{T23}} 2647<br />
|| IBM || 2647 || Not Available || IBM || 2647 || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20) || 07/23/2002 <br />
|| <nowiki>As above. Handle 0x0024, DMI type 11, 5 bytes OEM Strings String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a]-<br />
</nowiki><br />
||<br />
|- <br />
| {{T23}} 2647-4MG<br />
|| IBM || 26474MG || Not Available || IBM || 26474MG || Not Available || IBM || Not Available || IBM || 1AET58WW (1.14a) || 09/11/2002 <br />
|| <nowiki></nowiki><br />
||<br />
|- <br />
| {{T23}} 2647-4MG<br />
|| IBM || 26474MG || Not Available || IBM || 26474MG || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20 ) || 10/18/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a ]-</nowiki><br />
||<br />
|- <br />
| {{T23}} 2647-4NU<br />
|| IBM || 26474NU || Not Available || IBM || 26474NU || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a ]-</nowiki><br />
||<br />
|-<br />
| {{T23}} 2647-8MG<br />
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13 ) || 07/02/2002<br />
||<br />
|| Missing EC string, this bug is known to be fixed in latest BIOS<br />
|-<br />
| {{T23}} 2647-8MG<br />
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a]-</nowiki><br />
||<br />
|-<br />
| {{T23}} 2648-DG1<br />
|| IBM || 2648DG1 || Not Available || IBM || 2648DG1 || Not Available || IBM || Not Available || IBM || 1AET61WW (1.17 ) || 05/29/2003 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{T23}} 2648-DG1<br />
|| IBM || 2648DG1 || Not Available || IBM || 2648DG1 || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20 ) || 10/18/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a ]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-21U<br />
|| IBM || 236621U || Not Available || IBM || 236621U || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-82U<br />
|| IBM || 236682U || Not Available || IBM || 236682U || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1IHT19WW-1.06]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-85G<br />
|| IBM || 236685G || Not Available || IBM || 236685G || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1IHT18WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-GU1<br />
|| IBM || 2366GU1 || Not Available || IBM || 2366GU1 || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1IHT19WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-JBU<br />
|| IBM || 2366JBU || Not Available || IBM || 2366JBU || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T40}} 2378-D2U<br />
|| IBM || 2378D2U || ThinkPad T40 || IBM || 2378D2U || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004<br />
|| <br />
|| Missing EC string, this bug is known to be fixed in latest BIOS<br />
|-<br />
| {{T40}} 2374-DG1<br />
|| IBM || 2374DG1 || ThinkPad T40 || IBM || 2374DG1 || Not Available || IBM || Not Available || IBM || 1RET73WW (2.02 ) || 08/21/2003<br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{T40}} 2374-DG1<br />
|| IBM || 2374DG1 || ThinkPad T40 || IBM || 2374DG1 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T40}} 2373-42G<br />
|| IBM || 237342G || ThinkPad T40 || IBM || 237342G || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003<br />
||<br />
|| [[ATI Mobility Radeon 7500]]<br />
|-<br />
| {{T40}} 2373-NG5<br />
|| IBM || 2373NG5 || ThinkPad T40 || IBM || 2373NG5 || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T40}} 2373-NG5<br />
|| IBM || 2373NG5 || ThinkPad T40 || IBM || 2373NG5 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T40}} 2374-2G9<br />
|| IBM || 23742G9 || ThinkPad T40 || IBM || 23742G9 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
|| After upgrade from Bios v. 3.16 and ecp 3.02<br />
|-<br />
| {{T40p}} 2373-G1G<br />
|| IBM || 2373G1G || ThinkPad T40p || IBM || 2373G1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T40p}} 2373-5U5<br />
|| IBM || 23735U5 || ThinkPad T40p || IBM || 23735U5 || Not Available || IBM || Not Available || IBM || 1RETDGWW (3.12 ) || 10/18/2004 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT70WW-3.03 ]-</nowiki><br />
|| <br />
|- <br />
| {{T40p}} 2373-5U5<br />
|| IBM || 23735U5 || ThinkPad T40p || IBM || 23735U5 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
|| <br />
|- <br />
| {{T41}} 2373-9FG<br />
|| IBM || 23739FG || ThinkPad T41 || IBM || 23739FG || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
|| <br />
|- <br />
| {{T41}} 2373-W63<br />
|| IBM || 2373W63 || ThinkPad T41 || IBM || 2373W63 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki> <br />
||<br />
|-<br />
| {{T41}} 2373-XNX<br />
|| IBM || 2373XNX || ThinkPad T41 || IBM || 2373XNX || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41}} 2373-2FG<br />
|| IBM || 23732FG || ThinkPad T41 || IBM || 23732FG || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003<br />
||<br />
|| Missing EC string, this bug is known to be fixed in latest BIOS<br />
|-<br />
| {{T41}} 2373-7FG<br />
|| IBM || 23737FG || ThinkPad T41 || IBM || 23737FG || Not Available || IBM || Not Available || IBM || 1RET87WW (2.14 ) || 01/26/2004<br />
||<br />
||<br />
|-<br />
| {{T41}} 2373-7FG<br />
|| IBM || 23737FG || ThinkPad T41 || IBM || 23737FG || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
|| After upgrade from BIOS v. 2.14<br />
|-<br />
| {{T41}} 2373-TG5<br />
|| IBM || 2373TG5 || ThinkPad T41 || IBM || 2373TG5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41}} 2374-312<br />
|| IBM || 2374312 || ThinkPad T41 || IBM || 2374312 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41}} 2379-DJU<br />
|| IBM || 2379DJU || ThinkPad T41 || IBM || 2379DJU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41}} 2373-A10<br />
|| IBM || 2373A10 || ThinkPad T41 || IBM || 2373A10 || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41}} 2373-A10<br />
|| IBM || 2373A10 || ThinkPad T41 || IBM || 2373A10 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
|| After upgrade from BIOS v. 3.20<br />
|-<br />
| {{T41p}} 2373-GHG <br />
|| IBM || 2373GHG || ThinkPad T41p || IBM || 2373GHG || Not Available || IBM || Not Available || IBM || 1RETDIWW (3.14 ) || 01/20/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41p}} 2373-GEG<br />
|| IBM || 2373GEG || ThinkPad T41p || IBM || 2373GEG || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005<br />
|| <nowiki> Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41p}} 2373-GJJ<br />
|| IBM || 2373GJJ || ThinkPad T41p || IBM || 2373GJJ || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42}} 2373-FWG<br />
|| IBM || 2373FWG || ThinkPad T42 || IBM || 2373FWG || Not Available || IBM || Not Available || IBM || 1RETDHWW (3.13 ) || 10/29/2004<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42}} 2373-JTU<br />
|| IBM || 2373JTU || ThinkPad T42 || IBM || 2373JTU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42}} 2373-M1G<br />
|| IBM || 2373M1G || ThinkPad T42 || IBM || 2373M1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42}} 2373-VJA<br />
|| IBM || 2373VJA || ThinkPad T42 || IBM || 2373VJA || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42}} 2373-F2G<br />
|| IBM || 2373F2G || ThinkPad T42 || IBM || 2373F2G || Not Available || IBM || Not Available || IBM || 1RETDIWW (3.14 ) || 01/20/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42}} [[2373-CTO]]<br />
|| IBM || 2373YPL || ThinkPad T42 || IBM || 2373YPL || Not Available || IBM || Not Available || IBM || 1RETDLWW (3.17 ) || 07/27/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
|| {{T-WARN|Outdated BIOS}} before BIOS Update<br />
|-<br />
| {{T42}} [[2373-CTO]]<br />
|| IBM || 2373YPL || ThinkPad T42 || IBM || 2373YPL || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
|| after BIOS Update / current BIOS+EC<br />
|-<br />
| {{T42}} 2374-4WU<br />
|| IBM || 23744WU || ThinkPad T42 || IBM || 23744WU || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|- <br />
| {{T42}} 2374-WEH<br />
|| IBM || 2374WEH || ThinkPad T42 || IBM || 2374WEH || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki> <br />
||<br />
|-<br />
| {{T42}} 2378-FVU<br />
|| IBM || 2378FVU || ThinkPad T42 || IBM || 2378FVU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2373-A64<br />
|| IBM || 2373A64 || ThinkPad T42p || IBM || 2373A64 || Not Available || IBM || Not Available || IBM || 1RETDIWW (3.14 ) || 01/20/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byteString 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2373-KXU<br />
|| IBM || 2373KXU || ThinkPad T42p || IBM || 2373KXU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2373-KUU<br />
|| IBM || 2373KUU || ThinkPad T42p || IBM || 2373KUU || Not Available || IBM || Not Available || IBM || 1RETDMWW (3.18 ) || 09/15/2005<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2373-GYG<br />
|| IBM || 2373GYG || ThinkPad T42p || IBM || 2373GYG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2374-CP5<br />
|| IBM || 2374CP5 || ThinkPad T42p || IBM || 2374CP5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2379-DYU<br />
|| IBM || 2379DYU || ThinkPad T42p || IBM || 2379DYU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2372-Q2G<br />
|| IBM || 2373Q2G || ThinkPad T42p || IBM || 2373Q2G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 1871-4AG<br />
|| IBM || 18714AG || ThinkPad T43 || IBM || 18714AG || Not Available || IBM || Not Available || IBM || 70ET64WW (1.24 ) || 02/13/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT27WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 1871-4AG<br />
|| IBM || 18714AG || ThinkPad T43 || IBM || 18714AG || Not Available || IBM || Not Available || IBM || 70ET62WW (1.22 ) || 05/29/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03]-</nowiki><br />
|| <br />
|-<br />
| {{T43}} 1871-4AG<br />
|| IBM || 18714AG || ThinkPad T43 || IBM || 18714AG || Not Available || IBM || Not Available || IBM || 70ET69WW (1.29 ) || 05/29/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT28WW-1.05]-</nowiki><br />
|| <br />
|- <br />
| {{T43}} 1871-F1G<br />
|| IBM || 1871F1G || ThinkPad T43 || IBM || 1871F1G || Not Available || IBM || Not Available || IBM || 70ET61WW (1.21 ) || 11/01/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 2686-DGU<br />
|| IBM || 2686DGU || ThinkPad T43 || IBM || 2686DGU || Not Available || IBM || Not Available || IBM || 1YET62WW (1.27 ) || 05/18/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 2669-WE5<br />
|| IBM || 2669WE5 || ThinkPad T43 || IBM || 2669WE5 || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 <br />
|| <nowiki>String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
|| User reports this is really a 2669-CEU with 1GB RAM + BlueTooth, and not a 2669-WE5 (unverified if this makes sense)<br />
|-<br />
| {{T43}} 2668-WEW<br />
|| IBM || 2668WEW || ThinkPad T43 || IBM || 2668WEW || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 2668-WSY<br />
|| IBM || 2668WSY || ThinkPad T43 || IBM || 2668WSY || Not Available || IBM || Not Available || IBM || 1YET62WW (1.27 ) || 05/18/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 2668-74G<br />
|| IBM || 266874G || ThinkPad T43 || IBM || 266874G || Not Available || IBM || Not Available || IBM || 1YET57WW (1.22 ) || 07/20/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 2668-CTO <br />
|| IBM || 2668Y82 || ThinkPad T43p || IBM || 2668Y82 || Not Available || IBM || Not Available || IBM || 1YET65WW (1.29 ) || 08/21/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06 ]-</nowiki><br />
|| <br />
|- <br />
| {{T43p}} 2668-G2G<br />
|| IBM || 2668G2G || ThinkPad T43p || IBM || 2668G2G || Not Available || IBM || Not Available || IBM || 1YET47WW (1.08 ) || 06/09/2005 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T43p}} 2668-H1G<br />
|| IBM || 2668H1G || ThinkPad T43p || IBM || 2668H1G || Not Available || IBM || Not Available || IBM || 1YET45WW (1.06a) || 06/02/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T43p}} 2687-D5U<br />
|| IBM || 2687D5U || ThinkPad T43p || IBM || 2687D5U || Not Available || IBM || Not Available || IBM || 1YET59WW (1.24 ) || 11/07/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T43p}} 2668-F8G<br />
|| IBM || 2668F8G || ThinkPad T43p || IBM || 2668F8G || Not Available || IBM || Not Available || IBM || 1YET57WW (1.22 ) || 07/20/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1951-24G<br />
|| LENOVO || 195124G || ThinkPad T60 || LENOVO || 195124G || Not Available || LENOVO || Not Available || LENOVO || 79ET65WW (1.09a) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1952-W5R<br />
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ET61WW (1.06 ) || 05/24/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1952-W5R<br />
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ETD2WW (2.12 ) || 04/12/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2007-49G<br />
|| LENOVO || 200749G || ThinkPad T60 || LENOVO || 200749G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2007-77G<br />
|| LENOVO || 200777G || ThinkPad T60 || LENOVO || 200777G || Not Available || LENOVO || Not Available || LENOVO || 79ETD1WW (2.11 ) || 03/15/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2007-FSG<br />
|| LENOVO || 2007FSG || ThinkPad T60 || LENOVO || 2007FSG || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1951-CA2<br />
|| LENOVO || 1951CA2 || ThinkPad T60 || LENOVO || 1951CA2 || Not Available || LENOVO || Not Available || LENOVO || 79ETD9WW (2.19 ) || 09/19/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2623-D6U<br />
|| LENOVO || 2623D6U || ThinkPad T60 || LENOVO || 2623D6U || Not Available || LENOVO || Not Available || LENOVO || 79ET56WW (1.02 ) || 02/28/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT42WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2007-63G<br />
|| LENOVO || 200763G || ThinkPad T60 || LENOVO || 200763G || Not Available || LENOVO || Not Available || LENOVO || 79ET65WW (1.09a) || 07/27/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2007-63G<br />
|| LENOVO || 200763G || ThinkPad T60 || LENOVO || 200763G || Not Available || LENOVO || Not Available || LENOVO || 79ETE5WW (2.25 ) || 08/27/2009 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2007-BF3<br />
|| LENOVO || 2007BF3 || ThinkPad T60 || LENOVO || 2007BF3 || Not Available || LENOVO || Not Available || LENOVO || 79ETD7WW (2.17 ) || 08/23/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 8744-HCG<br />
|| LENOVO || 8744HCG || ThinkPad T60 || LENOVO || 8744HCG || Not Available || LENOVO || Not Available || LENOVO || 7IET25WW (1.06 ) || 03/15/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 8744-HCG<br />
|| LENOVO || 8744HCG || ThinkPad T60 || LENOVO || 8744HCG || Not Available || LENOVO || Not Available || LENOVO || 7IET37WW (1.18 ) || 04/01/2010<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1951-CZ1<br />
|| LENOVO || 1951CZ1 || ThinkPad T60 || LENOVO || 1951CZ1 || Not Available || LENOVO || Not Available || LENOVO || 79ETE3WW (2.23 ) || 09/12/2008 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-83U<br />
|| LENOVO || 200783U || ThinkPad T60p || LENOVO || 200783U || Not Available || LENOVO || Not Available || LENOVO || 79ET60WW (1.05a) || 04/18/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[79HT43WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93G<br />
|| LENOVO || 200793G || ThinkPad T60p || LENOVO || 200793G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93U<br />
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93U<br />
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93U<br />
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-ZK4<br />
|| LENOVO || 2007ZK4 || ThinkPad T60p || LENOVO || 2007ZK4 || Not Available || LENOVO || Not Available || LENOVO || 79ETD3WW (2.13 ) || 04/30/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2613-ESU<br />
|| LENOVO || 2613ESU || ThinkPad T60p || LENOVO || 2613ESU || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2623-DDU<br />
|| LENOVO || 2623DDU || ThinkPad T60p || LENOVO || 2623DDU || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 6457-W2C<br />
|| LENOVO || 6457W2C || ThinkPad T61 || LENOVO || 6457W2C || Not Available || LENOVO || Not Available || LENOVO || 7LETB0WW (2.10 ) || 01/21/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 6460-EBG<br />
|| LENOVO || 6460EBG || ThinkPad T61 || LENOVO || 6460EBG || Not Available || LENOVO || Not Available || LENOVO || 7LETB7WW (2.17 ) || 04/25/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 6460-EBG<br />
| LENOVO || 6460EBG || ThinkPad T61 || LENOVO || 6460EBG || Not Available || LENOVO || Not Available || LENOVO || 7LETC4WW (2.24 ) || 08/15/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 6465-CTO<br />
|| LENOVO || 6465CTO || ThinkPad T61 || LENOVO || 6465CTO || Not Available || LENOVO || Not Available || LENOVO || 7LETB2WW (2.12 ) || 02/20/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 6466-9MG<br />
|| LENOVO || 64669MG || ThinkPad T61 || LENOVO || 64669MG || Not Available || LENOVO || Not Available || LENOVO || 7LETC7WW (2.27 ) || 04/08/2010<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 7659-AB7<br />
|| LENOVO || 7659AB7 || ThinkPad T61 || LENOVO || 7659AB7 || Not Available || LENOVO || Not Available || LENOVO || 7LETB7WW (2.17 ) || 04/25/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 7659-W13<br />
|| LENOVO || 7659W13 || ThinkPad T61 || LENOVO || 7659W13 || Not Available || LENOVO || Not Available || LENOVO || 7LET44WW (1.14 ) || 06/27/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 7659-W13<br />
|| LENOVO || 7659W13 || ThinkPad T61 || LENOVO || 7659W13 || Not Available || LENOVO || Not Available || LENOVO || 7LETC6WW (2.26 ) || 05/11/2009 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 7662-XDU<br />
|| LENOVO || 7662XDU || ThinkPad T61 || LENOVO || 7662XDU || 7662XDU|| LENOVO || Not Available || LENOVO || 7LET37WW (1.07 ) || 04/17/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7KHT19WW-1.03 ]-</nowiki><br />
|| {{T-WARN|BIOS and EC firmware have different IDs}}<br />
|-<br />
| {{T61}} 7661-A56<br />
|| LENOVO || 7661A56 || ThinkPad T61 || LENOVO || 7661A56 || Not Available || LENOVO || Not Available || LENOVO || 7LET39WW (1.09 ) || 05/14/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT21WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 8895-WFD<br />
|| LENOVO || 8895WFD || ThinkPad T61 || LENOVO || 8895WFJ || Not Available || LENOVO || Not Available || LENOVO || 7LETC5WW (2.25 ) || 11/14/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 8897-CTO<br />
|| LENOVO || 8897CTO || ThinkPad T61 || LENOVO || 8897CTO || Not Available || LENOVO || Not Available || LENOVO || 7LET52WW (1.22 ) || 08/27/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 8897-CTO<br />
|| LENOVO || 8897CTO || ThinkPad T61 || LENOVO || 8897CTO || Not Available || LENOVO || Not Available || LENOVO || 7LET56WW (1.26 ) || 10/18/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
|| <br />
|-<br />
| {{T61p}} 6457-B64<br />
|| LENOVO || 6457B64 || ThinkPad T61p || LENOVO || 6457B64 || Not Available || LENOVO || Not Available || LENOVO || 7LETC1WW (2.21 ) || 07/01/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|- <br />
| {{T61p}} 6459-A12<br />
|| LENOVO || 6459A12 || ThinkPad T61p || LENOVO || 6459A12 || Not Available || LENOVO || Not Available || LENOVO || 7LET56WW (1.26 ) || 10/18/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T61p}} 6459-CTO<br />
|| LENOVO || 6459CTO || ThinkPad T61p || LENOVO || 6459CTO || Not Available || LENOVO || Not Available || LENOVO || 7LETC6WW (2.26 ) || 05/11/2009<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
|| <br />
|-<br />
| {{T400}} 6474-1EG<br />
|| LENOVO || 64741EG || ThinkPad T400 || LENOVO || 64741EG || Not Available || LENOVO || Not Available || LENOVO || 7UET48WW (1.18 ) || 10/09/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 <br />
]-</nowiki><br />
||<br />
|-<br />
| {{T400}} 6474-19G<br />
|| LENOVO || 647419G || ThinkPad T400 || LENOVO || 647419G || Not Available || LENOVO || Not Available || LENOVO || 7UET61WW (2.07 ) || 02/13/2009 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
|| <br />
|- <br />
| {{T400}} 6475-FM4 <br />
|| LENOVO || 6475FM4 || ThinkPad T400 || LENOVO || 6475FM4 || Not Available || LENOVO || Not Available || LENOVO || 7UET43WW (1.13 ) || 08/19/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
|| Before BIOS update<br />
|-<br />
| {{T400}} 6475-FM4 <br />
|| LENOVO || 6475FM4 || ThinkPad T400 || LENOVO || 6475FM4 || Not Available || LENOVO || Not Available || LENOVO || 7UET64WW (2.12 ) || 03/13/2009<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
|| After BIOS update<br />
|-<br />
| {{T400}} 2765-22G<br />
|| LENOVO || 276522G || ThinkPad T400 || LENOVO || 276522G || Not Available || LENOVO || Not Available || LENOVO || 7UET88WW (3.18 ) || 05/27/2010 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T400s}} 2801-CTO<br />
|| LENOVO || 2801CTO || ThinkPad T400s || LENOVO || 2801CTO || Not Available || LENOVO || Not Available || LENOVO || 6HET21WW (1.06 ) || 07/27/2009 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6HHT13WW-1.01]-</nowiki><br />
||<br />
|-<br />
| {{T400s}} 2815-2SG<br />
|| LENOVO || 28152SG || ThinkPad T400s || LENOVO || 28152SG || Not Available || LENOVO || Not Available || LENOVO || 6HET17WW (1.02 ) || 05/18/2009 No code specified for -e.<br />
||<br />
||<br />
|-<br />
| {{T410}} 2522-AT6<br />
|| LENOVO || 2522AT6 || ThinkPad T410 || LENOVO || 2522AT6 || Not Available || LENOVO || Not Available || LENOVO || 6IET65WW (1.25 ) || 06/07/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6IHT35WW-1.10 ]-</nowiki><br />
||<br />
|-<br />
| {{T410}} 2522-2PG<br />
|| LENOVO || 25222PG || ThinkPad T410 || LENOVO || 25222PG || Not Available || LENOVO || Not Available || LENOVO || 6IET55WW (1.15 ) || 03/24/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6IHT32WW-1.06 ]-</nowiki><br />
|| Before BIOS Update<br />
|-<br />
| {{T410}} 2522-2PG<br />
|| LENOVO || 25222PG || ThinkPad T410 || LENOVO || 25222PG || Not Available || LENOVO || Not Available || LENOVO || 6IET75WW (1.35 ) || 02/01/2011 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6IHT39WW-1.14 ]-</nowiki><br />
|| After BIOS Update<br />
|-<br />
| {{T410s}} 2912-39G<br />
|| LENOVO || 291239G || ThinkPad T410s || LENOVO || 291239G || Not Available || LENOVO || Not Available || LENOVO || 6UET27WW (1.05 ) || 01/14/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6UHT24WW-1.05 ]-</nowiki><br />
||<br />
|- <br />
| {{T410s}} 2912-W69<br />
|| LENOVO || 2912W69 || ThinkPad T410s || LENOVO || 2912W69 || Not Available || LENOVO || Not Available || LENOVO || 6UET61WW (1.41 ) || 10/27/2010<br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6UHT31WW-1.12 ]-</nowiki><br />
||<br />
|- <br />
| {{T420}} 4180W1H<br />
|| LENOVO || 4180W1H || ThinkPad T420 || LENOVO || 4180W1H || Not Available || LENOVO || Not Available || LENOVO || 83ET56WW (1.26 ) || 05/13/2011 <br />
|| <nowiki></nowiki><br />
|| After BIOS Update<br />
|-<br />
| {{T420s}} 4174BH4<br />
|| LENOVO || 4174BH4 || ThinkPad T420s || LENOVO || 4174BH4 || Not Available || LENOVO || Not Available || LENOVO || 8CET46WW (1.26 ) || 07/11/2011 <br />
|| <nowiki></nowiki><br />
|| Old BIOS<br />
|-<br />
| {{T420s}} 4174BH4<br />
|| LENOVO || 4174BH4 || ThinkPad T420s || LENOVO || 4174BH4 || Not Available || LENOVO || Not Available || LENOVO || 8CET51WW (1.31 ) || 11/29/2011 <br />
|| <nowiki></nowiki><br />
|| After BIOS upgrade<br />
|-<br />
| {{T420s}} 4171-6SG<br />
|| LENOVO || 41716SG || ThinkPad T420s || LENOVO || 41716SG || Not Available || LENOVO || Not Available || LENOVO || 8CET44WW (1.24 ) || 05/23/2011 <br />
|| <nowiki></nowiki><br />
|| Old BIOS<br />
|-<br />
| {{T420s}} 4171-6SG<br />
|| LENOVO || 41716SG || ThinkPad T420s || LENOVO || 41716SG || Not Available || LENOVO || Not Available || LENOVO || 8CET48WW (1.28 ) || 08/15/2011 <br />
|| <nowiki></nowiki><br />
|| After BIOS Upgrade<br />
|-<br />
| {{T430s}} 2355HMG<br />
|| LENOVO || 2355HMG || ThinkPad T430s || LENOVO || 2355HMG || Not Available || LENOVO || Not Available || LENOVO || G7ET29WW (1.11 ) || 05/24/2012<br />
|| <nowiki></nowiki><br />
|| delivery BIOS<br />
|-<br />
| {{T430s}} 2355HMG<br />
|| LENOVO || 2355HMG || ThinkPad T430s || LENOVO || 2355HMG || Not Defined || LENOVO || Not Available || LENOVO || G7ET63WW (2.05 ) || 11/12/2012 <br />
|| <nowiki></nowiki><br />
|| After BIOS Upgrade<br />
|-<br />
| {{T500}} 2055-A81<br />
|| LENOVO || 2055A81 || ThinkPad T500 || LENOVO || 2055A81 || Not Available || LENOVO || Not Available || LENOVO || 6FET46WW (1.16 ) || 09/24/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{T500}} 2055-A81<br />
|| LENOVO || 2055A81 || ThinkPad T500 || LENOVO || 2055A81 || Not Available || LENOVO || Not Available || LENOVO || 6FET50WW (1.20 ) || 10/30/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{T500}} 2055-45G<br />
|| LENOVO || 205545G || ThinkPad T500 || LENOVO || 205545G || Not Available || LENOVO || Not Available || LENOVO || 6FET49WW (1.19 ) || 10/17/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
|| <br />
|- <br />
| {{T500}} 2089-AZG<br />
|| LENOVO || 2089AZ9 || ThinkPad T500 || LENOVO || 2089AZ9 || Not Available || LENOVO || Not Available || LENOVO || 6FET79WW (3.09 ) || 10/02/2009<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
|| {{T-WARN|Outdated BIOS}} before BIOS Update<br />
|-<br />
| {{T500}} 2089-AZG<br />
|| LENOVO || 2089AZ9 || ThinkPad T500 || LENOVO || 2089AZ9 || Not Available || LENOVO || Not Available || LENOVO || 6FET87WW (3.17 ) || 12/03/2010 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT16WW-1.06 ]-</nowiki><br />
|| after BIOS Update / current BIOS+EC<br />
|-<br />
| {{T500}} 2242-CTO<br />
|| LENOVO || 2242CTO || ThinkPad T500 || LENOVO || 2242CTO || Not Available || LENOVO || Not Available || LENOVO || 6FET66WW (2.16 ) || 04/22/2009 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
|| <br />
|- <br />
| {{T510}} 4313-CTO<br />
|| LENOVO || 4313CTO || ThinkPad T510 || LENOVO || 4313CTO || Not Available || LENOVO || Not Available || LENOVO || 6MET42WW (1.05 ) || 12/22/2009 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6MHT32WW-1.07 ]-</nowiki><br />
||<br />
|- <br />
| {{T510}} 4313-CTO<br />
|| LENOVO || 4313CTO || ThinkPad T510 || LENOVO || 4313CTO || Not Available || LENOVO || Not Available || LENOVO || 6MET49WW (1.12 ) || 02/22/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6MHT33WW-1.08 ]-</nowiki><br />
||<br />
|- <br />
| {{T510}} 4349-5KG<br />
|| LENOVO || 43495KG || ThinkPad T510 || LENOVO || 43495KG || Not Available || LENOVO || Not Available || LENOVO || 6MET87WW (1.47 ) || 07/14/2011 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6MHT46WW-1.21 ]-</nowiki><br />
||<br />
|- <br />
| {{T520}}<br />
|| LENOVO || 42433ZG || ThinkPad T520 || LENOVO || 42433ZG || Not Available || LENOVO || Not Available || LENOVO || 8AET46WW (1.26 ) || 05/18/2011 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====W series====<br />
|-<br />
| {{W500}} 4061-AW9 <br />
|| LENOVO || 4061AW9 || ThinkPad W500 || LENOVO || 4061AW9 || Not Available || LENOVO || Not Available || LENOVO || 6FET79WW (3.09 ) || 10/02/2009 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT14WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{W510}} 4318-CTO<br />
|| LENOVO || 4318CTO || ThinkPad W510 || LENOVO || 4318CTO || Not Available || LENOVO || Not Available || LENOVO || 6NET72WW (1.32 ) || 08/25/2010 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6MHT40WW-1.15 ]-</nowiki><br />
|| Old BIOS<br />
|-<br />
| {{W510}} 4318-CTO<br />
|| LENOVO || 4318CTO || ThinkPad W510 || LENOVO || 4318CTO || Not Available || LENOVO || Not Available || LENOVO || 6NET74WW (1.34 ) || 10/27/2010 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6MHT43WW-1.18 ]-</nowiki><br />
||<br />
|-<br />
| {{W510}} 4319-4CU<br />
|| LENOVO || 43194CU || ThinkPad W510 || LENOVO || 43194CU || Not Available || LENOVO || Not Available || LENOVO || 6NET61WW (1.24 ) || 06/07/2010 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6MHT38WW-1.13 ]-</nowiki><br />
||<br />
|-<br />
| {{W510}} 4319-3CG <br />
|| LENOVO || 43193CG || ThinkPad W510 || LENOVO || 43193CG || Not Available || LENOVO || Not Available || LENOVO || 6NET46WW (1.09 ) || 01/20/2010 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6MHT31WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{W510}} 4389-W1B <br />
|| LENOVO || 4389W1B || ThinkPad W510 || LENOVO || 4389W1B || Not Available || LENOVO || Not Available || LENOVO || 6NET76WW (1.37 ) || 02/24/2011 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6MHT44WW-1.19 ]-</nowiki><br />
||<br />
|-<br />
| {{W700}} 2757-CTO<br />
|| LENOVO || 2757CTO || ThinkPad W700 || LENOVO || 2757CTO || Not Available || LENOVO || Not Available || LENOVO || 7ZETA8WW (2.08 ) || 09/24/2009<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7ZHT22WW-1.05 ]-</nowiki><br />
||<br />
|- <br />
| {{W700}} 2757-CTO<br />
|| LENOVO || 2757CTO || ThinkPad W700 || LENOVO || 2757CTO || Not Available || LENOVO || Not Available || LENOVO || 7ZETB1WW (2.11 ) || 03/12/2010 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7ZHT24WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====X series====<br />
|-<br />
| {{X20}} 2662-31G<br />
|| IBM || 266231G || Not Available || IBM || 266231G || Not Available || IBM || Not Available || IBM || IZET9DWW (2.25 ) || 04/17/2003<br />
||<br />
||<br />
|-<br />
| {{X20}} 2662-32G<br />
|| IBM || 266232G || Not Available || IBM || 266232G || Not Available || IBM || Not Available || IBM || IZET9AWW (2.22 ) || 09/11/2002<br />
||<br />
||<br />
|-<br />
| {{X22}} 2662-95U<br />
|| IBM || 266295U || Not Available || IBM || 266295U || Not Available || IBM || Not Available || IBM || 1DET70WW (1.32 ) || 06/10/2003<br />
||<br />
||<br />
|-<br />
| {{X23}} 2662-EBG<br />
|| IBM || 2662EBG || Not Available || IBM || 2662EBG || Not Available || IBM || Not Available || IBM || 1DET70WW (1.32 ) || 06/10/2003<br />
||<br />
||<br />
|-<br />
| {{X24}} 2662-MPU<br />
|| IBM || 62MPUFX || Not Available || IBM || 62MPUFX || Not Available || IBM || Not Available || IBM || 1DET67WW (1.29 ) || 12/18/2002<br />
||<br />
||<br />
|-<br />
| {{X30}} 2672-42G<br />
|| IBM || 267242G || Not Available || IBM || 267242G || Not Available || IBM || Not Available || IBM || 1KET42WW (1.03 ) || 12/02/2002 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{X30}} 2672-42G<br />
|| IBM || 267242G || Not Available || IBM || 267242G || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
|| {{X30}} 2672-4BU<br />
|| IBM || 26724BU || Not Available || IBM || 26724BU || Not Available || IBM || Not Available || IBM || 1KET44WW (1.05 ) || 05/30/2003 <br />
|| <nowiki></nowiki><br />
||<br />
|- <br />
| {{X30}} 2672-4HU<br />
|| IBM || 26724HU || Not Available || IBM || 26724HU || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{X30}} 2672-PG3<br />
|| IBM || 2672PG3 || Not Available || IBM || 2672PG3 || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06 ]-</nowiki> <br />
||<br />
|-<br />
| {{X31}} 2672-C2G<br />
|| IBM || 2672C2G || Not Available || IBM || 2672C2G || Not Available || IBM || Not Available || IBM || 1QET36WW (1.04a) || 06/30/2003 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{X31}} 2672-C2G<br />
|| IBM || 2672C2G || ThinkPad X31 || IBM || 2672C2G || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki><br />
|| <br />
|- <br />
| {{X31}} 2672-CEG<br />
|| IBM || 2672CEG || Not Available || IBM || 2672CEG || Not Available || IBM || Not Available || IBM || 1QET36WW (1.04a) || 06/30/2003 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{X31}} 2672-CEG<br />
|| IBM || 2672CEG || ThinkPad X31 || IBM || 2672CEG || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{X31}} 2672-JXU<br />
|| IBM || 2672JXU || ThinkPad X31 || IBM || 2672JXU || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{X31}} 2672-FG2<br />
|| IBM || 2672FG2 || ThinkPad X31 || IBM || 2672FG2 || Not Available || IBM || Not Available || IBM || 1QET73WW (2.11 ) || 02/13/2004 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT16WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X31}} 2672-FG2<br />
|| IBM || 2672FG2 || ThinkPad X31 || IBM || 2672FG2 || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{X31}} 2672-PG9<br />
|| IBM || 2672PG9 || ThinkPad X31 || IBM || 2672PG9 || Not Available || IBM || Not Available || IBM || 1QET73WW (2.11 ) || 02/13/2004 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT16WW-1.03 ]-</nowiki><br />
|| Before update<br />
|- <br />
| {{X31}} 2672-PG9<br />
|| IBM || 2672PG9 || ThinkPad X31 || IBM || 2672PG9 || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki><br />
|| After update<br />
|- <br />
| {{X31}} 2673-C2G<br />
|| IBM || 2673C2G || ThinkPad X31 || IBM || 2673C2G || Not Available || IBM || Not Available || IBM || 1QET65WW (2.03 ) || 10/10/2003 <br />
|| <nowiki></nowiki><br />
||<br />
|- <br />
| {{X31}} 2673-C2G<br />
|| IBM || 2673C2G || ThinkPad X31 || IBM || 2673C2G || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{X32}} 2884-A3U<br />
|| IBM || 2884A3U || ThinkPad X32 || IBM || 2884A3U || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b ]-</nowiki><br />
||<br />
|-<br />
| {{X32}} 2672-M3G<br />
|| IBM || 2672M3G || ThinkPad X32 || IBM || 2672M3G || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b ]-</nowiki><br />
||<br />
|-<br />
| {{X32}} 2673-M4U<br />
|| IBM || 2673M4U || ThinkPad X32 || IBM || 2673M4U || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2386-7JG<br />
|| IBM || 23717JG || ThinkPad X40 || IBM || 23717JG || Not Available || IBM || Not Available || IBM || 1UETD1WW (2.06 ) || 03/01/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2386-H4G<br />
|| IBM || 2386H4G || ThinkPad X40 || IBM || 2386H4G || Not Available || IBM || Not Available || IBM || 1UET92WW (1.42 ) || 09/16/2004 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-8NG<br />
|| IBM || 23718NG || ThinkPad X40 || IBM || 23718NG || Not Available || IBM || Not Available || IBM || 1UETB7WW (1.67 ) || 07/15/2005 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHT58WW-1.12 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-Y29<br />
|| IBM || 2371Y29 || ThinkPad X40 || IBM || 2371Y29 || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHTA6WW-1.56 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-W9F<br />
|| IBM || 2371W9F || ThinkPad X40 || IBM || 2371W9F || Not Available || IBM || Not Available || IBM || 1UETC8WW (2.03 ) || 09/28/2005 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-W9F<br />
|| IBM || 2371W9F || ThinkPad X40 || IBM || 2371W9F || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-Y1Y<br />
|| IBM || 2371Y1Y || ThinkPad X40 || IBM || 2371Y1Y || Not Available || IBM || Not Available || IBM || 1UET93WW (1.43 ) || 10/13/2004 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-Y1Y<br />
|| IBM || 2371Y1Y || ThinkPad X40 || IBM || 2371Y1Y || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-Y2A <br />
|| IBM || 2371Y2A || ThinkPad X40 || IBM || 2371Y2A || Not Available || IBM || Not Available || IBM || 1UET93WW (1.43 ) || 10/13/2004 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32 ]-</nowiki><br />
|| <br />
|- <br />
| {{X40}} 2371-Y2A<br />
|| IBM || 2371Y2A || ThinkPad X40 || IBM || 2371Y2A || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62 ]-</nowiki><br />
|| <br />
|-<br />
| {{X41}} 2525-65G<br />
|| IBM || 252565G || ThinkPad X41 || IBM || 252565G || Not Available || IBM || Not Available || IBM || 74ET63WW (2.08 ) || 10/17/2006 <br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[74HT25WW-1.00 ]-</nowiki><br />
||<br />
|-<br />
| {{X41}} 2525-FAG<br />
|| IBM || 2525FAG || ThinkPad X41 || IBM || 2525FAG || Not Available || IBM || Not Available || IBM || 74ET61WW (2.06 ) || 03/14/2006 <br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[74HT26WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{X41}} 2525-FAG<br />
|| IBM || 2525FAG || ThinkPad X41 || IBM || 2525FAG || Not Available || IBM || Not Available || IBM || 74ET64WW (2.09 ) || 12/14/2006 <br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[74HT27WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X41}} 2525-HU1<br />
|| IBM || 2525HU1 || ThinkPad X41 || IBM || 2525HU1 || Not Available || IBM || Not Available || IBM || 74ET48WW (1.17a) || 06/07/2005<br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[74HT25WW-1.00 ]-</nowiki><br />
||<br />
|-<br />
| {{X41t}} 1866-CRG<br />
|| IBM || 1866CRG || ThinkPad X41 Tablet || IBM || 1866CRG || Not Available || IBM || Not Available || IBM || 75ET60WW (2.06 ) || 12/19/2006 <br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[75HT19WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{X41t}} 1866-CTO<br />
|| IBM || 1866CTO || ThinkPad X41 Tablet || IBM || 1866CTO || Not Available || IBM || Not Available || IBM || 75ET60WW (2.06 ) || 12/19/2006 <br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[75HT20WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X41t}} 1866-WSF<br />
|| IBM || 1866WSF || ThinkPad X41 Tablet || IBM || 1866WSF || Not Available || IBM || Not Available || IBM || 75ET57WW (2.03 ) || 06/14/2006<br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[75HT20WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X41t}} 1869-CLG<br />
|| IBM || 1869CLG || ThinkPad X41 Tablet || IBM || 1869CLG || Not Available || IBM || Not Available || IBM || 75ET56WW (2.02 ) || 03/14/2006<br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[75HT19WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{X60}} 1709-47U<br />
|| LENOVO || 170947U || ThinkPad X60 || LENOVO || 170947U || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X60}} 1709-GDJ<br />
|| LENOVO || 1709GDJ || ThinkPad X60 || LENOVO || 1709GDJ || Not Available || LENOVO || Not Available || LENOVO || 7BETC2WW (2.03 ) || 10/16/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT36WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{X60}} 1706-B69<br />
|| LENOVO || 1706B69 || ThinkPad X60 || LENOVO || 1706B69 || Not Available || LENOVO || Not Available || LENOVO || 7BETC8WW (2.09 ) || 03/14/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT37WW-1.10 ]-</nowiki><br />
||<br />
|-<br />
| {{X60}} 1706-GMG<br />
|| LENOVO || 1706GMG || ThinkPad X60 || LENOVO || 1706GMG || Not Available || LENOVO || Not Available || LENOVO || 7BETC4WW (2.05 ) || 11/17/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT37WW-1.10 ]-</nowiki><br />
||<br />
|-<br />
| {{X60}} 1706-GMG<br />
|| LENOVO || 1706GMG || ThinkPad X60 || LENOVO || 1706GMG || Not Available || LENOVO || Not Available || LENOVO || 7BETD7WW (2.18 ) || 11/20/2008<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT40WW-1.13 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1702-55G<br />
|| LENOVO || 170255G || ThinkPad X60s || LENOVO || 170255G || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1702-5FG<br />
|| LENOVO || 17025FG || ThinkPad X60s || LENOVO || 17025FG || Not Available || LENOVO || Not Available || LENOVO || 7BET49WW (1.09 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT34WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1704-56G<br />
|| LENOVO || 170456G || ThinkPad X60s || LENOVO || 170456G || Not Available || LENOVO || Not Available || LENOVO || 7BET43WW (1.03 ) || 02/13/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7BHT28WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1704-56G<br />
|| LENOVO || 1704-56G || ThinkPad X60s || LENOVO || 170456G || Not Available || LENOVO || Not Available || LENOVO || 7BETD5WW (2.16 ) || 03/31/2008<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT40WW-1.13 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1704-5UG<br />
|| LENOVO || 17045UG || ThinkPad X60s || LENOVO || 17045UG || Not Available || LENOVO || Not Available || LENOVO || 7BETD2WW (2.13 ) || 08/10/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT40WW-1.13 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1704-5UG<br />
|| LENOVO || 17045UG || ThinkPad X60s || LENOVO || 17045UG || Not Available || LENOVO || Not Available || LENOVO || 7BETD3WW (2.14 ) || 10/04/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT40WW-1.13 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1704-5UG<br />
|| LENOVO || 17045UG || ThinkPad X60s || LENOVO || 17045UG || Not Available || LENOVO || Not Available || LENOVO || 7BETD7WW (2.18 ) || 11/20/2008 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT40WW-1.13 ]-</nowiki><br />
||<br />
|-<br />
| {{X60t}} 6365-CTO<br />
|| LENOVO || 6365CTO || ThinkPad X60 Tablet || LENOVO || 6365CTO || Not Available || LENOVO || Not Available || LENOVO || 7JET25WW (1.10 ) || 08/17/2007 <br />
|| <nowiki>Handle 0x0023, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7JHT13WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{X60t}} 6363-J3G<br />
|| LENOVO || 6363J3G || ThinkPad X60 Tablet || LENOVO || 6363J3G || Not Available || LENOVO || Not Available || LENOVO || 7JET28WW (1.13 ) || 03/31/2008<br />
|| <nowiki>Handle 0x0023, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7JHT13WW-1.04 ]-</nowiki><br />
|| A mean bitch to set up, nothing really worked out of the box :(<br />
|-<br />
| {{X60t}} 6363A7G<br />
|| LENOVO || 6363A7G || ThinkPad X60 Tablet || LENOVO || 6363A7G || Not Available || LENOVO || Not Available || LENOVO || 7JET19WW (1.04 ) || 12/14/2006 <br />
|| <nowiki>Handle 0x0023, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7JHT12WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X61}} 7675-4KU<br />
|| LENOVO || 76754KU || ThinkPad X61 || LENOVO || 76754KU || Not Available || LENOVO || Not Available || LENOVO || 7NET30WW (1.11 ) || 11/15/2007<br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7MHT24WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X61}} 7675-7KU<br />
|| LENOVO || 76757KU || ThinkPad X61 || LENOVO || 76757KU || Not Available || LENOVO || Not Available || LENOVO || 7NETB1WW (2.11 ) || 03/24/2008<br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 bytes IBM ThinkPad Embedded Controller -[7MHT25WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X61s}} 7668-CTO<br />
|| LENOVO || 7668CTO || ThinkPad X61s || LENOVO || 7668CTO || Not Available || LENOVO || Not Available || LENOVO || 7NET25WW (1.06 ) || 07/02/2007<br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7MHT24WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X61s}} 7669-29G<br />
|| LENOVO || 766929G || ThinkPad X61s || LENOVO || 766929G || Not Available || LENOVO || Not Available || LENOVO || 7NET21WW (1.02 ) || 04/23/2007 <br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7MHT23WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{X61s}} 7669-29G<br />
|| LENOVO || 766929G || ThinkPad X61s || LENOVO || 766929G || Not Available || LENOVO || Not Available || LENOVO || 7NETB9WW (2.19 ) || 11/27/2008 <br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7MHT25WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X61s}} 7667-C56<br />
|| LENOVO || 7667C56 || ThinkPad X61s || LENOVO || 7667C56 || Not Available || LENOVO || Not Available || LENOVO || 7NETB2WW (2.12 ) || 04/18/2008 <br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7MHT25WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X61s}} 7667-34G<br />
|| LENOVO || 766734G || ThinkPad X61s || LENOVO || 766734G || Not Available || LENOVO || Not Available || LENOVO || 7NETB9WW (2.19 ) || 11/27/2008 <br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7MHT25WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X61t}} 7762-94G<br />
|| LENOVO || 776294G || ThinkPad X61 Tablet || LENOVO || 776294G || Not Available || LENOVO || Not Available || LENOVO || 7SET38WW (1.24 ) || 10/12/2009 <br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X61t}} 7762-95G<br />
|| LENOVO || 776295G || ThinkPad X61 Tablet || LENOVO || 776295G || Not Available || LENOVO || Not Available || LENOVO || 7SET22WW (1.08 ) || 11/15/2007 <br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X61t}} 7762-95G<br />
|| LENOVO || 776295G || ThinkPad X61 Tablet || LENOVO || 776295G || Not Available || LENOVO || Not Available || LENOVO || 7SET36WW (1.22 ) || 11/27/2008 <br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X61t}} 7762-98U<br />
|| LENOVO || 776298U || ThinkPad X61 Tablet || LENOVO || 776298U || Not Available || LENOVO || Not Available || LENOVO || 7SET34WW (1.20 ) || 07/29/2008 <br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X61t}} 7764-CTO<br />
|| LENOVO || 7764CTO || ThinkPad X61 Tablet || LENOVO || 7764CTO || Not Available || LENOVO || Not Available || LENOVO || 7SET18WW (1.04 ) || 07/03/2007<br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X61t}} 7764-CTO<br />
|| LENOVO || 7764CTO || ThinkPad X61 Tablet || LENOVO || 7764CTO || Not Available || LENOVO || Not Available || LENOVO || 7SET23WW (1.09 ) || 12/28/2007<br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X61t}} 7764-CTO<br />
|| LENOVO || 7764CTO || ThinkPad X61 Tablet || LENOVO || 7764CTO || Not Available || LENOVO || Not Available || LENOVO || 7SET39WW (1.25 ) || 03/22/2011<br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X100e}} 2876-27G<br />
|| LENOVO || 287627G || ThinkPad X100e || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6XET21WW (1.04 ) || 12/18/2009<br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT20WW-1.165000]-</nowiki><br />
||<br />
|-<br />
| {{X100e}} 2876-27G<br />
|| LENOVO || 287627G || ThinkPad X100e || LENOVO || 287627G || Not Available || LENOVO || Not Available || LENOVO || 6XET47WW (1.30 ) || 12/30/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT43WW-1.183000]-</nowiki><br />
||<br />
|-<br />
| {{X100e}} 3508-4UG<br />
|| LENOVO || 35084UG || ThinkPad X100e || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6XET36WW (1.20a) || 03/12/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT36WW-1.176000]-</nowiki><br />
|| <br />
|-<br />
| {{X100e}} 2876-W1U<br />
|| LENOVO || 2876W1U || ThinkPad X100e || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6XET36WW (1.20a) || 03/12/2010<br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT36WW-1.176000]-</nowiki><br />
||<br />
|-<br />
| {{X100e}} 2876-W1U<br />
|| LENOVO || 2876W1U || ThinkPad X100e || LENOVO || 2876W1U || Not Available || LENOVO || Not Available || LENOVO || 6XET44WW (1.27 ) || 07/21/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT42WW-1.182000]-</nowiki><br />
||<br />
|-<br />
| {{X100e}} 2876-W1U<br />
|| LENOVO || 2876W1U || ThinkPad X100e || LENOVO || 2876W1U || Not Available || LENOVO || Not Available || LENOVO || 6XET48WW (1.31 ) || 02/17/2011 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT44WW-1.184000]-</nowiki><br />
||<br />
|-<br />
| {{X100e}} 2876-55G<br />
|| LENOVO || 287655G || ThinkPad X100e || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6XET33WW (1.12 ) || 02/11/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT31WW-1.171000]-</nowiki><br />
||<br />
|-<br />
| {{X100e}} 2876-55G<br />
|| LENOVO || 287655G || ThinkPad X100e || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6XET36WW (1.20a) || 03/12/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT36WW-1.176000]-</nowiki><br />
||<br />
|- <br />
| {{X100e}} L625 3508-5EG<br />
|| LENOVO || 35085EG || ThinkPad X100e || LENOVO || 35085EG || Not Available || LENOVO || Not Available || LENOVO || 6XET38WW (1.22 ) || 04/09/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT38WW-1.178000]-</nowiki><br />
|| Dual-Core<br />
|- <br />
| {{X100e}} L625 3508-5EG<br />
|| LENOVO || 35085EG || ThinkPad X100e || LENOVO || 35085EG || Not Available || LENOVO || Not Available || LENOVO || 6XET39WW (1.23 ) || 04/30/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT39WW-1.179000]-</nowiki><br />
|| Dual-Core<br />
|-<br />
| {{X100e}} L625 3508-5EG<br />
|| LENOVO || 35085EG || ThinkPad X100e || LENOVO || 35085EG || Not Available || LENOVO || Not Available || LENOVO || 6XET41WW (1.25 ) || 06/02/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6XHT40WW-1.180000]-</nowiki><br />
|| Dual-Core<br />
|-<br />
| {{X200}} 7454-CTO<br />
|| LENOVO || 7454CTO || ThinkPad X200 || LENOVO || 7454CTO || Not Available || LENOVO || Not Available || LENOVO || 6DET38WW (2.02 ) || 12/19/2008 <br />
|| <nowiki>Handle 0x001D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7XHT21WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X200}} 7454-CTO<br />
|| LENOVO || 7454CTO || ThinkPad X200 || LENOVO || 7454CTO || Not Available || LENOVO || Not Available || LENOVO || 6DET40WW (2.04 ) || 02/13/2009 <br />
|| <nowiki>Handle 0x001D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7XHT22WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{X200}} 7458-E46<br />
|| LENOVO || 7458E46 || ThinkPad X200 || LENOVO || 7458E46 || Not Available || LENOVO || Not Available || LENOVO || 7XET57WW (3.07 ) || 08/13/2009 <br />
|| <nowiki>Handle 0x001D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7XHT22WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{X200s}} 7466-3SG<br />
|| LENOVO || 74663SG || ThinkPad X200s || LENOVO || 74663SG || Not Available || LENOVO || Not Available || LENOVO || 6DET64WW (3.14 ) || 06/23/2010 <br />
|| <nowiki>Handle 0x001D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7XHT24WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{X200s}}<br />
|| LENOVO || 74695HG || ThinkPad X200s || LENOVO || 74695HG || Not Available || LENOVO || Not Available || LENOVO || 6DET33WW (1.10 ) || 10/27/2008 <br />
|| <nowiki>Handle 0x001D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7XHT21WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X200s}} <br />
|| LENOVO || 7469WDR || ThinkPad X200s || LENOVO || 7469WDR || Not Available || LENOVO || Not Available || LENOVO || 6DET44WW (2.08 ) || 04/22/2009 <br />
|| <nowiki>Handle 0x001D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7XHT22WW-1.04 ]-</nowiki><br />
|| <br />
|-<br />
| {{X200s}} 7469-88G<br />
|| LENOVO || 746988G || ThinkPad X200s || LENOVO || 746988G || Not Available || LENOVO || Not Available || LENOVO || 6DET64WW (3.14 ) || 06/23/2010<br />
|| <nowiki>Handle 0x001D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7XHT24WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{X200 Tablet}} 7449-F9U<br />
|| LENOVO || 7449F9U || ThinkPad X200 Tablet || LENOVO || 7449F9U || Not Available || LENOVO || Not Available || LENOVO || 7WET24WW (1.02 ) || 09/09/2008 <br />
|| <nowiki>Handle 0x001D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7WHT14WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{X201}} 3626-W7V<br />
|| LENOVO || 3626W7V || ThinkPad X201 || LENOVO || 3626W7V || Not Available || LENOVO || Not Available || LENOVO || 6QET44WW (1.14 ) || 04/20/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT28WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{X201}} 3626-PN2<br />
|| LENOVO || 3626PN3 || ThinkPad X201 || LENOVO || 3626PN3 || Not Available || LENOVO || Not Available || LENOVO || 6QET53WW (1.23 ) || 09/15/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT30WW-1.11 ]-</nowiki><br />
||<br />
|-<br />
| {{X201}} 3680-ZCZ<br />
|| LENOVO || 3680ZCZ || ThinkPad X201 || LENOVO || 3680ZCZ || Not Available || LENOVO || Not Available || LENOVO || 6QET61WW (1.31 ) || 10/26/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT31WW-1.12 ]-</nowiki><br />
||<br />
|-<br />
| {{X201}} 3680-ZCZ<br />
|| LENOVO || 3680ZCZ || ThinkPad X201 || LENOVO || 3680ZCZ || Not Available || LENOVO || Not Available || LENOVO || 6QET64WW (1.34 ) || 02/24/2011 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT32WW-1.13 ]-</nowiki><br />
||<br />
|-<br />
| {{X201}} 3680-ZCZ<br />
|| LENOVO || 3680ZCZ || ThinkPad X201 || LENOVO || 3680ZCZ || Not Available || LENOVO || Not Available || LENOVO || 6QET67WW (1.37 ) || 06/29/2011 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT33WW-1.14 ]-</nowiki><br />
||<br />
|-<br />
| {{X201}} 3680-ZCZ<br />
|| LENOVO || 3680ZCZ || ThinkPad X201 || LENOVO || 3680ZCZ || Not Available || LENOVO || Not Available || LENOVO || 6QET68WW (1.38 ) || 12/01/2011 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT33WW-1.14 ]-</nowiki><br />
||<br />
|-<br />
| {{X201}} 3680-ZCZ<br />
|| LENOVO || 3680ZCZ || ThinkPad X201 || LENOVO || 3680ZCZ || Not Available || LENOVO || Not Available || LENOVO || 6QET69WW (1.39 ) || 04/26/2012 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT33WW-1.14 ]-</nowiki><br />
||<br />
|-<br />
| {{X201}} 3680-ZCZ<br />
|| LENOVO || 3680ZCZ || ThinkPad X201 || LENOVO || 3680ZCZ || Not Available || LENOVO || Not Available || LENOVO || 6QET70WW (1.40 ) || 10/11/2012 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT33WW-1.14 ]-</nowiki><br />
||<br />
|-<br />
| {{X201}} 3680-FAA<br />
|| LENOVO || 3680FAA || ThinkPad X201 || LENOVO || 3680FAA || Not Available || LENOVO || Not Available || LENOVO || 6QET70WW (1.40 ) || 10/11/2012 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT33WW-1.14 ]-</nowiki><br />
||<br />
|-<br />
| {{X201s}} 5129-CTO<br />
|| LENOVO || 5129CTO || ThinkPad X201s || LENOVO || 5129CTO || Not Available || LENOVO || Not Available || LENOVO || 6QET44WW (1.14 ) || 04/20/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT28WW-1.09 ]-</nowiki><br />
|| <br />
|- <br />
| {{X201 Tablet}} 3093-3YG<br />
|| LENOVO || 30933YG || ThinkPad X201 Tablet || LENOVO || 30933YG || Not Available || LENOVO || Not Available || LENOVO || 6QET45WW (1.15 ) || 04/26/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6SHT28WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{X201 Tablet}} 3093-W11<br />
|| LENOVO || 3093W11 || ThinkPad X201 Tablet || LENOVO || 3093W11 || Not Available || LENOVO || Not Available || LENOVO || 6QET46WW (1.16 ) || 06/07/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6SHT28WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{X201 Tablet}} 0831-CTO<br />
|| LENOVO || 0831CTO || ThinkPad X201 Tablet || LENOVO || 0831CTO || Not Available || LENOVO || Not Available || LENOVO || 6QET61WW (1.31 ) || 10/26/2010<br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6SHT31WW-1.12 ]-</nowiki><br />
|| Before BIOS update<br />
|- <br />
| {{X201 Tablet}} 0831-CTO<br />
|| LENOVO || 0831CTO || ThinkPad X201 Tablet || LENOVO || 0831CTO || Not Available || LENOVO || Not Available || LENOVO || 6QET67WW (1.37 ) || 06/29/2011<br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6SHT33WW-1.14 ]-</nowiki><br />
|| After BIOS update from 1.31<br />
|-<br />
| {{X201i}} 3249-CTO <br />
|| LENOVO || 3249CTO || ThinkPad X201 || LENOVO || 3249CTO || Not Available || LENOVO || Not Available || LENOVO || 6QET45WW (1.15 ) || 04/26/2010 <br />
|| <nowiki>Handle 0x0027, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6QHT28WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{X220}}<br />
|| LENOVO || 4287CTO || ThinkPad X220 || LENOVO || 4287CTO || Not Available || LENOVO || Not Available || LENOVO || 8DET41WW (1.11 ) || 03/28/2011 <br />
|| <nowiki></nowiki><br />
|| <br />
|-<br />
| {{X220}}<br />
|| LENOVO || 4286CTO || ThinkPad X220 || LENOVO || 4286CTO || Not Available || LENOVO || Not Available || LENOVO || 8DET51WW (1.21 ) || 08/02/2011<br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{X220}}<br />
|| LENOVO || 4286CTO || ThinkPad X220 || LENOVO || 4286CTO || Not Available || LENOVO || Not Available || LENOVO || 8DET56WW (1.26 ) || 12/01/2011<br />
|| <nowiki></nowiki><br />
||<br />
|- <br />
| {{X220 Tablet}}<br />
|| LENOVO || 42992PG || ThinkPad X220 Tablet || LENOVO || 42992PG || Not Available || LENOVO || Not Available || LENOVO || 8DET47WW (1.17 ) || 05/31/2011 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{X220 Tablet}}<br />
|| LENOVO || 4299AS6 || ThinkPad X220 Tablet || LENOVO || 4299AS6 || Not Available || LENOVO || Not Available || LENOVO || 8DET49WW (1.19 ) || 07/01/2011 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{X300}} 6478-14G<br />
|| LENOVO || 647814G || ThinkPad X300 || LENOVO || 647814G || Not Available || LENOVO || Not Available || LENOVO || 7TET23WW (1.00d) || 01/17/2008 <br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c ]-</nowiki><br />
||<br />
|-<br />
| {{X300}} 6478-18M<br />
|| LENOVO || 647818M || ThinkPad X300 || LENOVO || 647818M || Not Available || LENOVO || Not Available || LENOVO || 7TET26WW (1.02a) || 02/27/2008 <br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c ]-</nowiki><br />
||<br />
|-<br />
| {{X300}} 6477-17G<br />
|| LENOVO || 647717G || ThinkPad X300 || LENOVO || 647717G || Not Available || LENOVO || Not Available || LENOVO || 7TET33WW (1.07 ) || <br />
07/02/2008 <br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c ]-</nowiki><br />
||<br />
|-<br />
| {{X300}} 6477-17G<br />
|| LENOVO || 647717G || ThinkPad X300 || LENOVO || 647717G || Not Available || LENOVO || Not Available || LENOVO || 7TET35WW (1.09 ) || 01/20/2009<br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7THT16WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{X301}} 2777-CTO<br />
|| LENOVO || 2777CTO || ThinkPad X301 || LENOVO || 2777CTO || Not Available || LENOVO || Not Available || LENOVO || 6EET19WW (1.00g) || 07/30/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6EHT07WW-1.00b ]-</nowiki><br />
||<br />
|-<br />
| {{X301}} 2777-CTO<br />
|| LENOVO || 2777CTO || ThinkPad X301 || LENOVO || 2777CTO || Not Available || LENOVO || Not Available || LENOVO || 6EET21WW (1.02 ) || 10/09/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6EHT09WW-1.02 ]-</nowiki><br />
|| <br />
|-<br />
| {{X1}} 1294-2NG<br />
|| LENOVO || 12942NG || ThinkPad X1 || LENOVO || 12942NG || Not Available || LENOVO || Not Available || LENOVO || 8MET18WW (1.06 ) || 05/19/2011 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====Z series====<br />
|-<br />
| {{Z60t}} 2511-FEU<br />
|| IBM || 2511FEU || ThinkPad Z60t || IBM || 2511FEU || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{Z60t}} 2511-FFG<br />
|| IBM || 2511FFG || ThinkPad Z60t || IBM || 2511FFG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[77HT57WW-1.17 ]-</nowiki><br />
||<br />
|- <br />
| {{Z60m}} 2529-ETG<br />
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET59WW (1.19 ) || 04/24/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[77HT54WW-1.14 ]-</nowiki><br />
||<br />
|-<br />
| {{Z60m}} 2529-ETG<br />
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18 ]-</nowiki><br />
||<br />
|-<br />
| {{Z60m}} 2529-FBG<br />
|| IBM || 2529FBG || ThinkPad Z60m || IBM || 2529FBG || Not Available || IBM || Not Available || IBM || 77ET62WW (1.22 ) || 11/21/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18 ]-</nowiki><br />
||<br />
|- <br />
| {{Z60m}} 2529-FKG<br />
|| IBM || 2529FKG || ThinkPad Z60m || IBM || 2529FKG || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005<br />
|| <nowiki>String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9453-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET48WW (1.08 ) || 05/26/2006<br />
|| <nowiki>String 1: IBM ThinkPad Embedded Controller -[7FHT21WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9452-8QG<br />
|| LENOVO || 94528QG || ThinkPad Z61m || LENOVO || 94528QG || Not Available || LENOVO || Not Available || LENOVO || 7FETA4WW (2.22 ) || 10/19/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9450-H9G<br />
|| LENOVO || 9450H9G || ThinkPad Z61m || LENOVO || 9450H9G || Not Available || LENOVO || Not Available || LENOVO || 7FETA7WW (2.25 ) || 06/03/2008 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
|| <br />
|- <br />
| {{Z61m}} 9452-W5Q<br />
|| LENOVO || 9452W5Q || ThinkPad Z61m || LENOVO || 9452W5Q || Not Available || LENOVO || Not Available || LENOVO || 7FETA6WW (2.24 ) || 03/13/2008<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9543-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9543-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET93WW (2.11 ) || 11/10/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9453-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61p}} 9453-A12<br />
|| LENOVO || 9453A12 || ThinkPad Z61p || LENOVO || 9453A12 || Not Available || LENOVO || Not Available || LENOVO || 7FET45WW (1.05 ) || 04/20/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7FHT19WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61p}} 9450-3AU<br />
|| LENOVO || 94503AU || ThinkPad Z61p || LENOVO || 94503AU || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9440-2CU<br />
|| LENOVO || 94402CU || ThinkPad Z61t || LENOVO || 94402CU || Not Available || LENOVO || Not Available || LENOVO || 7FET50WW (1.10 ) || 06/20/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT22WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9443-4GG<br />
|| LENOVO || 94434GG || ThinkPad Z61t || LENOVO || 94434GG || Not Available || LENOVO || Not Available || LENOVO || 7FET96WW (2.14 ) || 12/25/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9440-CTO<br />
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FET91WW (2.09 ) || 11/01/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
|| <br />
|- <br />
| {{Z61t}} 9440-CTO<br />
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FET99WW (2.17 ) || 04/17/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9440-CTO<br />
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA0WW (2.18 ) || 05/17/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9440-CTO<br />
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA7WW (2.25 ) || 06/03/2008 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9440-CTO<br />
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA9WW (2.27 ) || 08/26/2009<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====Lenovo 3000 series====<br />
|-<br />
| [[:Category:Lenovo 3000| Lenovo 3000]] N200 TY2BAFR<br />
|| LENOVO || 0769BAG || 3000 N200 || LENOVO || IEL10 || Reference || No Enclosure || N/A || LENOVO || 68ET24WW || 08/15/2007 <br />
||<br />
|| {{T-WARN|Non-ThinkPad EC firmware and BIOS}}<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====Edge series====<br />
|-<br />
| ThinkPad Edge 13 AMD L325<br />
|| LENOVO || 01976GG || ThinkPad Edge 13"IAL# || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6ZET25WW (1.12 ) || 01/15/2010 <br />
|| <nowiki>Handle 0x000D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6ZHT19WW-1.164000]-</nowiki><br />
|| <br />
|-<br />
| Thinkpad Edge 13 AMD L325<br />
|| LENOVO || 01972MG || ThinkPad Edge || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6ZET32WW (1.19 ) || 07/23/2010 <br />
|| <nowiki>Handle 0x000D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6ZHT26WW-1.171000]-</nowiki><br />
||<br />
|-<br />
| Thinkpad Edge 13 AMD L625<br />
|| LENOVO || 019734Q || ThinkPad Edge 13"IAL# || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6ZET24WW (1.11 ) || 01/14/2010<br />
|| <nowiki>Handle 0x000D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6ZHT19WW-1.164000]-</nowiki><br />
||<br />
|-<br />
| Thinkpad Edge 13 AMD L625<br />
|| LENOVO || 019734Q || ThinkPad Edge 13"IAL# || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6ZET31WW (1.18 ) || 05/25/2010 <br />
|| <nowiki>Handle 0x000D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6ZHT24WW-1.169000]-</nowiki><br />
||<br />
|-<br />
| Thinkpad Edge 13 AMD L625<br />
|| LENOVO || 019734Q || ThinkPad Edge 13"IAL# || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6ZET34WW (1.21 ) || 01/07/2011<br />
|| <nowiki>Handle 0x000D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6ZHT27WW-1.172000]-</nowiki><br />
||<br />
|-<br />
|| Thinkpad Edge 13" AMD<br />
|| LENOVO || 0197RW3 || ThinkPad Edge || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6ZET32WW (1.19 ) || 07/23/2010 <br />
|| <nowiki>Handle 0x000D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6ZHT26WW-1.171000]-</nowiki><br />
||<br />
|-<br />
| ThinkPad Edge 13,3" AMD <br />
|| LENOVO || 01976WG || ThinkPad Edge || LENOVO || INVALID || Not Available || LENOVO || Not Available || LENOVO || 6ZET30WW (1.17 ) || 04/29/2010 <br />
|| <nowiki>Handle 0x000D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6ZHT23WW-1.168000]-</nowiki><br />
||<br />
|-<br />
| ThinkPad Edge 13,3" NUD2EGE<br />
|| LENOVO || 01962EG || ThinkPad Edge 13"IAL# || LENOVO || 01962EG || Not Available || LENOVO || Not Available || LENOVO || 6YET25WW (1.10 ) || 01/15/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6YHT19WW-1.164000]-</nowiki><br />
||<br />
|-<br />
| ThinkPad Edge 13,3" NUD2EGE<br />
|| LENOVO || 01962EG || ThinkPad Edge || LENOVO || 01962EG || Not Available || LENOVO || Not Available || LENOVO || 6YET33WW (1.16 ) || 09/10/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6YHT26WW-1.171000]-</nowiki><br />
||<br />
|-<br />
|| ThinkPad Edge 13,3" NUD2EGE<br />
|| LENOVO || 01962EG || ThinkPad Edge || LENOVO || 01962EG || Not Available || LENOVO || Not Available || LENOVO || 6YET29WW (1.12 ) || 03/05/2010<br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6YHT21WW-1.166000]-</nowiki><br />
||<br />
|- <br />
|| ThinkPad Edge 13,3" Intel<br />
|| LENOVO || 0196CTO || ThinkPad Edge || LENOVO || 0196CTO || Not Available || LENOVO || Not Available || LENOVO || 6YET30WW (1.13 ) || 04/29/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6YHT23WW-1.168000]-</nowiki><br />
||<br />
|-<br />
|| ThinkPad Edge 13,3" Intel NUD5MMH<br />
|| LENOVO || 01965MG || ThinkPad Edge || LENOVO || 01965MG || Not Available || LENOVO || Not Available || LENOVO || 6YET30WW (1.13 ) || 04/29/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6YHT23WW-1.168000]-</nowiki><br />
||<br />
|-<br />
|| ThinkPad Edge 13,3" Intel NUD5PGE<br />
|| LENOVO || 01965PG || ThinkPad Edge || LENOVO || 01965PG || Not Available || LENOVO || Not Available || LENOVO || 6YET29WW (1.12 ) || 03/05/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6YHT21WW-1.166000]-</nowiki><br />
||<br />
|-<br />
|| ThinkPad Edge 13,3" Intel NUD5PGE<br />
|| LENOVO || 01965PG || ThinkPad Edge || LENOVO || 01965PG || Not Available || LENOVO || Not Available || LENOVO || 6YET33WW (1.16 ) || 09/10/2010 <br />
|| <nowiki>Handle 0x0018, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6YHT26WW-1.171000]-</nowiki><br />
||<br />
|-<br />
|| ThinkPad Edge 14" NVP3YRT<br />
|| LENOVO || 05783YG || ThinkPad Edge || LENOVO || 05783YG || Not Available || LENOVO || Not Available || LENOVO || 80ET29WW (1.06 ) || 03/24/2010 <br />
|| <nowiki>Handle 0x0019, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[80HT22WW-1.166000]-</nowiki><br />
||<br />
|-<br />
| ThinkPad Edge 14" 639D640<br />
|| LENOVO || 0578A19 || ThinkPad Edge || LENOVO || 0578A19 || Not Available || LENOVO || Not Available || LENOVO || 80ET29WW (1.06 ) || 03/24/2010 <br />
|| <nowiki>Handle 0x0019, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[80HT22WW-1.166000]-</nowiki><br />
|| <br />
|- <br />
| ThinkPad Edge 14" Intel i3<br />
|| LENOVO || 0578N6U || ThinkPad Edge || LENOVO || 0578N6U || Not Available || LENOVO || Not Available || LENOVO || 80ET49WW (1.26 ) || 04/13/2011<br />
|| <nowiki>Handle 0x0019, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[80HT35WW-1.190000]-</nowiki><br />
||<br />
|-<br />
| ThinkPad Edge 14" Intel i3<br />
|| LENOVO || 0578N6U || ThinkPad Edge || LENOVO || 0578N6U || Not Available || LENOVO || Not Available || LENOVO || 80ET52WW (1.29 ) || 05/30/2011<br />
|| <nowiki>Handle 0x0019, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[80HT37WW-1.210000]-</nowiki><br />
|| {{T-WARN|Modded Lenovo BIOS with wifi whitelist removed}}<br />
||<br />
|-<br />
| ThinkPad Edge 14" Intel i5 M430<br />
|| LENOVO || 0578BHA || ThinkPad Edge || LENOVO || 0578BHA || Not Available || LENOVO || Not Available || LENOVO || 80ET31WW (1.08 ) || 04/28/2010 <br />
|| <nowiki>Handle 0x0019, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[80HT23WW-1.167000]-</nowiki><br />
||<br />
|-<br />
| ThinkPad Edge 14" Intel i3 M370<br />
|| LENOVO || 0578JHG || ThinkPad Edge || LENOVO || 0578JHG || Not Available || LENOVO || Not Available || LENOVO || 80ET43WW (1.20 ) || 11/17/2010 <br />
|| <nowiki>Handle 0x0019, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[80HT33WW-1.177000]-</nowiki><br />
||<br />
|- <br />
|| ThinkPad Edge 15" NVL7VGE<br />
|| LENOVO || 03017VG || ThinkPad Edge || LENOVO || 03017VG || Not Available || LENOVO || Not Available || LENOVO || 80ET36WW (1.13 ) || 06/04/2010 <br />
|| <nowiki>Handle 0x0019, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[80HT29WW-1.173000]-</nowiki><br />
||<br />
|-<br />
|| ThinkPad Edge 15" 0301RJ7<br />
|| LENOVO || 0301RJ7 || ThinkPad Edge || LENOVO || 0301RJ7 || Not Available || LENOVO || Not Available || LENOVO || 80ET43WW (1.20 ) || 11/17/2010 <br />
|| <nowiki>Handle 0x0019, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[80HT33WW-1.177000]-</nowiki><br />
||<br />
|-<br />
|| ThinkPad Edge 15" AMD<br />
|| LENOVO || 0302CTO || ThinkPad Edge || LENOVO || 0302CTO || Not Available || LENOVO || Not Available || LENOVO || 82ET63WW (2.04 ) || 01/07/2011 <br />
|| <nowiki>Handle 0x0015, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[82HT28WW-1.174000]-</nowiki><br />
||<br />
|-<br />
|| ThinkPad Edge 15" AMD<br />
|| LENOVO || 0302CTO || ThinkPad Edge || LENOVO || 0302CTO || Not Available || LENOVO || Not Available || LENOVO || 82ET75WW (2.15 ) || 01/28/2011 <br />
|| <nowiki>Handle 0x0015, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[82HT28WW-1.174000]-</nowiki><br />
||<br />
|- <br />
| ThinkPad Edge E420s<br />
|| LENOVO || 440128U || ThinkPad Edge E420s || LENOVO || 440128U || Not Available || LENOVO || Not Available || LENOVO || 8JET26WW (1.08 ) || 03/24/2011<br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| ThinkPad Edge E420s<br />
|| LENOVO || 440128U || ThinkPad Edge E420s || LENOVO || 440128U || Not Available || LENOVO || Not Available || LENOVO || 8JET29WW (1.11 ) || 05/10/2011<br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====L series====<br />
|-<br />
| L512<br />
|| LENOVO || 4444CTO || ThinkPad L512 || LENOVO || 4444CTO || Not Available || LENOVO || Not Available || LENOVO || 81ET40WW (1.16 ) || 06/22/2010 <br />
|| <nowiki>Handle 0x0019, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[81HT25WW-1.168000]-</nowiki><br />
||<br />
|-<br />
|}<br />
</div><br />
<br />
==Adding entries==<br />
<br />
Click the "Edit" link on the appropriate series above and add an entry of the following form:<br />
:<tt>| </tt><i>description of your model</i><br />
:<i>data line 1</i><br />
:<i>data line 2</i><br />
:<tt>||</tt><br />
:<tt>|-</tt><br />
<br />
where the two data lines are generated by the following <tt>bash</tt> command:<br />
<br />
<pre><br />
for X in system-{manufacturer,product-name,version} \<br />
baseboard-{manufacturer,product-name,version} \<br />
chassis-{manufacturer,version} bios-{vendor,version,release-date}; do \<br />
echo -n "|| `sudo /usr/sbin/dmidecode -s $X` " \<br />
| perl -pe 's/\n/\\n/' ; done; \<br />
sudo /usr/sbin/dmidecode | perl -0777 -ne \<br />
'm/\n(.*).\n.*\n(.*Embedded Cont.*)\n/i; print "\n|| <nowiki><</nowiki>nowiki>$1$2</nowiki>\n"'<br />
</pre><br />
<br />
If you can, please also test [[tp_smapi]] and update its [[tp_smapi#Model-specific_status|model-specific status table]].<br />
<br />
==Software using ThinkPad DMI IDs==<br />
* [[HDAPS]] driver whitelist<br />
* [[tp_smapi]] driver whitelist<br />
* [[thinkpad-acpi]] driver quirk list</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Unofficial_maximum_memory_specs&diff=54114Unofficial maximum memory specs2012-12-02T11:02:48Z<p>Bugmenot1: /* Non-working memory configurations */ ''add x200s 8gb'' i dont want to make a real account for this single edit, yvesf.nospam@xapek.org</p>
<hr />
<div>Some ThinkPads are known to support more memory than their specs say. This page gathers information about those models, how much memory they can take and what special requirements that memory must fulfill.<br />
<br />
Have a look at the [[Memory]] page for the official memory configs and partnumbers<br />
<br />
==Working memory configurations==<br />
The following table gives an overview of tested memory configurations that exceed the specified limits for that ThinkPad type.<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! ThinkPad !! Official Max !! Unoffical Max !! BIOS !! Embedded Controller !! Memory configuration successfully tested<br />
|- style="vertical-align:top;"<br />
| ThinkPad {{A31p}}<br />2653-R8U || 1 GB || 2 GB || 1.10 || 1.05 ||<br />
2 x Elpida 1 GB 200-pin DDR PC2700, FRU # 31P9835<br />
|-<br />
| ThinkPad {{A31p}}<br />2653-R?? || 1 GB || || 1.09 || 1.05 ||<br />
2 x Kingston 1GB 200-Pin DDR, Model# KTM - TP9828/1G<br />
|-<br />
| ThinkPad {{SL500}}<br /> || 4 GB || 8 GB || ?.?? || ?.?? ||<br />
2 x 4GB 200-Pin DDR2 PC2-5300<br />
|-<br />
| ThinkPad {{T30}}<br />2366-92U || 1 GB || || 2.08 || 1.06 ||<br />
2 x Kingmax 1GB 200-Pin DDR SO-DIMM DDR333 PC2700, Model# MSAD42D-KI<BR><br />
:But causes [[:Category:T30#Kernel_Panic|kernel to panic at boot]].<BR><br />
2 x Generic Brand 1GB 200-pin DDR SO-DIMM PC2700 (p/n 89898E):<br />
:BIOS recognizes 2048MB, but Gentoo sees only 1024MB<br />
|-<br />
| ThinkPad {{T42}} [[2373-CTO]] || 2 GB || || 3.17 || 3.04 ||<br />
??? <br />
|-<br />
| ThinkPad {{T42}} [[2373-CTO]] || 2 GB || || 3.23 || 3.04 ||<br />
??? <br />
|-<br />
| ThinkPad {{T43p}} 2668-WTB || 2 GB || || 1.29 || 1.06 ||<br />
* 2 x Kingston 1GB 200-Pin 533MHz DDR2, Model KTM-TP3840/1G DDR2 <br />
|-<br />
| ThinkPad {{T61p}}<br />6457-5GG || 4 GB || 8 GB || 2.19 || 1.08 ||<br />
2 x Kingston 4GB 200-Pin 667MHz DDR2, Model # KTL-TP667/4GB.<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-EEG || 4 GB || 8 GB || 2.27 middleton (SATA-II modified) || 1.08 ||<br />
2 x Samsung SODIMM 4GB PC2-5300 DDR2-667, Model # M470T5267AZ3-CE6 / 4GB.<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-7XG || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 800MHz DDR2, Model # CT51264AC800. (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6457-BQG || 4 GB || 8 GB || 2.27 || 1.08 ||<br />
2 x Corsair 4GB 200-Pin 800MHz DDR2, Corsair ValueSelect SO-DIMM 4GB PC2-6400S CL6 VS4GSDS800D2 G .<br />
|-<br />
| ThinkPad {{T61p}}<br />6459-CTO || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x G.Skill 4GB 200-Pin 800MHz DDR2, Model # F2-6400CL6D-8GBSQ (PC2-6400)<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-8YG || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x Crucial 4GB 200-Pin 667MHz DDR2, Model# CT2KIT51264AC667 ( 2x CT51264AC667)<br />
|-<br />
| ThinkPad {{T61p}}<br />6460-DVU || 4 GB || 8 GB || 2.26 || 1.08 ||<br />
2 x G.Skil 4GB 200-Pin 667MHz DDR2, Model# F2-5300CL5D-8GBSQ, CL5-5-5-15, PC2-5300<br />
|-<br />
| ThinkPad {{T61p}}<br />8889-3FG || 4 GB || 8 GB || TBA || TBA ||<br />
2 x Kingston 4GB 200-Pin 667MHz DDR2, KVR667D2S5/4G.<br />
|-<br />
| ThinkPad {{X31}} 2672-C2G || 1 GB || || 3.02 || 1.08 ||<br />
* 2 x 1GB Kingston KVR400X64SC3A/1G DDR400MHz. Newer documentation also states 2GB, but original one did not.<br />
* Boots with 1 bar.<br />
|-<br />
| ThinkPad {{X31}} 2673-C2G || 1 GB || || 3.02 || 1.08 ||<br />
* 2 x 1GB (Team Group Inc. TSDR1024M400 DDR400MHz)<br />
* Boots with 1 x TSDR1024M400<br />
|-<br />
| ThinkPad {{X41}} 2525-CTO || 1.5 GB || 2 GB || 2.09 || 1.02 ||<br />
* 1 x 2GB ( ??? )<br />
BIOS claims 2.5 GB. Diagnostic POST and memtest86+ both test only 2 GB. Linux and Windows XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41}} 2528-5FU || 1.5 GB || || 2.09 || 1.02 ||<br />
* 1 x 2GB (Transcend TS2GIB3847 DDR2 667 MHz)<br />
* 1 x 2GB (FRU 73P3846 DDR2 PC2-4200)<br />
BIOS claims 2.5 GB. Diagnostic POST tests only 2 GB. Linux and XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41}} 2525-F8G || 1.5 GB || 2 GB || 2.06 || 1.01 ||<br />
* 1 x 2GB (Crucial CT25664AC667 DDR2 PC2-5300)<br />
BIOS claims 2.5 GB. Diagnostic POST and memtest86+ both test only 2 GB. Linux and Windows XP recognize 2 GB.<br />
|-<br />
| ThinkPad {{X41_Tablet}} 1866-6HU || 1.5 GB || || 2.03 || 1.02 ||<br />
* 1 x 2GB (Transcend JM667QSU-2G DDR2 667 MHz)<br />
BIOS claims 2.5GB. Diagnostic POST tests only 2GB. Linux and Windows XP recognize 2GB.<br />
|-<br />
| ThinkPad {{X61}}<br />7675-K2U || 4 GB || 8 GB || ?.?? || ?.?? ||<br />
Kingston 8GB (set of 2x4GB) 200-Pin DDR2, KVR667D2S5K2/8G<br/>''Equivalent to 2 x Kingston KVR667D2S5/4G''<br />
|-<br />
| ThinkPad {{X61s}}<br />7666AK7 || 4GB || 8GB || 2.16 || 1.03 ||<br />
2 x Generic 4GB DDR2 SODIMM (200 pin) 667Mhz PC2 5400 / PC2 5300 CL 5.0<br />
|-<br />
| ThinkPad {{X61t}}<br />7764-CTO || 4 GB || 8 GB || 1.23 || ?.?? ||<br />
2 x Generic 4GB 200-Pin DDR2.<br />
|-<br />
| ThinkPad {{X61t}}<br />7762-94G || 4 GB || 8 GB || 1.23 || 1.02 ||<br />
2 x Kingston 4GB 200-Pin DDR2, KVR667D2S5/4G.<br />
|-<br />
| ThinkPad {{X61t}}<br />7762-95G || 4 GB || 8 GB || 1.23 || 1.02 ||<br />
2 x Kingston 4GB 200-Pin DDR2, KVR667D2S5/4G. Ubuntu 10.10 64bit shows installed memory size of 7,7 GiB.<br />
|-<br />
|ThinkPad {{X100e}}<br />3508-CTO || 4GB || 8GB || 1.29 || 1.22 ||<br />
2 x G.Skill 4GB 200-Pin 800MHz DDR2, Model # F2-6400CL6D-8GBSQ (PC2-6400)<br />
|-<br />
|ThinkPad {{X120e}}<br />0596-CTO || 4GB || 8GB || ?.?? || ?.?? ||<br />
2 x Kingston KVR1066D3S7/4G = 8GB SODIMM DDR3 1066MHz CL7<br />
|-<br />
| ThinkPad {{X200}}<br />7459-W2H || 4 GB || 8 GB || 3.13 || 1.06 ||<br />
2 x KVR1066D3S7/4G.<br />
|-<br />
| ThinkPad {{X200s}}<br />7466-9QG || 4 GB || 8 GB || 3.11 || 1.06 ||<br />
2 x KVR1333D3S9/4G.<br />
|-<br />
| ThinkPad {{240}}<br />2609-40U || 320MByte || || IRETWWW76 || n/a ||<br />
* Any PC100 256MB memory in 16-chip configuration<br />
|-<br />
| ThinkPad {{240X}}<br /> || 256MByte || || unknown || n/a ||<br />
* Some PC100 256MB memory in 16-chip configuration may work. Chipset cannot handle more than 256MB<br />
|-<br />
| ThinkPad {{570}}<br />2644-3AU || 320MB || || 1.16 IMET65WW 11/11/99 || n/a ||<br />
* Kingston KTM-TP390X/256 256MB MODULE FRU 16P6327 - 16 chips, 8 each side<br />
|-<br />
| ThinkPad {{600}}<br /> ? || 288MB || || ? || ? ||<br />
* 416MB = 256MB '''low density''' PC100 SODIMM + 128MB PC66 SODIMM + 32MB PC66 on-board. It matters which SODIMM you put in which slot. This was first reported working on the [http://zurich.csail.mit.edu/hypermail/thinkpad/2004-04/0797.html Thinkpad Mailing List], and it worked error-free for me.<br />
The 600E (2645-8A0) with Bios INET36WW accept two modules <br />
of 256MB.<br />
The ram modules have 8 chips on each side.<br />
That results in 544MB. (RAM Typ: Micron MT16LSDF3264HG-133E4 PC133 CL3 sync).<br />
Processor is an Intel PII 366 PE, installed platform is Windows XP Pro with SP3.<br />
|-<br />
| ThinkPad {{770}}x<br />9549|| 448MB || || 1.11 IIET42WW 09/10/99 || n/a ||<br />
* 448MB = 256MB PC100 + 128MB PC66 + internal 64MB using IBM 256MB MODULE FRU 33L3070 PC100 CL2 - 16 chips, 8 each side<br />
* 512MB = 2 x 256MB PC100 + 64MB internal booted up as well. 512MB is due to 440LX-Chipset limitations, 64MB are overlapping or unused.<br />
|-<br />
|}<br />
<br />
==Non-working memory configurations==<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! ThinkPad !! max. Specs !! BIOS !! Embedded Controller !! Memory configuration unsuccessfully tested<br />
|- style="vertical-align:top;"<br />
| ThinkPad {{A21m}}<br /> || 512MB || ? || ? ||<br />
* 2 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
* 1 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
* 1 x Microx 144-pin 512MB PC133 SDRAM SODIMM 32x16 8C<br />
:+ 1 x 144-pin 256MB PC133 SDRAM SODIMM<br />
|- style="vertical-align:top;"<br />
| ThinkPad<br>{{T61p}}<br>6460-DVU || 4GB || 7LETC7WW (2.27)<br>04/08/2010 || 1.08 || 6GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Micron MT16HTS51264HY<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2GB: Kingston KTH-ZD8000C6<br><br />
Passed Windows Memory Diagnostic (Standard),<br><br />
but system became slightly unstable, app crash every 1-2 hours,<br><br />
failed Lenovo Toolbox memory test.<br />
|-<br />
|- style="vertical-align:top;"<br />
| ThinkPad<br>{{T43}} || 3GB || 1YET62WW (1.27 ) || 1YHT29WW-1.06 || 3GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2GB: Micron<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1GB: Kingston<br><br />
In 2+1 configuration system doesn't starts (black screen constantly).<br />
In 1+2 configuration system works, but sees only 2GB in BIOS and Linux.<br />
|-<br />
| ThinkPad<br>{{X200s}} || 4GB || 3.17 || 1.06 || 8GB:<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston<br><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4GB: Kingston<br><br />
0 + 4: System starts but stops before bootloader (GRUB).<br><br />
4 + 4: System starts, OS boots. But several issues:<br><br />
''Segmentation faults'': Memory intensive apps crashing randomly (eclipse)<br><br />
''WLAN instability issues'': driver keeps disconnecting under load<br><br />
''Graphic card errors'': [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung<br />
|-<br />
|}<br />
<br />
==External Sources==<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-55644 IBM's official Memory compatibility page]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Problem_with_error_01C9_-_More_than_one_Ethernet_devices&diff=54092Problem with error 01C9 - More than one Ethernet devices2012-11-14T22:50:15Z<p>Bugmenot1: /* Manual method: Ath_info from a LiveCD */</p>
<hr />
<div>==Problem Description==<br />
Certain ThinkPads show a warning message during [[POST]] when a WLAN card with an Atheros chipset is present in the MiniPCI or PCMCIA slot:<br />
<br />
WARNING<br />
01C9: More than one Ethernet devices are found. Remove one of them.<br />
Press <Esc> to continue.<br />
<br />
Also, boot-up during POST may be taking longer than expected. <br />
<br />
At POST, the BIOS conducts a scan for ethernet devices. It does this by reading the "PCI Class Codes" of every connected device. If more than one ethernet device is found, it produces the 01C9 error message. Unlike other wireless cards, which identify themselves as "other" network adapters, Atheros classify themselves as "ethernet". This collides with the internal ethernet controller (also a PCI device) and causes the 01C9 to appear. BIOS processing of the situation and generating the error message noticeably slow down boot-up time, at least in some models.<br />
<br />
== Affected Models ==<br />
* ThinkPad {{A31}}, {{A31p}}<br />
* ThinkPad {{T23}}, {{T30}}<br />
* ThinkPad {{R32}}, {{R40}}<br />
* ThinkPad {{X22}}, {{X23}}, {{X24}}, {{X30}}<br />
<br />
'''Not affected are'''<br />
*ThinkPad T4x series<br />
*ThinkPad X4x series<br />
<br />
== Solution ==<br />
The solution is to modify the Atheros EEPROM so that the card correctly identifies itself as an "other" instead of an "ethernet" network adapter. A Linux Live CD that automates this and can also remove the 1802 error message is now available.<br />
<br />
{{WARN|This software was designed FOR ATHEROS CARDS ONLY. Even though most users confirm it working fine, it can potentially harm your computer. The authors are in no way to be held liable for damage caused by this program. There is no warranty given, either express or implied for any fitness for any kind of purpose. YOU AGREE TO USE THIS ENTIRELY AT YOUR OWN RISK. Please also be aware that ath_info is still under development, so be just as cautious with the manual solutions suggested below.}}<br />
<br />
NOTICE: The Live CD Version 2 is released now. Download it via ''Bittorrent'' [http://neutrino.project-insanity.org/files/ibm_wifi_v2.iso.torrent here.] (~ 4 MB).<br />
Download links appear to break regularly but will be fixed whenever necessity arises.<br />
<br />
'''Functionality.''' The 01C9-patch changes the PCI Class ID from 0x0200 to 0x0280, which corresponds "network device: other". It manipulates the Atheros card, not the computer/BIOS/CMOS. It changes neither the PCI vendor ID nor the device ID. Therefore, functionality of drivers and operating systems will not be affected. Uninstalling drivers is not necessary before using this patch. The Live CD auto-detects whether an Atheros adapter is installed and will only then proceed. NOTE: Read the [[Problem_with_unauthorized_MiniPCI_network_card]] article on functionality of the 1802 patch.<br />
<br />
'''Usage.'''<br />
# Burn the .ISO file to a CD/DVD. Make sure not to burn it as a file within a filesystem, but as an image.<br />
# If you want to remove the 01C9 error only, skip to step 8.<br />
# To remove the 1802 error, make sure you do not have the Atheros card plugged into the slot.<br />
# Boot from the disc.<br />
# Choose to remove the 1802 error.<br />
# Shut down after pressing Ctrl-Alt-Del.<br />
# Plug in the Atheros card now.<br />
# Boot from the disc (again).<br />
# Choose not to apply the no-1802.<br />
# Choose to apply the 01C9 patch.<br />
# Shut down after pressing Ctrl-Alt-Del. Upon 'cold' reboot, the 01C9 should be gone.<br />
<br />
== Limitations ==<br />
Many newer Atheros adapters (chipsets equal to and newer than AR5004x) incorporate an EEPROM write protection by default. The Live CD may or may not be able to automatically patch these devices.<br />
<br />
=== Possible solutions ===<br />
Should the automated solution fail, you can try to manually set a GPIO (general purpose input/output) bit to enable write access. Depending on your adapter, this might activate the EEPROM write-enable channel. After the Live CD finishes, it will drop to a Linux shell prompt. Try typing the following:<br />
lspci -vd 168c: |sed -n 's/.*Memory at \([^ ]*\).*/0x\1/p'<br />
This will present you with the EEPROM base address. This you can use to switch the GPIO:<br />
/root/ath_info -g 4:0 -w <base_address><br />
In this example, you are setting GPIO 4 to low. Restart the patch script to see whether this enabled patching.<br />
/root/patch.sh<br />
After writing you may dump the complete eeprom with "-d" and find the new pci class at (16 bit) offset 2 for verification.<br />
<br />
=== Manual method: Ath_info from a LiveCD ===<br />
The Linux Live CD depends on ath_info, a tool derived from the [http://madwifi-project.org/ Madwifi] Atheros driver project. You can also install ath_info yourself and manually replicate the steps laid out above. If you cannot use ath_info from your current operating system (say if you use [http://www.freebsd.org/ FreeBSD]), you can use [http://grml.org/ grml] to perform this "operation". The grml Live CD contains a C compiler, the Subversion client and loads the Madwifi drivers on boot. So all you need to do is to fetch the source and build ath_info:<br />
svn co http://madwifi-project.org/svn/ath_info/trunk ath_info<br />
cd ath_info<br />
make<br />
Again, you need to find the address at which your card can be accessed (see above). Once you know it. instead of using the script, run<br />
ath_info -v -w <base_address> pci_class 0x0280<br />
Read this manual page [http://madwifi-project.org/wiki/UserDocs/AthInfo] for further details.<br />
<br />
== Successful applications ==<br />
Please add PCI IDs to this list. In Linux, type (case sensitive!):<br />
lspci |grep Ath && lspci -n |grep 168c<br />
* Askey Computer Corp AR2413A (802.11b/g) FCC ID:PPD-AR5BMB5 IC:4104A-AR5BMB5 (AR5005GS chipset)<br />
* SMC2835W, FCC ID: HED2835WACC (Cardbus card)<br />
* Gigabyte GN-WI01HT (802.11abg), AR5006SX-based<br />
* Generic unbranded AR5006X (802.11abg, 108Mbps super a/g+) , PCI ID: 168c:001b (rev 01), Subsystem: 10cf:1329<br />
* Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G]<br />
* Atheros Communications Inc. AR5212/AR5213 Multiprotocol MAC/baseband processor [168c:0013] (rev 01)<br />
* Atheros Communications Inc. AR2413 802.11bg NIC (rev 01)<br />
* IBM 11a/b/g Wireless LAN Mini PCI Adapter (168c:1014 rev 01) (AR5001X+ chipset)</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_error_01C9_-_More_than_one_Ethernet_devices&diff=54091Talk:Problem with error 01C9 - More than one Ethernet devices2012-11-14T22:48:00Z<p>Bugmenot1: </p>
<hr />
<div>Finally I can reboot my X24 remotely, great!<br />
<br />
The link to download IBM_Wifi.zip seems dead. Has anyone already downloaded it? Would you be so kind to sent a copy to my emailbox (...)<br />
I've been looking for it all over internet and got nothing but this helping hand, please make this available. EDIT: It is online now.<br />
<br />
== download link dead again ==<br />
the link to the lice cd (http://rapidshare.com/files/134063984/ibm_wifi_v2.zip) again is no more available. there is a message: "Diese Datei wurde aufgrund einer Verletzung unserer Nutzungsbedingungen vom Server entfernt." (deleted from server by reason of violation of our terms of use). and i got the same follow-up problem: "I've been looking for it all over internet and got nothing." where can i get the file, or may it be uploaded again? --[[User:Jwollbold|Jwollbold]] 18:06, 6 September 2008 (CEST)<br />
== i don't get it ==<br />
I wonder why rapidshare deleted it. THE PATCH IS BASED ENTIRELY ON OPEN SOURCE SOFTWARE AND VIOLATES NO COPYRIGHTS WHATSOEVER. If anybody could offer to host this file it would be highly appreciated. My suspicion is that someone tries to SELL cards that do not create the 01c9 error doesn't want an easy fix to be around. Let me know.<br />
<br />
== Yet another dead download link ==<br />
I've been making repeated attempts to get this file for several weeks and was happy to see a new link for download. Yet the new file link being hosted at webfilehost.com (http://www.webfilehost.com/?mode=viewupload&id=9628376) is returning an error that the file has been downloaded a maximum number of times. So once more, no luck.<br />
<br />
== Strange ==<br />
For me, the download link works. Look on the bottom right.<br />
<br />
== re-up fresh download ==<br />
<br />
http://rapidshare.com/files/361975338/ibm_wifi.iso<br />
<br />
== update download-source ==<br />
http://neutrino.project-insanity.org/files/ibm_wifi_v2.iso.torrent<br />
or: http://tpholic.com/xe/?module=file&act=procFileDownload&file_srl=1510742&sid=7d769465255294b102fc69da8ead7085</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Problem_with_error_01C9_-_More_than_one_Ethernet_devices&diff=54090Problem with error 01C9 - More than one Ethernet devices2012-11-14T22:42:44Z<p>Bugmenot1: /* Solution */</p>
<hr />
<div>==Problem Description==<br />
Certain ThinkPads show a warning message during [[POST]] when a WLAN card with an Atheros chipset is present in the MiniPCI or PCMCIA slot:<br />
<br />
WARNING<br />
01C9: More than one Ethernet devices are found. Remove one of them.<br />
Press <Esc> to continue.<br />
<br />
Also, boot-up during POST may be taking longer than expected. <br />
<br />
At POST, the BIOS conducts a scan for ethernet devices. It does this by reading the "PCI Class Codes" of every connected device. If more than one ethernet device is found, it produces the 01C9 error message. Unlike other wireless cards, which identify themselves as "other" network adapters, Atheros classify themselves as "ethernet". This collides with the internal ethernet controller (also a PCI device) and causes the 01C9 to appear. BIOS processing of the situation and generating the error message noticeably slow down boot-up time, at least in some models.<br />
<br />
== Affected Models ==<br />
* ThinkPad {{A31}}, {{A31p}}<br />
* ThinkPad {{T23}}, {{T30}}<br />
* ThinkPad {{R32}}, {{R40}}<br />
* ThinkPad {{X22}}, {{X23}}, {{X24}}, {{X30}}<br />
<br />
'''Not affected are'''<br />
*ThinkPad T4x series<br />
*ThinkPad X4x series<br />
<br />
== Solution ==<br />
The solution is to modify the Atheros EEPROM so that the card correctly identifies itself as an "other" instead of an "ethernet" network adapter. A Linux Live CD that automates this and can also remove the 1802 error message is now available.<br />
<br />
{{WARN|This software was designed FOR ATHEROS CARDS ONLY. Even though most users confirm it working fine, it can potentially harm your computer. The authors are in no way to be held liable for damage caused by this program. There is no warranty given, either express or implied for any fitness for any kind of purpose. YOU AGREE TO USE THIS ENTIRELY AT YOUR OWN RISK. Please also be aware that ath_info is still under development, so be just as cautious with the manual solutions suggested below.}}<br />
<br />
NOTICE: The Live CD Version 2 is released now. Download it via ''Bittorrent'' [http://neutrino.project-insanity.org/files/ibm_wifi_v2.iso.torrent here.] (~ 4 MB).<br />
Download links appear to break regularly but will be fixed whenever necessity arises.<br />
<br />
'''Functionality.''' The 01C9-patch changes the PCI Class ID from 0x0200 to 0x0280, which corresponds "network device: other". It manipulates the Atheros card, not the computer/BIOS/CMOS. It changes neither the PCI vendor ID nor the device ID. Therefore, functionality of drivers and operating systems will not be affected. Uninstalling drivers is not necessary before using this patch. The Live CD auto-detects whether an Atheros adapter is installed and will only then proceed. NOTE: Read the [[Problem_with_unauthorized_MiniPCI_network_card]] article on functionality of the 1802 patch.<br />
<br />
'''Usage.'''<br />
# Burn the .ISO file to a CD/DVD. Make sure not to burn it as a file within a filesystem, but as an image.<br />
# If you want to remove the 01C9 error only, skip to step 8.<br />
# To remove the 1802 error, make sure you do not have the Atheros card plugged into the slot.<br />
# Boot from the disc.<br />
# Choose to remove the 1802 error.<br />
# Shut down after pressing Ctrl-Alt-Del.<br />
# Plug in the Atheros card now.<br />
# Boot from the disc (again).<br />
# Choose not to apply the no-1802.<br />
# Choose to apply the 01C9 patch.<br />
# Shut down after pressing Ctrl-Alt-Del. Upon 'cold' reboot, the 01C9 should be gone.<br />
<br />
== Limitations ==<br />
Many newer Atheros adapters (chipsets equal to and newer than AR5004x) incorporate an EEPROM write protection by default. The Live CD may or may not be able to automatically patch these devices.<br />
<br />
=== Possible solutions ===<br />
Should the automated solution fail, you can try to manually set a GPIO (general purpose input/output) bit to enable write access. Depending on your adapter, this might activate the EEPROM write-enable channel. After the Live CD finishes, it will drop to a Linux shell prompt. Try typing the following:<br />
lspci -vd 168c: |sed -n 's/.*Memory at \([^ ]*\).*/0x\1/p'<br />
This will present you with the EEPROM base address. This you can use to switch the GPIO:<br />
/root/ath_info -g 4:0 -w <base_address><br />
In this example, you are setting GPIO 4 to low. Restart the patch script to see whether this enabled patching.<br />
/root/patch.sh<br />
After writing you may dump the complete eeprom with "-d" and find the new pci class at (16 bit) offset 2 for verification.<br />
<br />
=== Manual method: Ath_info from a LiveCD ===<br />
The Linux Live CD depends on ath_info, a tool derived from the [http://www.madwifi.org Madwifi] Atheros driver project. You can also install ath_info yourself and manually replicate the steps laid out above. If you cannot use ath_info from your current operating system (say if you use [http://www.freebsd.org/ FreeBSD]), you can use [http://grml.org/ grml] to perform this "operation". The grml Live CD contains a C compiler, the Subversion client and loads the Madwifi drivers on boot. So all you need to do is to fetch the source and build ath_info:<br />
svn co http://madwifi-project.org/svn/ath_info/trunk ath_info<br />
cd ath_info<br />
make<br />
Again, you need to find the address at which your card can be accessed (see above). Once you know it. instead of using the script, run<br />
ath_info -v -w <base_address> pci_class 0x0280<br />
Read this manual page [http://madwifi.org/wiki/UserDocs/AthInfo] for further details.<br />
<br />
== Successful applications ==<br />
Please add PCI IDs to this list. In Linux, type (case sensitive!):<br />
lspci |grep Ath && lspci -n |grep 168c<br />
* Askey Computer Corp AR2413A (802.11b/g) FCC ID:PPD-AR5BMB5 IC:4104A-AR5BMB5 (AR5005GS chipset)<br />
* SMC2835W, FCC ID: HED2835WACC (Cardbus card)<br />
* Gigabyte GN-WI01HT (802.11abg), AR5006SX-based<br />
* Generic unbranded AR5006X (802.11abg, 108Mbps super a/g+) , PCI ID: 168c:001b (rev 01), Subsystem: 10cf:1329<br />
* Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G]<br />
* Atheros Communications Inc. AR5212/AR5213 Multiprotocol MAC/baseband processor [168c:0013] (rev 01)<br />
* Atheros Communications Inc. AR2413 802.11bg NIC (rev 01)<br />
* IBM 11a/b/g Wireless LAN Mini PCI Adapter (168c:1014 rev 01) (AR5001X+ chipset)</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Installing_Linux_Mint_13_Xfce_on_a_ThinkPad_X200&diff=54089Installing Linux Mint 13 Xfce on a ThinkPad X2002012-11-10T14:53:40Z<p>Bugmenot1: /* Wireless connection */</p>
<hr />
<div>[[Category: X200]]<br />
= Preface =<br />
This guide will help you to install and configure Linux Mint 13 Xfce on a ThinkPad X200. Please note that many of the steps described here may be applied to other Linux distributions and ThinkPads alike.<br />
<br />
= Installation =<br />
The Xfce edition chosen here is recommended for users who wish to have a clean, simple and productive desktop environment rather than an graphical playground. If your system comes with more than 4GB RAM, then it is advised to download the 64Bit version. With less than 4GB RAM it is sufficient to use the 32Bit version. I will not describe the installation steps of Mint itself at this stage since there is an excellent [http://www.linuxmint.com/documentation/user-guide/english_13.0.pdf official documentation] available. To achieve best results during the installation you will need an internet connection. By default your wireless connection will successfully connect to a network but you will get timeouts when accessing a page. Hence, either use an ethernet cable or go to the wireless section to fix the problem. <br />
<br />
= After the installation =<br />
After the installation most parts of your system will work by default. The following steps will take care of the rest. <br />
<br />
== Wireless connection ==<br />
As mentioned above your wireless cart will be able to connect to a network but produces timeouts when accessing a page. The solution is to start the responsible iwlwifi module with the {{bootparm|11n_disable|1}} option. This can be either done temporarily (such as required during installation) with the following commands:<br />
sudo rmmod iwlwifi<br />
sudo modprobe iwlwifi 11n_disable=1<br />
<br />
<br />
The permanent fix requires to open the file {{path|/etc/modprobe.d/iwlwifi-disable11n.conf}} with superuser rights by running {{path|gksudo gedit /etc/modprobe.d/iwlwifi-disable11n.conf}} in the terminal. Once open add the following line to the file, save it and reboot your system:<br />
<br />
options iwlwifi 11n_disable=1<br />
<br />
== Font rendering ==<br />
The first thing you might notice is bad font rendering and the screen to be blurry. <br />
''To do''<br />
<br />
== Custom kernel and energy saving options ==<br />
An X200 is a pretty efficient notebook when used with Windows. But almost the same consumption can be achieved with small adjustment with Linux. All required packages have to be added to the system first:<br />
<br />
sudo add-apt-repository ppa:linrunner/thinkpad-extras<br />
sudo add-apt-repository ppa:linrunner/tlp<br />
sudo apt-get update<br />
<br />
Then install the following packages and reboot your system:<br />
<br />
sudo apt-get install linux-image-generic-tp linux-headers-generic-tp<br />
sudo apt-get install --no-install-recommends tlp tlp-rdw tp-smapi-dkms smartmontools ethtool<br />
sudo tlp start<br />
<br />
Power saving tools should now be started together with the custom kernel that comes with improvements compared to the default kernel.<br />
<br />
== Mute button ==<br />
You might have noticed that your mute button on the keyboard will mute the sound but not unmute it correctly. The is directly related to Xfce since it takes the wrong sound card as the active one. Run the following command in the terminal and your mute button should work correctly:<br />
<br />
xfconf-query -c xfce4-mixer -p /active-card -s PlaybackBuiltinAudioAnalogStereoPulseAudioMixer<br />
<br />
== Xscreensaver theming ==<br />
To be honest, the default Xscreensaver lock screen does not look very appealing. Fortunately it can be customised to achieve better results that are closer to the Linux Mint theme. Create the file {{path|~./Xresources}} and add the following lines to it:<br />
<br />
xscreensaver.splash: false<br />
<br />
!font settings<br />
xscreensaver.Dialog.headingFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.Dialog.bodyFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.Dialog.labelFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.Dialog.unameFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.Dialog.buttonFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.Dialog.dateFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.passwd.passwdFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*<br />
<br />
!general dialog box (affects main hostname, username, password text)<br />
xscreensaver.Dialog.foreground: #111111<br />
xscreensaver.Dialog.background: #F0F7E7<br />
xscreensaver.Dialog.topShadowColor: #111111<br />
xscreensaver.Dialog.bottomShadowColor: #111111<br />
xscreensaver.Dialog.Button.foreground: #ffffff<br />
xscreensaver.Dialog.Button.background: #666666<br />
<br />
!username/password input box and date text colour<br />
xscreensaver.Dialog.text.foreground: #F0F7E7<br />
xscreensaver.Dialog.text.background: #666666<br />
xscreensaver.Dialog.internalBorderWidth:24<br />
xscreensaver.Dialog.borderWidth: 1<br />
xscreensaver.Dialog.shadowThickness: 2<br />
<br />
!timeout bar (background is actually determined by Dialog.text.background)<br />
xscreensaver.passwd.thermometer.foreground: #E4FF73<br />
xscreensaver.passwd.thermometer.background: #000000<br />
xscreensaver.passwd.thermometer.width: 8<br />
<br />
!datestamp format--see the strftime(3) manual page for details<br />
xscreensaver.dateFormat: %I:%M%P %b %d</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Installing_Linux_Mint_13_Xfce_on_a_ThinkPad_X200&diff=54087Installing Linux Mint 13 Xfce on a ThinkPad X2002012-11-08T08:25:49Z<p>Bugmenot1: Xscreensaver theming</p>
<hr />
<div>[[Category: X200]]<br />
= Preface =<br />
This guide will help you to install and configure Linux Mint 13 Xfce on a ThinkPad X200. Please note that many of the steps described here may be applied to other Linux distributions and ThinkPads alike.<br />
<br />
= Installation =<br />
The Xfce edition chosen here is recommended for users who wish to have a clean, simple and productive desktop environment rather than an graphical playground. If your system comes with more than 4GB RAM, then it is advised to download the 64Bit version. With less than 4GB RAM it is sufficient to use the 32Bit version. I will not describe the installation steps of Mint itself at this stage since there is an excellent [http://www.linuxmint.com/documentation/user-guide/english_13.0.pdf official documentation] available. To achieve best results during the installation you will need an internet connection. By default your wireless connection will successfully connect to a network but you will get timeouts when accessing a page. Hence, either use an ethernet cable or go to the wireless section to fix the problem. <br />
<br />
= After the installation =<br />
After the installation most parts of your system will work by default. The following steps will take care of the rest. <br />
<br />
== Wireless connection ==<br />
As mentioned above your wireless cart will be able to connect to a network but produces timeouts when accessing a page. The solution is to start the responsible iwlwifi module with the {{bootparm|11n_disable|1}} option. This can be either done temporarily (such as required during installation) with the following commands:<br />
sudo modprobe -r iwlwifi<br />
sudo modprobe iwlwifi 11n_disable=1<br />
<br />
The permanent fix requires to open the file {{path|/etc/modprobe.d/iwlwifi.conf}} with superuser rights by running {{path|/sudo gedit /etc/modprobe.d/iwlwifi.conf}} in the terminal. Once open add the following line to the file, save it and reboot your system:<br />
<br />
options iwlwifi 11n_disable=1<br />
<br />
== Font rendering ==<br />
The first thing you might notice is bad font rendering and the screen to be blurry. <br />
''To do''<br />
<br />
== Custom kernel and energy saving options ==<br />
An X200 is a pretty efficient notebook when used with Windows. But almost the same consumption can be achieved with small adjustment with Linux. All required packages have to be added to the system first:<br />
<br />
sudo add-apt-repository ppa:linrunner/thinkpad-extras<br />
sudo add-apt-repository ppa:linrunner/tlp<br />
sudo apt-get update<br />
<br />
Then install the following packages and reboot your system:<br />
<br />
sudo apt-get install linux-image-generic-tp linux-headers-generic-tp<br />
sudo apt-get install --no-install-recommends tlp tlp-rdw tp-smapi-dkms smartmontools ethtool<br />
sudo tlp start<br />
<br />
Power saving tools should now be started together with the custom kernel that comes with improvements compared to the default kernel.<br />
<br />
== Mute button ==<br />
You might have noticed that your mute button on the keyboard will mute the sound but not unmute it correctly. The is directly related to Xfce since it takes the wrong sound card as the active one. Run the following command in the terminal and your mute button should work correctly:<br />
<br />
xfconf-query -c xfce4-mixer -p /active-card -s PlaybackBuiltinAudioAnalogStereoPulseAudioMixer<br />
<br />
== Xscreensaver theming ==<br />
To be honest, the default Xscreensaver lock screen does not look very appealing. Fortunately it can be customised to achieve better results that are closer to the Linux Mint theme. Create the file {{path|~./Xresources}} and add the following lines to it:<br />
<br />
xscreensaver.splash: false<br />
<br />
!font settings<br />
xscreensaver.Dialog.headingFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.Dialog.bodyFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.Dialog.labelFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.Dialog.unameFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.Dialog.buttonFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.Dialog.dateFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*<br />
xscreensaver.passwd.passwdFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*<br />
<br />
!general dialog box (affects main hostname, username, password text)<br />
xscreensaver.Dialog.foreground: #111111<br />
xscreensaver.Dialog.background: #F0F7E7<br />
xscreensaver.Dialog.topShadowColor: #111111<br />
xscreensaver.Dialog.bottomShadowColor: #111111<br />
xscreensaver.Dialog.Button.foreground: #ffffff<br />
xscreensaver.Dialog.Button.background: #666666<br />
<br />
!username/password input box and date text colour<br />
xscreensaver.Dialog.text.foreground: #F0F7E7<br />
xscreensaver.Dialog.text.background: #666666<br />
xscreensaver.Dialog.internalBorderWidth:24<br />
xscreensaver.Dialog.borderWidth: 1<br />
xscreensaver.Dialog.shadowThickness: 2<br />
<br />
!timeout bar (background is actually determined by Dialog.text.background)<br />
xscreensaver.passwd.thermometer.foreground: #E4FF73<br />
xscreensaver.passwd.thermometer.background: #000000<br />
xscreensaver.passwd.thermometer.width: 8<br />
<br />
!datestamp format--see the strftime(3) manual page for details<br />
xscreensaver.dateFormat: %I:%M%P %b %d</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_X200&diff=54079Installation instructions for the ThinkPad X2002012-11-06T09:38:23Z<p>Bugmenot1: Added installation guide for Linux Mint 13</p>
<hr />
<div>[[Category: X200]]<br />
==Installation Instructions==<br />
*[[Installing Arch on an X200| Installing Arch on a ThinkPad X200]]<br />
*[[Post Installing Arch on an X200|Post Installing Arch on a ThinkPad X200]]<br />
*[[Installing Debian on an X200|Installing Debian 5.0 (Lenny) on a ThinkPad X200]]<br />
*[[Installing Debian Sid on an X200| Installing Debian Sid on a ThinkPad X200 ]]<br />
*[[Installing Fedora on an X200| Installing Fedora on a ThinkPad 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 Ubuntu 9.10 (Karmic Koala) on a ThinkPad X200]]<br />
*[[Upgrading to 10.04 (Lucid Lynx) on a ThinkPad X200T]]<br />
*[[Installing Linux Mint 13 Xfce on a ThinkPad X200]]<br />
*[http://vminko.org/gentoo_manuals/thinkpad_x200 Installing Gentoo on a ThinkPad X200]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Installing_Linux_Mint_13_Xfce_on_a_ThinkPad_X200&diff=54078Installing Linux Mint 13 Xfce on a ThinkPad X2002012-11-06T09:37:33Z<p>Bugmenot1: First revision finished</p>
<hr />
<div>[[Category: X200]]<br />
= Preface =<br />
This guide will help you to install and configure Linux Mint 13 Xfce on a ThinkPad X200. Please note that many of the steps described here may be applied to other Linux distributions and ThinkPads alike.<br />
<br />
= Installation =<br />
The Xfce edition chosen here is recommended for users who wish to have a clean, simple and productive desktop environment rather than an graphical playground. If your system comes with more than 4GB RAM, then it is advised to download the 64Bit version. With less than 4GB RAM it is sufficient to use the 32Bit version. I will not describe the installation steps of Mint itself at this stage since there is an excellent [http://www.linuxmint.com/documentation/user-guide/english_13.0.pdf official documentation] available. To achieve best results during the installation you will need an internet connection. By default your wireless connection will successfully connect to a network but you will get timeouts when accessing a page. Hence, either use an ethernet cable or go to the wireless section to fix the problem. <br />
<br />
= After the installation =<br />
After the installation most parts of your system will work by default. The following steps will take care of the rest. <br />
<br />
== Wireless connection ==<br />
As mentioned above your wireless cart will be able to connect to a network but produces timeouts when accessing a page. The solution is to start the responsible iwlwifi module with the {{bootparm|11n_disable|1}} option. This can be either done temporarily (such as required during installation) with the following commands:<br />
sudo modprobe -r iwlwifi<br />
sudo modprobe iwlwifi 11n_disable=1<br />
<br />
The permanent fix requires to open the file {{path|/etc/modprobe.d/iwlwifi.conf}} with superuser rights by running {{path|/sudo gedit /etc/modprobe.d/iwlwifi.conf}} in the terminal. Once open add the following line to the file, save it and reboot your system:<br />
<br />
options iwlwifi 11n_disable=1<br />
<br />
== Font rendering ==<br />
The first thing you might notice is bad font rendering and the screen to be blurry. <br />
''To do''<br />
<br />
== Custom kernel and energy saving options ==<br />
An X200 is a pretty efficient notebook when used with Windows. But almost the same consumption can be achieved with small adjustment with Linux. All required packages have to be added to the system first:<br />
<br />
sudo add-apt-repository ppa:linrunner/thinkpad-extras<br />
sudo add-apt-repository ppa:linrunner/tlp<br />
sudo apt-get update<br />
<br />
Then install the following packages and reboot your system:<br />
<br />
sudo apt-get install linux-image-generic-tp linux-headers-generic-tp<br />
sudo apt-get install --no-install-recommends tlp tlp-rdw tp-smapi-dkms smartmontools ethtool<br />
sudo tlp start<br />
<br />
Power saving tools should now be started together with the custom kernel that comes with improvements compared to the default kernel.<br />
<br />
== Mute button ==<br />
You might have noticed that your mute button on the keyboard will mute the sound but not unmute it correctly. The is directly related to Xfce since it takes the wrong sound card as the active one. Run the following command in the terminal and your mute button should work correctly:<br />
<br />
xfconf-query -c xfce4-mixer -p /active-card -s PlaybackBuiltinAudioAnalogStereoPulseAudioMixer</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Talk:ThinkPad_Dock_II&diff=53594Talk:ThinkPad Dock II2012-03-29T09:10:09Z<p>Bugmenot1: /* Power Consumption */</p>
<hr />
<div>Got it! Actually able to run six monitors without any conflicts. Life is good.<br />
<br />
Hope I doing this right. Look up the definition of novice in the dictionary and you will find my picture. That said, I have an R52 ThinkPad, a ThinkPad Dock II with an ATI FireMV 2400 PCI 128M video card in the dock PCI slot. Card supports 4 monitors. Was told by a guy at work just plug it all in, install the card drivers, set up the configuration of the monitors in display properties and your good to go. Not so. Display properties only shows 2 monitors. None of the four outputs of the card have a signal. I want to ultimately be able to use 5 monitors, the four supported by the the ATI card and the display on the R-52. Got any ideas where I can get help with this? Thanks for any help anyone can give me.<br />
Eddie <br />
----<br />
<br />
I just installed a Nvidia Quadro NVS 50 PCI card in an attempt to add an additional monitor to my laptop (T41), and get 1920 x 1200 digital on my 24" widescreen. The Nvidia is not a dual monitor card, but I thought I would be able to use it as well as the laptop's existing card (ATI Mobility Radeon 7500). However the ATI card shows up in the hardware manager with the message "This device cannot start. (Code 10)". I then tried to enable the AGP as the primary video device in the BIOS (PCI was enabled). The on-board adapter came up, and the device manager listed no conflict, but the Nvidia would not come up as I tried to extend my desktop in display props. I got the message that I did not have admin rights to select the Nvidia, followed by messages that my drivers were not compatible with the newer version of Windows. I have never tried to use two monitors before, so I am not sure if it is feasible to have two video cards running at the same time. If this is possible, please let me know what I need to do, if it is not possible then I need to return the card and get one of your recommended ones.<br />
<br />
TIA!<br />
Tony<br />
----<br />
Hi Tony, can't help you much, i'm afraid. I have had a Radeon 9200 PCI card in the dock for a while, using it under Win. I think setting the AGP bus as the primary one in the BIOS is the way you should go. I had troubles with my Windows not booting up at all anymore when i changed it to PCI and was sure that it was the ATI driver having problems.<br />
<br />
I would try to get the most recent drivers from the NVidia homepage. Best try uninstalling your drivers and reinstalling them. You might also check if your card is supported by the OMEGA drivers (http://www.omegadrivers.net).<br />
<br />
Good luck, Wyrfel.<br />
<br />
Wyrfel,<br />
<br />
I'd just like to clarify that if I have a PCI video card installed in the dock and I put my ThinkPad (a T43) on the dock, I'll be able to use the display on the laptop and the external display through the PCI card in the dock at the same time for multi-monitor support. Is this correct?<br />
<br />
== Modify for compatibility? ==<br />
<br />
I have an X41 Tablet on the way and am very disappointed that the only "Dock" available is more like a glorified port replicator. While I'm sure the X41 Tablet wouldn't ''fit'' on the Dock II, do you think it would be possible to remove the docking port from the plastic and connect it to the X41, or is it a different style connector? I would really appreciate audio jacks and a PCI slot.<br />
^<br />
<br />
I think it is possible (I may look into it, as I have X41 Tablet also), but I must inform you that audio jack connectors, or some audio cables inside dock are of really bad quality, making sound not very good. I wanted to use this audio jacks to connect to my audio system, but of degradation in quality (it is really bad), I still use jacks port in laptop itself. It may be also because of elevated electromagnetic radiation from some elemnts, like power supply, which are inducing some noise and other currents. Maybe it is just mine unit of course, because it have few other strange problems.<br />
<br />
--[[User:Baryluk|Baryluk]] 02:45, 23 March 2012 (CET)<br />
<br />
== Who wrote this about the 1920 x 1200 on the dock II? ==<br />
<br />
This is a very important subject to me since we used to buy a lot of T series Thinkpads but dont any longer because of the lack of support for the widescreen external DVI flat panels. <br />
<br />
Who wrote this about the new driver from 8-11-05 - I have contacted IBM tech support (not Lenovo) and they have not heard such a thing and it is not listed - they have looked at the last video driver update to the T42p or T43p (I am looking for the 14" SXGA+ T42p model) with a dock II being able to drive externally 1920 x 1200 (UXGA+) WITHOUT an added PCI card. This would be NIRVANA for me.<br />
<br />
Do you have anymore information about this driver and have you SEEN it work at all?<br />
<br />
Thanks<br />
Dean<br />
<br />
dean@sigma-usa.com<br />
----<br />
I have a ThinkPad R40 2722-C3M with ATI Mobility Radeon 7500. I recently connected to a new 24" 1920 x 1200 LCD but initially couldn't support widescreen resolution - I updated the video driver and it now drives the ThinkPad LCD with desktop extended onto the 24" at 1920 x 1200 res.<br />
<br />
Cheers,<br />
<br />
Scott.<br />
<br />
----<br />
Hei Dean,<br />
<br />
i do not have a 1920x1200 display, but i have a 1600x1200 one which was unsupported before as well. The newest driver (upgraded via IBM Software Installer) indeed doesn't have the problem anymore which it had before with that resolution (1280x1024 was supported max). The newest Presentation Director supports the higher resolution as well.<br />
<br />
I actually switched back from OMEGA drivers to the newest IBM release and experienced some strange behaviour which was gone after a few reboots). I guess some parts of OMEGA were not properly uninstalled in one go.<br />
<br />
IBM might not know about this if they just upgraded the underlying Catalyst drivers.<br />
<br />
However, you might wanna get a confirmation from someone using 1920x1200 before you celebrate. ;-)<br />
<br />
[[User:Wyrfel|Wyrfel]] 01:16, 4 Oct 2005 (CEST)<br />
----<br />
<br />
BTW: I merged the information that was provided here on this issue into the [[Problem with DVI throughput]] page, since it was doubled in several places and belongs there. [[User:Wyrfel|Wyrfel]] 01:48, 4 Oct 2005 (CEST)<br />
----<br />
====newest drivers work with high resolution via DVI====<br />
The above is a true statement. I have in Nov 2005 installed 3 Thinkpad T's (T42p and T43p) with 128 megs of ATI video RAM (Fire 3200) and with the Think Dock II using the pass through DVI port, i am driving Dell 20" WSXGA+ (1600 x 1050 widescreen) and Sony WUXGA (1900 x 1200) 23" widescreen flat panels. They work OUT OF THE BOX without having to install special drivers. This is a new feature of the Thinkpad line (at least for the T series).<br />
----<br />
<br />
== Low Profile PCI? IBM says Half size. ==<br />
<br />
I don't think that LowProfile PCI-Cards will fit in the Dock II cause of the shorter mounting bracket.<br />
I just successfully plugged a standard PCI card with the dimension <br />
17.5 cm (without brackets and vga connector) x 9,9 cm (without pci connector, 10,7 cm with pci connector)<br />
This seems to be the maximum dimensions possible...think the 'half size' written by ibm means the length of the card, not the width, as there are full size pci cards e.g. for video editing that reach all the way to the front through a standard tower case.<br />
<br />
<br />
Afaik 'half size' means the length of the card. For low profile there should be mounting brackets available making them fit - however as always: check before you invest money. <br />
--[[User:Low|Low]] 08:20, 13 January 2009 (CET)<br />
<br />
== Z60 and T60 ==<br />
<br />
These machines are not supported by the ''legacy'' docks, you need to use the new Z60 range of port replicators and docking stations.<br />
<br />
--[[User:Tonko|Tonko]] 20:22, 11 Jan 2006 (CET)<br />
<br />
== T60 And Dual Monitors ==<br />
<br />
Yes, you can drive dual monitors with the ThinkPad Advanced Mini-Dock. I am running it under Windows Vista and it is great! The thing you need to do is download the ATI drivers from Lenovo and use the Catalyst Control center to disable your laptop LCD and then enable your analog monitor. By default, the DVI is enabled if both monitors are plugged in.<br />
<br />
--[[User:Paul317|Paul317]] 22:30, 19 July 2007 (UTC)<br />
<br />
----<br />
<br />
So I can drive dual monitors with a T60 and an "THINKPAD ADVANCED MINI-DOCK"?<br />
<br />
-- [[ryan.mchale@gmail.com | ryan]] 18:30, 18 April 2006 (CMT)<br />
----<br />
The docking solutions are listed [[Docking Solutions|here]], and indeed that includes the [[ThinkPad Advanced Mini Dock]] which supports the T60.<br />
<br />
You should be able to do any of the following:<br />
<br />
* ThinkPad LCD + Analog external monitor (VGA)<br />
* ThinkPad LCD + Digital external monitor (DVI)<br />
* Analog external monitor (VGA) + Digital external monitor (DVI)<br />
<br />
DVI requires that you have a Dock or Port-Replicator for your ThinkPad with a DVI passthrough port on it.<br />
<br />
--[[User:Tonko|Tonko]] 22:59, 19 April 2006 (CEST)<br />
<br />
== Eject mechanism on Dock II ==<br />
<br />
I've just acquired a used Dock II, and the eject mechanism seems to be a bit different from other Thinkpad docks and port replicators I'm familiar with. In particular, my question concerns the the square plugs on the dock base that help eject the laptop when the eject button is pressed. On the original dock for the A and T series, the original Port Replicator, and the newer Mini-Dock, the plugs are normally flush with the base, and are pushed up when the user presses the eject button. On the Docking Station II that I have, the plugs are spring loaded, are extruded from the base when no laptop is present, and are not affected by pressing the the eject button. That is, on the Docking Station II, the plugs are always applying pressure pushing the laptop up, and the laptop is held in place by the locking mechanism that is released when the eject button is pressed. Is this normal for the Docking Station II, or is there some linkage in my unit that's broken?<br />
<br />
TIA, <br />
Sanford<br />
<br />
----<br />
<br />
This is perfectly normal and maybe was an attempt from IBM to reduce the complex mechanics of the eject mechanism of the older docks.<br />
<br />
--[[User:BDKMPSS|BDKMPSS]] 15:31, 11 July 2008 (CEST)<br />
<br />
== R30, R31, and R32 are not supported ==<br />
<br />
According to [http://www-307.ibm.com/pc/support/site.wss/MIGR-4NXNTP.html Docking station, port replicator, and expansion - ThinkPad General] R30, R31, and R32 are not supported by ThinkPad Dock II.<br />
<br />
== Replace/unplug the noisy fan of Dock II ==<br />
<br />
In the information page, it is said some user might replace or unplug the noisy fan, I attempt to open the Dock II so that I could reach the fan and do something about it, does some one here knows the steps to disassemble it? The noise of the fan is really LOUD!<br />
<br />
Thanks ahead.<br />
<br />
== Help pleas ==<br />
<br />
''Does there exist a framebuffer driver that will create /dev/fb0 for the built-in video card and /dev/fb1 for the dock's PCI card allowing you to use both? Just like how modprobing radeon creates /dev/dri/card0 and /dev/dri/card1? All framebuffer drivers I've seen assume they will be used on only the boot display device. EDIT: When the AGP is the primary device, radeonfb will not create an fb on the secondary device. However when the PCI is the primary device, aty128fb will create an fb on the secondary device. The only problem is when the LCD is not the primary, everything on it is invisible. Starting X on it works but shows nothing, moving consoles to it works but shows nothing, etc.''<br />
<br />
These have been moved from the main page...<br />
<br />
''Dock II Linux users: can anybody recommend kernel modules and parameters for using PCI video cards with the dock's PCI slot? I had it working once with the dock, pci_slot, pci_hotplug and acpiphp modules and the pci=assign-busses parameter but since an unknown change to my system occurred, combinations of the above are no longer sufficient.''<br />
<br />
''Dock II owners: anybody tried to shoehorn a larger card in? ''<br />
<br />
Sorry for cluttering up the article (with the upper question). I've asked on the forums and mailing list. So far the LKML has given me the most help but the patch they recommended didn't solve the problem when I recompiled the kernel. However I thought the article should have some mention of this problem as it is likely to be the first stop for people who wonder whether or not they can use the PCI slot for a video card in Linux. Every single time I have seen a video card stated to be compatible with this dock, the person saying this was either a Windows user or didn't specify which OS he or she used. So unless someone DOES have this working (I had it working for a few days before it broke) we should probably say that the exact steps for getting docked PCI video cards to work in Linux are unknown. EDIT: It's working again without pci=assign-busses. This was either a BIOS or distro problem. I reset the BIOS to defaults and rolled back my packages and config files and reupdated one at a time instead of all at once. So I have this working now.<br />
[[User:Connor Behan|Connor Behan]] 06:10, 13 January 2009 (CET)<br />
<br />
== Hotplug in linux ==<br />
<br />
Hi,<br />
<br />
is there any exprience and guidlines about using this dock in T43 under Linux. I am interested in SATA controler, and was thinking how well it will take pluging and unpluging laptop. I would like to safely eject laptop from it, without demaging Dock, PCI card (and connected hard disks) or laptop. I guess, unmounting file systems, disabling block devices, removing drivers, and doing some poweroff to the Dock's PCI bridge would do the trick. But it may not be so simple. Also when plugining in, is everything autodetected, or needs some manual commands?<br />
--[[User:Baryluk|Baryluk]] 19:23, 3 September 2011 (CEST)<br />
<br />
I have never had a dock with PCI integrated, but as far as I know all you should have to do is umount the filesystems and wait a second or two for the buffers to get flushed. Everything else *should* handle hotplug just fine. Certainly you should not be able to damage the hardware as it was designed as a hotplug solution, as long as it allows you to unplug ;-) Personally I would test it with a HDD without important data first to make sure your not causing corruption.<br />
<br />
You can also write scripts to automatically trigger on dock plug/unplug. Unfortunately the unplug event will be too late as the device will already be unplugged, but the plug event may be handy... I used these udev events to automatically configure external monitors with xrandr.<br />
<br />
--[[User:Tonko|Tonko]] 08:20, 6 September 2011 (CEST)<br />
<br />
Ok. It is me again. It is possible to unplug linux definietly. It is also possible probably to plug it back, but only if kernel was booted with laptop docked in. This is because Linux uses resource assigned as assigned by ACPI / BIOS. If you boot to Linux kernel without being docked, and then try to dock, you will basically have problems with BAR, and kernel will say there is no enough resources, like virtual memory, IO ports, DMA channels or interrupts lines. <br />
<br />
As of unpluggin, you need to unmount filesystems, make sure other processes (like smart, hddtemp) doesn't use disks, rmmod modules of controler and cdrom/floppy drive, then power down a particular PCI bus, I do not remember how it is done. And can undock it. In fact it can be scripted, and added as even handler after pressing undock button (and give some success or error sound when it is done, to notify user).<br />
<br />
As of pluging things back, you basically need to rescan PCI bus. This is done by echoing something to scan file somewhere under in /proc or /sys/bus/pci. I would need to check. Then modprobing modules. It will however will not work, becasue sure, devices will be detected, but kernel will have problems with some PCI cards, which uses DMA or IOport. However, if you booted with kernel in dock station it may work.<br />
<br />
It may be possible to reassign resources, or make kernel aware that we may need to additional resources in the future, which are not present at boot time, and declare its size, to make use them on docking time. I was searching some linux kernel mailing lists, and there was some discussions on it, but nobody had similar problem.<br />
<br />
--[[User:Baryluk|Baryluk]] 02:41, 23 March 2012 (CET)<br />
<br />
== Using trackpoint or touchpad makes fan in Dock spin up ==<br />
<br />
This is really strange but real.<br />
<br />
Every time I move a mouse cursor using trackpoint a fan inside Dock II spin up significantly to be quite loud. Spinning stops exactly in a moment I stop touching trackpoint. If I just shake a mouse cursor it start, when I shake it more, or move it around faster, fan also becomes louder. When I have trackpoint point constantly in one direction it is also spinning fast. It stops spinning (became really quite) only when trackpoint is at rest (I can have a finger on it).<br />
<br />
I know this behavior of my dock for some time.<br />
<br />
When I use keyboard, or press mouse buttons (when when pressing them constantly), no such issue arise.<br />
<br />
I just discovered also that using touchpad makes same problem! Even touching it and not moving at all will make fan spin faster. After stopping using touchpad, it takes about 2-3 seconds to make fan quite again. Left button doesn't do anything when pressing or depressing. However pressing right button makes a fan lauder for a moment, then stops, and same happens when depressing (fan is louder for a moment, and then quite, like 2-3 seconds).<br />
<br />
So why this is working this way? Is my dock or laptop failing? I'm not sure how it is related. It is not related to the video screen update, after moving cursors, as problem doesn't happen when using external USB mouse or when playing movies, or updating screen when typing on keyboard. It isn't also bigger current consumption, and this doesn't really happen when jumping from 800MHz to 1.7Ghz, at least I think so.<br />
<br />
I'm using T43.<br />
<br />
Maybe it is power consumption, maybe some cabling is bad?<br />
<br />
Any ideas? Anybody with same problem?<br />
<br />
Witek<br />
--[[User:Baryluk|Baryluk]] 02:42, 23 March 2012 (CET)<br />
<br />
== Audio quality ==<br />
<br />
Hi, is this only me or audio output using jack port on Dock II make sound everything bad? I cannot tollerate it, and always plug back to laptops own ports. Not tested with mic, but listening to music on headphones connected to dock is of quite poor quality. I'm using T43. Does anybody else have same problem?<br />
--[[User:Baryluk|Baryluk]] 02:48, 23 March 2012 (CET)<br />
<br />
== Power Consumption ==<br />
<br />
Hello, anyone know how much power TPD-II consumes? Is it worth to switch from Mini-Dock (with external 120W power supply) to ThinkPad Dock II due to power-saving reasons?</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Talk:ThinkPad_Dock_II&diff=53593Talk:ThinkPad Dock II2012-03-29T09:09:35Z<p>Bugmenot1: Wattage</p>
<hr />
<div>Got it! Actually able to run six monitors without any conflicts. Life is good.<br />
<br />
Hope I doing this right. Look up the definition of novice in the dictionary and you will find my picture. That said, I have an R52 ThinkPad, a ThinkPad Dock II with an ATI FireMV 2400 PCI 128M video card in the dock PCI slot. Card supports 4 monitors. Was told by a guy at work just plug it all in, install the card drivers, set up the configuration of the monitors in display properties and your good to go. Not so. Display properties only shows 2 monitors. None of the four outputs of the card have a signal. I want to ultimately be able to use 5 monitors, the four supported by the the ATI card and the display on the R-52. Got any ideas where I can get help with this? Thanks for any help anyone can give me.<br />
Eddie <br />
----<br />
<br />
I just installed a Nvidia Quadro NVS 50 PCI card in an attempt to add an additional monitor to my laptop (T41), and get 1920 x 1200 digital on my 24" widescreen. The Nvidia is not a dual monitor card, but I thought I would be able to use it as well as the laptop's existing card (ATI Mobility Radeon 7500). However the ATI card shows up in the hardware manager with the message "This device cannot start. (Code 10)". I then tried to enable the AGP as the primary video device in the BIOS (PCI was enabled). The on-board adapter came up, and the device manager listed no conflict, but the Nvidia would not come up as I tried to extend my desktop in display props. I got the message that I did not have admin rights to select the Nvidia, followed by messages that my drivers were not compatible with the newer version of Windows. I have never tried to use two monitors before, so I am not sure if it is feasible to have two video cards running at the same time. If this is possible, please let me know what I need to do, if it is not possible then I need to return the card and get one of your recommended ones.<br />
<br />
TIA!<br />
Tony<br />
----<br />
Hi Tony, can't help you much, i'm afraid. I have had a Radeon 9200 PCI card in the dock for a while, using it under Win. I think setting the AGP bus as the primary one in the BIOS is the way you should go. I had troubles with my Windows not booting up at all anymore when i changed it to PCI and was sure that it was the ATI driver having problems.<br />
<br />
I would try to get the most recent drivers from the NVidia homepage. Best try uninstalling your drivers and reinstalling them. You might also check if your card is supported by the OMEGA drivers (http://www.omegadrivers.net).<br />
<br />
Good luck, Wyrfel.<br />
<br />
Wyrfel,<br />
<br />
I'd just like to clarify that if I have a PCI video card installed in the dock and I put my ThinkPad (a T43) on the dock, I'll be able to use the display on the laptop and the external display through the PCI card in the dock at the same time for multi-monitor support. Is this correct?<br />
<br />
== Modify for compatibility? ==<br />
<br />
I have an X41 Tablet on the way and am very disappointed that the only "Dock" available is more like a glorified port replicator. While I'm sure the X41 Tablet wouldn't ''fit'' on the Dock II, do you think it would be possible to remove the docking port from the plastic and connect it to the X41, or is it a different style connector? I would really appreciate audio jacks and a PCI slot.<br />
^<br />
<br />
I think it is possible (I may look into it, as I have X41 Tablet also), but I must inform you that audio jack connectors, or some audio cables inside dock are of really bad quality, making sound not very good. I wanted to use this audio jacks to connect to my audio system, but of degradation in quality (it is really bad), I still use jacks port in laptop itself. It may be also because of elevated electromagnetic radiation from some elemnts, like power supply, which are inducing some noise and other currents. Maybe it is just mine unit of course, because it have few other strange problems.<br />
<br />
--[[User:Baryluk|Baryluk]] 02:45, 23 March 2012 (CET)<br />
<br />
== Who wrote this about the 1920 x 1200 on the dock II? ==<br />
<br />
This is a very important subject to me since we used to buy a lot of T series Thinkpads but dont any longer because of the lack of support for the widescreen external DVI flat panels. <br />
<br />
Who wrote this about the new driver from 8-11-05 - I have contacted IBM tech support (not Lenovo) and they have not heard such a thing and it is not listed - they have looked at the last video driver update to the T42p or T43p (I am looking for the 14" SXGA+ T42p model) with a dock II being able to drive externally 1920 x 1200 (UXGA+) WITHOUT an added PCI card. This would be NIRVANA for me.<br />
<br />
Do you have anymore information about this driver and have you SEEN it work at all?<br />
<br />
Thanks<br />
Dean<br />
<br />
dean@sigma-usa.com<br />
----<br />
I have a ThinkPad R40 2722-C3M with ATI Mobility Radeon 7500. I recently connected to a new 24" 1920 x 1200 LCD but initially couldn't support widescreen resolution - I updated the video driver and it now drives the ThinkPad LCD with desktop extended onto the 24" at 1920 x 1200 res.<br />
<br />
Cheers,<br />
<br />
Scott.<br />
<br />
----<br />
Hei Dean,<br />
<br />
i do not have a 1920x1200 display, but i have a 1600x1200 one which was unsupported before as well. The newest driver (upgraded via IBM Software Installer) indeed doesn't have the problem anymore which it had before with that resolution (1280x1024 was supported max). The newest Presentation Director supports the higher resolution as well.<br />
<br />
I actually switched back from OMEGA drivers to the newest IBM release and experienced some strange behaviour which was gone after a few reboots). I guess some parts of OMEGA were not properly uninstalled in one go.<br />
<br />
IBM might not know about this if they just upgraded the underlying Catalyst drivers.<br />
<br />
However, you might wanna get a confirmation from someone using 1920x1200 before you celebrate. ;-)<br />
<br />
[[User:Wyrfel|Wyrfel]] 01:16, 4 Oct 2005 (CEST)<br />
----<br />
<br />
BTW: I merged the information that was provided here on this issue into the [[Problem with DVI throughput]] page, since it was doubled in several places and belongs there. [[User:Wyrfel|Wyrfel]] 01:48, 4 Oct 2005 (CEST)<br />
----<br />
====newest drivers work with high resolution via DVI====<br />
The above is a true statement. I have in Nov 2005 installed 3 Thinkpad T's (T42p and T43p) with 128 megs of ATI video RAM (Fire 3200) and with the Think Dock II using the pass through DVI port, i am driving Dell 20" WSXGA+ (1600 x 1050 widescreen) and Sony WUXGA (1900 x 1200) 23" widescreen flat panels. They work OUT OF THE BOX without having to install special drivers. This is a new feature of the Thinkpad line (at least for the T series).<br />
----<br />
<br />
== Low Profile PCI? IBM says Half size. ==<br />
<br />
I don't think that LowProfile PCI-Cards will fit in the Dock II cause of the shorter mounting bracket.<br />
I just successfully plugged a standard PCI card with the dimension <br />
17.5 cm (without brackets and vga connector) x 9,9 cm (without pci connector, 10,7 cm with pci connector)<br />
This seems to be the maximum dimensions possible...think the 'half size' written by ibm means the length of the card, not the width, as there are full size pci cards e.g. for video editing that reach all the way to the front through a standard tower case.<br />
<br />
<br />
Afaik 'half size' means the length of the card. For low profile there should be mounting brackets available making them fit - however as always: check before you invest money. <br />
--[[User:Low|Low]] 08:20, 13 January 2009 (CET)<br />
<br />
== Z60 and T60 ==<br />
<br />
These machines are not supported by the ''legacy'' docks, you need to use the new Z60 range of port replicators and docking stations.<br />
<br />
--[[User:Tonko|Tonko]] 20:22, 11 Jan 2006 (CET)<br />
<br />
== T60 And Dual Monitors ==<br />
<br />
Yes, you can drive dual monitors with the ThinkPad Advanced Mini-Dock. I am running it under Windows Vista and it is great! The thing you need to do is download the ATI drivers from Lenovo and use the Catalyst Control center to disable your laptop LCD and then enable your analog monitor. By default, the DVI is enabled if both monitors are plugged in.<br />
<br />
--[[User:Paul317|Paul317]] 22:30, 19 July 2007 (UTC)<br />
<br />
----<br />
<br />
So I can drive dual monitors with a T60 and an "THINKPAD ADVANCED MINI-DOCK"?<br />
<br />
-- [[ryan.mchale@gmail.com | ryan]] 18:30, 18 April 2006 (CMT)<br />
----<br />
The docking solutions are listed [[Docking Solutions|here]], and indeed that includes the [[ThinkPad Advanced Mini Dock]] which supports the T60.<br />
<br />
You should be able to do any of the following:<br />
<br />
* ThinkPad LCD + Analog external monitor (VGA)<br />
* ThinkPad LCD + Digital external monitor (DVI)<br />
* Analog external monitor (VGA) + Digital external monitor (DVI)<br />
<br />
DVI requires that you have a Dock or Port-Replicator for your ThinkPad with a DVI passthrough port on it.<br />
<br />
--[[User:Tonko|Tonko]] 22:59, 19 April 2006 (CEST)<br />
<br />
== Eject mechanism on Dock II ==<br />
<br />
I've just acquired a used Dock II, and the eject mechanism seems to be a bit different from other Thinkpad docks and port replicators I'm familiar with. In particular, my question concerns the the square plugs on the dock base that help eject the laptop when the eject button is pressed. On the original dock for the A and T series, the original Port Replicator, and the newer Mini-Dock, the plugs are normally flush with the base, and are pushed up when the user presses the eject button. On the Docking Station II that I have, the plugs are spring loaded, are extruded from the base when no laptop is present, and are not affected by pressing the the eject button. That is, on the Docking Station II, the plugs are always applying pressure pushing the laptop up, and the laptop is held in place by the locking mechanism that is released when the eject button is pressed. Is this normal for the Docking Station II, or is there some linkage in my unit that's broken?<br />
<br />
TIA, <br />
Sanford<br />
<br />
----<br />
<br />
This is perfectly normal and maybe was an attempt from IBM to reduce the complex mechanics of the eject mechanism of the older docks.<br />
<br />
--[[User:BDKMPSS|BDKMPSS]] 15:31, 11 July 2008 (CEST)<br />
<br />
== R30, R31, and R32 are not supported ==<br />
<br />
According to [http://www-307.ibm.com/pc/support/site.wss/MIGR-4NXNTP.html Docking station, port replicator, and expansion - ThinkPad General] R30, R31, and R32 are not supported by ThinkPad Dock II.<br />
<br />
== Replace/unplug the noisy fan of Dock II ==<br />
<br />
In the information page, it is said some user might replace or unplug the noisy fan, I attempt to open the Dock II so that I could reach the fan and do something about it, does some one here knows the steps to disassemble it? The noise of the fan is really LOUD!<br />
<br />
Thanks ahead.<br />
<br />
== Help pleas ==<br />
<br />
''Does there exist a framebuffer driver that will create /dev/fb0 for the built-in video card and /dev/fb1 for the dock's PCI card allowing you to use both? Just like how modprobing radeon creates /dev/dri/card0 and /dev/dri/card1? All framebuffer drivers I've seen assume they will be used on only the boot display device. EDIT: When the AGP is the primary device, radeonfb will not create an fb on the secondary device. However when the PCI is the primary device, aty128fb will create an fb on the secondary device. The only problem is when the LCD is not the primary, everything on it is invisible. Starting X on it works but shows nothing, moving consoles to it works but shows nothing, etc.''<br />
<br />
These have been moved from the main page...<br />
<br />
''Dock II Linux users: can anybody recommend kernel modules and parameters for using PCI video cards with the dock's PCI slot? I had it working once with the dock, pci_slot, pci_hotplug and acpiphp modules and the pci=assign-busses parameter but since an unknown change to my system occurred, combinations of the above are no longer sufficient.''<br />
<br />
''Dock II owners: anybody tried to shoehorn a larger card in? ''<br />
<br />
Sorry for cluttering up the article (with the upper question). I've asked on the forums and mailing list. So far the LKML has given me the most help but the patch they recommended didn't solve the problem when I recompiled the kernel. However I thought the article should have some mention of this problem as it is likely to be the first stop for people who wonder whether or not they can use the PCI slot for a video card in Linux. Every single time I have seen a video card stated to be compatible with this dock, the person saying this was either a Windows user or didn't specify which OS he or she used. So unless someone DOES have this working (I had it working for a few days before it broke) we should probably say that the exact steps for getting docked PCI video cards to work in Linux are unknown. EDIT: It's working again without pci=assign-busses. This was either a BIOS or distro problem. I reset the BIOS to defaults and rolled back my packages and config files and reupdated one at a time instead of all at once. So I have this working now.<br />
[[User:Connor Behan|Connor Behan]] 06:10, 13 January 2009 (CET)<br />
<br />
== Hotplug in linux ==<br />
<br />
Hi,<br />
<br />
is there any exprience and guidlines about using this dock in T43 under Linux. I am interested in SATA controler, and was thinking how well it will take pluging and unpluging laptop. I would like to safely eject laptop from it, without demaging Dock, PCI card (and connected hard disks) or laptop. I guess, unmounting file systems, disabling block devices, removing drivers, and doing some poweroff to the Dock's PCI bridge would do the trick. But it may not be so simple. Also when plugining in, is everything autodetected, or needs some manual commands?<br />
--[[User:Baryluk|Baryluk]] 19:23, 3 September 2011 (CEST)<br />
<br />
I have never had a dock with PCI integrated, but as far as I know all you should have to do is umount the filesystems and wait a second or two for the buffers to get flushed. Everything else *should* handle hotplug just fine. Certainly you should not be able to damage the hardware as it was designed as a hotplug solution, as long as it allows you to unplug ;-) Personally I would test it with a HDD without important data first to make sure your not causing corruption.<br />
<br />
You can also write scripts to automatically trigger on dock plug/unplug. Unfortunately the unplug event will be too late as the device will already be unplugged, but the plug event may be handy... I used these udev events to automatically configure external monitors with xrandr.<br />
<br />
--[[User:Tonko|Tonko]] 08:20, 6 September 2011 (CEST)<br />
<br />
Ok. It is me again. It is possible to unplug linux definietly. It is also possible probably to plug it back, but only if kernel was booted with laptop docked in. This is because Linux uses resource assigned as assigned by ACPI / BIOS. If you boot to Linux kernel without being docked, and then try to dock, you will basically have problems with BAR, and kernel will say there is no enough resources, like virtual memory, IO ports, DMA channels or interrupts lines. <br />
<br />
As of unpluggin, you need to unmount filesystems, make sure other processes (like smart, hddtemp) doesn't use disks, rmmod modules of controler and cdrom/floppy drive, then power down a particular PCI bus, I do not remember how it is done. And can undock it. In fact it can be scripted, and added as even handler after pressing undock button (and give some success or error sound when it is done, to notify user).<br />
<br />
As of pluging things back, you basically need to rescan PCI bus. This is done by echoing something to scan file somewhere under in /proc or /sys/bus/pci. I would need to check. Then modprobing modules. It will however will not work, becasue sure, devices will be detected, but kernel will have problems with some PCI cards, which uses DMA or IOport. However, if you booted with kernel in dock station it may work.<br />
<br />
It may be possible to reassign resources, or make kernel aware that we may need to additional resources in the future, which are not present at boot time, and declare its size, to make use them on docking time. I was searching some linux kernel mailing lists, and there was some discussions on it, but nobody had similar problem.<br />
<br />
--[[User:Baryluk|Baryluk]] 02:41, 23 March 2012 (CET)<br />
<br />
== Using trackpoint or touchpad makes fan in Dock spin up ==<br />
<br />
This is really strange but real.<br />
<br />
Every time I move a mouse cursor using trackpoint a fan inside Dock II spin up significantly to be quite loud. Spinning stops exactly in a moment I stop touching trackpoint. If I just shake a mouse cursor it start, when I shake it more, or move it around faster, fan also becomes louder. When I have trackpoint point constantly in one direction it is also spinning fast. It stops spinning (became really quite) only when trackpoint is at rest (I can have a finger on it).<br />
<br />
I know this behavior of my dock for some time.<br />
<br />
When I use keyboard, or press mouse buttons (when when pressing them constantly), no such issue arise.<br />
<br />
I just discovered also that using touchpad makes same problem! Even touching it and not moving at all will make fan spin faster. After stopping using touchpad, it takes about 2-3 seconds to make fan quite again. Left button doesn't do anything when pressing or depressing. However pressing right button makes a fan lauder for a moment, then stops, and same happens when depressing (fan is louder for a moment, and then quite, like 2-3 seconds).<br />
<br />
So why this is working this way? Is my dock or laptop failing? I'm not sure how it is related. It is not related to the video screen update, after moving cursors, as problem doesn't happen when using external USB mouse or when playing movies, or updating screen when typing on keyboard. It isn't also bigger current consumption, and this doesn't really happen when jumping from 800MHz to 1.7Ghz, at least I think so.<br />
<br />
I'm using T43.<br />
<br />
Maybe it is power consumption, maybe some cabling is bad?<br />
<br />
Any ideas? Anybody with same problem?<br />
<br />
Witek<br />
--[[User:Baryluk|Baryluk]] 02:42, 23 March 2012 (CET)<br />
<br />
== Audio quality ==<br />
<br />
Hi, is this only me or audio output using jack port on Dock II make sound everything bad? I cannot tollerate it, and always plug back to laptops own ports. Not tested with mic, but listening to music on headphones connected to dock is of quite poor quality. I'm using T43. Does anybody else have same problem?<br />
--[[User:Baryluk|Baryluk]] 02:48, 23 March 2012 (CET)<br />
<br />
== Power Consumption ==<br />
<br />
Hello, anyone know how much power TPD-II consumes? Is it worth to switch from Mini-Dock (with external 120W power supply) to ThinkPad Dock II from power-saving point of view?</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Category_talk:Models&diff=53238Category talk:Models2011-12-15T19:44:36Z<p>Bugmenot1: /* Thinkpad Edge */</p>
<hr />
<div>We need a new Category W-Series on this Page.<br />
<br />
--[[User:Dummvogel|Dummvogel]] 09:25, 12 August 2008 (CEST)<br />
<br />
Could anyone add an explanation of the scheme of recent Thinkpad's model names? For example, AFAIK, the last letter indicates the keyboard language.<br />
<br />
== subcategories wrapped onto new page ==<br />
<br />
Guys,<br />
<br />
The subcategories exceeds 200 entries and wrapped onto a new page, which right now contains just the Z60t.<br />
<br />
Perhaps we should rethink this page?<br />
<br />
--[[User:Tonko|Tonko]] 17:56, 18 Oct 2005 (CEST)<br />
<br />
There's not much we can do about this.<br />
<br />
We could categorize certain models together (like numbered, T-Series, etc.), but that raises model browsing effort. Further models will come and hence the second page will fill up more or less quickly. I think the problem is that the "next page" link is not drawing a lot of attention. Maybe we could do something about this, probably the stylesheet has to be modified.<br />
<br />
[[User:Wyrfel|Wyrfel]] 00:15, 19 Oct 2005 (CEST)<br />
----<br />
<br />
I found a minor solution in the two links i just added next to the page heading. They are derived from the previous and next links and implement a simple means of filtering.<br />
<br />
[[User:Wyrfel|Wyrfel]] 04:51, 29 January 2006 (CET)<br />
----<br />
I would like to start adding information about the 240z how do I get it listed on this page?<br />
[[User:Kuop|Kuop]] 06:48, 30 June 2006 (CEST)<br />
<br />
== New Models like C-series and N-series. ==<br />
<br />
I guess someoneshould write about the new C and N series of Thinkpads<br />
as they made their way into the market and are sold by almost any<br />
computer shop around the globe, that sells notebooks.<br />
I see this matter as quite important.<br />
<br />
[[User:Laptopix|Laptopix]] 14:50, 4 August 2006 (CEST)<br />
----<br />
<br />
Lenovo's 3000 series is not branded "ThinkPad". Is the hardware and firmare anything like recent ThinkPads?<br />
<br />
--[[User:Thinker|Thinker]] 19:23, 4 August 2006 (CEST)<br />
----<br />
<br />
They may not be branded as "Thinkpads", but they have IBM-like part numbers and IBM-like hardware maintenance manuals (complete with IBM-like part numbers for the various internal parts), at least for the N100 series. I'd vote for allowing their inclusion.<br />
<br />
<br />
-- [[User:Cletus|Cletus]] 21:51, 8 August 2006 (CEST)<br />
----<br />
I do have a Lenovo 3000 N100 0768-BJG for one month. I buyed it due to the lack of thinkpad available in France these times.<br />
Support is made by IBM, FRU are available like thinkpads, OnSite waranty is available like thinkpads. It's worth the value.<br />
Mine is quite well, core2duo 1.8GHz, 1x1Go DDR2, 100Go Sata, fingerprint, GeForce 7300, fingerprint reader, 16:10 1680x1050 LCD. I upgraded with a second 1Go DDR2, and a 9 cell battery available in lenovo dealer as with thinkpads. I'm running ubuntu edgy right now.<br />
<br />
--[[User:Rafael|Rafael]] 02:44, 9 March 2007 (CET)<br />
----<br />
I'd still like to add information about the 240z model but do i edit that list?<br />
[[User:Kupo|Kupo]] 08:02, 3 March 2007 (CET)<br />
<br />
<br />
<br />
== W & SL Series ==<br />
<br />
Lenovo introduced the W Series and SL series, both of which still need to be added to this page.<br />
<br />
== I need help with the Ultrabay Batteries ==<br />
<br />
Hi everyone,<br />
<br />
I'm new to this forum and I have a question regarding the Ultrabay batteries.<br />
<br />
I've got an R61i with an Ultrabay Enhanced Slot. I'm looking for a fitting battery, but right now all I have is a Slim battery II and the machine recognizes it, but its very loose and sometimes falls out... Is there an Ultrabay battery that fits into the Ultrabay Enhanced Slot or is there an adapter or something like that which will give my Slim battery a snug fit?<br />
<br />
I'd be happy for any comments.<br />
<br />
Cheers<br />
<br />
<br />
<br />
This is more a question for a mailinglist or forum. But as far as I know, no ultrabay enhanced battery exists, and neither is there an adapter to make the slim devices fit better in the larger enhanced slot. You might just want to contact the helpdesk with the question. --[[User:Tonko|Tonko]] 17:45, 27 October 2009 (UTC)<br />
<br />
== Lenovo non Thinkpad Models formerly known as 3000 series ==<br />
<br />
I have some experience with low cost Lenovo N500 and G550 notebooks, delivered without Windows, and running Ubuntu. Mostly good experiences. Suppose, we should have a category for these here ...<br />
<br />
-- ?<br />
<br />
That depends. This wiki is about ThinkPads, and while we don't get out of our way in a witch-hunt to purge any non-ThinkPadness from the wiki, we don't exactly encourage adding any non-thinkpad-related information here, other than a few scattered pages that says "this is not a thinkpad"...<br />
<br />
I don't know about Akw and Tonko, but I know I'd be okay with a non-thinkpad category, as long as it is used only to host a *few* pages, maximum one per series, describing the non-thikpad laptop and with some details.<br />
<br />
--[[User:Hmh|hmh]] 11:42, 28 November 2009 (UTC)<br />
<br />
Just as Hmh, I am not totally opposed to adding other Lenovo notebooks/netbooks. The concern I have though is that since those are so different from the ThinkPad line, that they will dilute the information we have today with issues, hints and tips which are not applicable to the ThinkPads.<br />
<br />
--[[User:Tonko|Tonko]] 20:06, 28 November 2009 (UTC)<br />
<br />
== Thinkpad Edge ==<br />
Could you remove the word "glossy" from the description since not all versions of the Thinkpad Edge are glossy? [[User:RCX|RCX]] 16:17, 3 July 2011 (CEST)<br />
<br />
---<br />
<br />
indeed, i'm typing form a E425, which lacks a category, and it's not glossy. they call it "anti-glare screen" on the site.</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Integrated_Fingerprint_Reader&diff=53237Integrated Fingerprint Reader2011-12-15T19:21:06Z<p>Bugmenot1: added device availability</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:fingerprintreader.jpg|IBM Integrated Fingerprint Reader]] <br />
<br />
===Integrated Fingerprint Reader===<br />
IBMs second generation of T42 models (released in Autumn 2004) was the first to feature an integrated fingerprint reader. Various models since then have had this feature, actually implemented with a number of different devices, all of which appear on the USB bus. Some are just scanners, others do the recognition in the device itself. <br />
<br />
{|<br />
! USB ID !! Reader !! Software <br />
|-<br />
|0483:2016|| [http://reactivated.net/fprint/wiki/Upekts UPEK/Thomson] || thinkfinger or fprint <br />
|-<br />
|147e:1000|| UPEK TCS4C || unsupported ??<br />
|-<br />
|147e:1002|| UPEK || unsupported ??<br />
|-<br />
|147e:2016|| [http://www.reactivated.net/fprint/wiki/Upeksonly Upeksonly] || [https://bugzilla.redhat.com/show_bug.cgi?id=504399 fprint patches]<br />
|-<br />
|08ff:1600|| [http://reactivated.net/fprint/wiki/Aes1610 Authentec AES1610] || fprint <br />
|-<br />
|08ff:2580 || [http://reactivated.net/fprint/wiki/Aes2501 Authentec AES2501] || fprint <br />
|-<br />
|08ff:2810 || Authentec 2810 || unsupported<br />
|-<br />
|}<br />
<br />
Read more about the various models of reader on the [http://reactivated.net/fprint/wiki/Supported_devices libfprint wiki]<br />
<br />
The UPEK device is supported by thinkfinger. Those devices and Authentec ones are supported by libfprint. <br />
<br />
However: The fingerprint reader is an INSECURE device and gives a false sense of security! There has been quite a bit of research by a hacker named Starbug, a member of the Chaos Computer Club, Berlin, Germany. He outlined in two very good talks how to forge each and every available fingerprint sensor available at the cost of a few euros, using materials from your local hardware store, a digicam and a laser printer! Here's some links:<br />
* [http://www.ccc.de/updates/2007/umsonst-im-supermarkt?language=en Fingerprint recognition in supermarkets]<br />
* [ftp://ftp.ccc.de/pub/documentation/Fingerabdruck_Hack/fingerabdruck.mpg?language=en Video tutorial for forging fingerprints]<br />
Remember, using fingerprints for authentication is much similar to having a password which is written on anything you touch.<br />
<br />
== Software support ==<br />
See [[How to enable the integrated fingerprint reader]].<br />
<br />
==Models featuring this Technology==<br />
'''UPEK Touchstrip (model?) - USB 0483:2016'''<br />
*ThinkPad {{R52}}, {{R60}}<br />
*ThinkPad {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}<br />
*ThinkPad {{X41}}, {{X41 Tablet}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X300}}<br />
*ThinkPad {{Z61t}}, {{Z61p}}, {{Z61m}}<br />
<br />
'''UPEK Touchchip TCS4C - USB 147e:1000'''<br />
*ThinkPad {{SL300}}, {{SL400}}, {{SL500}}<br />
<br />
'''UPEK - TouchStrip Fingerprint Sensor - USB 147e:1002'''<br />
*ThinkPad Edge E425<br />
<br />
'''UPEK Touchstrip TCRD4C - USB 147e:2016'''<br />
*ThinkPad {{R61}}, {{R61i}}<br />
*ThinkPad {{Edge 14"}}, {{Edge 15"}}<br />
*ThinkPad {{L412}}, {{L512}}<br />
*ThinkPad {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T510}}, {{T510i}}<br />
*ThinkPad {{W510}}, {{W701}}, {{W701ds}}<br />
*ThinkPad {{X201}}, {{X201i}}, {{X201s}}, {{X201 Tablet}}, {{X220}}, {{X1}}<br />
<br />
'''Authentec AES1610 - USB 08ff:1600'''<br />
*Lenovo V100, V200<br />
<br />
'''Authentec AES2501 - USB 08ff:2580'''<br />
*Lenovo N100, N200<br />
<br />
'''Authentec AES2810 - USB 08ff:2810'''<br />
*ThinkPad {{R400}}, {{R500}}<br />
*ThinkPad {{T400}}, {{T500}}<br />
*ThinkPad {{W500}}, {{W700}}, {{W700ds}}<br />
*ThinkPad {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X301}}<br />
<br />
== Links ==<br />
* [http://www.trustedreviews.com/article.aspx?page=1643&head=36 Review from TrustedReviews of the fingerprint scanner]<br />
* [http://www.upek.com/support/pdf/UPEK_flyer_TCS3_TCD4.pdf TouchStrip TCS3/TCD4 spec sheet]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Integrated_Fingerprint_Reader&diff=53236Integrated Fingerprint Reader2011-12-15T19:17:17Z<p>Bugmenot1: added another device's usb id</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:fingerprintreader.jpg|IBM Integrated Fingerprint Reader]] <br />
<br />
===Integrated Fingerprint Reader===<br />
IBMs second generation of T42 models (released in Autumn 2004) was the first to feature an integrated fingerprint reader. Various models since then have had this feature, actually implemented with a number of different devices, all of which appear on the USB bus. Some are just scanners, others do the recognition in the device itself. <br />
<br />
{|<br />
! USB ID !! Reader !! Software <br />
|-<br />
|0483:2016|| [http://reactivated.net/fprint/wiki/Upekts UPEK/Thomson] || thinkfinger or fprint <br />
|-<br />
|147e:1000|| UPEK TCS4C || unsupported ??<br />
|-<br />
|147e:1002|| UPEK || unsupported ??<br />
|-<br />
|147e:2016|| [http://www.reactivated.net/fprint/wiki/Upeksonly Upeksonly] || [https://bugzilla.redhat.com/show_bug.cgi?id=504399 fprint patches]<br />
|-<br />
|08ff:1600|| [http://reactivated.net/fprint/wiki/Aes1610 Authentec AES1610] || fprint <br />
|-<br />
|08ff:2580 || [http://reactivated.net/fprint/wiki/Aes2501 Authentec AES2501] || fprint <br />
|-<br />
|08ff:2810 || Authentec 2810 || unsupported<br />
|-<br />
|}<br />
<br />
Read more about the various models of reader on the [http://reactivated.net/fprint/wiki/Supported_devices libfprint wiki]<br />
<br />
The UPEK device is supported by thinkfinger. Those devices and Authentec ones are supported by libfprint. <br />
<br />
However: The fingerprint reader is an INSECURE device and gives a false sense of security! There has been quite a bit of research by a hacker named Starbug, a member of the Chaos Computer Club, Berlin, Germany. He outlined in two very good talks how to forge each and every available fingerprint sensor available at the cost of a few euros, using materials from your local hardware store, a digicam and a laser printer! Here's some links:<br />
* [http://www.ccc.de/updates/2007/umsonst-im-supermarkt?language=en Fingerprint recognition in supermarkets]<br />
* [ftp://ftp.ccc.de/pub/documentation/Fingerabdruck_Hack/fingerabdruck.mpg?language=en Video tutorial for forging fingerprints]<br />
Remember, using fingerprints for authentication is much similar to having a password which is written on anything you touch.<br />
<br />
== Software support ==<br />
See [[How to enable the integrated fingerprint reader]].<br />
<br />
==Models featuring this Technology==<br />
'''UPEK Touchstrip (model?) - USB 0483:2016'''<br />
*ThinkPad {{R52}}, {{R60}}<br />
*ThinkPad {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}<br />
*ThinkPad {{X41}}, {{X41 Tablet}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X300}}<br />
*ThinkPad {{Z61t}}, {{Z61p}}, {{Z61m}}<br />
<br />
'''UPEK Touchchip TCS4C - USB 147e:1000'''<br />
*ThinkPad {{SL300}}, {{SL400}}, {{SL500}}<br />
<br />
'''UPEK Touchstrip TCRD4C - USB 147e:2016'''<br />
*ThinkPad {{R61}}, {{R61i}}<br />
*ThinkPad {{Edge 14"}}, {{Edge 15"}}<br />
*ThinkPad {{L412}}, {{L512}}<br />
*ThinkPad {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T510}}, {{T510i}}<br />
*ThinkPad {{W510}}, {{W701}}, {{W701ds}}<br />
*ThinkPad {{X201}}, {{X201i}}, {{X201s}}, {{X201 Tablet}}, {{X220}}, {{X1}}<br />
<br />
'''Authentec AES1610 - USB 08ff:1600'''<br />
*Lenovo V100, V200<br />
<br />
'''Authentec AES2501 - USB 08ff:2580'''<br />
*Lenovo N100, N200<br />
<br />
'''Authentec AES2810 - USB 08ff:2810'''<br />
*ThinkPad {{R400}}, {{R500}}<br />
*ThinkPad {{T400}}, {{T500}}<br />
*ThinkPad {{W500}}, {{W700}}, {{W700ds}}<br />
*ThinkPad {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X301}}<br />
<br />
== Links ==<br />
* [http://www.trustedreviews.com/article.aspx?page=1643&head=36 Review from TrustedReviews of the fingerprint scanner]<br />
* [http://www.upek.com/support/pdf/UPEK_flyer_TCS3_TCD4.pdf TouchStrip TCS3/TCD4 spec sheet]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Integrated_Fingerprint_Reader&diff=52431Integrated Fingerprint Reader2011-07-28T20:34:53Z<p>Bugmenot1: /* Models featuring this Technology */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:fingerprintreader.jpg|IBM Integrated Fingerprint Reader]] __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 />
===Integrated Fingerprint Reader===<br />
IBMs second generation of T42 models (released in Autumn 2004) was the first to feature an integrated fingerprint reader. Various models since then have had this feature, actually implemented with a number of different devices, all of which appear on the USB bus. Some are just scanners, others do the recognition in the device itself. <br />
<br />
{|<br />
! USB ID !! Reader !! Software <br />
|-<br />
|0483:2016|| [http://reactivated.net/fprint/wiki/Upekts UPEK/Thomson] || thinkfinger or fprint <br />
|-<br />
|147e:1000|| UPEK TCS4C || unsupported ??<br />
|-<br />
|147e:2016|| [http://www.reactivated.net/fprint/wiki/Upeksonly Upeksonly] || [https://bugzilla.redhat.com/show_bug.cgi?id=504399 fprint patches]<br />
|-<br />
|08ff:1600|| [http://reactivated.net/fprint/wiki/Aes1610 Authentec AES1610] || fprint <br />
|-<br />
|08ff:2580 || [http://reactivated.net/fprint/wiki/Aes2501 Authentec AES2501] || fprint <br />
|-<br />
|08ff:2810 || Authentec 2810 || unsupported<br />
|-<br />
|}<br />
<br />
Read more about the various models of reader on the [http://reactivated.net/fprint/wiki/Supported_devices libfprint wiki]<br />
<br />
The UPEK device is supported by thinkfinger. Those devices and Authentec ones are supported by libfprint. <br />
<br />
However: The fingerprint reader is an INSECURE device and gives a false sense of security! There has been quite a bit of research by a hacker named Starbug, a member of the Chaos Computer Club, Berlin, Germany. He outlined in two very good talks how to forge each and every available fingerprint sensor available at the cost of a few euros, using materials from your local hardware store, a digicam and a laser printer! Here's some links:<br />
* [http://www.ccc.de/updates/2007/umsonst-im-supermarkt?language=en Fingerprint recognition in supermarkets]<br />
* [ftp://ftp.ccc.de/pub/documentation/Fingerabdruck_Hack/fingerabdruck.mpg?language=en Video tutorial for forging fingerprints]<br />
Remember, using fingerprints for authentication is much similar to having a password which is written on anything you touch.<br />
<br />
==Free Software==<br />
===fprint===<br />
For some time various projects provided support for various readers. That work mostly been unified under the [http://reactivated.net/fprint/wiki/Main_Page fprint] library, and thus libfprint and libpam-fprint (which provides authentication via PAM) are the best way to go, and in the meantime included by default in most Linux distributions. However, it seems that lately this project has stalled, and no support for newer chips has emerged for some time.<br />
===Thinkfinger===<br />
Alternatively, the original Thinkfinger project is at http://thinkfinger.sourceforge.net. It only provides support for the 1st generation reader, and has not been updated since 2007; see the [[How to enable the fingerprint reader with ThinkFinger]] for detailed instructions. It is also in Debian Lenny. This integrates seamlessly with PAM and doesn't produce a tacky graphical prompt.<br />
<br />
{{HINT|If you've followed the instructions and "tf-tool --verify" works, but nothing else does, make sure that the "uinput" module is loaded.}}<br />
<br />
===Fingerprint GUI===<br />
Feb 2011: The following works as smoothly on Ubuntu and T410s: https://launchpad.net/~fingerprint/+archive/fingerprint-gui<br />
<br />
==Binary Only==<br />
A closed source driver for the UPEK device is available. It interfaces to the hardware as a user-space USB driver through {{path|/proc/bus/usb|}} and provides a BioAPI 1.10 device, which can then be interfaced to pam for authentication by user programs. The driver can be downloaded from [http://www.upek.com/support/downloads/linux/ http://www.upek.com/support/downloads/linux/]; see the [[How to enable the fingerprint reader|corresponding HOWTO]] for detailed instructions. It however tends to be less stable than the above opensource drivers.<br />
<br />
<br />
<br />
==Related Links==<br />
* [http://www.trustedreviews.com/article.aspx?page=1643&head=36 Review from TrustedReviews of the fingerprint scanner]<br />
* [http://www.reactivated.net/fprint/wiki/Main_Page fprint project]<br />
* [http://biomark.org.ru/en/ A (Russian) project that provides support for a (different model) of fingerprint scanner] (also a USB device, though)<br />
* [http://www.upek.com/support/pdf/UPEK_flyer_TCS3_TCD4.pdf TouchStrip TCS3/TCD4 spec sheet]<br />
* [http://www.qrivy.net/~michael/blua/ A branch of the BioAPI reference implementation]<br />
* [http://www.pdfserver.net/fingerprint A Gui using the Bioapi driver on thinkpads. Windows like GDM login]<br />
* [http://www.n-view.net/Appliance/fingerprint/ Fingerprint GUI Project. Allows to use the fingerprint scanner for Login (GDM) and authentication in (sudo, su). Seems to work with T410 and Ubuntu 10.04]<br />
<br />
==Models featuring this Technology==<br />
'''UPEK Touchstrip (model?) - USB 0483:2016'''<br />
*ThinkPad {{R52}}, {{R60}}<br />
*ThinkPad {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}, {{T61}}, {{T61p}}<br />
*ThinkPad {{X41}}, {{X41 Tablet}}, {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X300}}<br />
*ThinkPad {{Z61t}}, {{Z61p}}, {{Z61m}}<br />
<br />
'''UPEK Touchchip TCS4C - USB 147e:1000'''<br />
*ThinkPad {{SL300}}, {{SL400}}, {{SL500}}<br />
<br />
'''UPEK Touchstrip TCRD4C - USB 147e:2016'''<br />
*ThinkPad {{R61}}, {{R61i}}<br />
*ThinkPad {{Edge 14"}}, {{Edge 15"}}<br />
*ThinkPad {{L412}}, {{L512}}<br />
*ThinkPad {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}}, {{T510}}, {{T510i}}<br />
*ThinkPad {{W510}}, {{W701}}, {{W701ds}}<br />
*ThinkPad {{X201}}, {{X201i}}, {{X201s}}, {{X201 Tablet}}<br />
<br />
'''Authentec AES1610 - USB 08ff:1600'''<br />
*Lenovo V100, V200<br />
<br />
'''Authentec AES2501 - USB 08ff:2580'''<br />
*Lenovo N100, N200<br />
<br />
'''Authentec AES2810 - USB 08ff:2810'''<br />
*ThinkPad {{R400}}, {{R500}}<br />
*ThinkPad {{T400}}, {{T500}}<br />
*ThinkPad {{W500}}, {{W700}}, {{W700ds}}<br />
*ThinkPad {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X301}}</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Category:Edge_15%22&diff=51567Category:Edge 15"2011-05-14T13:33:55Z<p>Bugmenot1: added 450M and HD5145</p>
<hr />
<div>__NOTOC__<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 />
=== ThinkPad Edge 15" Series ===<br />
This page gives an overview of all ThinkPad Edge 15" Series related topics. The Lenovo overview is at: http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-75228 .<br />
<br />
==== Machine Type====<br />
* 0301, 0302, 0319<br />
<br />
==== Standard Features ====<br />
*One of the following [[Intel Core i3]], [[Intel Core i5]], [[Intel Core i7]], or [[AMD]] processors:<br />
** AMD Athlonâ„¢ II X2 Dual-Core P320 (2.1 GHz), 1-MB L2 cache<br />
** AMD Phenomâ„¢ II X3 Triple-Core P820 (1.8 GHz), 1.5-MB L2 cache<br />
** AMD Turionâ„¢ II X2 Dual-Core P520 (2.3 GHz), 2-MB L2 cache<br />
** AMD Turionâ„¢ II X2 Dual-Core P540 (2.4 GHz), 2-MB L2 cache<br />
** Intel® Celeron® Processor P4500 (1.86 GHz), 2-MB L2 cache<br />
** Intel® Core™ i3-330M Dual Core Processor (2.13 GHz), 3-MB L2 cache<br />
** Intel® Core™ i3-350M Dual Core Processor (2.26 GHz), 3-MB L2 cache<br />
** Intel® Core™ i5-430M Dual Core Processor (2.26 GHz), 3-MB L2 cache<br />
** Intel® Core™ i5-450M Dual Core Processor (2.40 GHz), 3-MB L2 cache<br />
** Intel® Core™ i5-520M Dual Core Processor (2.40 GHz), 3-MB L2 cache<br />
** Intel® Core™ i5-540M Dual Core Processor (2.53 GHz), 3-MB L2 cache<br />
** Intel® Core™ i7-620M Dual Core Processor (2.66 GHz), 4-MB L2 cache<br />
<br />
* One of the following graphics adapters option:<br />
** [[Intel HD Graphics]]<br />
** AMD ATI Mobility Radeon HD 5145 with 512MB<br />
** AMD ATI Mobility Radeon M92-S2 XT with 512MB<br />
* One of the following [[TFT display|TFT displays]]:<br />
** 15.6" Glossy with 1366x768 (HD) resolution and LED backlight<br />
** 15.6" Matt with 1366x768 (HD) resolution and LED backlight<br />
* 2, 3 or 4GB [[PC3-8500]] or [[PC3-10600]] memory standard, upgradable to 4GB according to Lenovo.com. However, some memory vendors claim 8GB is possible.{{footnote|1}}<br />
* One of the following HDD<br />
** 250GB 5400rpm 2.5" SATA HDD<br />
** 320GB 7200rpm 2.5" SATA HDD<br />
** 500GB 7200rpm 2.5" SATA HDD<br />
* [[Realtek Gigabit Ethernet (10/100/1000)]]<br />
* Intel HD Audio with a [[Realtek ALC269Q|ALC269]] codec<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[Intel Centrino Wireless-N 1000]]<br />
** [[Intel Centrino Advanced-N 6200]]<br />
** [[ThinkPad 11b/g/n Wireless LAN Mini-PCI Express Adapter II]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** None<br />
** [[Qualcomm Gobi 2000]] WWAN with GPS<br />
* [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2.1)|Bluetooth]] on select models<br />
* 2.0MP [[Integrated camera]]<br />
* [[UltraNav]] (TrackPoint / Touchpad combo)<br />
* [[ExpressCard slot|ExpressCard/34]]<br />
* [[Active Protection System]]<br />
* [[Integrated Fingerprint Reader]] on select models<br />
* Multicard reader 7-in-1 (MMC, MS, MS Pro, SD, SDHC, XD, XD Type H)<br />
Footnotes<br />
# See crucial.com, http://www.crucial.com/store/listparts.aspx?model=ThinkPad%20Edge-15inch%20%28Intel%20DDR3%29<br />
</div><br />
|style="vertical-align:top" |<br />
[[Image:ThinkPadEdge15.jpg|ThinkPad Edge 15"|300px]]<br />
|}<br />
{{Todo|}} <br />
[[Category:Edge]]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=How_to_reduce_power_consumption&diff=49611How to reduce power consumption2010-09-17T12:59:22Z<p>Bugmenot1: /* Hard Drives */</p>
<hr />
<div>Reducing system power consumption will extend battery life, reduce system<br />
temperature and (on some models) reduce system fan noise.<br />
Power consumption can be greatly improved from a stock distribution configuration<br />
to a fine tuned system. The general rules are :<br />
* Unload drivers for unused devices (ie. USB 1.1, Yenta/PCMCIA, Wireless, IRDA, Bluetooth, ...)<br />
* Reduce polling on devices (drives, USB subsystem, nvram, use SATA AN, ...)<br />
* Reduce hard drive activity<br />
* Reduce LCD brightness to the minimum you can stand<br />
* Reduce CPU wakeups, so it can stay longer in deep power saving c-states<br />
* Make use of every hardware devices availables power saving features (AHCI ALPM, USB autosuspend, Alsa and Wireless powersaving modes, HPET timers, ...)<br />
<br />
==Tools==<br />
Arjan van de Ven's [[PowerTOP]] utility<br />
is a gold mine to improve energy efficiency, but is almost only CPU-oriented. This tool helps to easily detect<br />
the top power offenders, both userland and kernel modules, which prevent the use of CPU power saving mechanisms and sometime suggest <br />
fixes accordingly.<br />
PowerTOP users collected some [http://www.lesswatts.org/projects/powertop/known.php tips & tricks]<br />
and an informative [http://www.lesswatts.org/projects/powertop/faq.php faq].<br />
<br />
Alternatively (or complementary) to PowerTOP, running <code>strace -p $(pidof yourapp)</code> <br />
for all your favorite or background running applications while they are expected to be <br />
idle, will show the misbehaviors.<br />
<br />
Beside CPU wakeups, disks spins are also power hungry. To detect what make your disk spinning,<br />
<br />
<code><br />
sysctl vm.block_dump=1<br />
</code><br />
<br />
will list all applications causing disks wakeups on the kernel's dmesg.<br />
Other useful tools for this purpose are blktrace, iostat and lm-profiler<br />
(from laptop-mode-tools suite).<br />
<br />
See also [[#Misbehaving Userland]].<br />
<br />
==BIOS settings==<br />
===Enabling Power Management===<br />
Some Thinkpad BIOS (like 2.08 BIOS on {{X40}}) offer two very lame options,<br />
with a very misleading online help (saying "Usually not needed"). That's<br />
<br />
<code><br />
CPU power management: (default disabled)<br />
PCI bus power management: (default disabled)<br />
</code><br />
<br />
You should indeed ''enable'' them, else the deepest C3 and C4 ACPI C-states<br />
are disabled.<br />
<br />
===Disabling I/O Ports===<br />
The BIOS (at least version 3.11 on {{X200}}) can also be used to disable I/O ports, like PCMCIA/CardBus. Although this requires a reboot to change settings, using the BIOS rather than a configuration file will survive distribution changes and may make it easier to remember how to re-enable a port. Disabling these devices can reduce power consumption by several watts.<br />
<br />
==CPU==<br />
Look at:<br />
* [[How to make use of Dynamic Frequency Scaling]]<br />
* [[Pentium M undervolting and underclocking]]<br />
<br />
A good thing to keep in mind is that every CPU wakeup, even if it's for<br />
a trivial light job, reduce the time the CPU stays on a deep power<br />
saving C-state (like C3 or C4). Therefore you should ensure your applications<br />
stay really idle when they meant to be idle (track shorts select timeouts<br />
in loop, etc. with [[PowerTOP]]).<br />
<br />
Also note that manually locking the CPU in the lowest P-state (frequency) <br />
available is '''not''' an efficient way to improve battery lifetime. This will<br />
cause the CPU to stay longer in C0 (power hungry C-state) doing hard work when <br />
there is something to do, while it could have done this work faster by augmenting<br />
the CPU freq, and returned back faster to a deeper, economic, C-state and to a<br />
lower frequency (P-state).<br />
The best is to let the kernel select the appropriates CPU frequencies by itself<br />
with the help of in kernel CPU governors.<br />
Have a look at [http://www.bughost.org/pipermail/power/2007-May/000166.html this explanation]<br />
from Intel's kernel developer Arjan van de Ven.<br />
<br />
==Kernel settings and patches==<br />
<br />
===General settings===<br />
The 2.6.21 kernel brought some very effective changes (like [[dynticks]]). <br />
Later, 2.6.24-rc2 brought a lot of other power efficiency improvements. <br />
If it's not already on your distribution and you value power efficiency, <br />
you may think about compiling a recent kernel yourself. <br />
<br />
Here are a few options (beside the ACPI and APM related one) that matter to <br />
reduce power consumption or to help diagnosing consumers:<br />
<br />
<code><br />
# From PowerTOP's FAQ:<br />
CONFIG_NO_HZ<br />
CONFIG_HIGH_RES_TIMERS<br />
CONFIG_HPET<br />
CONFIG_HPET_TIMER<br />
CONFIG_CPU_FREQ_GOV_ONDEMAND<br />
CONFIG_USB_SUSPEND<br />
CONFIG_SND_AC97_POWER_SAVE<br />
CONFIG_SND_HDA_POWER_SAVE<br />
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=3<br />
CONFIG_TIMER_STATS<br />
CONFIG_ACPI_BATTERY<br />
CONFIG_CPU_FREQ_STAT<br />
CONFIG_INOTIFY<br />
<br />
# Not from the PowerTOP FAQ:<br />
CONFIG_BLK_DEV_IO_TRACE<br />
CONFIG_X86_ACPI_CPUFREQ<br />
CONFIG_X86_SPEEDSTEP_CENTRINO depreciated as of kernel 2.6.24, use CONFIG_X86_ACPI_CPUFREQ<br />
CONFIG_X86_SPEEDSTEP_ICH<br />
CONFIG_X86_SPEEDSTEP_SMI<br />
CONFIG_CPU_IDLE<br />
CONFIG_CPU_IDLE_GOV_LADDER<br />
CONFIG_CPU_IDLE_GOV_MENU<br />
</code><br />
<br />
Those options are already in Fedora Core 7 and Ubuntu Gutsy (not Feisty) default i686 kernels.<br />
PowerTOP FAQ also suggest to '''disable'''<br />
CONFIG_IRQBALANCE and CONFIG_ACPI_DEBUG.<br />
<br />
Also, you need to properly set APM and ACPI. Look at:<br />
* [[Power Management]]<br />
* [[How to make use of Power Management features]]<br />
<br />
=== Kernel boot and module loading options ===<br />
If you have an Intel chipset ICH5 or later (cf. lspci output), as in most modern Thinkpads, you should<br />
be using the integrated HPET timer (saves about 30 CPU wake ups per second). To see if<br />
hpet is enabled on your laptop:<br />
<br />
<code><br />
grep hpet /proc/timer_list<br />
</code><br />
<br />
If this does not display "Clock Event Device: hpet", then add <br />
<br />
<code><br />
hpet=force<br />
</code><br />
<br />
{{WARN|The ICH4 does have an HPET, but it is disabled for a good reason: Intel didn't test/validade it! Use of the ICH4 HPET is '''not''' recommended}}<br />
<br />
to your kernel boot options (usualy in /boot/grub/menu.lst or lilo.conf). <br />
Note that "hpet=force" is only available by default in 2.6.24-rc2 and above <br />
(or as a separated patch for 2.6.22 and 2.6.23, see below).<br />
<br />
On modern ThinkPads the HPET timer is automatically detected and enabled. On certain older machines hpet=force is required such as on the following machines:<br />
* {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}<br />
* {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}<br />
<br />
{{HELP|please add your ThinkPad to the above list, if <nowiki>hpet=force</nowiki> was required}}<br />
<br />
===Useful Patches===<br />
<br />
Thomas Gleixner High Resolution Timers (hrt) patchset brings many improvements,<br />
like the cpuidle work and Udo A. Steinberg and Venki Pallipadi "force<br />
enable HPET" patches (non HPET timers causes about 20-40 CPU wakeups/second, but<br />
HPET is often hidden by the BIOS due to Windows XP deficiencies). Those are <br />
fully merged in 2.6.24-rc1 vanilla kernel.<br />
See http://www.tglx.de/projects/hrtimers/<br />
<br />
Kristen Carlson Accardi from Intel has a patchset to turn on "Aggressive<br />
Link Power Management" (ALPM) for the AHCI driver (for SATA bus). Also from<br />
Accardi, SATA Asynchronous Notification (SATA AN), alows SATA link to notify<br />
media insertions (thus avoid hal polling the cdrom). Those patches were merged <br />
in 2.6.24-rc2 kernel (AN needs also support in hal to be used).<br />
See: http://www.kernel.org/pub/linux/kernel/people/kristen/patches/SATA/alpm/<br />
<br />
As of now (2.6.24-rc8), the linux kernel doesn't support PCI Express power <br />
management (aka PCIe ASPM, aka PCIe LPM). Shaohua Li from Intel submited a <br />
patch on LKML (http://lkml.org/lkml/2008/1/17/544 ) though, and reported it <br />
to reduce power consumption by 1.3 watts for a system with three PCIe links.<br />
<br />
The [[HDAPS]] disk protection systems can reduce battery life. <br />
Matthew Garrett provides [http://www.linuxpowertop.org/patches/hdaps.patch a patch]<br />
that prevents hdaps kernel module to generate interrupts when<br />
this feature isn't used.<br />
<br />
===Useful sysctls===<br />
The meaning of those settings is explained case by case on the relevant <br />
sections of this document. But for convenience sake, we group them here too.<br />
<br />
Note that the "ondemand" scaling governor is recommended by Intel developers<br />
for energy efficiency: it's expected to be more efficient than the "powersave"<br />
governor, or than userspace daemons (like cpufreq-utils, cpufreqd, powernowd...).<br />
Look [http://www.bughost.org/pipermail/power/2007-May/000071.html here],<br />
[http://www.bughost.org/pipermail/power/2007-May/000073.html here], or<br />
[http://www.bughost.org/pipermail/power/2007-May/000166.html here] for a<br />
kernel developer explanation about "ondemand" being better on modern Intel CPUs.<br />
<br />
The "link_power_management_policy" tunable won't be available unless you<br />
run a 2.6.24-rc2 or more kernel, or applied Kirsten patchset, have an Intel <br />
AHCI compatible chipset, and use SATA drives.<br />
<br />
<code><br />
echo 5 > /proc/sys/vm/laptop_mode<br />
echo 0 > /proc/sys/kernel/nmi_watchdog<br />
echo Y > /sys/module/snd_ac97_codec/parameters/power_save<br />
echo 1 > /sys/devices/system/cpu/sched_mc_power_savings<br />
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done<br />
# those sysctl's are only available if you have an AHCI compatible SATA <br />
# controler and use kernel > 2.6.24-rc2 (or use Kristen ALPM patchset) : <br />
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy<br />
echo min_power > /sys/class/scsi_host/host1/link_power_management_policy<br />
</code><br />
<br />
If you're running a kernel older than 2.6.22 do this. Not needed for kernels 2.6.22 onward:<br />
<br />
<code><br />
cd /sys/devices/system/cpu/cpu0/cpufreq<br />
cat ondemand/sampling_rate_max > ondemand/sampling_rate<br />
</code><br />
<br />
==ATA drives==<br />
Hard drives and CDRom drives spinning is very costly. To improve battery<br />
lifetime, you should reduce disks access (or devices polling) the more you<br />
can. <br />
<br />
===Hard Drives===<br />
<br />
The files access time update, while mandated by POSIX, is causing lots of<br />
disk write access; even accessing files on disk cache may wake the ATA or USB<br />
bus. If you don't use this feature, disable it by adding the <tt>relatime</tt><br />
option to all relevant lines in the /etc/fstab, for example:<br />
/dev/sda1 / ext3 relatime,errors=remount-ro 0 1<br />
<br />
(On older kernels you may need to use <tt>noatime</tt> instead of <tt>relatime</tt>.)<br />
<br />
Also consider merely using a larger value for the <tt>commit</tt> option. This defines how often changed data is written to the disk (it is cached until then). The default value is 5 seconds.<br />
<br />
See man mount(8) for details on how the <tt>rel/noatime</tt> and <tt>commit</tt> options work.<br />
<br />
Use laptop_mode to reduce disk usage by delaying and grouping writes. You should enable<br />
it, at least while on battery. See [[Laptop-mode]] for more details:<br />
<br />
<code><br />
echo 5 > /proc/sys/vm/laptop_mode<br />
</code><br />
<br />
The default kernel dirty page writeback frequency is very conservative. On<br />
a laptop running on battery, one might find more appropriate to reduce it:<br />
<br />
<code><br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
</code><br />
<br />
Some power saving hard drives features can be activated with hdparm (beware<br />
that "-B 1" may reduce your drive lifetime, if you have lot of intermittent<br />
disk activity causing lots of heads load/unloads: so reduce I/O activity first,<br />
as explained above, in order to get longer disks idling periods).<br />
For more details look at [[How to make use of Power Management features]] :<br />
<br />
<code> <br />
hdparm -B 1 -S 12 /dev/sda # and/or any other disk device<br />
</code><br />
<br />
====SATA Link Power Management====<br />
On kernels 2.6.24 and new this enables SATA Link Power Management:<br />
<code><br />
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy<br />
echo min_power > /sys/class/scsi_host/host1/link_power_management_policy<br />
</code><br />
<br />
Disable it by replacing <code>min_power</code> with <code>max_performance</code>.<br />
<br />
On Ubuntu Hardy Heron with a 2.6.24-16 kernel, a suspend/resume cycle is much quicker if you disable SATA Link Power Management before initiating the suspend. As of Intrepid Ibex and kernel 2.6.27, this should be fixed. ([https://bugs.launchpad.net/linux/+bug/234047 Launchpad bug 234047], [http://bugzilla.kernel.org/show_bug.cgi?id=10817 Kernel bug 10817])<br />
<br />
====Laptop Mode Tools====<br />
<br />
The [http://samwel.tk/laptop_mode/ Laptop Mode Tools] utility implements many of the above power-saving measures from disks, and some others.<br />
<br />
===Optical drive===<br />
The optical drive is reported to consume power even when not accessed. See <br />
<br />
* [[How to hotswap UltraBay devices|Eject the UltraBay optical drive]], or just turn off its power supply (i.e., run the appropriate eject script but leave the drive inserted).<br />
* [[How to set optical drive speed|Reduce the spinning speed of the optical drive]].<br />
<br />
The hald daemon polling tends to maintain the ATA buses out of power saving<br />
modes, and to wakeup CDROM drive (except if you have a kernel >= 2.6.24, hal >= 0.5.10,<br />
and SATA AN compatible devices). If you have a recent hald version, you<br />
can stop this polling when on battery:<br />
<br />
<code><br />
hal-disable-polling --device /dev/scd0 # or whatever your CD drive is<br />
</code><br />
<br />
start polling again when on ac:<br />
<code><br />
hal-disable-polling --enable-polling --device /dev/scd0 # or whatever your CD drive is<br />
</code><br />
<br />
<br />
If your hald is not recent enough, consider suspending it when running on battery. Some moderns SATA buses and drivers supports a notification mechanism (SATA AN - Asynchronous Events Notifications) that obsolete the need for polling on modern hardware; support for this feature had been merged in Linux 2.6.24-rc1 and HAL 0.5.10.<br />
<br />
==LCD Backlight/Brightness==<br />
The LCD backlight is one of the very major power drain. <br />
Reducing brightness to the lowest readable<br />
level will save a lot of battery lifetime. Also, don't forget to configure<br />
your screen saver to shutdown the screen backlight (rather than displaying some<br />
eye candy), when no activity for a few minutes.<br />
<br />
You can also let the system [[automatically reduce brightness]] after a <br />
period of inactivity.<br />
<br />
If you're choosing your Thinkpad laptop model, keep in mind that the screen<br />
size affect the battery time greatly: more power needed for larger screens.<br />
<br />
The very recent, but xorg standard way to control backlight from CLI is<br />
using xbacklight. ie. to set backlight at half the brightness:<br />
<br />
<code><br />
xbacklight -set 50<br />
</code><br />
<br />
You should configure the DPMS to shutdown the screen when idle (rather than<br />
displaying a fancy but power consuming screensaver). ie. to turn off the<br />
display after 5 minutes of idling:<br />
<br />
<code><br />
xset +dpms<br />
xset dpms 0 0 300<br />
</code><br />
<br />
==Graphic controllers==<br />
All xorg Thinkpad graphics chipsets drivers (ati, radeon, fglrx, i810) have<br />
the same bug causing very frequent CPU wakeups when DRI is activated, even<br />
when you don't use any 3D application.<br />
This problem is partly fixed on xorg git tree but not released as of xorg<br />
7.2. If you value more battery than 3D, you should disable DRI: put this on<br />
the /etc/X11/xorg.conf "Device" of you graphic controller:<br />
<br />
<code><br />
Option "NoDRI"<br />
</code><br />
<br />
Also be sure that DPMS is working: <code>grep DPMS /var/log/Xorg.0.log</code><br />
should output "DPMS enabled". If not, put <code>Option "DPMS"</code> in your config.<br />
See the section above about how to enable dpms driven display power saving.<br />
<br />
On recent xrandr/xorg versions, you can disable the TV output (or any other detected<br />
as connected but not used outputs) when you're not using it: it's known to consume power. <br />
<br />
<code> <br />
xrandr # see all displays listed here, but that you don't actually use and disable them. <br />
xrandr --output TV --off # for instance (if "xrandr" above listed a connected output named "TV" that you don't use)<br />
</code><br />
<br />
When you don't have an external monitor plugged, disable CRT and DVI output <br />
(for some, this can make a difference in power usage) : <br />
<code> <br />
echo crt_disable > /proc/acpi/ibm/video<br />
echo dvi_disable > /proc/acpi/ibm/video<br />
</code> <br />
<br />
Some drivers have specials power saving mode, and/or allows underclocking the GPU. See also:<br />
* [[How to make use of Graphics Chips Power Management features]], or with [[Rovclock]] on ATI.<br />
* [[Problem with high power drain in ACPI sleep]]<br />
<br />
==USB Subsystem==<br />
The kernel support an efficient USB 2.0 power saving feature if you enabled<br />
CONFIG_USB_SUSPEND. This may not trigger in when you have an USB device<br />
plugged (and beside, USB devices tends to suck power on their own), so avoid<br />
using such devices when on battery. To enable it by default, you must add the line <br />
<code><br />
options usbcore autosuspend=1<br />
</code><br />
to your <tt>/etc/modprobe.conf</tt> or add it to (and create if necessary) the file <tt>/etc/modprobe.d/usbcore</tt> depending on how your distribution organises modprobe configuration. <br />
<br />
If on the other hand, you have <tt>usbcore</tt> built into your kernel, you can add this in the kernel boot options (ie. in grub's menu.lst):<br />
<br />
<code><br />
usbcore.autosuspend=1<br />
</code><br />
<br />
or at runtime, per device, with:<br />
<br />
<code><br />
for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done <br />
for i in /sys/bus/usb/devices/*/power/level; do echo auto > $i; done<br />
</code><br />
<br />
USB 1.1 is worst. It needs polling the bus frequently, hence can't really go<br />
in a low power mode when you enabled it, even if you don't have any device<br />
plugged. You'd better remove it when you don't use a 1.1 device:<br />
<br />
<code><br />
rmmod uhci_hcd<br />
</code><br />
<br />
If you don't intend to use any device needing USB 1.1 (unfortunately, the built-in bluetooth and fingerprint-reader are USB 1.1 devices), the USB 1.1 support can also be totally avoided. On Debian and derivatives, just do:<br />
<br />
<code><br />
echo "blacklist uhci_hcd" >> /etc/modprobe.d/blacklist<br />
</code><br />
<br />
==PCMCIA/CardBus==<br />
Same for PCMCIA/CardBus. Some users experiences interrupts clouds (sometime up to <br />
several thousands interrupts/second) causing CPU wakeups, thus totally preventing <br />
the CPU to reach lower C-states. <br />
If you don't use PCMCIA, you may disable it the same way (unloading seems insufficient<br />
to restore the system properly, you have to boot without it):<br />
<br />
<code><br />
echo "blacklist pcmcia" >> /etc/modprobe.d/blacklist<br />
echo "blacklist yenta_socket" >> /etc/modprobe.d/blacklist<br />
</code><br />
<br />
==Sound==<br />
<br />
ALSA has a power saving feature that should be enabled on your kernel<br />
(CONFIG_SND_AC97_POWER_SAVE). Note that this low power mode won't trigger in<br />
unless you muted all sound inputs (micro, line in etc.). This feature has<br />
to be activated with:<br />
<br />
<code><br />
amixer set Line mute nocap<br />
amixer set Mic mute nocap<br />
echo Y > /sys/module/snd_ac97_codec/parameters/power_save<br />
</code><br />
<br />
<br />
===Intel HD Audio===<br />
<br />
If you have Intel HD audio as your onboard sound controller, substitute the following for the last line in the above sequence:<br />
<br />
<code><br />
echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller<br />
</code><br />
<br />
You also may wish to decrease the sound poweroff timeout to something shorter, like 1 second after last playback:<br />
<br />
<code><br />
echo 1 > /sys/module/snd_hda_intel/parameters/power_save<br />
</code><br />
<br />
===Additional Tweaks===<br />
<br />
You can unload all sound related modules when you are on <br />
battery, or mute the sound system (echo mute > /proc/acpi/ibm/volume).<br />
<br />
See also [[How to enable audio codec power saving]].<br />
<br />
==Wireless Interface==<br />
===intel wireless===<br />
Wireless network consume a lot of power.<br />
To save power, you can kill the Wi-Fi radio when it's not in use:<br />
<br />
<code><br />
echo 1 > /sys/bus/pci/devices/*/rf_kill<br />
</code><br />
<br />
If you need Wi-Fi, you can also reduce power consumption (at the price of<br />
performances) by activating the power saving modes:<br />
<br />
<code><br />
iwpriv eth1 set_power 5<br />
</code><br />
<br />
For drivers using the new Wi-Fi kernel framework (mac80211/cfg80211), <br />
the canonical way to do this is now:<br />
<br />
<code><br />
for i in /sys/bus/pci/devices/*/power_level ; do echo 5 > $i ; done<br />
</code><br />
<br />
Most drivers, like ipw2200, that don't use the new mac80211 framework place the<br />
interfaces in aggressive scanning mode when they are not associated with any <br />
Access Point, even when the interface is down (more info about this on Intel's<br />
[http://www.lesswatts.org/tips/wireless.php LessWatts] website).<br />
This behavior consumes a lot of power, even more than when the interface<br />
is plain active and in use. But this can disabled at module's load time :<br />
<br />
<code><br />
rmmod ipw2200<br />
modprobe ipw2200 associate=0<br />
</code><br />
<br />
You can fix this setting by placing the following in /etc/modprobe.d/options <br />
(Debian/Ubuntu) or in /etc/modprobe.conf (Red Hat/Fedora):<br />
<br />
<code><br />
options ipw2200 associate=0<br />
</code><br />
<br />
Reducing beacon intervals on your Access Point to 1 per second will also<br />
reduce network card interrupts, therefore power savings. This shouldn't have<br />
negatives side effects.<br />
<br />
See also, to activate power saving on the wireless network card:<br />
* For [[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] and [[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]], see instructions for the [[ipw2200]] driver.<br />
* For [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter]], see the [http://ipw3945.sourceforge.net/README.ipw3945 ipw3945 driver README]<br />
<br />
==Ethernet Controler==<br />
If you don't use Wake-on-LAN, you should disable it for your network card,<br />
because it sucks a lot of power:<br />
<br />
<code><br />
ethtool -s eth0 wol d<br />
</code><br />
<br />
If you can, try to reduce useless network activity on your ethernet<br />
segment, coming to your NIC (ie. uneeded broadcasts), those cause <br />
interrupts and CPU wakeups.<br />
<br />
Forcing 100Mbps full-duplex speed on a gigabit ethernet NIC can also save a lot of power (~1W) on most network workloads. This also reduces components temperature (e.g., [[Thermal Sensors|thermal sensor]] 0xC0 on the {{T43}} cools down by 5 degree between 1000Mbps and 100Mbps, and another 1 degree for 10Mbps).<br />
<br />
<code><br />
ethtool -s eth0 autoneg off speed 100<br />
</code><br />
<br />
Note, however, that if the network device on the other side has auto-negotiation enabled (which is very common) and you turn auto-negotiation off, the other side will assume half-duplex mode and you will experience a significant loss of performance.<br />
<br />
==Bluetooth==<br />
When you don't need bluetooth, disable it. Because of its radio, <br />
bluetooth is not power friendly.<br />
<br />
<code><br />
hciconfig hci0 down ; rmmod hci_usb<br />
echo disable > /proc/acpi/ibm/bluetooth<br />
</code><br />
<br />
==Modem==<br />
When was the last time you used your analog modem? If you can't remember, you probably just don't need it. If it is on a separate module in your laptop, simply remove it. Store it in a ESD safe place (like the bag in which your last addon card or hard drive was packed), in case you should need it again. This won't save you a lot of power and weight, but why carry something around you never use.<br />
<br />
==System Fans==<br />
Fans consumes power when running, so you may look at the [[ACPI fan control script]].<br />
<br />
==Misbehaving Userland==<br />
You should avoid using Beagle, Compiz, Beryl, XMMS, gnome-power-manager<br />
and Evolution while on battery.<br />
Look at the PowerTOP's [http://www.linuxpowertop.org/known.php known problems]<br />
list.<br />
<br />
Deactivate desktop animations (blinking cursor on the terms, animated wallpapers, ...): they cause regular X (therefore kernel and CPU) wakeups.<br />
<br />
In short, while on battery, you should stop all applications that don't really stay idle when you're not using them. This means applications that:<br />
* Wakes up the CPU too often (by polling something, because of too short select() timeouts, ...)<br />
* Access the disks at regular intervals<br />
* Access an hardware bus (USB, ATA, ...) at regular intervals<br />
To find those offenders run:<br />
* <code>strace -p $(pidof yourapp)</code> # for all your running applications<br />
* <code>powertop</code><br />
* <code>dstat -t -c --power --top-cpu --top-io --top-bio --top-latency --top-cputime</code><br />
* <code>sysctl vm.block_dump=1</code> # and look at dmesg<br />
* <code>ps aux | awk '{print$10,$11}' | sort -n</code> # will list all running softs sorted by used cpu time<br />
Please, don't forget to fill a bug when you find such a misbehaving software.<br />
{{NOTE|Not all software is evil, buggy or badly written. Some produce regular activity because they have to, in order to provide their intented functionality. Think twice before filling bugs about this.}}<br />
<br />
==See Also==<br />
* [[How to measure power consumption]]<br />
* [[Script for monitoring power consumption]]<br />
* Battery [[maintenance]]<br />
<br />
==External resources==<br />
* [http://www.free-it.de/archiv/talks_2005/paper-11017/paper-11017.html ''Current trends in Linux Kernel Power Management''], Dominik Brodowski, 2005<br />
* [http://www.linuxpowertop.org PowerTOP] website<br />
* [http://www.gentoo.org/doc/en/power-management-guide.xml Power Management Guide] from the Gentoo Linux documentation<br />
* [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030478.html When/where/what for low power consumption?] (thread on Linux-Thinkpad)<br />
* Intel's [http://www.lesswatts.org/ LessWatts] "''Saving power on Linux''" website<br />
* ''8 hours of battery life on your lap(top)'' ([http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.odp ODP]/[http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.pdf PDF]), a presentation by Pavel Machek<br />
<br />
<br />
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:A30]] [[Category:A30p]] [[Category:A31]] [[Category:A31p]] [[Category:i1200]] [[Category:i1300]] [[Category:i1620]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:R60]] [[Category:R60e]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:T61]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:X61]] [[Category:X61s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Z61t]] [[Category:Z61e]] [[Category:TransNote]]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=How_to_enable_the_integrated_fingerprint_reader_with_ThinkFinger&diff=49607How to enable the integrated fingerprint reader with ThinkFinger2010-09-16T23:03:45Z<p>Bugmenot1: dead</p>
<hr />
<div>[[How to enable the fingerprint reader]] has a good explanation for using the fingerprint reader with the closed-source binary driver. But there is also an opensource project called [http://thinkfinger.sourceforge.net ThinkFinger] which does the same, but open.<br />
<br />
However: The fingerprint reader is an INSECURE device and gives a false sense of security! There has been quite a bit of research by a hacker named Starbug, a member of the Chaos Computer Club, Berlin, Germany. He outlined in two very good talks how to forge each and every available fingerprint sensor available at the cost of a few euros, using materials from your local hardware store, a digicam and a laser printer! Here's some links:<br />
* [http://www.ccc.de/updates/2007/umsonst-im-supermarkt?language=en Fingerprint recognition in supermarkets]<br />
* [ftp://ftp.ccc.de/pub/documentation/Fingerabdruck_Hack/fingerabdruck.mpg Video tutorial for forging fingerprints]<br />
<br />
<br />
'''NB:''' Thinkfinger is dead since two years. It was [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=546005 removed from debian] because of this.<br />
<br />
<br />
== Installing ==<br />
=== From source ===<br />
<br />
Download thinkfinger-0.3.tar.gz from the [http://thinkfinger.sourceforge.net/ homepage] and unpack it somewhere, make sure you have the gcc compiler, libtool, pkg-config, libusb-dev and libpam0g-dev installed, then:<br />
<br />
{{cmduser|cd thinkfinger-0.3}}<br />
<br />
<code style="white-space:nowrap;color:#495988;background-color:white;"><nowiki>$</nowiki> ./configure --prefix=/usr --sysconfdir=/etc --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger</code><br />
<br />
{{cmduser|make}}<br />
<br />
{{cmdroot|make install}}<br />
<br />
{{NOTE|/lib/security is the directory, where PAM assumes its modules on Debian and openSUSE, it may vary for your distro!}}<br />
<br />
"make install" doesn't create the birdir we specified (where thinkfinger will store users' biometric info), so create it:<br />
<br />
{{cmdroot|mkdir /etc/pam_thinkfinger}}<br />
<br />
If everything went OK assert that you find pam_thinkfinger.so in /lib/security typing:<br />
<br />
{{cmduser|ls /lib/security}}<br />
<br />
=== From package ===<br />
<br />
==== Debian ====<br />
[http://packages.debian.org/source/experimental/thinkfinger Packages] arrived in Debian experimental on Aug 2nd, 2007 (cf. [http://bugs.debian.org/409563 bug #409563]). To access the experimental packages via apt, add the following lines to your sources.list:<br />
<pre><br />
# experimental<br />
deb ftp://mirrors.kernel.org/debian/ experimental main contrib non-free<br />
deb-src ftp://mirrors.kernel.org/debian/ experimental main contrib non-free<br />
</pre><br />
where of course you may replace mirrors.kernel.org with your mirror of choice. Just make sure that it hosts the experimental repositories.<br />
<br />
{{cmdroot|aptitude update}}<br />
<br />
{{cmdroot|aptitude install libthinkfinger0 libpam-thinkfinger thinkfinger-tools}}<br />
<br />
should then get you up and running.<br />
<br />
To make everything work you'll have to have permission to work the device ({{cmduser|sudo adduser myself plugdev}} worked for me), and you'll also have to follow instructions below about adding the device to your PAM methods.<br />
<br />
==== Ubuntu ====<br />
<br />
===== Gutsy =====<br />
<br />
From https://wiki.ubuntu.com/ThinkFinger<br />
<br />
Add PPA repositories to your sources.list:<br />
<pre><br />
deb http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse<br />
deb-src http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse<br />
</pre><br />
<br />
Install necessary packages:<br />
<br />
{{cmduser|sudo apt-get install thinkfinger-tools libpam-thinkfinger}}<br />
<br />
===== Hardy =====<br />
<br />
Hardy includes the latest thinkfinger and it is up to date with subversion. Install packages:<br />
<br />
{{cmduser|sudo apt-get install thinkfinger-tools libpam-thinkfinger}}<br />
<br />
Update the pam configuration files:<br />
<br />
{{cmduser|sudo /usr/lib/pam-thinkfinger/pam-thinkfinger-enable}}<br />
<br />
Enroll your fingerprint (creates $HOME/.thinkfinger.bir). If this gives an error about claiming the USB device then a reboot was claimed to work, but in fact it may just be a permissions problem. {{NOTE|Do not try to enroll using 'sudo' - it will cause hidden permission problems}}<br />
<br />
{{cmduser|tf-tool --acquire}}<br />
<br />
Check fingerprint enrollment<br />
<br />
{{cmduser|tf-tool --verify}}<br />
<br />
You can expect everything to work correctly. Note that you still have to enter your username if prompted but will be able<br />
to swipe your finger instead of the password. The prompt will usually be "Password or swipe finger"<br />
<br />
* Graphical login<br />
* Text console login<br />
* sudo<br />
* screen lock/screen saver<br />
* Administrative password prompt (eg for update or package managers). (Note no "or swipe finger" in prompt).<br />
<br />
===== Intrepid =====<br />
After installing from the normal repositories coming with Ubuntu 8.10, you would have to press enter after sweeping finger. (This bug: [https://bugs.launchpad.net/ubuntu/+source/thinkfinger/+bug/256429 https://bugs.launchpad.net/ubuntu/+source/thinkfinger/+bug/256429])<br />
Therefore Jon Oberheide made an update that can be found here: <br />
[https://launchpad.net/~jon-oberheide/+archive https://launchpad.net/~jon-oberheide/+archive]<br />
(As of 2/3/09, this no longer seems to be the case. Just proceed to the install step.)<br />
<br />
Add the PPA repositories to your source.list (/etc/apt/source.list):<br />
<pre><br />
deb http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main<br />
deb-src http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main<br />
</pre><br />
<br />
Update installer:<br />
<br />
{{cmduser|sudo apt-get update}}<br />
<br />
And install:<br />
<br />
{{cmduser|sudo apt-get install thinkfinger-tools}}<br />
<br />
===== Jaunty =====<br />
<br />
The same package by Jon Oberheide is necessary, as with Intrepid, though the package thinkfinger-tools is installed by default.<br />
<br />
Add key:<br />
<br />
{{cmduser|sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F2A12FABE936A7BBDC4EA33351DB180D1323E149}}<br />
<br />
Add the PPA repositories to your source.list (/etc/apt/source.list):<br />
<br />
<pre><br />
deb http://ppa.launchpad.net/jon-oberheide/ppa/ubuntu jaunty main<br />
deb-src http://ppa.launchpad.net/jon-oberheide/ppa/ubuntu jaunty main<br />
</pre><br />
<br />
Update installer:<br />
<br />
{{cmduser|sudo apt-get update}}<br />
<br />
And install:<br />
<br />
{{cmduser|sudo apt-get install thinkfinger-tools libpam-thinkfinger}}<br />
<br />
===== Karmic =====<br />
<br />
The syntax of udev rules is changed due to Karmic's new udev package. The correct rules should be:<br />
<br />
<pre><br />
# SGS Thomson Microelectronics Fingerprint Reader<br />
ENV{ID_VENDOR_ID}=="0483", ENV{ID_MODEL_ID}=="2016", SYMLINK+="input/thinkfinger-%k", MODE="0660", GROUP="fingerprint", ENV{GENERATED}="1"<br />
<br />
# the also-needed uinput device<br />
KERNEL=="uinput", MODE="0660", GROUP="fingerprint"<br />
</pre><br />
<br />
Otherwise udev would accidentally change the ownership of /dev/null so that gdm would fail to start.<br />
<br />
===== Lucid =====<br />
<br />
From a working Karmic, upgrade to Lucid gave me a somewhat broken thinkfinger.<br />
<br />
The scanner still works, but (in X windows) you need to hit "Enter" after doing a scan.<br />
The scanner works fine while in terminal mode.<br />
<br />
This is almost definitely because of the xorg version, see this message with no response for more info:<br />
http://article.gmane.org/gmane.linux.drivers.thinkfinger/567<br />
<br />
{{HINT|There is a PPA with working ThinkFinger for Lucid. At least it works fine on my Z61m. [http://www.thinkwiki.org/wiki/Installing_Ubuntu_10.04_(Lucid_Lynx)_on_a_ThinkPad_Z61m#Setup_Fingerprint_Reader See here] }}<br />
<br />
{{HINT|ThinkFinger can be installed through Ubuntu Software Centre/Synaptic Package Manager/Terminal without special repositories enabled in Lucid. Search "ThinkFinger and install thinkfinger-tools (Synaptic/Software Centre), or type "sudo apt-get install thinkfinger-tools" (Terminal). }}<br />
<br />
==== Fedora/Fedora Core ====<br />
{{cmdroot|yum install thinkfinger}}<br />
<br />
==== Gentoo ====<br />
{{cmdroot|emerge sys-auth/thinkfinger}}<br />
<br />
==== OpenSUSE ====<br />
openSUSE 10.2 includes the package "libthinkfinger" (version 0.1-7) - you will find newer packages [http://beta1.suse.com/private/thoenig/10.2/thinkfinger/ here].<br />
<br />
== Testing the driver ==<br />
<br />
Now the driver is installed and should be working. You can try it (as root) with<br />
<br />
{{cmdroot|tf-tool --acquire}}<br />
<br />
and<br />
<br />
{{cmdroot|tf-tool --verify}}<br />
<br />
This will ask you to swipe your finger three times, save the fingerprint to /tmp/test.bir and then verify your fingerprint with the bir-file.<br />
<br />
<br />
<br />
== Configuring PAM to use ThinkFinger ==<br />
Now you can configure PAM to use ThinkFinger:<br />
<br />
Open {{path|/etc/pam.d/common-auth}} (In FC6, F7, and Gentoo, this file is {{path|/etc/pam.d/system-auth}}):<br />
<br />
{{cmdroot|nano -w /etc/pam.d/common-auth}}<br />
<br />
Add this line before any pam_unix or pam_unix2 directives:<br />
auth sufficient pam_thinkfinger.so<br />
<br />
If your PAM uses the pam_unix and not the pam_unix2 module, you need to pass a specific argument in<br />
the /etc/pam.d/common-auth directive to make it consider the password entered at the pam_thinkfinger prompt.<br />
auth required pam_unix.so try_first_pass<br />
<br />
For instance, {{path|/etc/pam.d/common-auth}} looks like this:<br />
auth sufficient pam_thinkfinger.so<br />
auth required pam_unix.so nullok_secure try_first_pass<br />
<br />
On openSUSE 10.2, it looks like this now:<br />
auth required pam_env.so<br />
auth sufficient pam_thinkfinger.so<br />
auth required pam_unix2.so<br />
<br />
On Ubuntu 8.10 - Intrepid Ibex you should just add the following line the the /etc/pam.d/common-auth file so it looks like this:<br />
<pre><br />
....<br />
# here are the per-package modules (the "Primary" block)<br />
auth sufficient pam_thinkfinger.so<br />
auth [success=1 default=ignore] pam_unix.so try_first_pass nullok_secure<br />
# here's the fallback if no module succeeds<br />
....<br />
</pre><br />
<br />
On Ubuntu 9.04, you don't need to edit manually, just type:<br />
<br />
{{cmdroot|sudo /usr/lib/pam-thinkfinger/pam-thinkfinger-enable}}<br />
<br />
<br />
Now we are ready to add users to thinkfinger. You can add a fingerprint for a user with:<br />
<br />
{{cmdroot|tf-tool --acquire $USERNAME}}<br />
<br />
{{NOTE|This may not work for you. Please read the Intrepid Ibex point in the discussion to this page.}}<br />
<br />
Now the user should be able to login with his finger instead of the password.<br />
<br />
If you would like to use thinkfinger for su, you have to enroll the fingerprint for root user with:<br />
<br />
{{cmdroot|tf-tool --acquire root}}<br />
<br />
{{NOTE|You should see the "Password or swipe finger:" prompt when trying to sudo or su. If you don't, you probably do not have the "User level driver support" compiled into your kernel or the "uinput" module loaded!}}<br />
<br />
== xscreensaver/gnome-screensaver ==<br />
{{NOTE|In Fedora 7, the package has been modified in such a way as to make doing this unnecessary.}}<br />
<br />
If you'd like to be able to unlock your screen using the fingerprint reader, you must have current versions of xscreesaver (>~5.03) or gnome-screensaver (>~2.18.2). Then you must give yourself access to the fingerprint reader and your bir-file, because unlike login/gdm/su/sudo, both gnome-screensaver and xscreensaver do not run as root. The following procedure will make the fingerprint reader accessible to members of the "fingerprint" group.<br />
<br />
Make the group: {{cmdroot|groupadd fingerprint}}<br />
<br />
Save the following as {{path|/etc/udev/rules.d/60-thinkfinger.rules}} and run {{cmdroot|sudo /sbin/udevtrigger}}. If you are using a Debian-based distribution, it is likely you are affected by the following [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=489831 bug] where you need to replace {{path|udevtrigger}} with {{path|udevadm trigger}} (with the space!) in order for the following to work. You may need to reboot for this to take effect.<br />
#<br />
# udev rules file for the thinkfinger fingerprint scanner<br />
# <br />
# gives access to the fingerprint reader to those in the "fingerprint" group<br />
#<br />
# Taken from:<br />
# http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger<br />
# which was taken and modified from:<br />
# http://article.gmane.org/gmane.linux.drivers.thinkfinger/329<br />
#<br />
<br />
# SGS Thomson Microelectronics Fingerprint Reader<br />
SYSFS{idVendor}=="0483", SYSFS{idProduct}=="2016", SYMLINK+="input/thinkfinger-%k", MODE="0660", GROUP="fingerprint"<br />
<br />
# the also-needed uinput device<br />
KERNEL=="uinput", MODE="0660", GROUP="fingerprint"<br />
<br />
<br />
Finally, add the following lines at the end of {{path|/etc/pam.d/gnome-screensaver}}:<br />
auth sufficient pam_thinkfinger.so<br />
auth required pam_unix.so try_first_pass nullok_secure<br />
<br />
<br />
Per user:<br />
<br />
# Add him to the group: {{cmdroot|gpasswd -a $USERNAME fingerprint}}<br />
{{NOTE|The following steps do not need to be done in Ubuntu Intrepid as the bir files are handled differently.}}<br />
# Make him owner of his bir-file: {{cmdroot|chown $USERNAME:root /etc/pam_thinkfinger/$USERNAME.bir}}<br />
# Give him read-only access to his bir-file: {{cmdroot|chmod 400 /etc/pam_thinkfinger/$USERNAME.bir}}<br />
# Give "execute only" access to everyone for the /etc/pam_thinkfinger/ directory: {{cmdroot|chmod o+x /etc/pam_thinkfinger}} (WARNING: this opens up security a little).<br />
<br />
== GNOME ==<br />
<br />
{{NOTE|1=This problem should be solved if you're using sudo >= 1.6.9p9. Links: [http://savannah.nongnu.org/bugs/?19132], [http://www.sudo.ws/bugs/show_bug.cgi?id=180], [https://bugs.launchpad.net/ubuntu/+source/gksu/+bug/86843]}}<br />
<br />
<br />
gksu/gksudo doesn't work correctly. It just stays invisible. When starting a su privileged application such as synaptics you will not get prompted for the password. Nevertheless you can swipe your finger and it should authenticate you. Starting synaptics twice makes gksudo visible.<br />
<br />
There are two possibilities to solve it:<br />
* Changing the string "Password or swipe finger:" to a plain "Password:" (like sudo normally would do) in the file pam/pam_thinkfinger.c of the thinkfinger source directory. Of course, in the console you will then only see a "Password:" instead of "Password or swipe finger:" but this is still more usefull than having gksu/gksudo crashing everytime.<br />
* Patching libgksu with the following patch. This is also a nasty hack until a better solution is implemented.<br />
<pre><br />
--- libgksu-2.0.3/libgksu/libgksu.c.orig 2007-06-17 16:00:24.000000000 +0200<br />
+++ libgksu-2.0.3/libgksu/libgksu.c 2007-06-17 16:00:47.000000000 +0200<br />
@@ -2663,7 +2663,7 @@<br />
*/<br />
for (counter = 0; counter < 50; counter++)<br />
{<br />
- if (strncmp (buffer, "GNOME_SUDO_PASS", 15) == 0)<br />
+ if (strncmp (buffer, "GNOME_SUDO_PASS", 15) == 0 || strncmp (buffer, "Password or swi", 15) == 0)<br />
break;<br />
<br />
read_line (parent_pipe[0], buffer, 256);<br />
@@ -2675,7 +2675,7 @@<br />
if (context->debug)<br />
fprintf (stderr, "brute force GNOME_SUDO_PASS ended...\n");<br />
<br />
- if (strncmp(buffer, "GNOME_SUDO_PASS", 15) == 0)<br />
+ if (strncmp(buffer, "GNOME_SUDO_PASS", 15) == 0 || strncmp(buffer, "Password or swi", 15) == 0)<br />
{<br />
gchar *password = NULL;<br />
gboolean prompt_grab;<br />
</pre><br />
<br />
== KDE ==<br />
<br />
Integration in KDE and kdm seems not to be easily possible now. There is a filed [https://bugs.kde.org/show_bug.cgi?id=116682 bug] at kde.org where you can vote for this.<br />
<br />
Moreover, kdm in openSUSE 10.3 and in Kubuntu 8.10 crashes when pam_thinkfinger is enabled. A possible "workaround" is downgrading to thinkfinger 0.2.2. <br />
<br />
Another workaround is to use Fprint from [http://www.reactivated.net/fprint/wiki/Main_Page] which works quite nicely on my X61s and Kubuntu Hardy.<br />
<br />
<br />
This Howto was copied from [[Installing Ubuntu 6.06 on a ThinkPad T43#Fingerprint_Reader]] and then slightly modified.<br />
<br />
== Fix for the fingerprint reader getting too hot ==<br />
<br />
If you notice that your fingerprint reader occasionally gets very hot then you might be interested in this section. Thanks to Tino Keitel, he actually gave me this solution through the linux-thinkpad mailing list.<br />
<br />
First we need to determine if the reader is not on autosuspend mode.<br />
Open a terminal and run:<br />
<br />
for i in `find /sys/devices/*/*/usb* -name level` ; do echo -n "$i: " ; cat $i ; done<br />
<br />
We care about the devices that are with "on" state and we need to determine if one of those is the reader. So for each of those run something like:<br />
<br />
cat /sys/devices/pci0000\:00/0000\:00\:1a.0/usb1/1-2/idVendor <br />
0483<br />
<br />
cat /sys/devices/pci0000\:00/0000\:00\:1a.0/usb1/1-2/idProduct <br />
2016<br />
<br />
Use the corresponding path of the devices that you got with "on" state and then compare the output with the output of the lsusb command. An example:<br />
<br />
lsusb output: Bus 001 Device 004: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader<br />
<br />
Which matches the output above (0483:2016). Once you have determined the path of your reader then become root with su - and:<br />
<br />
echo "auto" > /sys/<path-to-device>/power/level<br />
<br />
After this, the fingerprint reader should be in "autosuspend" and will not get hot anymore. And it will still work as normal.<br />
<br />
This will only work for the current session. If you want to make this change persistent and have [http://linux-diag.sourceforge.net/Sysfsutils.html sysfsutils] installed, edit the file {{path|/etc/sysfs.conf}} and add the line<br />
<br />
<path-to-device>/power/level = auto<br />
<br />
Following the above example, that would be <br />
<br />
devices/pci0000\:00/0000\:00\:1a.0/usb1/1-2/power/level = auto<br />
<br />
Alternatively, you can install an init script:<br />
<br />
sudo gedit /etc/init.d/ReaderNoMoreHot<br />
<br />
Paste the following into it:<br />
<br />
#!/bin/bash<br />
#<br />
echo "auto" > /sys/<path-to-device>/power/level<br />
<br />
Save and close. Then:<br />
<br />
sudo chmod 755 /etc/init.d/ReaderNoMoreHot<br />
sudo update-rc.d ReaderNoMoreHot defaults 90<br />
<br />
--[[User:Lunatico|Lunatico]] 19:19, 1 August 2008 (CEST), extended by --[[User:Michaelthomas h|Michaelthomas h]] 23:36, 9 August 2008 (CEST)<br />
<br />
For the init script above, you can use the following more elaborate script, which does all the work for you of identifying the <path-to-device>. This can be useful since the USB device id can change under various circumstances (kernel upgrade etc).<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
# find the fingerprint reader and change its power level to autosuspend<br />
<br />
usbname="SGS Thomson Microelectronics Fingerprint Reader"<br />
usbid=$(lsusb |grep "$usbname" |cut -d' ' -f6);<br />
[[ -z $usbid ]] && echo "USB Device \"$usbname\" not found" && exit 1<br />
<br />
unset failed_bool<br />
find /sys/devices/*/*/usb* -name idVendor -print | (<br />
while read vfile; do<br />
dir=$(dirname $vfile);<br />
vendor=$(<$vfile);<br />
product=$(<$dir/idProduct);<br />
if [[ $vendor:$product = $usbid ]]; then<br />
plevel_file=$dir/power/level<br />
old_level=$(<$plevel_file);<br />
[[ $old_level = auto ]] || echo auto >$plevel_file || failed_bool=1<br />
break;<br />
fi;<br />
done<br />
if [[ $failed_bool ]]; then<br />
echo "Failed to set the fingerprint reader's power level to 'auto'."<br />
exit 1<br />
fi<br />
)<br />
</pre><br />
<br />
Here is an alternate script. The code is cleaner and it's about 20x faster (updated for jaunty):<br />
<pre><br />
#!/bin/bash<br />
<br />
# find the fingerprint reader and change its power level to autosuspend<br />
<br />
find_manuf=STMicroelectronics<br />
find_prod="Biometric Coprocessor"<br />
<br />
for devdir in /sys/class/usb_*/*/device; do<br />
[[ -r $devdir/manufacturer ]] || continue<br />
manuf=$(<$devdir/manufacturer)<br />
[[ $manuf = $find_manuf ]] || continue;<br />
prod=$(<$devdir/product)<br />
[[ $prod = $find_prod ]] || continue;<br />
# if we get here then we have the right device!<br />
plevel_file=$devdir/power/level<br />
old_level=$(<$plevel_file);<br />
# if it is already set properly then exit silently:<br />
[[ $old_level = auto ]] && exit 0<br />
# if we successfully change it then exit silently:<br />
echo auto >$plevel_file && exit 0<br />
echo "Failed to set the fingerprint reader's power level to 'auto'."<br />
exit 1<br />
done<br />
<br />
# if we make it through the for loop without exiting, the search failed<br />
echo "Could not find the $find_manuf $find_prod (fingerprint reader)"<br />
exit 1<br />
</pre><br />
<br />
<br />
So, I decided to see if udev (on Ubuntu hardy) could do the job in this regard. I put the following in {{path|/etc/udev/rules.d/99-fingerprint-reader.rules}} and IWFM:<br />
<pre><br />
ACTION!="add", GOTO="fingerprint_end"<br />
<br />
SUBSYSTEM=="usb" ATTR{idVendor}=="0483", ATTR{idProduct}=="2016", RUN+="/bin/sh -c 'echo auto > /sys/$devpath/power/level'"<br />
<br />
LABEL="fingerprint_end"<br />
</pre><br />
[[User:Bkuhn|Bkuhn]] 01:39, 12 August 2009 (UTC) (updated by [[User:liucougar|liucougar]] May 22, 2010 16:40 PST)</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Category:X100e&diff=49372Category:X100e2010-08-15T17:14:22Z<p>Bugmenot1: /* Audio Jack */</p>
<hr />
<div>__NOTOC__<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 />
=== ThinkPad X100e ===<br />
This page gives an overview of all ThinkPad X100e related topics.<br />
==== Machine Type ====<br />
* 2876, 3501, 3508<br />
<br />
==== Details ====<br />
* One of the following processors<br />
** [[AMD Athlon Neo]] Single-Core MV-40 (1.6GHz, 512KB L2)<br />
** [[AMD Athlon Neo X2]] Dual-Core L335 (1.6GHz, 512KB L2)<br />
** [[AMD Turion Neo X2]] Dual-Core L625 (1.6GHz, 1MB L2)<br />
* [[ATI Mobility Radeon HD 3200]]<br />
* 11.6" TFT display with 1366x768 (HD) resolution with LED backlight<br />
* 1 or 2GB [[PC2-5300]] memory standard upgradable to 4GB<br />
* One of the following HDD<br />
** 160GB 5400rpm 2.5" SATA HDD<br />
** 250GB 5400rpm 2.5" SATA HDD<br />
** 320GB 5400rpm 2.5" SATA HDD<br />
* [[Realtek Gigabit Ethernet (10/100/1000)]]<br />
* HD Audio with a [[CX20582]] codec<br />
* [[MiniPCI Express slot]] 1 with one of the following:<br />
** [[ThinkPad 11b/g/n Wireless LAN Mini-PCI Express Adapter II]]<br />
** [[Intel Centrino Advanced-N + WiMAX 6250]]<br />
* [[MiniPCI Express slot]] 2 with one of the following:<br />
** None (empty)<br />
** [[Qualcomm Gobi 2000]] WWAN with GPS<br />
* Multicard reader 4-in-1 (MMC, MS, MS Pro, SD)<br />
* [[Active Protection System]]<br />
* [[ThinkPad Bluetooth with Enhanced Data Rate (BDC-2.1)|Bluetooth]] on select models<br />
** Broadcom BCM 2070<br />
* [[UltraNav]] (TrackPoint / Touchpad combo)<br />
* 0.3MP [[Integrated camera]]<br />
</div><br />
|style="vertical-align:top" |<br />
[[Image:ThinkPadX100e.jpg|thumb|ThinkPad X100e]]<br />
|}<br />
<br />
==== Reviews ====<br />
* [http://www.engadget.com/2010/01/04/lenovo-thinkpad-x100e-hands-on-impressions/ Lenovo ThinkPad X100e hands-on impressions] Engadget.com, 2010-01-04<br />
* [http://netbooked.net/netbook-reviews/review/lenovo-thinkpad-x100e-review/ Lenovo ThinkPad X100e Review] netbooked.net 01/19/10<br />
<br />
==== Other ====<br />
[[Kubuntu_9.10_installation_notes_on_a_ThinkPad_X100e| Kubuntu 9.10 installation notes on a ThinkPad X100e]]<br />
==== Bluetooth ====<br />
By default, the X100e ships with bluetooth disabled or not installed. There is no option for it in the BIOS; currently the only way to enable it is to install Hotkey Features Integration [http://www-307.ibm.com/pc/support/site.wss/MIGR-74261.html] in Windows, and then press Fn-F5 to bring up the wireless control panel.<br />
<br />
==== Audio Jack ====<br />
By default the audio jack doesn't disable the internal speakers in Linux, in fact it doesn't seem to work at all (at least in Ubuntu 10.04 -- apparently in Mint it works for some people). A workaround for this is to edit {{path|/etc/modprobe.d/alsa-base.conf}} and add the following line:<br />
{{bootparm|options snd-hda-intel model|olpc-xo-1_5}} and then restart alsa (or reboot).<br />
<br />
If the alsa-base.conf change doesn't work, update to the latest version(tested 1.0.23). The model line still is needed, though.<br />
Helpfull tutorial: [http://monespaceperso.org/blog-en/2009/08/31/upgrade-alsa-1-0-21-on-ubuntu-jaunty-9-04/]<br />
<br />
As of the 2.6.34 kernel [https://patchwork.kernel.org/patch/98016] the above workaround should no longer be needed.<br />
<br />
==== Wireless b/g/n ====<br />
In many distros, Ubuntu included, the r8192se module that ships with the kernel will load and successfully connect to an AP and even succeed with DHCP, but still pass no network traffic. A workaround is to get the latest driver code from realtek [http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#RTL8192SE], unpack it and do a 'make' (assuming you have the equivalent of build-essentials installed) and then from the build directory, copy {{path|./HAL/rtl8192/r8192se_pci.ko}} over top of e.g. {{path|/lib/modules/$(uname -r)/kernel/ubuntu/rtl8192se/r8192se_pci.ko}} (will vary depending on distro) and then reload the module/your wireless manager/etc.<br />
<br />
Note: as of kernel 2.6.32-22.33 wireless should work out of the box (the latest kernel on Ubuntu Lynx has these updates). Neither the Realtek provided drivers or the staging drivers support injection at this time.<br />
<br />
The [[Intel Wifi Link 5100 (AGN)]] half height card from the T400/T400s works without a BIOS error on the X100e. Injection works with the 5100, see the Aircrack documentation[http://www.aircrack-ng.org/doku.php?id=iwlagn]. Please note that if you try and order the card off of eBay, you must find one that came out of a Thinkpad - the laptop will not boot if you use a generic one.<br />
<br />
==== Hangs on changing brightness and switching power modes ====<br />
Some x100e's will hang when you unplug the power, or change the brightness in X. To solve this, upgrade to the latest BIOS and optionally install the proprietary FGLRX drivers. I updated the bios like this: [[BIOS_Upgrade/X_Series#Approach_10:_Booting_the_Lenovo_ISO_image_using_Grub_and_SysLinux]]<br />
<br />
Under kernel 2.6.35-rc4 (and possibly 2.6.34), the open source Radeon drivers work properly with brightness controls, and don't have the same negative effects with compiz that the FGLRX drivers do.<br />
<br />
==== ACPI and Special Key Support ====<br />
As of 2.6.35-rc4, ACPI support for the X100 has improved. It's no longer considered an "unknown thinkpad model", and no patching is required. Most of the "special keys" (fn + Fkey) generate an acpi event, which can be used to trigger an action of your choosing. Use "acpi_listen" to get the code.<br />
<br />
Many of the hotkeys worked "out of the box" with Linux Mint and the bleeding edge RC kernel, however the FF/RW/Play buttons appear to do nothing (so far). The disable touchpad special key works, but not consistently.<br />
<br />
<br />
[[Category:X Series]]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=How_to_get_TV-Out_working_on_ATI_graphic_cards&diff=44417How to get TV-Out working on ATI graphic cards2009-09-26T14:02:04Z<p>Bugmenot1: works on T41 with Radeon 7500 also</p>
<hr />
<div>This HOWTO should help you enable TV-Out support on your ATI Radeon or ATI Rage based ThinkPad.<br />
<br />
{{NOTE|This page is not applicable to recent ATI Radeon Mobility chips. See [[ATI Mobility Radeon X300]] for a discussion.}}<br />
<br />
{{NOTE|If your using a distribution with KMS (Kernel Mode Setting), such as Fedora 11 then you will not have S-video support. This is a known issue. The only workaround is by booting with the {{bootparm|nomodeset|}} kernel option.}}<br />
== Using Xrandr ==<br />
<br />
To use the TVout on Radeon 7500 type following:<br />
<br />
{{ cmduser | xrandr --output S-video --set load_detection 1 }}<br />
{{ cmduser | xrandr --addmode S-video 800x600 }}<br />
{{ cmduser | xrandr --output S-video --mode 800x600 }}<br />
<br />
And set mode PAL or NTSC with:<br />
{{cmduser | xrandr --output S-video --set tv_standard ntsc }}<br />
<br />
If you want to use XVideo overlay on TV, try following command:<br />
{{ cmduser | xvattr -a XV_CRTC -v 1 }}<br />
<br />
=== ThinkPads/Other laptops this has been successfully tested on ===<br />
*{{A30p}}<br />
*{{T30}}<br />
*Compaq Evo N800v<br />
*{{T40}} with Radeon 7500<br />
*{{T41}} with Radeon 7500<br />
*{{T41}} with Radeon 9000<br />
*{{T42}} with Radeon 9600</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=HDAPS&diff=43374HDAPS2009-06-02T18:28:52Z<p>Bugmenot1: /* Userspace daemon */ upd8 link for Modified adaptive algorithm version</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
=== HDAPS - IBM Active Protection System Linux Driver ===<br />
This is the Linux driver for monitoring the accelerometer known as [[Active Protection System|IBM Active Protection System]].<br />
<br />
The driver only enables reading of the acceleration data. It does '''not''' perform [[#Harddisk Protection|automatic disk head parking]]. But there are already some other useful [[#Applications|applications]] for HDAPS, using the {{path|/sys}} interface it provides.<br />
<br />
{{WARN|There are two versions of the hdaps driver, one in the Linux kernel mainline, and another provided by [[tp_smapi]]. '''Use of the tp_smapi version of hdaps is strongly recommended by the current hdaps developers.'''}}<br />
|}<br />
<br />
=== Features ===<br />
*provides accelerometer values via sysfs<br />
*provides a joystick type input device<br />
<br />
=== Project Homepage / Availability ===<br />
*[http://hdaps.sourceforge.net/ Project Homepage]<br />
*The driver is included in the 2.6-mm series of kernels since August, 26th 2005.<br />
*The driver is now in the mainline (2.6.14).<br />
*The [[tp_smapi]] package contains some patches to this driver. These are necessary for some recent models, and recommended for all.<br />
<br />
=== Status ===<br />
A driver is included in recent Linux kernels and is actively maintained, but it is very inferior to the driver in tp_smapi (which provides its own hdaps module).<br />
<br />
=== How to install the driver ===<br />
Recent Linux kernels include the <tt>hdaps</tt> driver. However, the driver in the mainline Linux kernel has two problems with recent models:<br />
* It doesn't whitelist them (you have to edit hdaps_init() in drivers/hwmon/hdaps.c to include a line like <tt>HDAPS_DMI_MATCH_LENOVO("ThinkPad T60")</tt>)<br />
* It doesn't work reliably, e.g., it may read out constant values (0,0). See [http://sourceforge.net/mailarchive/message.php?msg_id=15350314 here].<br />
<br />
To solve both problems, install the modified hdaps that is bundled with [[tp_smapi]].<br />
<br />
=== Harddisk Protection ===<br />
As mentioned above, the hdaps kernel driver is only responsible for reading the accelerometer data and exporting it through the sysfs interface. In order to use this information to protect the disk, some additional steps are required.<br />
<br />
See [[How to protect the harddisk through APS]].<br />
<br />
=== Input device support ===<br />
In more recent versions of the Linux kernel, the hdaps exports event devices with the accelerometer data. These devices can be used as-is by some programs (e.g. hdapsd), but for most they must be handled by the additional kernel module <code>joydev</code>.<br />
<br />
When both modules are loaded, joydev will provide standard joystick device emulation for hdaps (standard hdaps exports just one joystick device. enhanced hdaps from tp_smapi will export two due to issues still unsolved on joydev, but the second one must not be used as a joystick).<br />
<br />
{{WARN|Letting a program bind to these joystick devices can cause surprising results if you are not aware of it. e.g.: mplayer can act quite strangely. Also, letting a program bind to the second joystick device from enhanced HDAPS is guaranteed to be trouble}}<br />
<br />
Udev can be used to create device nodes in /dev for use by user space programs that access the joystick, and to set appropriate permissions.<br />
<br />
In order for non-root users to access these device files, their permissions must be tweaked a little through an appropriate udev rule and corresponding "joy" group.<br />
<br />
{{cmdroot|addgroup joy}}<br><br />
{{cmdroot|adduser <you> joy}}<br><br />
<code># echo 'SUBSYSTEM=="input", KERNEL=="js*", MODE="0660", GROUP="joy"' >> /etc/udev/hdaps-joy.rules</code><br><br />
{{cmdroot|ln -s ../hdaps-joy.rules /etc/udev/rules.d/z60_hdaps-joy.rules}}<br><br />
<br />
Programs you can use to test and calibrate the device files include <code>jscalibrator</code> (gui) and <code>jstest</code>/<code>jscal</code> (cli) packaged together (at least in Debian) simply as "joystick".<br />
<br />
=== Applications ===<br />
====Disk head parking====<br />
You will need the kernel patch below and the hdapsd userspace daemon. The GUI monitoring is optional.<br />
<br />
See [[How to protect the harddisk through APS]] for more information.<br />
<br />
===== Kernel patch =====<br />
Due to significant changes in the way the libata module which handles disk i/o, applying any of the currently available patches to kernel 2.6.24 will intermittently cause system hangs when the queue is frozen (i.e., the heads are parked). It is recommended either that you stay at kernel [http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.17.tar.bz2 2.6.23] or do without disk protection in 2.6.24 until the kinks have been worked out. There has been significant work on the part of [http://lkml.org/lkml/2008/2/25/478 Elias Oltmanns], author of the more recent patches, to get this worked out and eventually get shock protection built into the mainline kernel.<br />
<br />
Below are some links to patches for various Linux kernel versions. As noted above, your mileage may vary with the 2.6.24-rc3 patch as it was after this release candidate that things stopped working nicely. <br />
{{HINT|To apply a patch, change to the root directory of the kernel tree and run<br><code>patch -p1 -l < hdaps_xx.patch</code>}}<br />
* New interface (requires hdapsd dated 2008-10-04 or newer)<br />
** In mainline kernel 2.6.28<br />
** [http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1393 disk-protect patch for kernel 2.6.27.2]<br />
* Old interface<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1324/raw disk-protect patch for kernel 2.6.26]<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1297/raw disk-protect patch for kernel 2.6.26-rc9]<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1245/raw disk-protect patch for kernel 2.6.25-rc9] &mdash; may cause system locks (same as patch for 2.6.24-rc3). Apply [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2008-February/042226.html this fix] before.<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1094 disk-protect patch for kernel 2.6.24-rc3] &mdash; may cause system locks (see [http://marc.info/?l=linux-thinkpad&m=120259594519907 here], [http://marc.info/?l=linux-thinkpad&m=120259929023300 here] and try [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2008-February/042226.html this fix])<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1092 disk-protect patch for 2.6.23.8] + [http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1113 error check fix]<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1077 disk-protect patch for 2.6.22.9 and 2.6.23-rc9]<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/993 disk-protect patch for 2.6.20-rc6]<br />
* Ancient interface<br />
**[http://www.nabble.com/attachment/9047418/0/hdaps_protect-2.6.20.patch.bz2 Latest sata/ide disk protection patch for 2.6.20]<br />
**[http://article.gmane.org/gmane.linux.kernel/470413 Latest sata/ide disk protection patch for 2.6.19-rc6]<br />
**[http://www.dresco.co.uk/hdaps/hdaps_protect-2.6.18.3-2.patch Latest sata/ide disk protection patch for 2.6.18.3]<br />
**[http://exitzero.de/t41p-configs/hdaps_protect-2.6.17.1-20060625.patch Untested patch for 2.6.17.1]: see [http://thread.gmane.org/gmane.linux.drivers.hdaps.devel/708/focus=708]<br />
**[http://whoopie.gmxhome.de/linux/patches/2.6.17.14-tj/03-hdaps_protect-20060430-for-2.6.17-tj.patch Latest sata/ide disk protection patch for use with the libata hotplug 2.6.17.4 patches] - See [[How_to_hotswap_UltraBay_devices]]<br />
**[http://whoopie.gmxhome.de/linux/patches/2.6.16-tj/05-hdaps_protect-20060430-for-2.6.16-tj.patch Latest sata/ide disk protection patch for use with the libata hotplug 2.6.16.16 patches] - See [[How_to_hotswap_UltraBay_devices]]<br />
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060430.patch Latest sata/ide disk protection patch for 2.6.16]<br />
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060118.patch sata/ide disk protection patch for 2.6.15]<br />
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.15.patch disk park patch adapted for the t41p model] <tt> kernel 2.6.15 ([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)</tt><br />
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.14.patch disk park patch adapted for the t41p model] <tt> kernel 2.6.14 ([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)</tt><br />
**[http://lwn.net/Articles/154923/ disk park patch] <tt>an experimental patch for parking the disk (Linux 2.6.14 for 2.6.15 see below)</tt><br />
<br />
===== Userspace daemon =====<br />
*Current version: [http://sourceforge.net/project/showfiles.php?group_id=138242&package_id=308030 hdapsd-20090401]<br><br />
This version optionally reduces timer interrupts (as measured by [[PowerTOP]]), and thereby reduces power consumption on modern ("tickless") Linux kernels. Interrupt reduction requires the <tt>hdaps</tt> kernel module from [[tp_smapi]] 0.32 or newer, and a udev rule. If these are not present, it will default to an older polling method that is slightly more power-hungry. The udev rule helps hdapsd find the input device, and on most distributions it can be created as follows:<br />
# echo 'KERNEL=="event[0-9]*", ATTRS{phys}=="hdaps/input1",ATTRS{modalias}=="input:b0019v1014p5054e4801-*",SYMLINK+="input/hdaps/accelerometer-event"' \<br />
> /etc/udev/rules.d/51-hdaps.rules<br />
Then reboot or run {{cmdroot|/sbin/udevtrigger}}, and verify that the {{path|/dev/input/hdaps/accelerometer-event}} symlink exists.<br />
<br />
*[ftp://rohrmoser-engineering.de/HDAPS_Userspace_Daemon/ Modified adaptive algorithm version] - uses a different (and potentially better) algorithm for the adaptive sensivity threshold.<br />
{{HINT| Gentoo users : due to new interface your initscript won't be longer working. Read documentation before upgrading to this version. <br />
Use an overlay listed bellow with updated versions of related packages}}<br />
<br />
===== GUI monitoring =====<br />
*[http://roy.marples.name/node/269 khdapmonitor] KDE System Tray Monitor<br />
*[http://www.dresco.co.uk/hdaps/gnome-hdaps-applet-20081204.tar.gz gnome-hdaps-applet] visual display of disk protection status in gnome panel<br />
*[http://www.kde-look.org/content/show.php/Applet+HDAPS?content=78387 applet_hdaps] KDE4 Plasmoid display disk protection status<br />
*[http://awn.planetblur.org/index.php?shard=forum&action=g_reply&ID=1916&page=1&isLive=true ThinkHDAPS] Avant Window Manager applet for disk protection status<br />
*[http://web.student.tuwien.ac.at/~e0726415/thinkhdaps.html ThinkHDAPS] A standalone (=gtk.StatusIcon) version of onox' awn applet; v0.2 supports new sysfs layout (kernel >=2.6.27); Should work for the new HP driver as well.<br />
*[http://michael.orlitzky.com/code/xfce4-hdaps.php xfce4-hdaps] An XFCE4 panel plugin for the HDAPS system.<br />
<br />
====Security & safety====<br />
*[[Script for theft alarm using HDAPS]]<br />
<br />
====Tilt monitoring====<br />
*[http://www.mulliner.org/collin/gkibm-acpi.php gkhdaps] <tt>a GKrellM applet displaying tilt data</tt><br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 gnome-tilt] <tt>a gnome applet showing tilt data</tt><br />
<br />
====Visualisation of ThinkPad orientation====<br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdaps-gl] <tt>a little app animating a 3D-ThinkPad</tt><br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdapsgl-applet] <tt> a GNOME applet animating a 3D-ThinkPad</tt><br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 wmadhps] <tt>a WindowMaker DockApp animating a 3D-ThinkPad</tt><br />
*[http://www.cs.cmu.edu/~ecc/gyro.tar.gz OpenGL gyroscope hack] <tt>keeps your display levelled when tilting the ThinkPad</tt> (warning: [http://en.wikipedia.org/wiki/Tarbomb uncompresses in the current directory]!)<br />
<br />
====Games====<br />
*[http://icculus.org/neverball/ Neverball] is quite fun with HDAPS. (You'll need to have the HDAPS joystick device)<br />
*Turn your ThinkPad into a Jedi Weapon (hey, it [http://isnoop.net/blog/2006/05/20/macsaber-turn-your-mac-into-a-jedi-weapon works for Mac laptops])<br />
<br />
====Other====<br />
<br />
*[http://blog.micampe.it/articles/2006/06/04/here-comes-the-smackpad smack.py] - switch workspace by smacking your laptop, inspired by the [http://blog.medallia.com/2006/05/smacbook_pro.html SmackBook] (uses EWMH)<br />
**an [http://weblogs.mozillazine.org/gerv/archives/2006/09/stablilised_smackpad.html improved version] adds stabilization (by comparing smacks to previous ones, uses EWMH)<br />
**another [http://pberndt.com/Programme/Linux/pyhdaps/index.html approach] adds stabilization (by requiring a certain type of value deflection, uses xmacroplay)<br />
**[http://www.gnome.org/~fherrera/gtollina.c GTollina] is another smack program for use with compiz (video [http://www.gnome.org/~fherrera/blog/gtollina.html here]).<br />
*[http://blog.odonnell.nu/61.html xmms-smack.py] - move through your xmms playlist by smacking, based on the two smack scripts above.<br />
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw02aKnockBasedCommands KnockBasedCommands] - Execute commands by tapping your laptop.<br />
*[http://people.ksp.sk/~mic/?menu=32&file=rotate.py rotate.py] - rotate desktop by turning your laptop<br />
*[[hdaps_ess|Enhanced smack script]] ess.py is based on the smacks scripts listed in this section. It includes stabilization, a lot of tuning options and it handles both axis (at best you should be able to map 8 commands, even if it is possible I was not able to do so). It is not perfect but on my Thinkpad it works better than the other scripts.<br />
<br />
=== Interesting links related to this project ===<br />
* [https://lists.sourceforge.net/lists/listinfo/hdaps-devel HDAPS mailinglist and its archive]<br />
* #hdaps channel on irc.freenode.org<br />
* [https://sourceforge.net/projects/hdaps/ hdaps projects] overview of userspace programs using hdaps<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-HDFIRM IBM ThinkPads hardware drive firmware site]<br />
* [http://www.paul.sladen.org/thinkpad-r31/accelerometer.html http://www.paul.sladen.org/thinkpad-r31/accelerometer/]<br />
* http://bugs.gentoo.org/show_bug.cgi?id=119845 Gentoo ebuild for hdaps driver and daemon including a initscript*<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137345 Gentoo ebuild for gkhdaps gkrell plugin<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137350 Gentoo ebuild for hdaps-gl application<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137351 Gentoo ebuild for gnome hdapsgl-applet<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137352 Gentoo ebuild for gnome tilt application<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137353 Gentoo ebuild for wmhdaps<br />
* http://bugs.gentoo.org/show_bug.cgi?id=272212 and http://svn.xmw.de/gentoo-overlay/gnome-extra/hdaps-applet/ Gentoo ebuild for gnome-hdaps-applet<br />
* http://gentoo.o0o.nu Gentoo sectools overlay with fresh hdaps-related ebuilds and patches<br />
* [http://lenovoblogs.com/insidethebox/?p=71 Why the ThinkPad accelerometer is only 2D] - explanation by Lenovo<br />
<br />
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:R60]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:T61]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Drivers]] [[Category:Z61m]]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Idle_consumptions&diff=42984Idle consumptions2009-04-27T12:52:47Z<p>Bugmenot1: </p>
<hr />
<div>This page reports the minimal consumptions of Thinkpads when idle. This means, in principle: minimum brightness, CPU and GPU at lowest speed, no wifi, hard drive spun down, no pcmcia cards inserted (see details of each entry).<br />
<br />
This kind of information has several uses: comparing one's consumption with that of other people's setups, knowing which model to use as a gateway/file server, etc.<br />
<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
<br />
! Model !! OS !! Remarks !! consumption <br />
|----<br />
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || back light off, laptop-mode-tools enabled, fan on, idling, measured with powertop || 6W<br />
|----<br />
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || Min brightness, laptop-mode-tools enabled, fan on, idling, measured with powertop || 7.5W<br />
|----<br />
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || Max brightness, laptop-mode-tools enabled, fan on, idling, measured with powertop || 9.2W<br />
|----<br />
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || Max brightness, laptop-mode-tools enabled, fan on, 100% cpu utilisation, measured with powertop || ~22W<br />
|----<br />
|{{600E}} PIII/450 || Archlinux/2.6.28 openbox || 1 xterm window, backlight on, fan off || 6.2W<br />
|----<br />
|{{R50e}}|| Gentoo (linux-2.6.22-rc4 force_HPET, fluxbox) ||With Networking, USB, firefox, thunderbird || 11.1W<br />
|----<br />
|{{R50e}}|| Gentoo (linux-2.6.22-rc4 force_HPET, fluxbox) ||Fluxbox + shell (+fan) || 10.5W<br />
|----<br />
|{{R50e}}|| Gentoo (linux-2.6.22-rc4 force_HPET, fluxbox) ||Blank Screen after 20min idle (+fan) || 7.1W<br />
|----<br />
|{{R51e}}|| Gentoo (linux-2.6.24-gentoo-r4) || KDE, min. brightness, tp-fancontrol, ondemand, laptop_mode, madwifi-ng (no powersave), wpa_supplicant, ca 60 wakeups || 14.5W<br />
|----<br />
|{{R52}}|| Gentoo (linux-2.6.22-rc6 + phc + hrt) ||Min brightness, tp-fancontrol, ipw2200 with power_save 5, undervolted, ondemand, laptop_mode, rovclock -c 100 -m 100<br />virtual console (idle kde desktop adds about 0.2W) || 12.1W<br />
|----<br />
|{{R61}}||Ubuntu 7.04||Wireless on||16.4W<br />
|----<br />
|{{R61}}|| Xubuntu 7.10 || custom kernel 2.6.24, Minimal power consumption with Wireless off, hdd spun down, Backlight min, laptop-mode, ondemand, echo 1 > /sys/devices/system/cpu/sched_mc_power_savings, echo 1500 > /proc/sys/vm/dirty_writeback_centisecs, ALPM on, firewire module unloaded, nvidia, hdaps (powertop 1.9)|| 10.8W (min) ~16.5W (usable brightness, wifi on) 39.7W (max, kernel compilation with -j3 option)<br />
|----<br />
|{{T23}}||Ubuntu 7.04|| || 10.7W<br />
|----<br />
|{{T40}}||Gentoo (2.6.23-rc6-hrt2)|| [http://www.linuxpowertop.org/patches/kernel-2.6.22-rc1.patch Bg-timer patch], HPET-patches, radeon, <tt>rovclock -c 105 -m 122</tt>, no DRI, sound power_save = Y, min. brightness, no networking, with USB, Laptop-Mode, X & 1x URxvt || 7,4W<br />
|----<br />
|{{T41p}}||Ubuntu 7.10|| Undervolted, fglrx, no dri; fan->+0.5W, powerstate=2->+0.7W, HD->+1.5W, no usb || 7.7W<br />
|----<br />
|{{T42}} (2373)||Debian 4.0 Etch|| Kernel 2.6.21_rc5 + hrtimer, rovclock -c 100 -m 120 (Radeon M10), no DRI, min bright. (+3W max), no wifi (+1W if idle) || 9.4W<br />
|----<br />
|{{T42}} (2373)||Ubuntu 8.10 Intrepid|| 14" 1024x768 Kernel 2.6.28+tickless+hrtimer, rovclock -c 110 -m 180 (Radeon M7), Xorg + DRI, min bright. (+2.5W max), lan & wifi down, laptop-mode enabled, ultrabay ejected, fan on (auto) || 7.8W<br />
|----<br />
|{{T42}} (2373)||Ubuntu 8.10 Intrepid|| 14" 1024x768 Kernel 2.6.28+tickless+hrtimer, rovclock -c 110 -m 180 (Radeon M7), Xorg + DRI, backlight off, lan & wifi down, laptop-mode enabled, ultrabay ejected, fan on (auto) || 5.6W<br />
|----<br />
|{{T43}} (1871)||Debian (Linux 2.6.21, fluxbox)|| DRI, alsa (power_save=1), with usb, no networking || 10.1W (12.0W with HD)<br />
|----<br />
|{{T43}} (2669)||Gentoo (2.6.20-gentoo-r5)|| Undervolted, fglrx (powerstate=1), DRI, no alsa, no usb modules, no networking || 12.7W<br />
|----<br />
|{{T43}} (2686)||Fedora Core 6 (2.6.19.x patched)|| Undervolted, radeon, <tt>rovclock -c 125 -m 130</tt>, no DRI, ALSA <tt>power_save=1</tt>, no usb modules, no networking, min brightness, HDD spun down || 15W<br />
|----<br />
|{{T400}} (WC8...)||Ubuntu 9.04 unpatched kernel||*[[Save power with Ubuntu 9.04 (Jaunty Jackalope) on a ThinkPad T400]] || 11-13W<br />
|----<br />
|{{T60}} (2007)||Fedora Core 6|| Wireless kill switch on, 1400x1050 panel @ min brightness, fglrx (powerstate=1), HDD spun up (~1W saving without) || 16W<br />
|----<br />
|{{T60}} (2007)||Kubuntu 7.04|| 1400x1050 panel @ min brightness, hald killed, laptop mode enabled, wireless powersave|| 13.3 W<br />
|----<br />
|{{T60}} (2007)||KUbuntu 7.04|| Wireless on, 1680x1050 panel @ medium brightness, fglrx (powerstate=1) || 16W<br />
|----<br />
|{{T60}} (2623D6U)||Debian testing (linux-2.6.21-1-686)||1400x1050 14" min-bright, iwpriv wlan0 set_power 7, VESA driver|| 12,7W<br />
|----<br />
|{{T61}} ||Ubuntu 8.04 ||14" 1024x768 panel,intel graphics, 6% bright, wireless off, vanilla kernel 2.6.25|| 9.5W<br />
|----<br />
|{{T61}} ||Gentoo 2008.0 ||14" 1440x900 panel, nVidia, min brightness, wireless off, sound off, nvidia unloaded, laptop_mode, gentoo-sources 2.6.25-gentoo-r6, measured with powertop|| ~13W<br />
|----<br />
|{{X200s}}||Arch Linux||2.6.27.9, idle kde3, hda_intel power_save 5, HDD stopped, min brightness, radios off, pcie_aspm in powersave, 8bit color depth||6.2W<br />
|----<br />
|{{X200s}}||Arch Linux|| SL9400, 12.1" 1440x900 panel, min. brightness, wifi/bt off || 7.2W<br />
|----<br />
|{{X200s}}||Arch Linux||2.6.27.8, idle kde3 (9 int/s), hda_intel power_save 5, HDD stopped, min brightness, radios off, pcie_aspm in powersave||7.3W<br />
|----<br />
|{{X200s}}||Arch Linux||2.6.27.8, kde3+firefox+daemons, hda_intel power_save 5, HDD spinning up/down, brightness 6/15, wifi on, pcie_aspm in powersave||8.7W<br />
|----<br />
|{{X200s}}||Ubuntu 8.10||2.6.27.9, 12.1" 1280x800 panel, min. brightness, wifi/bt off, laptop_mode, total idle||7.3W<br />
|----<br />
|{{X200s}}||Ubuntu 8.10||2.6.27.9, 12.1" 1280x800 panel, half. brightness, wifi/bt off, laptop_mode, simple word-processing (open office) ||~10.5W<br />
|----<br />
|{{X200s}}||Ubuntu 8.10||2.6.27.9, 12.1" 1280x800 panel, half. brightness, wifi on, laptop_mode, active firefox, amarok playing (via airtunes), pidgin ||~12.5W<br />
|----<br />
|{{X200s}}||OpenSUSE 11.1||2.6.29-66.1 (HEAD from Factory repo), 12.1" 1440x900 led panel, brighness 5 (33%), wifi on, laptop_mode, kde 3.5, active firefox, ||~7.3W<br />
|----<br />
|{{x300}}||Ubuntu 9.04||2.6.28-11-generic 13.3" 1440x900 panel, brightness 50%, wifi on, laptop_mode, active firefox, xmms2 playing, some terminals||~11 W<br />
|----<br />
|{{x300}}||Ubuntu 9.04||2.6.28-11-generic 13.3" 1440x900 panel, brightness 50%, wifi off, laptop_mode, xmms2 playing, some terminals ||~8.8 W<br />
|----<br />
|{{X21}}||Kubuntu 7.04|| Minimal consumption with kde loaded.||5.5W<br />
|----<br />
|{{X31}}||Debian Etch||2.6.22rc6+hrt1 patch+radeon patch||~ 8 W<br />
|----<br />
|{{X31}} (2672-C2G)||Debian Etch||vanilla 2.6.23rc8 tickless kernel, wireless rf-kill on, min brightness, hdd idle but spinning||~ 9.6 W<br />
|----<br />
|{{X32}}||Slackware||2.6.23.1+hrt3 patch, tickless kernel, undervolted to 0.716, ati gfx @ 90mhz core 90mhz mem, hdd is CF, min brightness, wifi ON||~ 8.2 W<br />
|----<br />
|{{X32}}||Slackware||2.6.23.1+hrt3 patch, tickless kernel, undervolted to 0.716, ati gfx @ 90mhz core 90mhz mem, hdd is CF, max brightness, wifi ON||~ 11 W<br />
|----<br />
|{{X40}}||Kubuntu 7.10||2.6.22, min brightness, wifi ON||~8.7W<br />
|----<br />
|{{X40}}||Opensuse 11.0; June08||std. install + laptop-mode-tools.rpm; 2.6.25, min brightness, wifi on. normal X-server, hd spun down||~8.0W<br />
|----<br />
|{{X41}}||Fedora 7||2.6.23.1+phc patch, tickless kernel, undervolted to 0.7, under X, min brightness, wifi ON||~11W<br />
|----<br />
|{{X60}}||Ubuntu 7.04||Wireless kill switch on, min brightness||10.2W<br />
|----<br />
|{{X60s}}||Debian Etch||2.6.21 tickless kernel, processes tweaked with powertop, usb/fw unloaded, hd spun down, min brightness, ipw3945 set to powersave mode 7||8.3W<br />
|----<br />
|{{X60s}}||Debian Etch||2.6.21 tickless kernel, processes tweaked with powertop, usb/fw unloaded, hd spun down, min brightness,ipw3945 unloaded||9W<br />
|----<br />
|{{X60s}}||Debian Lenny(testing)|| 2.6.22 tickless kernel, hrt-patch, alpm-patches, almost everything unloaded (wifi,pcmcia,ethernet,usb,firewire,sd,snd) and stopped (no X11,only cron/syslog), no vesa-fb, min brightness, 5 min idle, measured with powertop 1.7 (ACPI)||7.7W<br />
|----<br />
|{{X60s}}||Debian Lenny(testing)|| 2.6.22 tickless kernel, hrt-patch, alpm-patches, almost everything unloaded (wifi,pcmcia,ethernet,usb,firewire,sd,snd), with X11 (latest intel-xorg-driver, DRI enabled) and one x-terminal running, min brightness, 5 min idle, measured with powertop 1.7 (ACPI)||8.3W<br />
|----<br />
|{{X61}}||OpenSUSE 11.1|| 2.6.27.7 tickless, KDE 4.2 Beta2, X.Org 7.4 (dri on, fb compression enabled), BT/WiFi OFF, HDD spun down, brightness 0, fan running, default modules loaded, PowerTOP 1.10||10.4W (without X running 10.1W)<br />
|----<br />
|{{X61_Tablet}}||Ubuntu Gutsy(tribe6)|| 2.6.23-rc6-hrt1 x86_64, everything unloaded & stopped, lcd backlight off, hd powered down, powertop 1.8||8.5W<br />
|----<br />
|{{X61_Tablet}}||Xubuntu Gutsy|| 2.6.24-rc3, everything unloaded, lcd backlight 10%, hd powered down, powertop 1.8||7,8W<br />
|----<br />
|{{X61s}} (7666-36G)||Debian Sid|| 2.6.27.7, everything unloaded, HD spinned down, xbacklight -set 0, idle Xfce desktop, [http://tikei.de/sata-phy-poweroff_2.6.27.patch SATA poweroff patch], Xorg intel driver with framebuffer compression enabled||8,4W<br />
|----<br />
|{{X301}}||Debian Lenny|| 2.6.29.1, wifi down, lan down, wan down, no WOL, ondemand scaling, brightness 100% || 10,7W (6.3h w/ bay battery)<br />
|----<br />
|{{X301}}||Debian Lenny|| 2.6.29.1, wifi down, lan down, wan down, no WOL, ondemand scaling, brightness 50% || 8,7W<br />
|----<br />
|{{X301}}||Debian Lenny|| 2.6.29.1, wifi down, lan down, wan down, no WOL, ondemand scaling, brightness 0% || 7,8W (8.8h w/ bay battery)<br />
|----</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Problem_with_USB_2.0&diff=40940Problem with USB 2.02009-01-31T23:11:19Z<p>Bugmenot1: /* Mechanical Damage to Mainboard */</p>
<hr />
<div>==Problem description==<br />
On various (early?) T40 models, USB 2.0 may not function, or may function only at USB 1.1 speeds. Symptoms include inability to connect to USB 2.0 devices at USB 2.0 speeds, the "This device can perform faster" pop-up in Windows XP, device ID assignment error messages from the Linux kernel, and frequent reboots of the USB bus and connected devices.<br />
<br />
==Possible Causes==<br />
So far, two possible causes have been suggested. In both cases, replacing the system board is the only solution.<br />
<br />
===Fried Southbridge USB controller===<br />
The Southbridge chip (containing the USB controller) may have been damaged by static electricity:<br />
<br />
{{QUOTE|Matthias Himber|[http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-June/026884.html linux-thinkpad]|<br />
Short answer: your southbridge is about to die, get your system board replaced. Hopefully its still under warranty.<br />
<br />
Long answer: a number of Intel chipsets for Pentium IV and Pentium M processors have a design flaw that makes the southbridge (which contains the USB host controllers) especially sensitive to static electricity. As a result <br />
there is a (small) risk that when plugging in or removing a USB device causes damage to the chip. Usually, the first symptom is broken USB 2.0, behaving in exactly the way you described (ie, works under Windows, but only after some waiting and as if it was connected to a USB 1.1 controller, not a USB 2.0 one, and not at all under Linux unless you unload the USB 2.0 driver). This tends to lead to a completely dead chipset a short time later, so better get it serviced NOW.<br />
}}<br />
<br />
===Mechanical Damage to Mainboard===<br />
Mechanical damage (from bending, dropping or vibrating the laptop) can lead to components becoming desoldered from the mainboard and no longer having reliable electrical contact:<br />
{{QUOTE|?|?|<br />
My T41 shows the same symptoms. USB 2.0 works if I (gently) push the USB plug, or if I slightly flex my thinkpad. For example, it works when I put a pencil under the harddrive on an otherwise flat desk, so that the thinkpad only makes contact with the desk at 3 points (I type on an external keyboard). If I flex the other way, USB 2.0 never works. USB 1.1 always works reliably, irregardless of flexing / pushing the plug.<br />
}}<br />
<br />
The same behavior has also been observed on a T42, where the EHCI controller stopped working after structural damage to the laptop. Plugging in a USB 2.0 capable device will yield the following error in '''dmesg''':<br />
{{QUOTE|?|?|<br />
usb 4-4: new high speed USB device using ehci_hcd and address XX<br /><br />
hub 4-0:1.0: unable to enumerate USB device on port 4<br /><br />
hub 4-0:1.0: unable to enumerate USB device on port 4<br /><br />
hub 4-0:1.0: unable to enumerate USB device on port 4<br /><br />
}}<br />
Flexing the right palmrest area up will temporarily make the USB 2.0 recognizable again. Tightening the screws on the bottom and front edge of the laptop may also fix the problem.<br />
<br />
<br />
Clearly, this is an electrical problem and not static electricity.<br />
<br />
==Solutions==<br />
This seems to be a hardware problem with the USB controller on Intel's chip or related electronics. Sending the laptop in for service may help.<br />
<br />
If the Linux kernel refuses to register the USB device, "modprobe -r ehci_hcd" may help. This disables USB 2.0 functionality for the session.<br />
<br />
Unloading ehci_hcd as per above confirmed to work on T41 running Ubuntu Edgy. Also worked on a T40 running Debian Lenny.<br />
<br />
== See Also ==<br />
[http://forums.cnet.com/5208-7586_102-0.html?forumID=68&threadID=151816 IBM X40 USB Problem] (fried USB on multiple {{X40}}s)</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Problem_with_USB_2.0&diff=40939Problem with USB 2.02009-01-31T23:10:59Z<p>Bugmenot1: /* Mechanical Damage to Mainboard */</p>
<hr />
<div>==Problem description==<br />
On various (early?) T40 models, USB 2.0 may not function, or may function only at USB 1.1 speeds. Symptoms include inability to connect to USB 2.0 devices at USB 2.0 speeds, the "This device can perform faster" pop-up in Windows XP, device ID assignment error messages from the Linux kernel, and frequent reboots of the USB bus and connected devices.<br />
<br />
==Possible Causes==<br />
So far, two possible causes have been suggested. In both cases, replacing the system board is the only solution.<br />
<br />
===Fried Southbridge USB controller===<br />
The Southbridge chip (containing the USB controller) may have been damaged by static electricity:<br />
<br />
{{QUOTE|Matthias Himber|[http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-June/026884.html linux-thinkpad]|<br />
Short answer: your southbridge is about to die, get your system board replaced. Hopefully its still under warranty.<br />
<br />
Long answer: a number of Intel chipsets for Pentium IV and Pentium M processors have a design flaw that makes the southbridge (which contains the USB host controllers) especially sensitive to static electricity. As a result <br />
there is a (small) risk that when plugging in or removing a USB device causes damage to the chip. Usually, the first symptom is broken USB 2.0, behaving in exactly the way you described (ie, works under Windows, but only after some waiting and as if it was connected to a USB 1.1 controller, not a USB 2.0 one, and not at all under Linux unless you unload the USB 2.0 driver). This tends to lead to a completely dead chipset a short time later, so better get it serviced NOW.<br />
}}<br />
<br />
===Mechanical Damage to Mainboard===<br />
Mechanical damage (from bending, dropping or vibrating the laptop) can lead to components becoming desoldered from the mainboard and no longer having reliable electrical contact:<br />
{{QUOTE|?|?|<br />
My T41 shows the same symptoms. USB 2.0 works if I (gently) push the USB plug, or if I slightly flex my thinkpad. For example, it works when I put a pencil under the harddrive on an otherwise flat desk, so that the thinkpad only makes contact with the desk at 3 points (I type on an external keyboard). If I flex the other way, USB 2.0 never works. USB 1.1 always works reliably, irregardless of flexing / pushing the plug.<br />
}}<br />
<br />
The same behavior has also been observed on a T42, where the EHCI controller stopped working after structural damage to the laptop. Plugging in a USB 2.0 capable device will yield the following error in '''dmesg''':<br />
{{QUOTE|?|?|<br />
usb 4-4: new high speed USB device using ehci_hcd and address XX<br /><br />
hub 4-0:1.0: unable to enumerate USB device on port 4<br /><br />
hub 4-0:1.0: unable to enumerate USB device on port 4<br /><br />
hub 4-0:1.0: unable to enumerate USB device on port 4<br /><br />
}}<br />
Flexing the right palmrest area up will temporarily make the USB 2.0 recognizable again. Tightening the screws on the bottom and front edge of the laptop may also the problem.<br />
<br />
<br />
Clearly, this is an electrical problem and not static electricity.<br />
<br />
==Solutions==<br />
This seems to be a hardware problem with the USB controller on Intel's chip or related electronics. Sending the laptop in for service may help.<br />
<br />
If the Linux kernel refuses to register the USB device, "modprobe -r ehci_hcd" may help. This disables USB 2.0 functionality for the session.<br />
<br />
Unloading ehci_hcd as per above confirmed to work on T41 running Ubuntu Edgy. Also worked on a T40 running Debian Lenny.<br />
<br />
== See Also ==<br />
[http://forums.cnet.com/5208-7586_102-0.html?forumID=68&threadID=151816 IBM X40 USB Problem] (fried USB on multiple {{X40}}s)</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Idle_consumptions&diff=40897Idle consumptions2009-01-28T14:28:03Z<p>Bugmenot1: </p>
<hr />
<div>This page reports the minimal consumptions of Thinkpads when idle. This means, in principle: minimum brightness, CPU and GPU at lowest speed, no wifi, hard drive spun down, no pcmcia cards inserted (see details of each entry).<br />
<br />
This kind of information has several uses: comparing one's consumption with that of other people's setups, knowing which model to use as a gateway/file server, etc.<br />
<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
<br />
! Model !! OS !! Remarks !! consumption <br />
|----<br />
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || back light off, laptop-mode-tools enabled, fan on, idling, measured with powertop || 6W<br />
|----<br />
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || Min brightness, laptop-mode-tools enabled, fan on, idling, measured with powertop || 7.5W<br />
|----<br />
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || Max brightness, laptop-mode-tools enabled, fan on, idling, measured with powertop || 9.2W<br />
|----<br />
|{{600E}} PII/366 || Debian Lenny/2.6.21 gnome || Max brightness, laptop-mode-tools enabled, fan on, 100% cpu utilisation, measured with powertop || ~22W<br />
|----<br />
|{{600E}} PIII/450 || Archlinux 0.8/xfce || || 9W<br />
|----<br />
|{{R50e}}|| Gentoo (linux-2.6.22-rc4 force_HPET, fluxbox) ||With Networking, USB, firefox, thunderbird || 11.1W<br />
|----<br />
|{{R50e}}|| Gentoo (linux-2.6.22-rc4 force_HPET, fluxbox) ||Fluxbox + shell (+fan) || 10.5W<br />
|----<br />
|{{R50e}}|| Gentoo (linux-2.6.22-rc4 force_HPET, fluxbox) ||Blank Screen after 20min idle (+fan) || 7.1W<br />
|----<br />
|{{R51e}}|| Gentoo (linux-2.6.24-gentoo-r4) || KDE, min. brightness, tp-fancontrol, ondemand, laptop_mode, madwifi-ng (no powersave), wpa_supplicant, ca 60 wakeups || 14.5W<br />
|----<br />
|{{R52}}|| Gentoo (linux-2.6.22-rc6 + phc + hrt) ||Min brightness, tp-fancontrol, ipw2200 with power_save 5, undervolted, ondemand, laptop_mode, rovclock -c 100 -m 100<br />virtual console (idle kde desktop adds about 0.2W) || 12.1W<br />
|----<br />
|{{R61}}||Ubuntu 7.04||Wireless on||16.4W<br />
|----<br />
|{{R61}}|| Xubuntu 7.10 || custom kernel 2.6.24, Minimal power consumption with Wireless off, hdd spun down, Backlight min, laptop-mode, ondemand, echo 1 > /sys/devices/system/cpu/sched_mc_power_savings, echo 1500 > /proc/sys/vm/dirty_writeback_centisecs, ALPM on, firewire module unloaded, nvidia, hdaps (powertop 1.9)|| 10.8W (min) ~16.5W (usable brightness, wifi on) 39.7W (max, kernel compilation with -j3 option)<br />
|----<br />
|{{T23}}||Ubuntu 7.04|| || 10.7W<br />
|----<br />
|{{T40}}||Gentoo (2.6.23-rc6-hrt2)|| [http://www.linuxpowertop.org/patches/kernel-2.6.22-rc1.patch Bg-timer patch], HPET-patches, radeon, <tt>rovclock -c 105 -m 122</tt>, no DRI, sound power_save = Y, min. brightness, no networking, with USB, Laptop-Mode, X & 1x URxvt || 7,4W<br />
|----<br />
|{{T41p}}||Ubuntu 7.10|| Undervolted, fglrx, no dri; fan->+0.5W, powerstate=2->+0.7W, HD->+1.5W, no usb || 7.7W<br />
|----<br />
|{{T42}} (2373)||Debian 4.0 Etch|| Kernel 2.6.21_rc5 + hrtimer, rovclock -c 100 -m 120 (Radeon M10), no DRI, min bright. (+3W max), no wifi (+1W if idle) || 9.4W<br />
|----<br />
|{{T42}} (2373)||Ubuntu 8.10 Intrepid|| 14" 1024x768 Kernel 2.6.28+tickless+hrtimer, rovclock -c 110 -m 180 (Radeon M7), Xorg + DRI, min bright. (+2.5W max), lan & wifi down, laptop-mode enabled, ultrabay ejected, fan on (auto) || 7.8W<br />
|----<br />
|{{T42}} (2373)||Ubuntu 8.10 Intrepid|| 14" 1024x768 Kernel 2.6.28+tickless+hrtimer, rovclock -c 110 -m 180 (Radeon M7), Xorg + DRI, backlight off, lan & wifi down, laptop-mode enabled, ultrabay ejected, fan on (auto) || 5.6W<br />
|----<br />
|{{T43}} (1871)||Debian (Linux 2.6.21, fluxbox)|| DRI, alsa (power_save=1), with usb, no networking || 10.1W (12.0W with HD)<br />
|----<br />
|{{T43}} (2669)||Gentoo (2.6.20-gentoo-r5)|| Undervolted, fglrx (powerstate=1), DRI, no alsa, no usb modules, no networking || 12.7W<br />
|----<br />
|{{T43}} (2686)||Fedora Core 6 (2.6.19.x patched)|| Undervolted, radeon, <tt>rovclock -c 125 -m 130</tt>, no DRI, ALSA <tt>power_save=1</tt>, no usb modules, no networking, min brightness, HDD spun down || 15W<br />
|----<br />
|{{T60}} (2007)||Fedora Core 6|| Wireless kill switch on, 1400x1050 panel @ min brightness, fglrx (powerstate=1), HDD spun up (~1W saving without) || 16W<br />
|----<br />
|{{T60}} (2007)||Kubuntu 7.04|| 1400x1050 panel @ min brightness, hald killed, laptop mode enabled, wireless powersave|| 13.3 W<br />
|----<br />
|{{T60}} (2007)||KUbuntu 7.04|| Wireless on, 1680x1050 panel @ medium brightness, fglrx (powerstate=1) || 16W<br />
|----<br />
|{{T60}} (2623D6U)||Debian testing (linux-2.6.21-1-686)||1400x1050 14" min-bright, iwpriv wlan0 set_power 7, VESA driver|| 12,7W<br />
|----<br />
|{{T61}} ||Ubuntu 8.04 ||14" 1024x768 panel,intel graphics, 6% bright, wireless off, vanilla kernel 2.6.25|| 9.5W<br />
|----<br />
|{{T61}} ||Gentoo 2008.0 ||14" 1440x900 panel, nVidia, min brightness, wireless off, sound off, nvidia unloaded, laptop_mode, gentoo-sources 2.6.25-gentoo-r6, measured with powertop|| ~13W<br />
|----<br />
|{{X200s}}||Arch Linux||2.6.27.9, idle kde3, hda_intel power_save 5, HDD stopped, min brightness, radios off, pcie_aspm in powersave, 8bit color depth||6.2W<br />
|----<br />
|{{X200s}}||Arch Linux|| SL9400, 12.1" 1440x900 panel, min. brightness, wifi/bt off || 7.2W<br />
|----<br />
|{{X200s}}||Arch Linux||2.6.27.8, idle kde3 (9 int/s), hda_intel power_save 5, HDD stopped, min brightness, radios off, pcie_aspm in powersave||7.3W<br />
|----<br />
|{{X200s}}||Arch Linux||2.6.27.8, kde3+firefox+daemons, hda_intel power_save 5, HDD spinning up/down, brightness 6/15, wifi on, pcie_aspm in powersave||8.7W<br />
|----<br />
|{{X200s}}||Ubuntu 8.10||2.6.27.9, 12.1" 1280x800 panel, min. brightness, wifi/bt off, laptop_mode, total idle||7.3W<br />
|----<br />
|{{X200s}}||Ubuntu 8.10||2.6.27.9, 12.1" 1280x800 panel, half. brightness, wifi/bt off, laptop_mode, simple word-processing (open office) ||~10.5W<br />
|----<br />
|{{X200s}}||Ubuntu 8.10||2.6.27.9, 12.1" 1280x800 panel, half. brightness, wifi on, laptop_mode, active firefox, amarok playing (via airtunes), pidgin ||~12.5W<br />
|----<br />
|{{X21}}||Kubuntu 7.04|| Minimal consumption with kde loaded.||5.5W<br />
|----<br />
|{{X31}}||Debian Etch||2.6.22rc6+hrt1 patch+radeon patch||~ 8 W<br />
|----<br />
|{{X31}} (2672-C2G)||Debian Etch||vanilla 2.6.23rc8 tickless kernel, wireless rf-kill on, min brightness, hdd idle but spinning||~ 9.6 W<br />
|----<br />
|{{X32}}||Slackware||2.6.23.1+hrt3 patch, tickless kernel, undervolted to 0.716, ati gfx @ 90mhz core 90mhz mem, hdd is CF, min brightness, wifi ON||~ 8.2 W<br />
|----<br />
|{{X32}}||Slackware||2.6.23.1+hrt3 patch, tickless kernel, undervolted to 0.716, ati gfx @ 90mhz core 90mhz mem, hdd is CF, max brightness, wifi ON||~ 11 W<br />
|----<br />
|{{X40}}||Kubuntu 7.10||2.6.22, min brightness, wifi ON||~8.7W<br />
|----<br />
|{{X40}}||Opensuse 11.0; June08||std. install + laptop-mode-tools.rpm; 2.6.25, min brightness, wifi on. normal X-server, hd spun down||~8.0W<br />
|----<br />
|{{X41}}||Fedora 7||2.6.23.1+phc patch, tickless kernel, undervolted to 0.7, under X, min brightness, wifi ON||~11W<br />
|----<br />
|{{X60}}||Ubuntu 7.04||Wireless kill switch on, min brightness||10.2W<br />
|----<br />
|{{X60s}}||Debian Etch||2.6.21 tickless kernel, processes tweaked with powertop, usb/fw unloaded, hd spun down, min brightness, ipw3945 set to powersave mode 7||8.3W<br />
|----<br />
|{{X60s}}||Debian Etch||2.6.21 tickless kernel, processes tweaked with powertop, usb/fw unloaded, hd spun down, min brightness,ipw3945 unloaded||9W<br />
|----<br />
|{{X60s}}||Debian Lenny(testing)|| 2.6.22 tickless kernel, hrt-patch, alpm-patches, almost everything unloaded (wifi,pcmcia,ethernet,usb,firewire,sd,snd) and stopped (no X11,only cron/syslog), no vesa-fb, min brightness, 5 min idle, measured with powertop 1.7 (ACPI)||7.7W<br />
|----<br />
|{{X60s}}||Debian Lenny(testing)|| 2.6.22 tickless kernel, hrt-patch, alpm-patches, almost everything unloaded (wifi,pcmcia,ethernet,usb,firewire,sd,snd), with X11 (latest intel-xorg-driver, DRI enabled) and one x-terminal running, min brightness, 5 min idle, measured with powertop 1.7 (ACPI)||8.3W<br />
|----<br />
|{{X61}}||OpenSUSE 11.1|| 2.6.27.7 tickless, KDE 4.2 Beta2, X.Org 7.4 (dri on, fb compression enabled), BT/WiFi OFF, HDD spun down, brightness 0, fan running, default modules loaded, PowerTOP 1.10||10.4W (without X running 10.1W)<br />
|----<br />
|{{X61_Tablet}}||Ubuntu Gutsy(tribe6)|| 2.6.23-rc6-hrt1 x86_64, everything unloaded & stopped, lcd backlight off, hd powered down, powertop 1.8||8.5W<br />
|----<br />
|{{X61_Tablet}}||Xubuntu Gutsy|| 2.6.24-rc3, everything unloaded, lcd backlight 10%, hd powered down, powertop 1.8||7,8W<br />
|----<br />
|{{X61s}} (7666-36G)||Debian Sid|| 2.6.27.7, everything unloaded, HD spinned down, xbacklight -set 0, idle Xfce desktop, [http://tikei.de/sata-phy-poweroff_2.6.27.patch SATA poweroff patch], Xorg intel driver with framebuffer compression enabled||8,4W</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Problem_with_USB_2.0&diff=40896Problem with USB 2.02009-01-28T14:08:01Z<p>Bugmenot1: /* Mechanical Damage to Mainboard */</p>
<hr />
<div>==Problem description==<br />
On various (early?) T40 models, USB 2.0 may not function, or may function only at USB 1.1 speeds. Symptoms include inability to connect to USB 2.0 devices at USB 2.0 speeds, the "This device can perform faster" pop-up in Windows XP, device ID assignment error messages from the Linux kernel, and frequent reboots of the USB bus and connected devices.<br />
<br />
==Possible Causes==<br />
So far, two possible causes have been suggested. In both cases, replacing the system board is the only solution.<br />
<br />
===Fried Southbridge USB controller===<br />
The Southbridge chip (containing the USB controller) may have been damaged by static electricity:<br />
<br />
{{QUOTE|Matthias Himber|[http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-June/026884.html linux-thinkpad]|<br />
Short answer: your southbridge is about to die, get your system board replaced. Hopefully its still under warranty.<br />
<br />
Long answer: a number of Intel chipsets for Pentium IV and Pentium M processors have a design flaw that makes the southbridge (which contains the USB host controllers) especially sensitive to static electricity. As a result <br />
there is a (small) risk that when plugging in or removing a USB device causes damage to the chip. Usually, the first symptom is broken USB 2.0, behaving in exactly the way you described (ie, works under Windows, but only after some waiting and as if it was connected to a USB 1.1 controller, not a USB 2.0 one, and not at all under Linux unless you unload the USB 2.0 driver). This tends to lead to a completely dead chipset a short time later, so better get it serviced NOW.<br />
}}<br />
<br />
===Mechanical Damage to Mainboard===<br />
Mechanical damage (from bending, dropping or vibrating the laptop) can lead to components becoming desoldered from the mainboard and no longer having reliable electrical contact:<br />
{{QUOTE|?|?|<br />
My T41 shows the same symptoms. USB 2.0 works if I (gently) push the USB plug, or if I slightly flex my thinkpad. For example, it works when I put a pencil under the harddrive on an otherwise flat desk, so that the thinkpad only makes contact with the desk at 3 points (I type on an external keyboard). If I flex the other way, USB 2.0 never works. USB 1.1 always works reliably, irregardless of flexing / pushing the plug.<br />
}}<br />
<br />
The same behavior has also been observed on a T42, where the EHCI controller stopped working after structural damage to the laptop. Plugging in a USB 2.0 capable device will yield the following error in '''dmesg''':<br />
{{QUOTE|?|?|<br />
usb 4-4: new high speed USB device using ehci_hcd and address XX<br />
hub 4-0:1.0: unable to enumerate USB device on port 4<br />
hub 4-0:1.0: unable to enumerate USB device on port 4<br />
hub 4-0:1.0: unable to enumerate USB device on port 4<br />
}}<br />
Flexing the right palmrest area up seems to rectify the problem.<br />
<br />
<br />
Clearly, this is an electrical problem and not static electricity.<br />
<br />
==Solutions==<br />
This seems to be a hardware problem with the USB controller on Intel's chip or related electronics. Sending the laptop in for service may help.<br />
<br />
If the Linux kernel refuses to register the USB device, "modprobe -r ehci_hcd" may help. This disables USB 2.0 functionality for the session.<br />
<br />
Unloading ehci_hcd as per above confirmed to work on T41 running Ubuntu Edgy. Also worked on a T40 running Debian Lenny.<br />
<br />
== See Also ==<br />
[http://forums.cnet.com/5208-7586_102-0.html?forumID=68&threadID=151816 IBM X40 USB Problem] (fried USB on multiple {{X40}}s)</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Install_Ubuntu_8.10_(Intrepid_Ibex)_on_a_ThinkPad_T400&diff=40878Install Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad T4002009-01-27T02:05:42Z<p>Bugmenot1: /* Before Installation */</p>
<hr />
<div>[[:Category:T400|T400]] '''Site under construction. You are invited building an useful guidance!'''<br />
<br />
==Before Installation==<br />
<br />
Before you can start Ubuntu from CD or USB you have to change two BIOS settings:<br />
* Change to Internal or ATI Graphics with Config --> Display --> Graphics Device --> [Integrated graphics] or [Discrete Graphics]<br />
* Disable OS Detection for Switchable Graphics. Otherwise it will mysteriously switch back to Switchable Graphics.<br />
<br />
Now you can boot your Live-CD, connect to Wireless Lan, and install the OS.<br />
<br />
With one version of the installer CD, the installation works fine, but after rebooting it hangs with ATA errors. Solution was to boot the Live CD, mount the partition, chroot, and upgrade to the newest kernel (from 2.6.27-7 to 2.6.27-9).<br />
<br />
==What works out of the box?==<br />
<br />
*Wireless with iwlagn driver ([[Intel WiFi Link 5100/5300 WLAN controller]])<br />
**G mode + WEP and WPA2 PSK (If you have the ThinkPad 11b/g Wireless LAN mini PCI Express Adapter III (Aetheros Chipset), see below!)<br />
**with status LED and everything!<br />
*Bluetooth<br />
**Even with [[Bluetooth Laser Mouse]]<br />
**Note: Bluetooth can only be toggled together with WLAN on and off, to add a bluetooth-only-toggle (Fn+F6) that doesn't affect WLAN take a look [[ThinkPad_Bluetooth_with_Enhanced_Data_Rate_(BDC-2)|here]].<br />
*[[Ethernet Controllers#Intel Gigabit (10/100/1000)|Intel Gigabit Ethernet Controller]]<br />
*Intel driver for Integrated Graphics ([[Intel Integrated Intel GMA 4500MHD]])<br />
** with 3D acceleration out-of-the-box<br />
** VGA output - mirrored and extended desktop both work, but might need to run the following to enable 1600x1200 resolution<br />
{{cmduser|sudo dpkg-reconfigure -phigh xserver-xorg}}<br />
*ATI [[fglrx]] driver for Discrete Graphics ([[ATI Mobility Radeon 3470 graphics]])<br />
**To enjoy 3D acceleration, you have to install the proprietary [[fglrx]] Driver. (for example with the jockey-gtk tool)<br />
*Touchpoint and Trackpad<br />
**Including scroll at the right side of the pad by default. (for scrolling with the middle mouse button, see below!)<br />
*Optical drive<br />
**Not tested burning yet<br />
*Sound card<br />
**To use your internal microphone you have to change to "HDA Intel CONEXANT Analog (ALSA)" in audio-settings.<br />
*built-in webcam with Skype<br />
*7-in-1 card reader from Ricoh (MMC, Memory Stick, Mem Stick Pro, SD, SDHC, XD, XD Type H Memory)<br />
**Only tested SD cards.<br />
*Control buttons/Hotkeys<br />
**Volume control buttons<br />
**Screen brightness control (but changing brightness is a little bit diffuse. It's getting brighter but on maximum it changes to nearly lowest and get brighter again.)<br />
**Thinklight control<br />
**WLAN/BT/OFF toggle (Fn+F5 and mechanical toggle)<br />
**Media player control<br />
*Some ACPI features<br />
**Battery status, power graphs and history (tested with an single 6-Cell battery)<br />
**Lid states and events<br />
*Suspend/Hibernate on a fully updated System!<br />
<br />
==What needs some Tweaks?==<br />
<br />
====[[ThinkVantage Button]] {{ibmkey|ThinkVantage|#495988}}====<br />
<br />
Edit the file /usr/share/hotkey-setup/ibm.hk with adding this line:<br />
<br />
setkeycodes e017 148 #thinkpad button<br />
<br />
You have to restart, then you refer a program with the "System -> Preferences -> Keyboard Shortcuts"-Menu (eg. Terminal, Firefox,...).<br />
<br />
====Internal LCD Resolution Fix====<br />
<br />
The native screen resolution of 1440x900 is not detected automatically. The problem is that a secondary cloned display is set to 1360x768, and is being displayed on the integrated screen. Disable screen cloning, and disable the secondary display to fix the problem. For a complete fix, a restart of X is required (CTRL+ALT+BACKSPACE) is required, and when logging in again, you may need to fix your dock icon positions.<br />
<br />
However, GDM still displays at either 1152x864 or 1360x768, creating a fuzzy image, or leaving borders at right and bottom, respectively. But it isn't a problem after logging in.<br />
<br />
'''UPDATE:'''The solution posted above was too sparse for me. Instead, I found a new driver and compviz packages that fixed the problem using the v.2.5.0 of the intel drivers that are available here:https://launchpad.net/~thjaeger/+archive<br />
<br />
'''UPDATE:''' Thomas Jaeger no longer maintains the updated Intel drivers, but he helpfully directed me to the intel-gfx-testing team's Personal Package Archive (here:https://launchpad.net/~intel-gfx-testing/+archive) which does maintain them.<br />
<br />
Create a file /etc/apt/sources.list.d/intel-gfx-testing.list with the following contents:<br />
<br />
<pre><br />
deb http://ppa.launchpad.net/intel-gfx-testing/ubuntu intrepid main<br />
deb-src http://ppa.launchpad.net/intel-gfx-testing/ubuntu intrepid main<br />
</pre><br />
<br />
You can edit it using:<br />
<br />
<pre><br />
sudo gedit /etc/apt/sources.list.d/intel-gfx-testing.list<br />
</pre><br />
<br />
<br />
once you've closed gedit, update the list of updates by typing:<br />
<br />
<pre>sudo apt-get update</pre><br />
<br />
<br />
this will update the package db, and you should see the 'package update' icon light up. Open that up, and apply the updates. Alternately, you can open it via System->Administration->Update Manager<br />
<br />
Once the updates are applied, you will need to revert your /etc/X11/xorg.conf file if you've made any changes to it. You can do this via:<br />
<br />
sudo dpkg-reconfigure -phigh xserver-xorg<br />
<br />
<br />
Finally press ctrl-alt-backspace to restart the X-server.<br />
<br />
Now, once you've logged back in, under System->Preferences->Screen Resolution, you should see 1440x900 listed.<br />
<br />
Update: Works fine with intel out-of-the-box for me, maybe there was an update of X/intel driver?<br />
<br />
====Shutdown freezes sometimes====<br />
<br />
It seems that ALSA has problems to shut down if network devices are still active.<br />
You can force ALSA during its unloading to disable the networking first (remember to backup your files!):<br />
sudo gedit /etc/init.d/alsa-utils<br />
Search for "stop)" and add immediately below:<br />
<br />
ifconfig eth0 down<br />
ifconfig wlan0 down<br />
<br />
'''NOTE''' - This doesn't seem to be a problem with Madwifi drivers, it is created by the Intel wireless card?<br />
<br />
Now your shutdown should go smoothly.<br />
<br />
====VGA Output Resolution Fix====<br />
<br />
To enable 1600x1200 resolution to show up, run<br />
{{cmduser|sudo dpkg-reconfigure -phigh xserver-xorg}}<br />
<br />
====Suspend/Hibernate====<br />
<br />
'''UPDATE:''' On a fully updated 8.10-32bit-System Suspend and Hibernate now work out of the box. You do not need this workaround anymore!<br />
<br />
<br />
Neither Suspend nor Hibernate work out of the box. They fall asleep, but when waking up only the mousepointer is on the black screen, put neither keyboard, nor mouse showing response.<br />
<br />
Here's a [http://ubuntuforums.org/showthread.php?p=6057496 Ubuntu forum discussion thread] about the problem! <br />
<br />
Petri K posted a workaround, to get suspend and hibernate working:<br />
<br />
"I would say that this is a classical multiprocessor concurrency control problem! Disabling all but one core makes the bug disappear.<br />
Here is my suggestion for a workaround. Save in /etc/pm/sleep.d/00CPU with 755 permissions. <br />
Note that it has to be called 00CPU so that it gets executed before and after anything else."<br />
<br />
Open Terminal and type:<br />
<br />
{{cmduser|sudo gedit /etc/pm/sleep.d/00CPU}}<br />
<br />
Copy the following Code into gedit and save the file!<br />
<br />
#!/bin/sh<br />
# Workaround for concurrency bug in xserver-xorg-video-intel 2:2.4.1-1ubuntu10.<br />
# Save this as /etc/pm/sleep.d/00CPU<br />
<br />
. "${PM_FUNCTIONS}"<br />
<br />
case "$1" in<br />
hibernate|suspend)<br />
for i in /sys/devices/system/cpu/cpu*/online ; do<br />
echo 0 >$i<br />
done<br />
;;<br />
thaw|resume) <br />
sleep 10 # run with one core for 10 secs<br />
for i in /sys/devices/system/cpu/cpu*/online ; do<br />
echo 1 >$i<br />
done<br />
;;<br />
*)<br />
;;<br />
esac<br />
<br />
Then close gedit and copy this line into the terminal to set permission 755 (read, write and execute):<br />
<br />
{{cmduser|sudo chmod 755 /etc/pm/sleep.d/00CPU}}<br />
<br />
After reboot suspend and hibernate should work for you, because there is only one core running while doing this events.<br />
<br />
====ThinkPad 11b/g Wireless LAN mini PCI Express Adapter III (Atheros AR5007EG/AR2425 Chipset)====<br />
<br />
There are two options for drivers here, the ath5k project, or older Madwifi drivers. The Madwifi drivers are based on the older, closed source HAL by Atheros, and the ath5k driver are based on the newer open source HAL by Atheros. Note that you should not enable more than one Atheros driver, or they will conflict with each other (this includes ath5k, ath9k, and Madwifi). If you need both BG & N support, do not use ath5k & ath9k, use Madwifi instead (only applicable if you are running multiple wireless cards).<br />
<br />
'''NOTE:''' One user (with the a B/G card) reports that wireless performance was awful with the FOSS ath5k driver, but smooth and nice with Madwifi. YMMV - Also, the ath5k do not correctly detect hardware settings such as txpower.<br />
<br />
'''NOTE 2:''' Due to a conflict, in order to achieve a stable connection it may be necessary to remove linux-restricted-modules beforehand using the following command: "sudo update-rc.d -f linux-restricted-modules-common remove"<br />
http://madberry.org/2008/11/how-to-get-atheros-ar242x-to-work-on-810-intrepid-ibex/<br />
<br />
<br />
'''Installing the ath5k drivers from the compat-wireless package'''<br />
<br />
Original discussion thread: [http://ubuntuforums.org/showpost.php?p=6071960&postcount=2]<br />
<br />
1. Become the super user of the system:<br />
<br />
{{cmduser|sudo su}}<br />
<br />
*NOTE: Becareful here, as you have complete access to the system, and can do damage if careless. Optionally, you can work as a normal user, and preface each command with sudo.<br />
<br />
Disable any currently running Madwifi drivers by running this in the terminal:<br />
<br />
{{cmdroot|rmmod ath_pci; rmmod ath_hal}}<br />
<br />
3. These drivers require source compilitation, so the build-essential package is required:<br />
<br />
{{cmdroot|apt-get install build-essential}}<br />
<br />
4. Enter the /usr/src directory, and download the source package:<br />
<br />
{{cmdroot|cd /usr/src; wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2008-10-31.tar.bz2}}<br />
<br />
5. Extract the source and enter the directory:<br />
<br />
{{cmdroot|tar xjvf compat-wireless-2008-10-31.tar.bz2; cd compat-wireless-2008-10-31}}<br />
<br />
6. Take a quick look at the README:<br />
<br />
{{cmdroot|less README}}<br />
<br />
7. Begin the compiliation process<br />
<br />
{{cmdroot|make}}<br />
<br />
8. Next, disable any active wireless connections, and run a script to make sure all wireless drivers that are going to be replaced are unloaded:<br />
<br />
{{cmdroot|make unload}}<br />
<br />
9. Install the drivers:<br />
<br />
{{cmdroot|make install}}<br />
<br />
10. If everything completed without errors, load the ath5k module:<br />
<br />
{{cmdroot|modprobe ath5k}}<br />
<br />
11. Check to make sure the new drivers detected the wireless card (you may need to adjust the interface name if you have several wireless cards):<br />
<br />
{{cmdroot|ifconfig wlan0 up; iwconfig}}<br />
<br />
NOTE: When I first installed these drivers, they were unable to bring the MAC chip up, and needed a restart.<br />
<br />
12. Clean the src directory<br />
<br />
{{cd /usr/src; rm compat-wireless-2008-10-31}}<br />
<br />
NOTE: You can also delete the compat-wireless-2008-10-31/ folder if you need to recover the space, but it is useful to keep because the Makefile has a 'make uninstall' switch.<br />
<br />
13. Last, blacklist any other drivers that may interfere with the new ath5k drivers:<br />
<br />
{{echo "blacklist ath_pci" >> /etc/modprobe.d/blacklist; echo "blacklist ath_hal" >> /etc/modprobe.d/blacklist}}<br />
<br />
'''Installing the Madwifi drivers:''' <br />
<br />
The following instructions were originally found here [http://ubuntuforums.org/showpost.php?p=5711824&postcount=6]:<br />
<br />
1. Under System/Administration/HarwareDrivers disable "Support for Atheros 802.11 wireless LAN cards<br />
<br />
2. Reboot<br />
<br />
3. The kernel headers and the compiler are needed to build this driver so install build-essential. In a terminal window (Applications/Accessories/Terminal) enter:<br />
<br />
{{cmduser|sudo apt-get install build-essential}}<br />
<br />
4. Install Subversion<br />
<br />
{{cmduser|sudo apt-get install subversion}}<br />
<br />
5. Checkout the Madwifi drivers to a directory on your local disk<br />
<br />
{{cmduser|cd~}}<br />
{{cmduser|mkdir madwifi}}<br />
{{cmduser|cd madwifi}}<br />
{{cmduser|svn co https://svn.madwifi.org/madwifi/branches/madwifi-hal-0.10.5.6}}<br />
<br />
6. Build the drivers<br />
<br />
{{cmduser|cd madwifi-hal-0.10.5.6}}<br />
{{cmduser|make}}<br />
<br />
7. Install the drivers<br />
<br />
{{cmduser|make install}}<br />
<br />
8. Add the Atheros kernel module to the list of modules to be automatically loaded at boot by adding "ath_pci" (without the quotes) to the end of the /etc/modules file and save the file<br />
<br />
{{cmduser|sudo gedit /etc/modules}}<br />
<br />
9. Now you can reboot and it should work. <br />
<br />
====Scrolling with Trackpoint====<br />
<br />
Create a new file called /etc/hal/fdi/policy/mouse-wheel.fdi typing:<br />
<br />
{{cmduser|sudo gedit /etc/hal/fdi/policy/mouse-wheel.fdi}}<br />
<br />
And fill it with this code:<br />
<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.XAxisMapping" type="string">6 7</merge><br />
<merge key="input.x11_options.YAxisMapping" type="string">4 5</merge><br />
<merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge><br />
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge><br />
</match><br />
<br />
Source: [http://psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html]<br />
<br />
(Based on code from [http://mvogt.wordpress.com/2008/08/15/xorg-evdev-and-emulatewheel/ Michael Vogt] and adapted to support both vertical and horizontal scrolling.)<br />
<br />
'''Note:''' If you change to another Shell (<ctrl><alt>F1 etc) the Trackpoint does not scroll anymore. Restarting the Xserver works and can most easily done by choosing "switch user" and than log in again. All programs stay open and it does not take much time.<br />
<br />
<br />
====Enabling Touchpad on/off key====<br />
Source: [[https://help.ubuntu.com/community/SynapticsTouchpad#shmconfig]]<br />
The SHMConfig is now controlled through hal. In the past this was done through xorg.conf<br />
<br />
You have to add the file <br />
{{cmduser|sudo gedit /etc/hal/fdi/policy/shmconfig.fdi}}<br />
with the following content:<br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="input.x11_driver" string="synaptics"><br />
<merge key="input.x11_options.SHMConfig" type="string">True</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
<br />
After this change please reboot. Restarting hal doesn't help.<br />
<br />
==What doesn't work at the moment?==<br />
<br />
====[[Integrated Fingerprint Reader]]====<br />
<br />
Theres a new chipset build in, the "AuthenTec AES2810". So neither the [http://thinkfinger.sourceforge.net thinkfinger] nor the [http://www.reactivated.net/fprint/wiki/Main_Page fprint] Project support this Device at the moment.<br />
<br />
lsusb:<br />
Bus 002 Device 004: ID 08ff:2810 AuthenTec, Inc.<br />
<br />
Daniel from fprint Project wrote in their mailing list, that support for our device is in development!<br />
For more information look here: [http://reactivated.net/fprint/wiki/Unsupported_devices fprint Unsupported devices]<br />
<br />
====[[Switchable Graphics]]====<br />
<br />
I installed Ubuntu 8.10 with the on-board Intel Graphic chip. So 3D acceleration works out-of-the-box.<br />
<br />
Then I booted with the ATI Graphics, which was no problem, because the [[radeon]] driver works very well, but only in 2D.<br />
<br />
After installing [[fglrx]] packages, jockey also found out, that proprietary drivers are available. So i let him configure my xorg.conf:<br />
<br />
Section "Monitor"<br />
Identifier "Configured Monitor"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Default Screen"<br />
Monitor "Configured Monitor"<br />
Device "Configured Video Device"<br />
DefaultDepth 24<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Configured Video Device"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "ATI Technologies Inc Mobility Radeon HD 3400 Series"<br />
BusID "PCI:01:00.0"<br />
Driver "fglrx"<br />
EndSection<br />
<br />
After reboot also Compiz works (but not so smooth as with Intel, i allege)<br />
<br />
'''Problem:''' Strating up with integrated graphic again, no 3D desktop works. After removing all [[fglrx]] packages, Compiz normally works.<br />
<br />
So i changed my xorg.conf using the [[radeon]] driver, succeeding to have 3D on onboard Graphics and 2D on ATI Graphics.<br />
<br />
I also tried [[radeonhd]] driver, which does not work.<br />
<br />
'''Note 1:''' I got tired of going in to BIOS to switch chipsets, so I explicitly set the BusID in xorg.conf. The problem with this approach is that power consumption doubles, even when you are not using the discrete graphics card. I had 28W consumption when in switchable graphics mode, and 16W consumption when I configured "Integrated graphics" in BIOS.<br />
<br />
'''Note 2:''' fglrx diverts libGL.so.1.2 that is installed by mesa. This means that you can't simply swap xorg.conf files and kernel modules, you need to replace libGL.so.1.2 with the proper one if you want restart X with a certain chipset.<br />
<br />
{{Todo|Maybe anybody can get both working!}}<br />
<br />
<br />
====Menu-Key====<br />
<br />
I changed keyboard modell to "IBM Thinkpad R60/T60/R61/T61" using the "German Dead acute" Layout.<br />
<br />
But also with these settings my menu-key does not work.<br />
I tried to refer it with Firefox using the keyborad shortcuts-tool. It writes: "XF86WakeUp"<br />
<br />
'''Problem:''' The FN-Key also writes "XF86WakeUp", which is not so practical, so I removed allocation!<br />
<br />
{{Todo| Is ist possible to have a real menu-key?}}<br />
<br />
==Not tested yet==<br />
<br />
====[[Active Protection System]]====<br />
<br />
There is no patch for Kernel 2.6.27-7 at the moment to use [[HDAPS]]. See also [[How to protect the harddisk through APS]].<br />
<br />
====VGA/HDMI====<br />
*NEC MultiSync LCD 2190UX - VGA tested and working in mirrored and extended desktop modes (had to run {{cmduser|sudo dpkg-reconfigure -phigh xserver-xorg}} to get 1600x1200 resolution to show up)<br />
{{todo|please test other external monitors!}}<br />
<br />
<br />
[[Category:T400]][[Category:Ubuntu]][[Category:Ubuntu_8.10]]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&diff=40433List of DMI IDs2008-12-31T16:29:32Z<p>Bugmenot1: </p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
This page maintains a database of [http://en.wikipedia.org/wiki/Desktop_Management_Interface DMI] information which can be used to identify ThinkPad models. It is intended as an aid for driver development.<br />
{{HELP|We need more information about older models, especially those released before 2004. Please [[#Adding_entries|add your model]] to the database.}}<br />
{{NOTE|If your ThinkPad is not using the [[BIOS Upgrade Downloads|latest BIOS]], and you would be willing to [[BIOS Upgrade|upgrade your BIOS]], please add your ThinkPad to this table twice: '''before''' and '''after''' the BIOS upgrade. This information helps us a great deal, so your contribution would be very appreciated.}}<br />
|}<br />
<br />
==DMI ID database==<br />
<br />
<div style="font-size: 80%"><br />
{| border="1" cellspacing="0" cellpadding="2"<br />
|-<br />
! Model<br />
! <tt>system-<br />manufa<br />cturer</tt><br />
! <tt>system-<br />product-<br />name</tt><br />
! <tt>system-<br />version</tt><br />
! <tt>baseboard-<br />manufa<br />cturer</tt><br />
! <tt>baseboard-<br />product-<br />name</tt><br />
! <tt>baseboard-<br />version</tt><br />
! <tt>chassis-<br />manufa<br />cturer</tt><br />
! <tt>chassis-<br />version</tt><br />
! <tt>bios-<br />vendor</tt><br />
! <tt>bios-<br />version</tt><br />
! <tt>bios-<br />release-<br />date</tt><br />
! Embedded controller<br />
! Notes<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====Numbered series====<br />
|-<br />
| {{240X}} 2609-61U<br />
|| IBM || 260961U || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 1.03.09 || 12/21/1999 <br />
||<br />
||<br />
|-<br />
| {{570E}} 2644-5AU<br />
|| IBM || 26445AU || Not Available || IBM || 26445AU || Not Available || IBM || Not Available || IBM || IUET25WW || 12/11/1999<br />
||<br />
||<br />
|-<br />
| {{600E}} 2645-5AU<br />
|| IBM || 26455AU || Not Available || IBM || 26455AU || Not Available || IBM || Not Available || IBM || INET36WW || 11/20/1999<br />
||<br />
||<br />
|-<br />
| {{600X}} 2645-5FU<br />
|| IBM || 26455FU || Not Available || IBM || 26455FU || Not Available || IBM || Not Available || IBM || INET55WW || 11/30/1999<br />
||<br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====A series====<br />
|-<br />
| {{A21m}} 2628-FSG<br />
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET24WW (1.02b) || 12/19/2000 <br />
|| <br />
||<br />
|-<br />
| {{A21m}} 2628-FSG<br />
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET36WW (1.09 ) || 05/08/2003 <br />
||<br />
||<br />
|-<br />
| {{A21m}} 2628-GTU<br />
|| IBM || 2628GTU || Not Available || IBM || 2628GTU || Not Available || IBM || Not Available || IBM || KXET29WW (1.03d) || 03/21/2001 <br />
||<br />
||<br />
|-<br />
| {{A22p}} 2629-USG<br />
|| IBM || 2629USG || Not Available || IBM || 2629USG || Not Available || IBM || Not Available || IBM || KYET36WW (1.09a) || 10/17/2002 <br />
||<br />
|| {{WARN|Outdated BIOS}}<br />
|-<br />
| {{A22p}} 2629-A2G<br />
|| IBM || 2629A2G || Not Available || IBM || 2629A2G || Not Available || IBM || Not Available || IBM || KYET38WW (1.11 ) || 05/20/2004 <br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{A31}} 2652-PBU<br />
|| IBM || 2652PBU || Not Available || IBM || 2652PBU || Not Available || IBM || Not Available || IBM || 1NET15WW (1.09 ) || 04/06/2005<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1NHT04WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{A31p}} 2653-RNG<br />
|| IBM || 2653RNG || Not Available || IBM || 2653RNG || Not Available || IBM || Not Available || IBM || 1NET16WW (1.10 ) || 10/19/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1NHT08WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{A31p}} 2653-H6U<br />
|| IBM || 2653H6U || Not Available || IBM || 2653H6U || Not Available || IBM || Not Available || IBM || 1GET31WW (1.03 ) || 07/23/2002<br />
||<br />
|| {{WARN|Missing EC string, extremely outdated BIOS}}{{HELP|We need a report to know if the latest BIOS fixes the missing EC string}}<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====G series====<br />
|-<br />
| {{G41}} 2881-75M<br />
|| IBM || 288175M || ThinkPad G41 || IBM || 288175M || Not Available || IBM || Not Available || IBM || 1XET47WW (1.06 ) || 01/14/2005<br />
||<br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
====R series====<br />
|-<br />
| {{R40}} 2681-5UU<br />
|| IBM || 26815UU || Not Available || IBM || 26815UU || Not Available || IBM || Not Available || IBM || 1OET57WW (1.23 ) || 03/23/2005 <br />
||<br />
|| {{WARN|Outdated BIOS}}<br />
|-<br />
| {{R40}} 2681-HSG<br />
|| IBM || 2681HSG || Not Available || IBM || 2681HSG || Not Available || IBM || Not Available || IBM || 1OET61WW (1.27 ) || 06/29/2006<br />
||<br />
|| {{WARN|Outdated BIOS}}<br />
|-<br />
| {{R40}} 2722-B3G<br />
|| IBM || 2722B3G || Not Available || IBM || 2722B3G || Not Available || IBM || Not Available || IBM || 1PET62WW (1.30 ) || 09/29/2005<br />
||<br />
||<br />
|-<br />
| {{R40}} 2897-B4U<br />
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1PET52WW (1.20 ) || 03/03/2004<br />
||<br />
||<br />
|-<br />
| {{R40e}} 2684-L8G<br />
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1SET62WW (1.30 ) || 07/09/2004<br />
||<br />
|| {{WARN|Outdated BIOS}}<br />
|-<br />
| {{R50}} 1829-7QG<br />
|| IBM || 0123456 || ThinkPad R50 || IBM || 0123456 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
|{{R50e}} 1834-JAG<br />
|| IBM || 1834JAG || ThinkPad R50e || IBM || 1834JAG || Not Available || IBM || Not Available || IBM || 1WET82WW (2.02 ) || 02/21/2005<br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
|{{R50p}} 1832-2AG<br />
|| IBM || 18322AG || ThinkPad R50p || IBM || 18322AG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 1829-DRG<br />
|| IBM || 1829DRG || ThinkPad R51 || IBM || 1829DRG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a ]-</nowiki> <br />
||<br />
|-<br />
| {{R51}} 1829-9MG<br />
|| IBM || 18299MG || ThinkPad R51 || IBM || 18299MG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 1829-L7G<br />
|| IBM || 1829L7G || ThinkPad R51 || IBM || 1829L7G || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT70WW-3.03 ]-</nowiki><br />
||<br />
|- <br />
| {{R51}} [[1830-DG4]]<br />
|| IBM || 1830DG4 || ThinkPad R51 || IBM || 1830DG4 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} [[1830-DG4]]<br />
|| IBM || 1830DG4 || ThinkPad R51 || IBM || 1830DG4 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 1836-GEU<br />
|| IBM || 1836GEU || ThinkPad R51 || IBM || 1836GEU || Not Available || IBM || Not Available || IBM || 1RETDLWW (3.17 ) || 07/27/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes. String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R51}} 2883-ELU<br />
|| IBM || 2883ELU || ThinkPad R51 || IBM || 2883ELU || Not Available || IBM || Not Available || IBM || 1VET69WW (1.27 ) || 03/03/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-AQG<br />
|| IBM || 1846AQG || ThinkPad H || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04 ]-</nowiki><br />
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}<br />
|-<br />
| {{R52}} 1846-AQG<br />
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET68WW (1.28 ) || 11/15/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-AQG<br />
|| IBM || 1846AQG || ThinkPad R52p || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET69WW (1.29 ) || 12/06/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1847-CTO<br />
|| IBM || 1847W15 || ThinkPad R52 || IBM || 1847W15 || Not Available || IBM || Not Available || IBM || 76ET69WW (1.29 ) || 12/06/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1847-W62<br />
|| IBM || 1847W62 || ThinkPad . || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04 ]-</nowiki><br />
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}<br />
|-<br />
| {{R52}} 1847-W62<br />
|| IBM || 1847W62 || ThinkPad R52 || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1858-6MM<br />
|| IBM || 18586MM || ThinkPad R52 || IBM || 18586MM || Not Available || IBM || Not Available || IBM || 70ET40WW (1.04 ) || 06/02/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1858-6SM<br />
|| IBM || 18586SM || ThinkPad R52 || IBM || 18586SM || Not Available || IBM || Not Available || IBM || 70ET57WW (1.17 ) || 07/15/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-4CG<br />
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT15WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-4CG<br />
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{R52}} 1846-B5G<br />
|| IBM || 1846B5G || ThinkPad H || IBM || 1846B5G || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{R60e}} 0657-4TG<br />
|| LENOVO || 06574TG || ThinkPad R60e || LENOVO || 06574TG || Not Available || LENOVO || Not Available || LENOVO || 7EET18WW (1.04 ) || 07/28/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7EHT13WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9456-6FG<br />
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9456-6FG<br />
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CETB7WW (2.07 ) || 11/13/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9461-54G<br />
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9461-54G<br />
|| LENOVO || 946154G || ThinkPad R60 || LENOVO || 946154G || Not Available || LENOVO || Not Available || LENOVO || 7CETC1WW (2.11 ) || 01/09/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
|| {{NOTE|With this bios version the brightness control buttons don't work for kernel < 2.6.20}}<br />
|-<br />
| {{R60}} 9460MR2<br />
|| LENOVO || 9460MR2 || ThinkPad R60 || LENOVO || 9460MR2 || Not Available || LENOVO || Not Available || LENOVO || 7CETC6WW (2.16 ) || 04/18/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9461-DXG<br />
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETB6WW (2.06 ) || 10/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9461-DXG<br />
|| LENOVO || 9461DXG || ThinkPad R60 || LENOVO || 9461DXG || Not Available || LENOVO || Not Available || LENOVO || 7CETD2WW (2.22 ) || 05/28/2008 || <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT22WW-1.10 ]-</nowiki><br />
||<br />
|-<br />
| {{R60}} 9462-GAG<br />
|| LENOVO || 9462GAG || ThinkPad R60 || LENOVO || 9462GAG || Not Available || LENOVO || Not Available || LENOVO || 7CETB5WW (2.05 ) || 10/13/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7CHT21WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 8918-5QG<br />
|| LENOVO || 89185QG || ThinkPad R61 || LENOVO || 89185QG || Not Available || LENOVO || Not Available || LENOVO || 7KETA7WW (2.07 ) || 12/06/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 8919-W4P<br />
|| LENOVO || 8919W4P || ThinkPad R61 || LENOVO || 8919W4P || Not Available || LENOVO || Not Available || LENOVO || 7KET76WW (1.26 ) || 10/18/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
|| {{NOTE|According to the sticker on the bottom of the notebook as well as according to Lenovo web it is 8919-CTO subtype}}<br />
|-<br />
| {{R61}} 8919-W6X<br />
|| LENOVO || 8919W6X || ThinkPad R61 || LENOVO || 8919W6X || Not Available || LENOVO || Not Available || LENOVO || 7KET71WW (1.21 ) || 08/22/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
|<br />
|| LENOVO || 8919W6X || ThinkPad R61 || LENOVO || 8919W6X || Not Available || LENOVO || Not Available || LENOVO || 7KETB9WW (2.19 ) || 06/05/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 8919-DFG<br />
|| LENOVO || 8918DFG || ThinkPad R61 || LENOVO || 8918DFG || Not Available || LENOVO || Not Available || LENOVO || 7KETA9WW (2.09 ) || 12/27/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
|| <br />
|-<br />
| {{R61}} 8943-DMG<br />
|| LENOVO || 8943DMG || ThinkPad R61 || LENOVO || 8943DMG || Not Available || LENOVO || Not Available || LENOVO || 7QET34WW (1.16 ) || 03/24/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7QHT15WW-1.00 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 7733-1ES<br />
|| LENOVO || 77331ES || ThinkPad R61 || LENOVO || 77331ES || Not Available || LENOVO || Not Available || LENOVO || 7LETB0WW (2.10 ) || 01/21/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61}} 7733-1ES<br />
|| LENOVO || 77331ES || ThinkPad R61 || LENOVO || 77331ES || Not Available || LENOVO || Not Available || LENOVO || 7LETB4WW (2.14 ) || 03/24/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R61i}} 7650-D7G<br />
|| LENOVO || 7650D7G || ThinkPad R61e || LENOVO || 7650D7G || Not Available || LENOVO || Not Available || LENOVO || 7PETB0WW (2.10 ) || 01/21/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{R400}} 7439-A85<br />
|| LENOVO || 7439A85 || ThinkPad R400 || LENOVO || 7439A85 || Not Available || LENOVO || Not Available || LENOVO || 7UET45WW (1.15 ) || 09/08/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====S series====<br />
|-<br />
| {{s30}} 2639-4WJ<br />
|| IBM || 26394WJ || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 18ET45WW (1.45) || 07/10/2001<br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====SL series====<br />
|-<br />
| {{SL500}} 2746-3ZG<br />
|| LENOVO. || 27463ZG || ThinkPad SL500 || LENOVO || BOXSTER || LENOVO 6AET42WW || LENOVO || LENOVO 6AET42WW || LENOVO || 6AET42WW || 08/04/2008 <br />
|| <nowiki></nowiki><br />
|| {{WARN|IdeaPad EC and BIOS. This is an IdeaPad in disguise.}}<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====T series====<br />
|-<br />
| {{T20}} 2647-UC2<br />
|| IBM || 2647UC2 || Not Available || IBM || 2647UC2 || Not Available || IBM || Not Available || IBM || IYET45WW (1.08a) || 12/21/1999<br />
||<br />
|| {{WARN|Very outdated BIOS}}<br />
|-<br />
| {{T21}} 2647-8AU<br />
|| IBM || 26478AU || Not Available || IBM || 26478AU || Not Available || IBM || Not Available || IBM || KZET34WW (1.16 ) || 04/28/2004<br />
||<br />
||<br />
|-<br />
| {{T22}} 2647-4EG<br />
|| IBM || 26474EG || Not Available || IBM || 26474EG || Not Available || IBM || Not Available || IBM || 16ET31WW (1.11 ) || 03/20/2003 <br />
||<br />
||<br />
|-<br />
| {{T22}} 2647-8EU<br />
|| IBM || 26478EU || Not Available || IBM || 26478EU || Not Available || IBM || Not Available || IBM || 16ET32WW (1.12 ) || 04/27/2004<br />
||<br />
||<br />
|- <br />
| {{T23}} 2647-4MG<br />
|| IBM || 26474MG || Not Available || IBM || 26474MG || Not Available || IBM || Not Available || IBM || 1AET58WW (1.14a) || 09/11/2002 <br />
|| <nowiki></nowiki><br />
||<br />
|- <br />
| {{T23}} 2647-4MG<br />
|| IBM || 26474MG || Not Available || IBM || 26474MG || Not Available || IBM || Not Available || IBM || 1AET64WW (1.20 ) || 10/18/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a ]-</nowiki><br />
||<br />
|- <br />
| {{T23}} 2647-4NU<br />
|| IBM || 26474NU || Not Available || IBM || 26474NU || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a ]-</nowiki><br />
||<br />
|-<br />
| {{T23}} 2647-8MG<br />
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13 ) || 07/02/2002<br />
||<br />
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}<br />
|-<br />
| {{T23}} 2647-8MG<br />
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-85G<br />
|| IBM || 236685G || Not Available || IBM || 236685G || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1IHT18WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-GU1<br />
|| IBM || 2366GU1 || Not Available || IBM || 2366GU1 || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1IHT19WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T30}} 2366-JBU<br />
|| IBM || 2366JBU || Not Available || IBM || 2366JBU || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T40}} 2378-D2U<br />
|| IBM || 2378D2U || ThinkPad T40 || IBM || 2378D2U || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004<br />
|| <br />
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}<br />
|-<br />
| {{T40p}} 2373-G1G<br />
|| IBM || 2373G1G || ThinkPad T40p || IBM || 2373G1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41}} 2373-W63<br />
|| IBM || 2373W63 || ThinkPad T41 || IBM || 2373W63 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki> <br />
||<br />
|-<br />
| {{T41}} 2373-XNX<br />
|| IBM || 2373XNX || ThinkPad T41 || IBM || 2373XNX || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41}} 2373-2FG<br />
|| IBM || 23732FG || ThinkPad T41 || IBM || 23732FG || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003<br />
||<br />
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}<br />
|-<br />
| {{T41}} 2374-312<br />
|| IBM || 2374312 || ThinkPad T41 || IBM || 2374312 || Not Available || IBM || Not Available || IBM || 1RETDRWW (3.23 ) || 06/18/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41}} 2379-DJU<br />
|| IBM || 2379DJU || ThinkPad T41 || IBM || 2379DJU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41p}} 2373-GHG <br />
|| IBM || 2373GHG || ThinkPad T41p || IBM || 2373GHG || Not Available || IBM || Not Available || IBM || 1RETDIWW (3.14 ) || 01/20/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41p}} 2373-GEG<br />
|| IBM || 2373GEG || ThinkPad T41p || IBM || 2373GEG || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005<br />
|| <nowiki> Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T41p}} 2373-GJJ<br />
|| IBM || 2373GJJ || ThinkPad T41p || IBM || 2373GJJ || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42}} 2373-FWG<br />
|| IBM || 2373FWG || ThinkPad T42 || IBM || 2373FWG || Not Available || IBM || Not Available || IBM || 1RETDHWW (3.13 ) || 10/29/2004<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42}} 2373-M1G<br />
|| IBM || 2373M1G || ThinkPad T42 || IBM || 2373M1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|- <br />
| {{T42}} 2374-WEH<br />
|| IBM || 2374WEH || ThinkPad T42 || IBM || 2374WEH || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki> <br />
||<br />
|-<br />
| {{T42}} 2378-FVU<br />
|| IBM || 2378FVU || ThinkPad T42 || IBM || 2378FVU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2373-KXU<br />
|| IBM || 2373KXU || ThinkPad T42p || IBM || 2373KXU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2373-KUU<br />
|| IBM || 2373KUU || ThinkPad T42p || IBM || 2373KUU || Not Available || IBM || Not Available || IBM || 1RETDMWW (3.18 ) || 09/15/2005<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2373-GYG<br />
|| IBM || 2373GYG || ThinkPad T42p || IBM || 2373GYG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2374-CP5<br />
|| IBM || 2374CP5 || ThinkPad T42p || IBM || 2374CP5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2379-DYU<br />
|| IBM || 2379DYU || ThinkPad T42p || IBM || 2379DYU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T42p}} 2372-Q2G<br />
|| IBM || 2373Q2G || ThinkPad T42p || IBM || 2373Q2G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 1871-4AG<br />
|| IBM || 18714AG || ThinkPad T43 || IBM || 18714AG || Not Available || IBM || Not Available || IBM || 70ET64WW (1.24 ) || 02/13/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT27WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 1871-F1G<br />
|| IBM || 1871F1G || ThinkPad T43 || IBM || 1871F1G || Not Available || IBM || Not Available || IBM || 70ET61WW (1.21 ) || 11/01/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 2686-DGU<br />
|| IBM || 2686DGU || ThinkPad T43 || IBM || 2686DGU || Not Available || IBM || Not Available || IBM || 1YET62WW (1.27 ) || 05/18/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T43}} 2669-WE5<br />
|| IBM || 2669WE5 || ThinkPad T43 || IBM || 2669WE5 || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 <br />
|| <nowiki>String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
|| {{NOTE|User reports this is really a 2669-CEU with 1GB RAM + BlueTooth, and not a 2669-WE5 (unverified if this makes sense)}}<br />
|-<br />
| {{T43p}} 2668-G2G<br />
|| IBM || 2668G2G || ThinkPad T43p || IBM || 2668G2G || Not Available || IBM || Not Available || IBM || 1YET47WW (1.08 ) || 06/09/2005 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T43p}} 2687-D5U<br />
|| IBM || 2687D5U || ThinkPad T43p || IBM || 2687D5U || Not Available || IBM || Not Available || IBM || 1YET59WW (1.24 ) || 11/07/2005<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1951-24G<br />
|| LENOVO || 195124G || ThinkPad T60 || LENOVO || 195124G || Not Available || LENOVO || Not Available || LENOVO || 79ET65WW (1.09a) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1952-W5R<br />
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ET61WW (1.06 ) || 05/24/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1952-W5R<br />
|| LENOVO || 1952W5R || ThinkPad T60 || LENOVO || 1952W5R || Not Available || LENOVO || Not Available || LENOVO || 79ETD2WW (2.12 ) || 04/12/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2007-49G<br />
|| LENOVO || 200749G || ThinkPad T60 || LENOVO || 200749G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006 <br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2007-77G<br />
|| LENOVO || 200777G || ThinkPad T60 || LENOVO || 200777G || Not Available || LENOVO || Not Available || LENOVO || 79ETD1WW (2.11 ) || 03/15/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 1951-CA2<br />
|| LENOVO || 1951CA2 || ThinkPad T60 || LENOVO || 1951CA2 || Not Available || LENOVO || Not Available || LENOVO || 79ETD9WW (2.19 ) || 09/19/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60}} 2007-BF3<br />
|| LENOVO || 2007BF3 || ThinkPad T60 || LENOVO || 2007BF3 || Not Available || LENOVO || Not Available || LENOVO || 79ETD7WW (2.17 ) || 08/23/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-83U<br />
|| LENOVO || 200783U || ThinkPad T60p || LENOVO || 200783U || Not Available || LENOVO || Not Available || LENOVO || 79ET60WW (1.05a) || 04/18/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[79HT43WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93G<br />
|| LENOVO || 200793G || ThinkPad T60p || LENOVO || 200793G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93U<br />
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93U<br />
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-93U<br />
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2007-ZK4<br />
|| LENOVO || 2007ZK4 || ThinkPad T60p || LENOVO || 2007ZK4 || Not Available || LENOVO || Not Available || LENOVO || 79ETD3WW (2.13 ) || 04/30/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2613-ESU<br />
|| LENOVO || 2613ESU || ThinkPad T60p || LENOVO || 2613ESU || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b ]-</nowiki><br />
||<br />
|-<br />
| {{T60p}} 2623-DDU<br />
|| LENOVO || 2623DDU || ThinkPad T60p || LENOVO || 2623DDU || Not Available || LENOVO || Not Available || LENOVO || 79ETC3WW (2.03 ) || 11/10/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[79HT50WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 6457-W2C<br />
|| LENOVO || 6457W2C || ThinkPad T61 || LENOVO || 6457W2C || Not Available || LENOVO || Not Available || LENOVO || 7LETB0WW (2.10 ) || 01/21/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 6460-EBG<br />
|| LENOVO || 6460EBG || ThinkPad T61 || LENOVO || 6460EBG || Not Available || LENOVO || Not Available || LENOVO || 7LETB7WW (2.17 ) || 04/25/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 6460-EBG<br />
| LENOVO || 6460EBG || ThinkPad T61 || LENOVO || 6460EBG || Not Available || LENOVO || Not Available || LENOVO || 7LETC4WW (2.24 ) || 08/15/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 6465-CTO<br />
|| LENOVO || 6465CTO || ThinkPad T61 || LENOVO || 6465CTO || Not Available || LENOVO || Not Available || LENOVO || 7LETB2WW (2.12 ) || 02/20/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT24WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 7662-XDU<br />
|| LENOVO || 7662XDU || ThinkPad T61 || LENOVO || 7662XDU || 7662XDU|| LENOVO || Not Available || LENOVO || 7LET37WW (1.07 ) || 04/17/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7KHT19WW-1.03 ]-</nowiki><br />
|| {{WARN|BIOS and EC firmware have different IDs}}<br />
|-<br />
| {{T61}} 7661-A56<br />
|| LENOVO || 7661A56 || ThinkPad T61 || LENOVO || 7661A56 || Not Available || LENOVO || Not Available || LENOVO || 7LET39WW (1.09 ) || 05/14/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT21WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 8897-CTO<br />
|| LENOVO || 8897CTO || ThinkPad T61 || LENOVO || 8897CTO || Not Available || LENOVO || Not Available || LENOVO || 7LET52WW (1.22 ) || 08/27/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T61}} 8897-CTO<br />
|| LENOVO || 8897CTO || ThinkPad T61 || LENOVO || 8897CTO || Not Available || LENOVO || Not Available || LENOVO || 7LET56WW (1.26 ) || 10/18/2007 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
|| <br />
|- <br />
| {{T61p}} 6459-A12<br />
|| LENOVO || 6459A12 || ThinkPad T61p || LENOVO || 6459A12 || Not Available || LENOVO || Not Available || LENOVO || 7LET56WW (1.26 ) || 10/18/2007<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7KHT22WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{T500}} 2055-45G<br />
|| LENOVO || 205545G || ThinkPad T500 || LENOVO || 205545G || Not Available || LENOVO || Not Available || LENOVO || 6FET49WW (1.19 ) || 10/17/2008<br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7VHT12WW-1.01 ]-</nowiki><br />
|| <br />
|- <br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====X series====<br />
|-<br />
| {{X20}} 266231G<br />
|| IBM || 266231G || Not Available || IBM || 266231G || Not Available || IBM || Not Available || IBM || IZET9DWW (2.25 ) || 04/17/2003<br />
||<br />
||<br />
|-<br />
|| 266232G || IBM || 266232G || Not Available || IBM || 266232G || Not Available || IBM || Not Available || IBM || IZET9AWW (2.22 ) || 09/11/2002<br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{X23}} 2662EBG<br />
|| IBM || 2662EBG || Not Available || IBM || 2662EBG || Not Available || IBM || Not Available || IBM || 1DET70WW (1.32 ) || 06/10/2003<br />
|| <nowiki></nowiki><br />
||<br />
|-<br />
| {{X24}} 2662-MPU<br />
|| IBM || 62MPUFX || Not Available || IBM || 62MPUFX || Not Available || IBM || Not Available || IBM || 1DET67WW (1.29 ) || 12/18/2002<br />
||<br />
||<br />
|-<br />
| {{X30}} 2672-42G<br />
|| IBM || 267242G || Not Available || IBM || 267242G || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06 ]-</nowiki><br />
||<br />
|- <br />
| {{X30}} 2672-4HU<br />
|| IBM || 26724HU || Not Available || IBM || 26724HU || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06 ]-</nowiki><br />
||<br />
|-<br />
| {{X30}} 2672-PG3<br />
|| IBM || 2672PG3 || Not Available || IBM || 2672PG3 || Not Available || IBM || Not Available || IBM || 1KET48WW (1.09 ) || 06/16/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1KHT18WW-1.06 ]-</nowiki> <br />
||<br />
|-<br />
| {{X31}} 2672-JXU<br />
|| IBM || 2672JXU || ThinkPad X31 || IBM || 2672JXU || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{X31}} 2672-FG2<br />
|| IBM || 2672FG2 || ThinkPad X31 || IBM || 2672FG2 || Not Available || IBM || Not Available || IBM || 1QET73WW (2.11 ) || 02/13/2004 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT16WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X31}} 2672-FG2<br />
|| IBM || 2672FG2 || ThinkPad X31 || IBM || 2672FG2 || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{X32}} 2884-A3U<br />
|| IBM || 2884A3U || ThinkPad X32 || IBM || 2884A3U || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b ]-</nowiki><br />
||<br />
|-<br />
| {{X32}} 2673-M4U<br />
|| IBM || 2673M4U || ThinkPad X32 || IBM || 2673M4U || Not Available || IBM || Not Available || IBM || 1QET97WW (3.02 ) || 09/22/2005<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1QHT23WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2386-H4G<br />
|| IBM || 2386H4G || ThinkPad X40 || IBM || 2386H4G || Not Available || IBM || Not Available || IBM || 1UET92WW (1.42 ) || 09/16/2004 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-Y29<br />
|| IBM || 2371Y29 || ThinkPad X40 || IBM || 2371Y29 || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHTA6WW-1.56 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-W9F<br />
|| IBM || 2371W9F || ThinkPad X40 || IBM || 2371W9F || Not Available || IBM || Not Available || IBM || 1UETC8WW (2.03 ) || 09/28/2005 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62 ]-</nowiki><br />
||<br />
|-<br />
| {{X40}} 2371-W9F<br />
|| IBM || 2371W9F || ThinkPad X40 || IBM || 2371W9F || Not Available || IBM || Not Available || IBM || 1UETD3WW (2.08 ) || 12/21/2006 <br />
|| <nowiki>Handle 0x0024, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[1UHTB2WW-1.62 ]-</nowiki><br />
||<br />
|-<br />
| {{X41}} 2525-HU1<br />
|| IBM || 2525HU1 || ThinkPad X41 || IBM || 2525HU1 || Not Available || IBM || Not Available || IBM || 74ET48WW (1.17a) || 06/07/2005<br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[74HT25WW-1.00 ]-</nowiki><br />
||<br />
|-<br />
| {{X41t}} 1869-CLG<br />
|| IBM || 1869CLG || ThinkPad X41 Tablet || IBM || 1869CLG || Not Available || IBM || Not Available || IBM || 75ET56WW (2.02 ) || 03/14/2006<br />
|| <nowiki>Handle 0x0025, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[75HT19WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{X60}} 1709-47U<br />
|| LENOVO || 170947U || ThinkPad X60 || LENOVO || 170947U || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X60}} 1709-GDJ<br />
|| LENOVO || 1709GDJ || ThinkPad X60 || LENOVO || 1709GDJ || Not Available || LENOVO || Not Available || LENOVO || 7BETC2WW (2.03 ) || 10/16/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT36WW-1.09 ]-</nowiki><br />
||<br />
|-<br />
| {{X60}} 1706-B69<br />
|| LENOVO || 1706B69 || ThinkPad X60 || LENOVO || 1706B69 || Not Available || LENOVO || Not Available || LENOVO || 7BETC8WW (2.09 ) || 03/14/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT37WW-1.10 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1702-55G<br />
|| LENOVO || 170255G || ThinkPad X60s || LENOVO || 170255G || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1702-5FG<br />
|| LENOVO || 17025FG || ThinkPad X60s || LENOVO || 17025FG || Not Available || LENOVO || Not Available || LENOVO || 7BET49WW (1.09 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT34WW-1.07 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1704-56G<br />
|| LENOVO || 170456G || ThinkPad X60s || LENOVO || 170456G || Not Available || LENOVO || Not Available || LENOVO || 7BET43WW (1.03 ) || 02/13/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7BHT28WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{X60s}} 1704-5UG<br />
|| LENOVO || 17045UG || ThinkPad X60s || LENOVO || 17045UG || Not Available || LENOVO || Not Available || LENOVO || 7BETD2WW (2.13 ) || 08/10/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7BHT40WW-1.13 ]-</nowiki><br />
||<br />
|-<br />
| {{X60t}} 6365-CTO<br />
|| LENOVO || 6365CTO || ThinkPad X60 Tablet || LENOVO || 6365CTO || Not Available || LENOVO || Not Available || LENOVO || 7JET25WW (1.10 ) || 08/17/2007 <br />
|| <nowiki>Handle 0x0023, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7JHT13WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{X60t}} 6363-J3G<br />
|| LENOVO || 6363J3G || ThinkPad X60 Tablet || LENOVO || 6363J3G || Not Available || LENOVO || Not Available || LENOVO || 7JET28WW (1.13 ) || 03/31/2008<br />
|| <nowiki>Handle 0x0023, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7JHT13WW-1.04 ]-</nowiki><br />
|| A mean bitch to set up, nothing really worked out of the box :(<br />
|-<br />
| {{X60t}} 6363A7G<br />
|| LENOVO || 6363A7G || ThinkPad X60 Tablet || LENOVO || 6363A7G || Not Available || LENOVO || Not Available || LENOVO || 7JET19WW (1.04 ) || 12/14/2006 <br />
|| <nowiki>Handle 0x0023, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7JHT12WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X61}} 7675-4KU<br />
|| LENOVO || 76754KU || ThinkPad X61 || LENOVO || 76754KU || Not Available || LENOVO || Not Available || LENOVO || 7NET30WW (1.11 ) || 11/15/2007<br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7MHT24WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X61}} 7675-7KU<br />
|| LENOVO || 76757KU || ThinkPad X61 || LENOVO || 76757KU || Not Available || LENOVO || Not Available || LENOVO || 7NETB1WW (2.11 ) || 03/24/2008<br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 bytes IBM ThinkPad Embedded Controller -[7MHT25WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{X61t}} 7762-95G<br />
|| LENOVO || 776295G || ThinkPad X61 Tablet || LENOVO || 776295G || Not Available || LENOVO || Not Available || LENOVO || 7SET22WW (1.08 ) || 11/15/2007 <br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X61t}} 7764-CTO<br />
|| LENOVO || 7764CTO || ThinkPad X61 Tablet || LENOVO || 7764CTO || Not Available || LENOVO || Not Available || LENOVO || 7SET18WW (1.04 ) || 07/03/2007<br />
|| <nowiki>Handle 0x001F, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7RHT16WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{X200}} Tablet 7449-F9U<br />
|| LENOVO || 7449F9U || ThinkPad X200 Tablet || LENOVO || 7449F9U || Not Available || LENOVO || Not Available || LENOVO || 7WET24WW (1.02 ) || 09/09/2008 <br />
|| <nowiki>Handle 0x001D, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7WHT14WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{X300}} 6478-14G<br />
|| LENOVO || 647814G || ThinkPad X300 || LENOVO || 647814G || Not Available || LENOVO || Not Available || LENOVO || 7TET23WW (1.00d) || 01/17/2008 <br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c ]-</nowiki><br />
||<br />
|-<br />
| {{X300}} 6478-18M<br />
|| LENOVO || 647818M || ThinkPad X300 || LENOVO || 647818M || Not Available || LENOVO || Not Available || LENOVO || 7TET26WW (1.02a) || 02/27/2008 <br />
|| <nowiki>Handle 0x0022, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7THT15WW-1.00c ]-</nowiki><br />
||<br />
|-<br />
| {{X301}} 2777-CTO<br />
|| LENOVO || 2777CTO || ThinkPad X301 || LENOVO || 2777CTO || Not Available || LENOVO || Not Available || LENOVO || 6EET19WW (1.00g) || 07/30/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6EHT07WW-1.00b ]-</nowiki><br />
||<br />
|-<br />
| {{X301}} 2777-CTO<br />
|| LENOVO || 2777CTO || ThinkPad X301 || LENOVO || 2777CTO || Not Available || LENOVO || Not Available || LENOVO || 6EET21WW (1.02 ) || 10/09/2008 <br />
|| <nowiki>Handle 0x0028, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[6EHT09WW-1.02 ]-</nowiki><br />
|| <br />
|- <br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====Z series====<br />
|-<br />
| {{Z60t}} 2511-FEU<br />
|| IBM || 2511FEU || ThinkPad Z60t || IBM || 2511FEU || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005<br />
|| <nowiki> String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{Z60t}} 2511-FFG<br />
|| IBM || 2511FFG || ThinkPad Z60t || IBM || 2511FFG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[77HT57WW-1.17 ]-</nowiki><br />
||<br />
|- <br />
| {{Z60m}} 2529-ETG<br />
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET59WW (1.19 ) || 04/24/2006<br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[77HT54WW-1.14 ]-</nowiki><br />
||<br />
|-<br />
| {{Z60m}} 2529-ETG<br />
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET64WW (1.24 ) || 02/27/2007 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18 ]-</nowiki><br />
||<br />
|-<br />
| {{Z60m}} 2529-FBG<br />
|| IBM || 2529FBG || ThinkPad Z60m || IBM || 2529FBG || Not Available || IBM || Not Available || IBM || 77ET62WW (1.22 ) || 11/21/2006 <br />
|| <nowiki>Handle 0x0029, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[77HT58WW-1.18 ]-</nowiki><br />
||<br />
|- <br />
| {{Z60m}} 2529-FKG<br />
|| IBM || 2529FKG || ThinkPad Z60m || IBM || 2529FKG || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005<br />
|| <nowiki>String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9453-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET48WW (1.08 ) || 05/26/2006<br />
|| <nowiki>String 1: IBM ThinkPad Embedded Controller -[7FHT21WW-1.03 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9452-8QG<br />
|| LENOVO || 94528QG || ThinkPad Z61m || LENOVO || 94528QG || Not Available || LENOVO || Not Available || LENOVO || 7FETA4WW (2.22 ) || 10/19/2007<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
|| <br />
|- <br />
| {{Z61m}} 9452-W5Q<br />
|| LENOVO || 9452W5Q || ThinkPad Z61m || LENOVO || 9452W5Q || Not Available || LENOVO || Not Available || LENOVO || 7FETA6WW (2.24 ) || 03/13/2008<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
|-<br />
| {{Z61m}} 9543-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9543-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET93WW (2.11 ) || 11/10/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61m}} 9453-A11<br />
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61p}} 9453-A12<br />
|| LENOVO || 9453A12 || ThinkPad Z61p || LENOVO || 9453A12 || Not Available || LENOVO || Not Available || LENOVO || 7FET45WW (1.05 ) || 04/20/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 bytes String 1: IBM ThinkPad Embedded Controller -[7FHT19WW-1.01 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61p}} 9450-3AU<br />
|| LENOVO || 94503AU || ThinkPad Z61p || LENOVO || 94503AU || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006<br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9440-2CU<br />
|| LENOVO || 94402CU || ThinkPad Z61t || LENOVO || 94402CU || Not Available || LENOVO || Not Available || LENOVO || 7FET50WW (1.10 ) || 06/20/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT22WW-1.04 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9443-4GG<br />
|| LENOVO || 94434GG || ThinkPad Z61t || LENOVO || 94434GG || Not Available || LENOVO || Not Available || LENOVO || 7FET96WW (2.14 ) || 12/25/2006 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9440-CTO<br />
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FET99WW (2.17 ) || 04/17/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9440-CTO<br />
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA0WW (2.18 ) || 05/17/2007 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
| {{Z61t}} 9440-CTO<br />
|| LENOVO || 9440CTO || ThinkPad Z61t || LENOVO || 9440CTO || Not Available || LENOVO || Not Available || LENOVO || 7FETA7WW (2.25 ) || 06/03/2008 <br />
|| <nowiki>Handle 0x0026, DMI type 11, 5 byte String 1: IBM ThinkPad Embedded Controller -[7FHT26WW-1.08 ]-</nowiki><br />
||<br />
|-<br />
! colspan=14 style="text-align:center;background:#efefef;" |<br />
<br />
====Lenovo 3000 series====<br />
|-<br />
| [[:Category:Lenovo 3000| Lenovo 3000]] N200 TY2BAFR<br />
|| LENOVO || 0769BAG || 3000 N200 || LENOVO || IEL10 || REFERENCE || No Enclosure || N/A || LENOVO || 68ET24WW || 08/15/2007 <br />
|| <nowiki></nowiki><br />
|| {{WARN|Non-ThinkPad EC firmware and BIOS}}<br />
|-<br />
|}<br />
</div><br />
<br />
==Adding entries==<br />
<br />
Click the "Edit" link on the appropriate series above and add an entry of the following form:<br />
:<tt>| </tt><i>description of your model</i><br />
:<i>data line 1</i><br />
:<i>data line 2</i><br />
:<tt>||</tt><br />
:<tt>|-</tt><br />
<br />
where the two data lines are generated by the following <tt>bash</tt> command:<br />
<br />
<pre><br />
for X in system-{manufacturer,product-name,version} \<br />
baseboard-{manufacturer,product-name,version} \<br />
chassis-{manufacturer,version} bios-{vendor,version,release-date}; do \<br />
echo -n "|| `sudo /usr/sbin/dmidecode -s $X` "; done; \<br />
sudo /usr/sbin/dmidecode | perl -0777 -ne \<br />
'm/\n(.*).\n.*\n(.*Embedded Cont.*)\n/i; print "\n|| <nowiki><</nowiki>nowiki>$1$2</nowiki>\n"'<br />
</pre><br />
<br />
If you can, please also test [[tp_smapi]] and update its [[tp_smapi#Model-specific_status|model-specific status table]].<br />
<br />
==Software using ThinkPad DMI IDs==<br />
* [[HDAPS]] driver whitelist<br />
* [[tp_smapi]] driver whitelist<br />
* [[ibm-acpi]]/thinkpad-acpi driver quirk list</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=How_to_protect_the_harddisk_through_APS&diff=40277How to protect the harddisk through APS2008-12-16T14:54:42Z<p>Bugmenot1: update link to gentoo bugzie</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
This page tells you how to make the [[Active Protection System]] work under Linux to protect your harddrive from damage in case of a notebook drop or other kind of impact while it is running.<br />
<br />
Specific instructions for {{Fedora}} can be found [[Installing_Fedora_Core_5_on_a_ThinkPad_X41_Tablet#Harddrive_Active_Protection_System_.28HDAPS.29|here]].<br />
<br />
For {{Debian}} (Etch) have a look at [[Installing_Debian_Etch_on_a_ThinkPad_Z60m#Active_Protection_System|this]].<br />
<br />
== How APS works in Linux ==<br />
APS in Linux consists of four components on the software side:<br />
* The [[HDAPS]] driver (included in recent kernels). It exports a sysfs interface providing the acceleration values.<br />
* The <tt>hdaps_protect</tt> disk protection kernel patch, which exports a sysfs interface that enables an ide or sata disk to be protected by a userspace process. You should get the patch appropriate to your kernel version from [http://news.gmane.org/group/gmane.linux.drivers.hdaps.devel/last=/force_load=t gmane.linux.drivers.hdaps.devel].<br />
* The [http://www.dresco.co.uk/hdaps/ <tt>hdapsd</tt>] disk protection userspace daemon. It monitors the acceleration values through the HDAPS interface and automatically initiates disk protection through the hdaps_protect interface - given that the movement exceeds a user specified threshold.<br />
* Optional: the [http://roy.marples.name/node/269 <tt>khdapsmonitor KDE System Tray applet</tt>] or the [http://www.dresco.co.uk/hdaps/ <tt>gnome-hdaps-applet</tt>]. These applets provide a visual indication of the disk protection status and also a graphical interface for adjusting configuration options for <tt>hdapsd</tt>.<br />
* For Kernel 2.6.28 it's planned to put a general disc protection directly into the libata driver<br />
|}<br />
<br />
==Installation==<br />
As mentioned above, the hdaps kernel driver found in recent kernels is only responsible for reading the accelerometer data and exporting it through the sysfs interface. <br />
<br />
In order to use this information to protect the disk, some additional steps are required.<br />
<br />
* Download and build the latest hdaps_protect disk protection kernel patches.<br />
* Enable the drivers in the kernel (requires kernel rebuild).<br />
* Download, build and configure the hdapsd userspace daemon.<br />
* Download and build one of the applets to get a real-time representation of the disk protection status.<br />
<br />
===Getting the files===<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
! Latest Sources<br />
|<br />
See [[HDAPS#Disk_head_parking|HDAPS - Disk head parking]]<br />
|-<br />
! {{Debian}}<br />
|<br />
*<tt>hdapsd</tt> package: http://packages.debian.org/unstable/misc/hdapsd<br />
|-<br />
! {{Fedora}}<br />
| see instructions [[Installing_Fedora_Core_5_on_a_ThinkPad_X41_Tablet#Harddrive_Active_Protection_System_.28HDAPS.29|here]]<br />
*kernel RPM packages including <tt>hdaps_protect</tt>: http://www.dresco.co.uk/hdaps/ <br />
*kernel RPM packages including <tt>hdaps_protect</tt> and [[Software Suspend 2]]: http://mhensler.de/swsusp/download/yum/development/fc5/ (build 2084_2 and up)<br />
|-<br />
! {{Gentoo}}<br />
|<br />
*<tt>hdapsd</tt>: [http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-laptop/hdapsd available]<br />
*<tt>khdapsmonitor</tt>: [http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-laptop/khdapsmonitor available]<br />
|}<br />
<br />
=== Adding kernel support ===<br />
A kernel patch is required for disk head parking and queue freezing.<br />
<br />
==== Manually patching and compiling a kernel ====<br />
As root, do:<br />
:{{cmdroot|cd /usr/src/linux}}<br />
:{{cmdroot|patch -p1 < ~/hdaps_protect.20060409.patch}}<br />
:{{cmdroot|make clean}}<br />
:{{cmdroot|make}}<br />
:{{cmdroot|make modules_install}}<br />
<br />
==== Zen-Sources patched kernel ====<br />
Another way to achieve this is using zen-sources kernel. <br />
It has hdaps patches applied. Additional it supports many other IBM futures like tp_smapi and newest thinkpad_acpi.<br />
<br />
Download page for this kind of kernel is http://zen-sources.org/<br />
<br />
After downloading a kernel image unpack it to ''/usr/src/linux'' with<br />
:{{cmdroot|tar jxf zen-sources-2.6-version-zen0.tar.bz2 }}<br />
<br />
Installation is similar to previous one.<br />
<br />
As root, do:<br />
:{{cmdroot|make oldconfig}}<br />
:{{cmdroot|make clean}}<br />
:{{cmdroot|make}}<br />
:{{cmdroot|make modules_install}}<br />
<br />
'''make oldconfig''' command will ask you for some information. It's required to tap '''m''' or '''y''' on "HDAPS" functionality, and on some other things connected with Thinkpad.<br />
<br />
=== Installing hdapsd ===<br />
==== Manual compilation from source ====<br />
{{NOTE|1=There has been a new release of hdapsd which doesn't use sysfs anymore and therefore reduces timer interrupts. You need tp_smapi 0.32 for this. See also: http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1040 .}}<br />
* Download the <tt>hdapsd</tt> sources (see above)<br />
* Compile using {{cmdroot|gcc -o hdapsd hdapsd-*.c}}<br />
* Run {{cmdroot|./hdapsd -d sda -s 12 -a}} (replace <tt>sda</tt> with your hard disk device; run {{cmdroot|./hdapsd}} without arguments for help)<br />
<br />
==== Gentoo ====<br />
{{NOTE|1=hdapsd was added to the official portage tree on the 26th June 2006. However the version in portage is to be considered outdated. (20060409)}}<br />
{{Gentoo}} users can try the ebuild attached to [http://bugs.gentoo.org/show_bug.cgi?id=166166 gentoo bug 166166].<br />
*Add hdapsd support in your kernel: device drivers -> hardware monitoring -> ... (you need it as a module if you want to use tp_smapi and hdaps, see [[Tp_smapi]])<br />
*Download the ebuild, use same ebuild date as the kernel-patch.<br />
*Make known the portage an extern ebuild path and add the following line to {{path|/etc/make.conf}}:<br />
PORTDIR_OVERLAY="/usr/local/portage/" (or any other location)<br />
*Create directory {{path|/usr/local/portage}} and {{path|/usr/local/portage/app-laptop/}}<br />
*Copy the downloaded ebuild to {{path|/usr/local/portage/app-laptop}} ({{path|/usr/local/portage/app-laptop/hdapsd}} should now exists)<br />
*Make portage known the new ebuild and creat digist with:<br />
:{{cmdroot|ebuild /usr/local/portage/app-laptop/hdapsd/hdapsd-20060326.ebuild digest}}<br />
*Optional: Copy source file to portage distfiles (if no internet connection is available): <br />
:{{cmdroot|cp hdapsd-20060326.c /usr/portage/distfiles}}<br />
*Accept the x86 keyword for this package: {{cmdroot|echo "app-laptop/hdapsd ~x86" >> /etc/portage/package.keywords}}<br />
*Install hdapsd with: {{cmdroot|emerge hdapsd}}.<br />
*Edit {{path|/etc/conf.d/hdapsd}} (change your harddrive if neccessary: mine is sda, and change the value from 5, 5 is to sensitive, 12 is a good value in my opinion).<br />
*start deamon with: {{cmdroot|/etc/init.d/hdapsd start}}<br />
*Optional: add to default runlevel: {{cmdroot|rc-update add hdapsd default, rc-update add hdapsd battery}}<br />
Write an eMail to abartel[äd]htwm.de, if you want to get my hdapsd-20060326.ebuild and please upload it.<br />
<br />
==== Ubuntu ====<br />
hdapsd is available via synaptic for Hardy Heron.<br />
<br />
=== Building an applet ===<br />
====hdaps-gl====<br />
*Make sure you have installed hdaps [and loaded] and ?opengl?<br />
*Download [https://sourceforge.net/project/showfiles.php?group_id=138242 hdaps-gl-0.0.5] from the web.<br />
*Extract files to {{path|/opt/hdaps-gl}}.<br />
*{{cmdroot|make}}<br />
*Start the applet: {{cmdroot|./hdaps-gl}}<br />
<br />
==Troubleshooting==<br />
See the [[Problem with APS harddisk parking]] page for troubleshooting APS issues.<br />
{{NOTE|1=If you use [[tp_smapi]], remember to include the option <tt>HDAPS=1</tt> when [[Tp_smapi#Installation|installing tp_smapi]]. Also, you might need to build the hdaps driver as module.}}<br />
<br />
==Further Information==<br />
*Additonal information and support is available through the [[Mailinglists#HDAPS Developers Mailinglist|hdaps-devel]] mailinglist and its archive.<br />
<br />
<br />
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:T61]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Z61m]] [[Category:Z61e]] [[Category:Z61m]]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=HDAPS&diff=40231HDAPS2008-12-14T21:06:38Z<p>Bugmenot1: added link to standalone ThinkHDAPS version</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
=== HDAPS - IBM Active Protection System Linux Driver ===<br />
This is the Linux driver for monitoring the accelerometer known as [[Active Protection System|IBM Active Protection System]].<br />
<br />
The driver only enables reading of the acceleration data. It does '''not''' perform [[#Harddisk Protection|automatic disk head parking]]. But there are already some other useful [[#Applications|applications]] for HDAPS, using the {{path|/sys}} interface it provides.<br />
<br />
{{WARN|There are two versions of the hdaps driver, one in the Linux kernel mainline, and another provided by [[tp_smapi]]. '''Use of the tp_smapi version of hdaps is strongly recommended by the current hdaps developers.'''}}<br />
|}<br />
<br />
=== Features ===<br />
*provides accelerometer values via sysfs<br />
*provides a joystick type input device<br />
<br />
=== Project Homepage / Availability ===<br />
*[http://hdaps.sourceforge.net/ Project Homepage]<br />
*The driver is included in the 2.6-mm series of kernels since August, 26th 2005.<br />
*The driver is now in the mainline (2.6.14).<br />
*The [[tp_smapi]] package contains some patches to this driver. These are necessary for some recent models, and recommended for all.<br />
<br />
=== Status ===<br />
A driver is included in recent Linux kernels and is actively maintained, but it is very inferior to the driver in tp_smapi (which provides its own hdaps module).<br />
<br />
=== How to install the driver ===<br />
Recent Linux kernels include the <tt>hdaps</tt> driver. However, the driver in the mainline Linux kernel has two problems with recent models:<br />
* It doesn't whitelist them (you have to edit hdaps_init() in drivers/hwmon/hdaps.c to include a line like <tt>HDAPS_DMI_MATCH_LENOVO("ThinkPad T60")</tt>)<br />
* It doesn't work reliably, e.g., it may read out constant values (0,0). See [http://sourceforge.net/mailarchive/message.php?msg_id=15350314 here].<br />
<br />
To solve both problems, install the modified hdaps that is bundled with [[tp_smapi]].<br />
<br />
=== Harddisk Protection ===<br />
As mentioned above, the hdaps kernel driver is only responsible for reading the accelerometer data and exporting it through the sysfs interface. In order to use this information to protect the disk, some additional steps are required.<br />
<br />
See [[How to protect the harddisk through APS]].<br />
<br />
=== Input device support ===<br />
In more recent versions of the Linux kernel, the hdaps exports event devices with the accelerometer data. These devices can be used as-is by some programs (e.g. hdapsd), but for most they must be handled by the additional kernel module <code>joydev</code>.<br />
<br />
When both modules are loaded, joydev will provide standard joystick device emulation for hdaps (standard hdaps exports just one joystick device. enhanced hdaps from tp_smapi will export two due to issues still unsolved on joydev, but the second one must not be used as a joystick).<br />
<br />
{{WARN|Letting a program bind to these joystick devices can cause surprising results if you are not aware of it. e.g.: mplayer can act quite strangely. Also, letting a program bind to the second joystick device from enhanced HDAPS is guaranteed to be trouble}}<br />
<br />
Udev can be used to create device nodes in /dev for use by user space programs that access the joystick, and to set appropriate permissions.<br />
<br />
In order for non-root users to access these device files, their permissions must be tweaked a little through an appropriate udev rule and corresponding "joy" group.<br />
<br />
{{cmdroot|addgroup joy}}<br><br />
{{cmdroot|adduser <you> joy}}<br><br />
<code># echo 'SUBSYSTEM=="input", KERNEL=="js*", MODE="0660", GROUP="joy"' >> /etc/udev/hdaps-joy.rules</code><br><br />
{{cmdroot|ln -s ../hdaps-joy.rules /etc/udev/rules.d/z60_hdaps-joy.rules}}<br><br />
<br />
Programs you can use to test and calibrate the device files include <code>jscalibrator</code> (gui) and <code>jstest</code>/<code>jscal</code> (cli) packaged together (at least in Debian) simply as "joystick".<br />
<br />
=== Applications ===<br />
====Disk head parking====<br />
You will need the kernel patch below and the hdapsd userspace daemon. The GUI monitoring is optional.<br />
<br />
See [[How to protect the harddisk through APS]] for more information.<br />
<br />
===== Kernel patch =====<br />
Due to significant changes in the way the libata module which handles disk i/o, applying any of the currently available patches to kernel 2.6.24 will intermittently cause system hangs when the queue is frozen (i.e., the heads are parked). It is recommended either that you stay at kernel [http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.17.tar.bz2 2.6.23] or do without disk protection in 2.6.24 until the kinks have been worked out. There has been significant work on the part of [http://lkml.org/lkml/2008/2/25/478 Elias Oltmanns], author of the more recent patches, to get this worked out and eventually get shock protection built into the mainline kernel.<br />
<br />
Below are some links to patches for various Linux kernel versions. As noted above, your mileage may vary with the 2.6.24-rc3 patch as it was after this release candidate that things stopped working nicely. <br />
{{HINT|To apply a patch, change to the root directory of the kernel tree and run<br><code>patch -p1 -l < hdaps_xx.patch</code>}}<br />
* New interface (requires hdapsd dated 2008-10-04 or newer)<br />
** Expected in mainline kernel 2.6.28<br />
** [http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1393 disk-protect patch for kernel 2.6.27.2]<br />
* Old interface<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1324/raw disk-protect patch for kernel 2.6.26]<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1297/raw disk-protect patch for kernel 2.6.26-rc9]<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1245/raw disk-protect patch for kernel 2.6.25-rc9] &mdash; may cause system locks (same as patch for 2.6.24-rc3). Apply [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2008-February/042226.html this fix] before.<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1094 disk-protect patch for kernel 2.6.24-rc3] &mdash; may cause system locks (see [http://marc.info/?l=linux-thinkpad&m=120259594519907 here], [http://marc.info/?l=linux-thinkpad&m=120259929023300 here] and try [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2008-February/042226.html this fix])<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1092 disk-protect patch for 2.6.23.8] + [http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1113 error check fix]<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1077 disk-protect patch for 2.6.22.9 and 2.6.23-rc9]<br />
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/993 disk-protect patch for 2.6.20-rc6]<br />
* Ancient interface<br />
**[http://www.nabble.com/attachment/9047418/0/hdaps_protect-2.6.20.patch.bz2 Latest sata/ide disk protection patch for 2.6.20]<br />
**[http://article.gmane.org/gmane.linux.kernel/470413 Latest sata/ide disk protection patch for 2.6.19-rc6]<br />
**[http://www.dresco.co.uk/hdaps/hdaps_protect-2.6.18.3-2.patch Latest sata/ide disk protection patch for 2.6.18.3]<br />
**[http://exitzero.de/t41p-configs/hdaps_protect-2.6.17.1-20060625.patch Untested patch for 2.6.17.1]: see [http://thread.gmane.org/gmane.linux.drivers.hdaps.devel/708/focus=708]<br />
**[http://whoopie.gmxhome.de/linux/patches/2.6.17.14-tj/03-hdaps_protect-20060430-for-2.6.17-tj.patch Latest sata/ide disk protection patch for use with the libata hotplug 2.6.17.4 patches] - See [[How_to_hotswap_UltraBay_devices]]<br />
**[http://whoopie.gmxhome.de/linux/patches/2.6.16-tj/05-hdaps_protect-20060430-for-2.6.16-tj.patch Latest sata/ide disk protection patch for use with the libata hotplug 2.6.16.16 patches] - See [[How_to_hotswap_UltraBay_devices]]<br />
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060430.patch Latest sata/ide disk protection patch for 2.6.16]<br />
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060118.patch sata/ide disk protection patch for 2.6.15]<br />
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.15.patch disk park patch adapted for the t41p model] <tt> kernel 2.6.15 ([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)</tt><br />
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.14.patch disk park patch adapted for the t41p model] <tt> kernel 2.6.14 ([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)</tt><br />
**[http://lwn.net/Articles/154923/ disk park patch] <tt>an experimental patch for parking the disk (Linux 2.6.14 for 2.6.15 see below)</tt><br />
<br />
===== Userspace daemon =====<br />
*Current version: [http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1372] or [http://www.zen24593.zen.co.uk/hdaps/hdapsd-20081004.c]<br><br />
This version optionally reduces timer interrupts (as measured by [[PowerTOP]]), and thereby reduces power consumption on modern ("tickless") Linux kernels. Interrupt reduction requires the <tt>hdaps</tt> kernel module from [[tp_smapi]] 0.32 or newer, and a udev rule. If these are not present, it will default to an older polling method that is slightly more power-hungry. The udev rule helps hdapsd find the input device, and on most distributions it can be created as follows:<br />
# echo 'KERNEL=="event[0-9]*", ATTRS{phys}=="hdaps/input1",ATTRS{modalias}=="input:b0019v1014p5054e4801-*",SYMLINK+="input/hdaps/accelerometer-event"' \<br />
> /etc/udev/rules.d/51-hdaps.rules<br />
Then reboot or run {{cmdroot|/sbin/udevtrigger}}, and verify that the {{path|/dev/input/hdaps/accelerometer-event}} symlink exists.<br />
<br />
*[ftp://rohrmoser-engineering.de/pub Modified adaptive algorithm version] - uses a different (and potentially better) algorithm for the adaptive sensivity threshold.<br />
{{HINT| Gentoo users : due to new interface your initscript won't be longer working. Read documentation before upgrading to this version. <br />
Use an overlay listed bellow with updated versions of related packages}}<br />
<br />
===== GUI monitoring =====<br />
*[http://roy.marples.name/node/269 khdapmonitor] KDE System Tray Monitor<br />
*[http://www.dresco.co.uk/hdaps/gnome-hdaps-applet-20060120.tar.gz gnome-hdaps-applet] visual display of disk protection status in gnome panel<br />
*[http://www.kde-look.org/content/show.php/Applet+HDAPS?content=78387 applet_hdaps] KDE4 Plasmoid display disk protection status<br />
*[http://awn.planetblur.org/index.php?shard=forum&action=g_reply&ID=1916&page=1&isLive=true ThinkHDAPS] Avant Window Manager applet for disk protection status<br />
*[http://web.student.tuwien.ac.at/~e0726415/thinkhdaps.html ThinkHDAPS] A standalone (=gtk.StatusIcon) version of onox' awn applet<br />
<br />
====Security & safety====<br />
*[[Script for theft alarm using HDAPS]]<br />
<br />
====Tilt monitoring====<br />
*[http://www.mulliner.org/collin/gkibm-acpi.php gkhdaps] <tt>a GKrellM applet displaying tilt data</tt><br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 gnome-tilt] <tt>a gnome applet showing tilt data</tt><br />
<br />
====Visualisation of ThinkPad orientation====<br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdaps-gl] <tt>a little app animating a 3D-ThinkPad</tt><br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdapsgl-applet] <tt> a GNOME applet animating a 3D-ThinkPad</tt><br />
*[https://sourceforge.net/project/showfiles.php?group_id=138242 wmadhps] <tt>a WindowMaker DockApp animating a 3D-ThinkPad</tt><br />
*[http://www.cs.cmu.edu/~ecc/gyro.tar.gz OpenGL gyroscope hack] <tt>keeps your display levelled when tilting the ThinkPad</tt> (warning: [http://en.wikipedia.org/wiki/Tarbomb uncompresses in the current directory]!)<br />
<br />
====Games====<br />
*[http://icculus.org/neverball/ Neverball] is quite fun with HDAPS. (You'll need to have the HDAPS joystick device)<br />
*Turn your ThinkPad into a Jedi Weapon (hey, it [http://isnoop.net/blog/2006/05/20/macsaber-turn-your-mac-into-a-jedi-weapon works for Mac laptops])<br />
<br />
====Other====<br />
<br />
*[http://blog.micampe.it/articles/2006/06/04/here-comes-the-smackpad smack.py] - switch workspace by smacking your laptop, inspired by the [http://blog.medallia.com/2006/05/smacbook_pro.html SmackBook] (uses EWMH)<br />
**an [http://weblogs.mozillazine.org/gerv/archives/2006/09/stablilised_smackpad.html improved version] adds stabilization (by comparing smacks to previous ones, uses EWMH)<br />
**another [http://pberndt.com/Programme/Linux/pyhdaps/index.html approach] adds stabilization (by requiring a certain type of value deflection, uses xmacroplay)<br />
**[http://www.gnome.org/~fherrera/gtollina.c GTollina] is another smack program for use with compiz (video [http://www.gnome.org/~fherrera/blog/gtollina.html here]).<br />
*[http://blog.odonnell.nu/61.html xmms-smack.py] - move through your xmms playlist by smacking, based on the two smack scripts above.<br />
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw02aKnockBasedCommands KnockBasedCommands] - Execute commands by tapping your laptop.<br />
*[http://people.ksp.sk/~mic/?menu=32&file=rotate.py rotate.py] - rotate desktop by turning your laptop<br />
*[[hdaps_ess|Enhanced smack script]] ess.py is based on the smacks scripts listed in this section. It includes stabilization, a lot of tuning options and it handles both axis (at best you should be able to map 8 commands, even if it is possible I was not able to do so). It is not perfect but on my Thinkpad it works better than the other scripts.<br />
<br />
=== Interesting links related to this project ===<br />
* [https://lists.sourceforge.net/lists/listinfo/hdaps-devel HDAPS mailinglist and its archive]<br />
* #hdaps channel on irc.freenode.org<br />
* [https://sourceforge.net/projects/hdaps/ hdaps projects] overview of userspace programs using hdaps<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-HDFIRM IBM ThinkPads hardware drive firmware site]<br />
* [http://www.paul.sladen.org/thinkpad-r31/accelerometer.html http://www.paul.sladen.org/thinkpad-r31/accelerometer/]<br />
* http://bugs.gentoo.org/show_bug.cgi?id=119845 Gentoo ebuild for hdaps driver and daemon including a initscript*<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137345 Gentoo ebuild for gkhdaps gkrell plugin<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137350 Gentoo ebuild for hdaps-gl application<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137351 Gentoo ebuild for gnome hdapsgl-applet<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137352 Gentoo ebuild for gnome tilt application<br />
* http://bugs.gentoo.org/show_bug.cgi?id=137353 Gentoo ebuild for wmhdaps<br />
* http://gentoo.o0o.nu Gentoo sectools overlay with fresh hdaps-related ebuilds and patches<br />
* [http://lenovoblogs.com/insidethebox/?p=71 Why the ThinkPad accelerometer is only 2D] - explanation by Lenovo<br />
<br />
[[Category:R50]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:R60]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:T60]] [[Category:T60p]] [[Category:T61]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:X60]] [[Category:X60s]] [[Category:Z60m]] [[Category:Z60t]] [[Category:Drivers]] [[Category:Z61m]]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&diff=40042Supported Boot Devices2008-11-28T21:55:01Z<p>Bugmenot1: /* X Series */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
The following table headings shall designate the following meanings...<br />
<br />
* FDD = Internal/UltraBay Diskette ("Floppy") drive (also called "Legacy FDD")<br />
* CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive<br />
* Network = any type of network boot support (such as PXE)<br />
* PCMCIA = any memory device connected via the PCMCIA/PC Card/CardBus port<br />
* USB HD = any hard drive/flash drive/pen drive connected via the USB port<br />
* USB FDD = Diskette ("Floppy") drive connected via the USB port<br />
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port<br />
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port<br />
<br />
The fields should be filled with one of the following:<br />
* ? = unknown / untested<br />
* yes = supported (may be selected from the BIOS)<br />
* no = not supported (BIOS incapable of booting to this type of device)<br />
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only). Please add footnote/link documenting the specifics.<br />
* v#.## = only with BIOS versions &ge; #.##<br />
* N/A = not applicable<br />
|}<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
====Numbered Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:750 | 750]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|9}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:570E | 570E]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600 | 600]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|5}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600E | 600E]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to DMI data --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600X | 600X]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CD | 755CD]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CDV | 755CDV]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CV | 755CV]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CX | 755CX]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770 | 770]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | no{{footnote|7}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770E | 770E]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770X | 770X]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770Z | 770Z]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====A Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A20m | A20m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A20p | A20p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21e | A21e]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21m | A21m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21p | A21p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22e | A22e]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22m | A22m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22p | A22p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A30 | A30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A30p | A30p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A31 | A31]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A31p | A31p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====G Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:G40 | G40]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:G41 | G41]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====R Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R30 | R30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R31 | R31]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R32 | R32]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R40 | R40]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R40e | R40e]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50 | R50]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50e | R50e]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50p | R50p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R51 | R51]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R52 | R52]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R60e | R60e]]<br />
| style="vertical-align:middle;text-align:center;" | n/a<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | n/a<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====T Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T20 | T20]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T21 | T21]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T22 | T22]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T23 | T23]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|4}}<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- seen on IBM BIOS simulator, not tested --><br />
| style="vertical-align:middle;text-align:center;" | yes <!-- seen on IBM BIOS simulator, not tested --><br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T30 | T30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T40 | T40]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T40p | T40p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T41 | T41]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T41p | T41p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- described in 200701301702.13362.tnikkila@cc.hut.fi --><br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T42 | T42]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T42p | T42p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T43 | T43]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T43p | T43p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T60 | T60]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T60p | T60p]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T61 | T61]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====X Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X20 | X20]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X21 | X21]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X22 | X22]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X23 | X23]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X24 | X24]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X30 | X30]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | part{{footnote|1}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X31 | X31]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X32 | X32]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X40 | X40]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X41 | X41]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X41 Tablet | X41 Tablet]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60 | X60]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60s | X60s]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60_Tablet | X60 Tablet]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61 | X61]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61s | X61s]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61_Tablet | X61 Tablet]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====Z Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z60m}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|6}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z60t}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z61m}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====Others====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:TransNote | TransNote]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|}<br />
<br />
*[[:Category:S30 | S30]]<br />
*[[:Category:S31 | S31]]<br />
<br />
<br />
{{footnotes|<br />
#Choosing USB Boot and booting with a USB flash drive plugged in makes boot procedure extremely long (1m30 just to pass the IBM splash screen). However, it ends up booting the OS in the USB drive (assuming one is indeed present).<br />
#Internal CD/FD means the ones in the UltraBase for X series and 570 models.<br />
#Requires an external Floppy drive attached to Port Replicator or Dock<br />
#Requires that the user select the drive from the disk option shown after clicking F12 on the boot sequence.<br />
#Boots from a flash memory drive, i.e. CompactFlash (with PCMCIA adapter).<br />
#It is working with lilo boot loader, however it failed with syslinux.<br />
#Supported by the BIOS configuration, but doesn't seem to work.<br />
#An external FDD connected to the dedicated FDD port<br />
#Network boot is in EZSetup, but may require specific IBM PXE-enabled NIC.<br />
}}</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&diff=40041Supported Boot Devices2008-11-28T21:53:50Z<p>Bugmenot1: /* X Series */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
The following table headings shall designate the following meanings...<br />
<br />
* FDD = Internal/UltraBay Diskette ("Floppy") drive (also called "Legacy FDD")<br />
* CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive<br />
* Network = any type of network boot support (such as PXE)<br />
* PCMCIA = any memory device connected via the PCMCIA/PC Card/CardBus port<br />
* USB HD = any hard drive/flash drive/pen drive connected via the USB port<br />
* USB FDD = Diskette ("Floppy") drive connected via the USB port<br />
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port<br />
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port<br />
<br />
The fields should be filled with one of the following:<br />
* ? = unknown / untested<br />
* yes = supported (may be selected from the BIOS)<br />
* no = not supported (BIOS incapable of booting to this type of device)<br />
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only). Please add footnote/link documenting the specifics.<br />
* v#.## = only with BIOS versions &ge; #.##<br />
* N/A = not applicable<br />
|}<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
====Numbered Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:750 | 750]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|9}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:570E | 570E]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600 | 600]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|5}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600E | 600E]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to DMI data --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600X | 600X]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CD | 755CD]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CDV | 755CDV]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CV | 755CV]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CX | 755CX]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770 | 770]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | no{{footnote|7}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770E | 770E]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770X | 770X]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770Z | 770Z]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====A Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A20m | A20m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A20p | A20p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21e | A21e]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21m | A21m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21p | A21p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22e | A22e]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22m | A22m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22p | A22p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A30 | A30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A30p | A30p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A31 | A31]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A31p | A31p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====G Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:G40 | G40]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:G41 | G41]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====R Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R30 | R30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R31 | R31]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R32 | R32]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R40 | R40]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R40e | R40e]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50 | R50]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50e | R50e]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50p | R50p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R51 | R51]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R52 | R52]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R60e | R60e]]<br />
| style="vertical-align:middle;text-align:center;" | n/a<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | n/a<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====T Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T20 | T20]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T21 | T21]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T22 | T22]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T23 | T23]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|4}}<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- seen on IBM BIOS simulator, not tested --><br />
| style="vertical-align:middle;text-align:center;" | yes <!-- seen on IBM BIOS simulator, not tested --><br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T30 | T30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T40 | T40]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T40p | T40p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T41 | T41]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T41p | T41p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- described in 200701301702.13362.tnikkila@cc.hut.fi --><br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T42 | T42]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T42p | T42p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T43 | T43]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T43p | T43p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T60 | T60]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T60p | T60p]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T61 | T61]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====X Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X20 | X20]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X21 | X21]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X22 | X22]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X23 | X23]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X24 | X24]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X30 | X30]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | part{{footnote|1}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X31 | X31]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X32 | X32]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X40 | X40]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X41 | X41]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X41 Tablet | X41 Tablet]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60 | X60]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60s | X60s]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60_Tablet | X60t]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61 | X61]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61s | X61s]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61_Tablet | X61t]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====Z Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z60m}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|6}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z60t}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z61m}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====Others====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:TransNote | TransNote]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|}<br />
<br />
*[[:Category:S30 | S30]]<br />
*[[:Category:S31 | S31]]<br />
<br />
<br />
{{footnotes|<br />
#Choosing USB Boot and booting with a USB flash drive plugged in makes boot procedure extremely long (1m30 just to pass the IBM splash screen). However, it ends up booting the OS in the USB drive (assuming one is indeed present).<br />
#Internal CD/FD means the ones in the UltraBase for X series and 570 models.<br />
#Requires an external Floppy drive attached to Port Replicator or Dock<br />
#Requires that the user select the drive from the disk option shown after clicking F12 on the boot sequence.<br />
#Boots from a flash memory drive, i.e. CompactFlash (with PCMCIA adapter).<br />
#It is working with lilo boot loader, however it failed with syslinux.<br />
#Supported by the BIOS configuration, but doesn't seem to work.<br />
#An external FDD connected to the dedicated FDD port<br />
#Network boot is in EZSetup, but may require specific IBM PXE-enabled NIC.<br />
}}</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&diff=40040Supported Boot Devices2008-11-28T21:45:00Z<p>Bugmenot1: /* X Series */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
The following table headings shall designate the following meanings...<br />
<br />
* FDD = Internal/UltraBay Diskette ("Floppy") drive (also called "Legacy FDD")<br />
* CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive<br />
* Network = any type of network boot support (such as PXE)<br />
* PCMCIA = any memory device connected via the PCMCIA/PC Card/CardBus port<br />
* USB HD = any hard drive/flash drive/pen drive connected via the USB port<br />
* USB FDD = Diskette ("Floppy") drive connected via the USB port<br />
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port<br />
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port<br />
<br />
The fields should be filled with one of the following:<br />
* ? = unknown / untested<br />
* yes = supported (may be selected from the BIOS)<br />
* no = not supported (BIOS incapable of booting to this type of device)<br />
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only). Please add footnote/link documenting the specifics.<br />
* v#.## = only with BIOS versions &ge; #.##<br />
* N/A = not applicable<br />
|}<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
====Numbered Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:750 | 750]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|9}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:570E | 570E]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600 | 600]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|5}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600E | 600E]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to DMI data --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600X | 600X]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CD | 755CD]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CDV | 755CDV]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CV | 755CV]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CX | 755CX]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770 | 770]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | no{{footnote|7}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770E | 770E]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770X | 770X]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770Z | 770Z]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====A Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A20m | A20m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A20p | A20p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21e | A21e]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21m | A21m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21p | A21p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22e | A22e]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22m | A22m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22p | A22p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A30 | A30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A30p | A30p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A31 | A31]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A31p | A31p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====G Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:G40 | G40]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:G41 | G41]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====R Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R30 | R30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R31 | R31]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R32 | R32]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R40 | R40]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R40e | R40e]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50 | R50]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50e | R50e]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50p | R50p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R51 | R51]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R52 | R52]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R60e | R60e]]<br />
| style="vertical-align:middle;text-align:center;" | n/a<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | n/a<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====T Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T20 | T20]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T21 | T21]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T22 | T22]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T23 | T23]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|4}}<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- seen on IBM BIOS simulator, not tested --><br />
| style="vertical-align:middle;text-align:center;" | yes <!-- seen on IBM BIOS simulator, not tested --><br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T30 | T30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T40 | T40]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T40p | T40p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T41 | T41]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T41p | T41p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- described in 200701301702.13362.tnikkila@cc.hut.fi --><br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T42 | T42]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T42p | T42p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T43 | T43]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T43p | T43p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T60 | T60]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T60p | T60p]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T61 | T61]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====X Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X20 | X20]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X21 | X21]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X22 | X22]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X23 | X23]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X24 | X24]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X30 | X30]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | part{{footnote|1}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X31 | X31]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X32 | X32]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X40 | X40]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X41 | X41]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X41 Tablet | X41 Tablet]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60 | X60]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60s | X60s]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60t | X60t]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61 | X61]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61s | X61s]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61t | X61t]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====Z Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z60m}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|6}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z60t}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z61m}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====Others====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:TransNote | TransNote]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|}<br />
<br />
*[[:Category:S30 | S30]]<br />
*[[:Category:S31 | S31]]<br />
<br />
<br />
{{footnotes|<br />
#Choosing USB Boot and booting with a USB flash drive plugged in makes boot procedure extremely long (1m30 just to pass the IBM splash screen). However, it ends up booting the OS in the USB drive (assuming one is indeed present).<br />
#Internal CD/FD means the ones in the UltraBase for X series and 570 models.<br />
#Requires an external Floppy drive attached to Port Replicator or Dock<br />
#Requires that the user select the drive from the disk option shown after clicking F12 on the boot sequence.<br />
#Boots from a flash memory drive, i.e. CompactFlash (with PCMCIA adapter).<br />
#It is working with lilo boot loader, however it failed with syslinux.<br />
#Supported by the BIOS configuration, but doesn't seem to work.<br />
#An external FDD connected to the dedicated FDD port<br />
#Network boot is in EZSetup, but may require specific IBM PXE-enabled NIC.<br />
}}</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&diff=40039Supported Boot Devices2008-11-28T21:44:10Z<p>Bugmenot1: /* X Series */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
The following table headings shall designate the following meanings...<br />
<br />
* FDD = Internal/UltraBay Diskette ("Floppy") drive (also called "Legacy FDD")<br />
* CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive<br />
* Network = any type of network boot support (such as PXE)<br />
* PCMCIA = any memory device connected via the PCMCIA/PC Card/CardBus port<br />
* USB HD = any hard drive/flash drive/pen drive connected via the USB port<br />
* USB FDD = Diskette ("Floppy") drive connected via the USB port<br />
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port<br />
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port<br />
<br />
The fields should be filled with one of the following:<br />
* ? = unknown / untested<br />
* yes = supported (may be selected from the BIOS)<br />
* no = not supported (BIOS incapable of booting to this type of device)<br />
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only). Please add footnote/link documenting the specifics.<br />
* v#.## = only with BIOS versions &ge; #.##<br />
* N/A = not applicable<br />
|}<br />
<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
====Numbered Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:750 | 750]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|9}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:570E | 570E]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600 | 600]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|5}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600E | 600E]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to DMI data --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:600X | 600X]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CD | 755CD]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CDV | 755CDV]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CV | 755CV]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:755CX | 755CX]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770 | 770]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | no{{footnote|7}}<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770E | 770E]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770X | 770X]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:770Z | 770Z]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====A Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A20m | A20m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A20p | A20p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21e | A21e]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21m | A21m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A21p | A21p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22e | A22e]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22m | A22m]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A22p | A22p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A30 | A30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A30p | A30p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A31 | A31]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to message on ML ID: 436936E5.30709@chartermi.net --><br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:A31p | A31p]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====G Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:G40 | G40]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:G41 | G41]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====R Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R30 | R30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R31 | R31]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | yes <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | no <!-- According to message on ML ID: 441D6183.6070009@rogers.com --><br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R32 | R32]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R40 | R40]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R40e | R40e]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50 | R50]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50e | R50e]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R50p | R50p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R51 | R51]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R52 | R52]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:R60e | R60e]]<br />
| style="vertical-align:middle;text-align:center;" | n/a<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | n/a<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====T Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T20 | T20]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T21 | T21]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T22 | T22]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T23 | T23]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|4}}<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- seen on IBM BIOS simulator, not tested --><br />
| style="vertical-align:middle;text-align:center;" | yes <!-- seen on IBM BIOS simulator, not tested --><br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T30 | T30]]<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T40 | T40]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T40p | T40p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T41 | T41]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T41p | T41p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes <!-- described in 200701301702.13362.tnikkila@cc.hut.fi --><br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T42 | T42]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T42p | T42p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T43 | T43]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T43p | T43p]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|3}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T60 | T60]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T60p | T60p]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:T61 | T61]]<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====X Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X20 | X20]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X21 | X21]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X22 | X22]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X23 | X23]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X24 | X24]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X30 | X30]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | part{{footnote|1}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X31 | X31]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X32 | X32]]<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X40 | X40]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X41 | X41]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X41 Tablet | X41 Tablet]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|2}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60 | X60]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60s | X60s]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X60t | X60t]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61 | X61]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:X61s | X61s]]<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====Z Series====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z60m}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes{{footnote|6}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z60t}}<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*{{Z61m}}<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
|-<br />
! colspan="9" style="text-align:center;background:#efefef;" |<br />
<br />
====Others====<br />
|-<br />
! style="vertical-align:top;background-color:#cfefcf;" | Model<br />
! style="vertical-align:top;background-color:#6699cc;" | FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | CD<br />
! style="vertical-align:top;background-color:#6699cc;" | Network<br />
! style="vertical-align:top;background-color:#6699cc;" | PCMCIA<br />
! style="vertical-align:top;background-color:#6699cc;" | USB HD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB FDD<br />
! style="vertical-align:top;background-color:#6699cc;" | USB CD<br />
! style="vertical-align:top;background-color:#6699cc;" | FireWire HD<br />
|-<br />
| style="vertical-align:top;background-color:#e9f9e9;" |<br />
*[[:Category:TransNote | TransNote]]<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | no<br />
| style="vertical-align:middle;text-align:center;" | ?<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | yes<br />
| style="vertical-align:middle;text-align:center;" | N/A<br />
|}<br />
<br />
*[[:Category:S30 | S30]]<br />
*[[:Category:S31 | S31]]<br />
<br />
<br />
{{footnotes|<br />
#Choosing USB Boot and booting with a USB flash drive plugged in makes boot procedure extremely long (1m30 just to pass the IBM splash screen). However, it ends up booting the OS in the USB drive (assuming one is indeed present).<br />
#Internal CD/FD means the ones in the UltraBase for X series and 570 models.<br />
#Requires an external Floppy drive attached to Port Replicator or Dock<br />
#Requires that the user select the drive from the disk option shown after clicking F12 on the boot sequence.<br />
#Boots from a flash memory drive, i.e. CompactFlash (with PCMCIA adapter).<br />
#It is working with lilo boot loader, however it failed with syslinux.<br />
#Supported by the BIOS configuration, but doesn't seem to work.<br />
#An external FDD connected to the dedicated FDD port<br />
#Network boot is in EZSetup, but may require specific IBM PXE-enabled NIC.<br />
}}</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Talk:HDAPS&diff=40036Talk:HDAPS2008-11-28T20:38:53Z<p>Bugmenot1: /* Where can one find the recent hdapsd version mentioned in the article ? */</p>
<hr />
<div>So, this is in the stable kernel now, but what userspace program do we need to actually park the heads?<br />
--[[User:MrStaticVoid|MrStaticVoid]] 01:26, 30 Oct 2005 (CEST)<br />
----<br />
Yes the hdaps driver is in the 2.6.14 kernel, but support to park the heads quickly and freeze the disk queue (to prevent the heads from getting un-parked) is not. There is some disagreement into how that should be implemented.<br />
<br />
In other words, the hdaps driver for the moment is rather useless, unless you want to use it to play games.<br />
<br />
--[[User:Tonko|Tonko]] 02:10, 30 Oct 2005 (CEST)<br />
<br />
----<br />
I head rumours that you can make SDL handle this like a joystick, e.g. for playing Neverball. Can anyone confirm or deny that? Thanx --[[User:Nomeata|Nomeata]] 01:16, 16 Nov 2005 (CET)<br />
<br />
Yes it is possible to use it as a joystick, as Tonko allready mentioned.<br />
/dev/input/jsX modprobe joydev<br />
<br />
Ozi<br />
<br />
Thanks, I didn't have the joydev module. Rebuilding... --[[User:129.13.186.1|129.13.186.1]] 15:30, 16 Nov 2005 (CET)<br />
<br />
----<br />
Yeah, it's a pretty good party trick - set up the HDAPS joystick as xmame input. You can play Ms. Pac-man by tilting your laptop to make pac-man navigate the maze. You can imagine that the pac-man "rolls" downhill, just like those old wooden marble-puzzles that you see around. Heh, can actually clear a level or two.<br />
<br />
Marble madness was strangely unsatisfying though, and just didn't work well (probably due to the diagonal nature of the screen in that game).<br />
<br />
--[[User:gsmenden|gsmenden]] 20:10, 13 Jan 2006 (CEST)<br />
<br />
----<br />
Anyone got the queue freezing patch running on 2.6.16? I'm going to try to manually merge it but didn't want to duplicate someone else's work.<br />
<br />
--[[User:Ajbarr|Ajbarr]] 19:12, 22 March 2006 (CET)<br />
<br />
== Where can one find the recent hdapsd version mentioned in the article ? ==<br />
The article mentions "New interface (requires hdapsd dated 2008-10-04 or newer)" without giving any clue about where one can find such a version, I looked in repositories, google and elsewhere in this very site and found an outdated http://www.dresco.co.uk/hdaps/ , as a newcomer here, it eludes me completely. [[User:Bugmenot1|Bugmenot1]] 21:38, 28 November 2008 (CET)<br />
<br />
== "Reduced Power" hdapsd Consuming More Power ==<br />
<br />
There is a link to a "reduced power" version of hdapsd, which is supposed to lower the number of timer interrupts (thereby reducing the power consumed by the daemon). From my experiments (using powertop), however, this program requires about twice as many interrupts to operate in "low power" mode as it does using the (older) sysfs interface. It also consumes enough CPU cycles to force my CPU back on periodically, consuming more power. Has anybody else had this experience?<br />
<br />
--[[User:Mbsullivan|Mbsullivan]] 05:41, 24 August 2007 (UTC)<br />
<br />
:Well, not really. With tp_smapi 0.31 and older hdapsd I had wakeups from hdapsd and from the hdaps module, now powertop only shows about 50wakeups from hdapsd (which are really from the module, but this is a bug in powertop, it tells who first called a function, not whose function it is [it's a function in the module code]). So I get a lower power consumption with the newer pair of tpsmapi and hdapsd<br />
:--[[User:Zhenech|Zhenech]] 07:26, 24 August 2007 (UTC)<br />
<br />
== I hawe a problem ==<br />
<br />
I tray to start working my IBM x40 with hdaps function but I can't make it right.<br />
<br />
The main problem is in a not hanging variables when I read<br />
/sys/devices/platform/hdaps/position<br />
<br />
==I also have this problem!==<br />
Hi, I also have this problem that on my X40 the device/platform/hdaps/position does not give the right response. It is simply constant (128,1).<br />
Does anyone have a clue? I use the suse kernel 2.6.16.13-4-default from suse10.1. the hdaps sources in that kernel are the same as in the original kernel.<br />
thanks in advance,<br />
----<br />
<br />
Does the HDAPS sensor work under Windows (as observed from actual disk parking, or the graphical animation)? <br />
Also, try loading [[tp_smapi]], it includes some patches for the hdaps driver. Does it help?<br />
<br />
--[[User:Thinker|Thinker]] 16:45, 8 June 2006 (CEST)<br />
----<br />
<br />
HI Again,<br />
HDAPS does work under windows. When I had windows running and then reboot the machine, hdaps is running under suse10.1 also. If I, however, turn off the machine and restart it, then, hdaps does *not* work anymore.<br />
I remember that with suse 10.0 and the separate module, hdaps did work.<br />
HDAPS now works with tp_smapi as suggested above.<br />
Still, where does the problem derive from?<br />
<br />
----<br />
<br />
The hdaps in the vanilla kernel has some bugs (i.e., in doesn't talk to the hardware correctly) which tp_smapi fixes. Looks like you've hit one of these.<br />
<br />
--[[User:Thinker|Thinker]] 18:05, 12 June 2006 (CEST)<br />
----<br />
<br />
==laptop acpi problem with hdaps==<br />
<b> UPDATE: the problem seems fixed in the version 0.21 </b><br><br><br />
<s><br />
My my both IBM T42/T43 laptops freezes time to times with the follow:<br />
<br />
kernel 2.6.16/sata patch<br><br />
hdaps build as a module from the kernel.<br />
tp_smapi 0.20/hdapsd<br />
<br />
The freez is quite common then I access CD-ROM,but it also might freez without touching anything.<br><br />
After the freez keyboard doesn't work or priting some character,power button doesn't work, however mouse might continue to work.<br><br />
KDE battery systray shows discarchged batteries.<br><br />
Still under investigation that cases the problem.<br><br />
The related software:<br />
khdapsmon 0.1.2<br><br />
ibm-acpi build-in as a module from the kernel(for ksensors)<br />
modified ksensors without lm_sensors with a patch<br />
http://bugs.gentoo.org/show_bug.cgi?id=116661<br />
<br />
--noname 00:25, 13 June 2006 (CEST)Anton<br />
<br />
----<br />
<br />
You're the 2nd one reporting this. The fact you can reproduce it on two machines may be very helpful! Are these machines configured identically? Do they run the same software? Can you send your kernel .config, and precise kernel version + patches, to the e-mail address in the tp_smapi README? Please specify which hdaps or tp_smapi -related applications you're typically running.<br />
<br />
BTW, if you have [[swsusp]] or [[Software Suspend 2]] installed, you can do a suspend-to-disk cycle to recover from the hang.<br />
<br />
--[[User:Thinker|Thinker]] 11:53, 13 June 2006 (CEST)<br />
----<br />
<br />
I also have the follow <br />
[[Problems_with_SATA_and_Linux#No_DMA_on_DVD_drive]].<br />
So I switched cdrom driver from IDE to ATA and it fixed the problem.<br />
However HDAPS has stared to freez a machine if I shake it then HDD is active.<br />
The issue might be not related to ACPI but I'll log it here for now.<br />
<br />
I'll send configs. Thank you.<br />
ps. 0.21 is out so let me try the new version.<br />
--noname 08:34, 22 June 2006 (CEST)Anton<br />
</s><br />
<br />
== hdaps and /sys ==<br />
<br />
Hey Fellas,<br />
<br />
I've just upgraded from 2.6.15.2, where the patches all dropped in ok and all was well, to 2.6.17.6, where hdaps is built into the kernel.<br />
the hdapsd daemon referenced on thinkwiki looks in /sys/block/<drive>/queue/protect to get started.<br />
The default drivers that come with 2.6.17.6 for hdaps apparently dont put anything in /queue there, so there is no 'protect' directory.<br />
Has anyone else experienced this? I'd love to get my drive protection back :)<br />
ON THE UPSIDE! - the Ricoh card reader in my z60m came to life, and I can read sd cards (but not sony memory sticks, oddly enough)<br />
Any input would be awesome!<br />
dan@itkinetix.com<br />
<br />
----<br />
<br />
You need an extra kernel patch for "protect". Please read the page more carefully.<br />
<br />
--[[User:Thinker|Thinker]] 00:24, 22 July 2006 (CEST)<br />
----</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Talk:HDAPS&diff=40035Talk:HDAPS2008-11-28T20:38:37Z<p>Bugmenot1: where to find a recent hdapsd ?</p>
<hr />
<div>So, this is in the stable kernel now, but what userspace program do we need to actually park the heads?<br />
--[[User:MrStaticVoid|MrStaticVoid]] 01:26, 30 Oct 2005 (CEST)<br />
----<br />
Yes the hdaps driver is in the 2.6.14 kernel, but support to park the heads quickly and freeze the disk queue (to prevent the heads from getting un-parked) is not. There is some disagreement into how that should be implemented.<br />
<br />
In other words, the hdaps driver for the moment is rather useless, unless you want to use it to play games.<br />
<br />
--[[User:Tonko|Tonko]] 02:10, 30 Oct 2005 (CEST)<br />
<br />
----<br />
I head rumours that you can make SDL handle this like a joystick, e.g. for playing Neverball. Can anyone confirm or deny that? Thanx --[[User:Nomeata|Nomeata]] 01:16, 16 Nov 2005 (CET)<br />
<br />
Yes it is possible to use it as a joystick, as Tonko allready mentioned.<br />
/dev/input/jsX modprobe joydev<br />
<br />
Ozi<br />
<br />
Thanks, I didn't have the joydev module. Rebuilding... --[[User:129.13.186.1|129.13.186.1]] 15:30, 16 Nov 2005 (CET)<br />
<br />
----<br />
Yeah, it's a pretty good party trick - set up the HDAPS joystick as xmame input. You can play Ms. Pac-man by tilting your laptop to make pac-man navigate the maze. You can imagine that the pac-man "rolls" downhill, just like those old wooden marble-puzzles that you see around. Heh, can actually clear a level or two.<br />
<br />
Marble madness was strangely unsatisfying though, and just didn't work well (probably due to the diagonal nature of the screen in that game).<br />
<br />
--[[User:gsmenden|gsmenden]] 20:10, 13 Jan 2006 (CEST)<br />
<br />
----<br />
Anyone got the queue freezing patch running on 2.6.16? I'm going to try to manually merge it but didn't want to duplicate someone else's work.<br />
<br />
--[[User:Ajbarr|Ajbarr]] 19:12, 22 March 2006 (CET)<br />
<br />
== Where can one find the recent hdapsd version mentioned in the article ? ==<br />
The article mentions "New interface (requires hdapsd dated 2008-10-04 or newer)" without giving any clue about where one can find such a version, I looked in repositories, google and elsewhere in this very site and found an outdated http://www.dresco.co.uk/hdaps/ , as a mewcomer here, it eludes me completely. [[User:Bugmenot1|Bugmenot1]] 21:38, 28 November 2008 (CET)<br />
<br />
== "Reduced Power" hdapsd Consuming More Power ==<br />
<br />
There is a link to a "reduced power" version of hdapsd, which is supposed to lower the number of timer interrupts (thereby reducing the power consumed by the daemon). From my experiments (using powertop), however, this program requires about twice as many interrupts to operate in "low power" mode as it does using the (older) sysfs interface. It also consumes enough CPU cycles to force my CPU back on periodically, consuming more power. Has anybody else had this experience?<br />
<br />
--[[User:Mbsullivan|Mbsullivan]] 05:41, 24 August 2007 (UTC)<br />
<br />
:Well, not really. With tp_smapi 0.31 and older hdapsd I had wakeups from hdapsd and from the hdaps module, now powertop only shows about 50wakeups from hdapsd (which are really from the module, but this is a bug in powertop, it tells who first called a function, not whose function it is [it's a function in the module code]). So I get a lower power consumption with the newer pair of tpsmapi and hdapsd<br />
:--[[User:Zhenech|Zhenech]] 07:26, 24 August 2007 (UTC)<br />
<br />
== I hawe a problem ==<br />
<br />
I tray to start working my IBM x40 with hdaps function but I can't make it right.<br />
<br />
The main problem is in a not hanging variables when I read<br />
/sys/devices/platform/hdaps/position<br />
<br />
==I also have this problem!==<br />
Hi, I also have this problem that on my X40 the device/platform/hdaps/position does not give the right response. It is simply constant (128,1).<br />
Does anyone have a clue? I use the suse kernel 2.6.16.13-4-default from suse10.1. the hdaps sources in that kernel are the same as in the original kernel.<br />
thanks in advance,<br />
----<br />
<br />
Does the HDAPS sensor work under Windows (as observed from actual disk parking, or the graphical animation)? <br />
Also, try loading [[tp_smapi]], it includes some patches for the hdaps driver. Does it help?<br />
<br />
--[[User:Thinker|Thinker]] 16:45, 8 June 2006 (CEST)<br />
----<br />
<br />
HI Again,<br />
HDAPS does work under windows. When I had windows running and then reboot the machine, hdaps is running under suse10.1 also. If I, however, turn off the machine and restart it, then, hdaps does *not* work anymore.<br />
I remember that with suse 10.0 and the separate module, hdaps did work.<br />
HDAPS now works with tp_smapi as suggested above.<br />
Still, where does the problem derive from?<br />
<br />
----<br />
<br />
The hdaps in the vanilla kernel has some bugs (i.e., in doesn't talk to the hardware correctly) which tp_smapi fixes. Looks like you've hit one of these.<br />
<br />
--[[User:Thinker|Thinker]] 18:05, 12 June 2006 (CEST)<br />
----<br />
<br />
==laptop acpi problem with hdaps==<br />
<b> UPDATE: the problem seems fixed in the version 0.21 </b><br><br><br />
<s><br />
My my both IBM T42/T43 laptops freezes time to times with the follow:<br />
<br />
kernel 2.6.16/sata patch<br><br />
hdaps build as a module from the kernel.<br />
tp_smapi 0.20/hdapsd<br />
<br />
The freez is quite common then I access CD-ROM,but it also might freez without touching anything.<br><br />
After the freez keyboard doesn't work or priting some character,power button doesn't work, however mouse might continue to work.<br><br />
KDE battery systray shows discarchged batteries.<br><br />
Still under investigation that cases the problem.<br><br />
The related software:<br />
khdapsmon 0.1.2<br><br />
ibm-acpi build-in as a module from the kernel(for ksensors)<br />
modified ksensors without lm_sensors with a patch<br />
http://bugs.gentoo.org/show_bug.cgi?id=116661<br />
<br />
--noname 00:25, 13 June 2006 (CEST)Anton<br />
<br />
----<br />
<br />
You're the 2nd one reporting this. The fact you can reproduce it on two machines may be very helpful! Are these machines configured identically? Do they run the same software? Can you send your kernel .config, and precise kernel version + patches, to the e-mail address in the tp_smapi README? Please specify which hdaps or tp_smapi -related applications you're typically running.<br />
<br />
BTW, if you have [[swsusp]] or [[Software Suspend 2]] installed, you can do a suspend-to-disk cycle to recover from the hang.<br />
<br />
--[[User:Thinker|Thinker]] 11:53, 13 June 2006 (CEST)<br />
----<br />
<br />
I also have the follow <br />
[[Problems_with_SATA_and_Linux#No_DMA_on_DVD_drive]].<br />
So I switched cdrom driver from IDE to ATA and it fixed the problem.<br />
However HDAPS has stared to freez a machine if I shake it then HDD is active.<br />
The issue might be not related to ACPI but I'll log it here for now.<br />
<br />
I'll send configs. Thank you.<br />
ps. 0.21 is out so let me try the new version.<br />
--noname 08:34, 22 June 2006 (CEST)Anton<br />
</s><br />
<br />
== hdaps and /sys ==<br />
<br />
Hey Fellas,<br />
<br />
I've just upgraded from 2.6.15.2, where the patches all dropped in ok and all was well, to 2.6.17.6, where hdaps is built into the kernel.<br />
the hdapsd daemon referenced on thinkwiki looks in /sys/block/<drive>/queue/protect to get started.<br />
The default drivers that come with 2.6.17.6 for hdaps apparently dont put anything in /queue there, so there is no 'protect' directory.<br />
Has anyone else experienced this? I'd love to get my drive protection back :)<br />
ON THE UPSIDE! - the Ricoh card reader in my z60m came to life, and I can read sd cards (but not sony memory sticks, oddly enough)<br />
Any input would be awesome!<br />
dan@itkinetix.com<br />
<br />
----<br />
<br />
You need an extra kernel patch for "protect". Please read the page more carefully.<br />
<br />
--[[User:Thinker|Thinker]] 00:24, 22 July 2006 (CEST)<br />
----</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Talk:Automatically_reduce_brightness&diff=40030Talk:Automatically reduce brightness2008-11-28T14:03:57Z<p>Bugmenot1: request for help</p>
<hr />
<div>''' how to use thinkpad-acpi to automatically reduce brightness ?'''<br />
<br />
The article says the provided info is now deprecated in favor of thinkpad-acpi and says to refer to the thinkpad-acpi pagr which doesn't contain any information about how to ''automatically'' do it. I followed the links and look at the mailing list but couldn't find any useful information on that mattter, if anyone actually has automatic dimming working using thinkpad-acpi, it would be nice to share it here.</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Automatically_reduce_brightness&diff=39737Automatically reduce brightness2008-11-15T05:18:24Z<p>Bugmenot1: /* Prerequisites */</p>
<hr />
<div>= The idea =<br />
When watching someone working with an iBook you may notice that the brightness automatically fades to the lowest level after a few seconds of inactivity. This is a simple yet effective way to save power.<br />
<br />
= Linux =<br />
I ([[User:Pberndt|Pberndt]]) wrote a c-daemon which uses the XScreenSaver extension to check whether the user is active. If he is not, it lowers the brightness to a specific level. When he is active again, the brightness is reset to the previous level.<br />
<br />
{{NOTE|This Feature is implemented in the "gnome-power-manager" (at least from gnome 2.14) and can be used without this script (Prerequisites are needed anyway). Enable it under Gnome's Power management settings ([[:Category:Debian|Debian]] Etch: Gnome-Menu/Desktop/Preferences/Power Management) -> General-Tab -> "Dim the laptop panel when idle". "when idle" in this case means, when the gnome-screensaver sets the session idle. Change time at Gnome's Screensaver settings ([[:Category:Debian|Debian]] Etch: Gnome-Menu/Desktop/Preferences/Screensaver). If you want to see the actual content of the screen when dimmed, you should disable "Activate screensaver when session is idle".}}<br />
<br />
== Prerequisites ==<br />
the following is deprecqted, for the current solution see [[thinkpad-acpi]].<br />
A recent kernel with the [[ibm-acpi]] driver (You should have a directory called {{path|/sys/class/backlight/ibm/}} or {{path|/sys/class/backlight/thinkpad_screen/}}).<br />
<br />
== Installation ==<br />
# Download the [http://www.pberndt.com/Programme/Linux/brightd/_download/latest.phpc brightness control daemon]<br />
# Unpack it and chdir into the {{path|brightd}} directory<br />
# Call {{cmduser|make}}<br />
# Move the {{path|brightd}} executable into a directory like {{path|/usr/local/bin}}<br />
# Put {{cmduser|brightd -d}} into your {{path|~/.Xsession}} (or another distro-specific startup script)<br />
# Change the permissions of {{path|/sys/class/backlight/ibm/brightness}} so that your user can write to that file<br />
<br />
See the README for more detailled instructions and command line parameters.<br />
<br />
=== Example installation for Gentoo linux and XFCE4 ===<br />
The following is an example which shows how to install brightd manually. The prefered way to install brightd on gentoo is to use the [http://bugs.gentoo.org/show_bug.cgi?id=177214 ebuild from bugzilla].<br />
$ wget -o /dev/null -O brightd.tar.bz2 "http://www.pberndt.com/raw/Programme/Linux/brightd/_download/brightd-0.3_pre2.tar.bz2"<br />
$ tar xjf brightd.tar.bz2<br />
$ cd brightd-*/<br />
$ make<br />
gcc -lX11 -lXss -o brightd brightd.c<br />
$ make install<br />
install -Ds brightd //usr/bin/brightd<br />
install -D brightd.1 //usr/share/man/man1/brightd.1<br />
$ cd /etc/xdg/xfce4<br />
$ vi xinitrc<br />
73Gi<br />
/usr/local/bin/brightd -s 5 -w 2 -d<br />
<escape>:x <br />
$ cd /etc/init.d/<br />
$ cat > permissions<br />
start() {<br />
ebegin "Setting permissions on /sys"<br />
<br />
chmod g+w /sys/class/backlight/*/brightness<br />
chgrp wheel /sys/class/backlight/*/brightness<br />
<br />
eend $?<br />
}<br />
$ chmod a+x permissions<br />
$ rc-update add permissions boot<br />
$ ./permissions start<br />
<br />
Done. Restart X to see it working. Have a look at the "-x" parameter if you intend to start the daemon from an init-script.<br />
<br />
=== Example installation for Debian Sid ===<br />
brightd isn't yet in the official Debian archives ([http://bugs.debian.org/419329 an ITP was filled]), but you can get precompiled binaries for unstable from [[User:Zhenech|Zhenech]]'s page.<br />
<br />
{{cmduser|wget http://debian.die-welt.net/pool/main/brightd/brightd_0.1-1_i386.deb}}<br />
<br />
{{cmdroot|dpkg -i brightd_0.1-1_i386.deb}}<br />
<br />
Done. Relogin into your X session and brightd will be started. You can change this and other settings by editing {{path|/etc/default/brightd}}.<br />
{{NOTE|Changing permissions is not needed, because the binary is installed suid-root.}}<br />
<br />
== Possible problems ==<br />
=== brightd does not fade, screensaver deactivated ===<br />
On my Debian Sid box, brightd can run for hours and just do nothing. This happens because it thinks the screensaver is deactivated and screen shouldn't be faded (useful while watching videos).<br />
But in fact the screensaver isn't deactivated. To solve this problem, just execute the following command before starting bright:<br />
<br />
{{cmduser|xset s default}}<br />
<br />
=== brightd says it is fading, but does not ===<br />
On my Z61m {{path|/sys/class/backlight/ibm/brightness}} is 0 after the laptop boots up. As long it is 0, brightd does nothing, because it thinks, brightness is already as low as possible, so I need to initialize the brightness-level before using brightd:<br />
<br />
{{cmdroot|echo 7>/sys/class/backlight/ibm/brightness}}<br />
<br />
= Windows =<br />
A fairly simple yet effective implementation of the same idea in Python is available [http://homepage.rub.de/Arkadiusz.Wahlig/thinkpad-python.zip here]. It was written by [[User:Yak|Yak]].<br />
<br />
== Prerequisites ==<br />
Since it is written in Python, you must have a [http://www.python.org/download Python interpreter] installed on your system. Version 2.5 or newer is required.<br />
<br />
== Installation ==<br />
# Download the [http://homepage.rub.de/Arkadiusz.Wahlig/thinkpad-python.zip ZIP file] with the script and extract it to a directory of your preference.<br />
# Edit the '''dimmer.pyw''' file (using a text editor) to match your preferences. See below for possible settings.<br />
# Start the '''dimmer.pyw''' script (double click on it) to test it.<br />
# If it works, create a shortcut in the '''Autostart''' folder so the script is automatically run on every boot.<br />
<br />
== Configuration ==<br />
You configure the script by editing it. The settings section is right at the top of the script. Here are the default values (version 1.4).<br />
<br />
# SETTINGS:<br />
<br />
# ac = when on AC adapter, dc = when on battery<br />
<br />
# number of (idle) seconds before the screen will dim,<br />
# values > 30 should be used to ensure that the screen<br />
# won't dim while watching a movie, 0 means no dimming<br />
timeout_ac = 600<br />
timeout_dc = 60<br />
<br />
# brightness level after dimming (0-7)<br />
brightness_ac = 3<br />
brightness_dc = 0<br />
<br />
{{NOTE|If the script is already running, it will notice that the settings have been changed and quit (starting with version 1.3). You have to start the script again to apply the changes.}}<br />
<br />
== Demo ==<br />
A video showing the script in action has been uploaded to [http://www.youtube.com/watch?v=n7RLHP_c7gE YouTube].</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Problems_with_SATA_and_Linux&diff=38925Problems with SATA and Linux2008-09-27T22:06:48Z<p>Bugmenot1: /* No DMA on system hard disk */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
Some ThinkPad models use an [[Intel ICH6-M]] SATA/PATA controller for the system hard disk. This causes several complications for Linux installation. The following lists these problems and known workarounds. Note that the details are often version- and distribution-specific.<br />
<br />
===Models using a SATA disk interface===<br />
Models using a SATA controller and a SATA system disk:<br />
*ThinkPad {{R60}}, {{R60e}}, {{R61}}<br />
*ThinkPad {{T60}}, {{T60p}}, {{T61}}<br />
*ThinkPad {{X60}}, {{X60s}}, {{X60_Tablet}}, {{X61}}, {{X61s}}, {{X61_Tablet}}<br />
*ThinkPad {{Z60t}}, {{Z60m}}<br />
*ThinkPad {{Z61e}}, {{Z61t}}, {{Z61m}}, {{Z61p}}<br />
Models using a SATA controller and a PATA (IDE) system disk with a SATA-to-PATA bridge:<br />
*ThinkPad {{T43}}, {{T43p}}<br />
*ThinkPad {{R52}}<br />
*ThinkPad {{X41}}, {{X41T}}<br />
<br />
{{NOTE|Some of these problems (namely SMART support, power management and disk information) are solved in Linux 2.6.15 with the inclusion of libata pass-through. See the SATA driver [http://linux-ata.org/features.html features], [http://linux-ata.org/software-status.html software status] and [http://linux-ata.org/driver-status.html hardware status].}}<br />
|}<br />
<br />
==Hang on resume from suspend to RAM==<br />
<br />
Linux kernels prior to 2.6.16 (ata_piix) and 2.6.19 (ahci) do not support suspend and resume for SATA devices. As a result, the machine hangs upon the first disk access after resume. A kernel patch ([http://lkml.org/lkml/2005/5/2/46 LKML posting]) fixes this by adding SATA power management support.<br />
<br />
Kernel 2.6.16 and later fixes this problem for most systems. The Thinkpad T60 and X60s still need some patches to get resume working using 2.6.16, see [[Talk:Problems with SATA and Linux#Patch against SATA-resume problem with T60|here]]. The T60p resumes properly with 2.6.17-rc6, the T60 and X60 should also. You need to enable ata_piix and disable AHCI in the bios. The latest fedora (FC5) 2.6.17 kernel seems to have fixed the resume problem on the T60p, still need to disable AHCI though. Applying [http://cvs.fedora.redhat.com/viewcvs/rpms/kernel/FC-5/linux-2.6-console-suspend.patch this FC5 patch] makes suspend-to-ram work with AHCI enabled.<br />
<br />
===Patches===<br />
* [http://shamrock.dyndns.org/~ln/linux/sata_pm.2.6.12.diff Patch for kernel 2.6.12]<br />
* [http://shamrock.dyndns.org/~ln/linux/sata_pm.2.6.13-rc5.diff Patch for kernel 2.6.13-rc5]<br />
* [http://lkml.org/lkml/2005/9/23/97 Patch for kernel 2.6.14]<br />
* [http://www.xenotime.net/linux/SATA/2.6.15-rc/libata_suspend.patch Patch for kernel 2.6.15-rc4]<br />
* [http://tpctl.sourceforge.net/tmp/sata_pm.2.6.15-rc6.patch Patch for kernels 2.6.15-rc6 through 2.6.15]<br />
<br />
Some distributions already include this patch (e.g., {{Ubuntu}} Breezy, {{Gentoo}}'s gentoo-sources 2.6.15-r1), but some don't (e.g., {{Fedora}} 4). If your distribution doesn't include the patch, you will need to compile your own kernel with this patch included.<br />
<br />
===Links===<br />
* RedHat Bugzilla [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=169201 bug 169201: "SATA drives fail on laptop suspend"]<br />
* [http://lkml.org/lkml/2005/11/15/385 Fix to libata.h recommended on LKML] in case you get "ata: abnormal state 0x80 on port 0x1F7"<br />
* RedHat Bugzilla [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183138 bug 183138": "SATA failure after pm-suspend/resume ata1: handling error/timeout"]<br />
<br />
==Failed resume from suspend to disk==<br />
<br />
Suspend to disk (using [[swsusp]] or [[Software Suspend 2]]) needs to load the memory image from the SATA disk. For this to work, you either need an initrd with all the necessary SATA modules, or the SATA drivers compiled into the kernel.<br />
<br />
==No DMA on DVD drive==<br />
<br />
Using the IDE driver, DMA support cannot be enabled on an Ultrabay optical drive:<br />
<br />
# hdparm -d1 /dev/hdc<br />
<br />
/dev/hdc:<br />
setting using_dma to 1 (on)<br />
HDIO_SET_DMA failed: Operation not permitted<br />
using_dma = 0 (off)<br />
<br />
As a result, the optical drive is slow, and in particular, too slow to play video DVDs.<br />
<br />
One workaround is to use the <tt>ata_piix</tt> driver (instead of the IDE driver) for the optical drive. This requires enabling the ATAPI support of the <tt>ata_piix</tt> driver (which as of 2.6.2x kernels, is working fine but wasn't stable in kernels before 2.6.18). You must also make sure that the IDE driver (<tt>ide-generic</tt>) does not grab the devices before <tt>ata_piix</tt>. <br />
<br />
* Grab a recent kernel (must be 2.6.18 or newer)<br />
* Do one of the following:<br />
** Enable the <tt>ata_piix</tt> and <tt>libata</tt> drivers as built-in,<br />
** Enable <tt>ata_piix</tt> and <tt>libata</tt> as modules (this is often the default) and add "<tt>options libata atapi_enabled=1</tt>" to your {{path|/etc/modprobe.conf}} (or the equivalent in your distribution). <br />
* Do one of the following:<br />
** Disable the IDE system.<br />
** Build the IDE driver as built-in (this is often the default) and add the {{bootparm|hdc|noprobe}} kernel argument (e.g., in in {{path|/boot/grub/menu.lst}} or {{path|/etc/lilo.conf}}. Don't forget to run lilo after changes).<br />
** Build the IDE driver as module and add "<tt>options ide hdc=noprobe</tt>" to your {{path|/etc/modprobe.conf}} (or the equivalent in your distribution).<br />
* If you chose to use modules above, regenerate your <tt>initrd</tt> file.<br />
<br />
Note : If you are using a ''Debian Sid'' system, and want to use Debian precompiled kernels, then type the following command in a ''root'' shell (This creates a new <tt>initrd</tt> with enabled ATAPI support of <tt>ata_piix</tt> and loads <tt>ata_piix</tt> before the IDE driver): <br />
'''# echo options libata atapi_enabled=1>/etc/modprobe.d/atapienable && update-initramfs -u'''<br />
(this is apparently not necessary with newer kernels)<br />
<br />
<b>The following is likely obsolete with recent kernels</b><br />
Note : If your work was successful, your CD-ROM drive will no longer be accessible through /dev/hdc, but /dev/scd0 or /dev/sr0.<br />
<br />
If this all doesn't work, use {{cmd|lspci -vn|}} to check whether one of the following chipsets is used in the Thinkpad:<br />
{| border="1" cellspacing="0" cellpadding="2"<br />
|-<br />
!PCI ID <br />
!Name<br />
|-<br />
|8086:7111<br />
|Intel 82371AB/EB/MB PIIX4 IDE<br />
|-<br />
|8086:24db<br />
|Intel 82801EB/ER (ICH5/ICH5R) IDE Controller<br />
|-<br />
|8086:25a2<br />
|Intel 6300ESB PATA Storage Controller<br />
|}<br />
If yes, enable support for these chipsets has to be enabled by setting<br />
#define ATA_ENABLE_PATA<br />
in {{path|include/linux/libata.h}} (and report your ThinkPad model in the discussion page).<br />
<br />
There have been reports that DVD burning doesn't work under this configuration, but it seems to work with kernel 2.6.14 and later (tested on a ThinkPad {{T43}} and {{T43p}} with a [[UltraBay Slim DVD Multi-Burner Plus]]).<br />
<br />
===Problem with kernel 2.6.16 kernel and suspend2 2.2.1===<br />
DVD access fails with kernel 2.6.16.* and [[Software Suspend 2|suspend2]] 2.2.1. Thia is fixed by later versions of suspend2, or by deleting the 4000-libata-rollup-2616-rc3.patch (see <br />
[http://lists.suspend2.net/lurker/message/20060322.082452.873dc526.en.html this post notice] by Alexander E. Patrakov).<br />
<br />
===Links===<br />
* RedHat Bugzilla [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=163418 bug 163418: "can't enable DMA on DVD drive"]<br />
* Enabling DMA on a SATA DVD drive, kernel 2.6.18 [http://thomer.com/howtos/dma_on_sata_dvd.html]<br />
<br />
==No DMA on system hard disk==<br />
<br />
In recent Linux kernels, there are two modules capable of handling the ICH6 disk controller:<br />
* <tt>ata_piix</tt>: the disk shows as {{path|/dev/sda}} and DMA is enabled.<br />
* Generic IDE driver (<tt>ide-disk</tt>): the disk shows as {{path|/dev/hda}} and DMA is disabled.<br />
<br />
The simplest way to enable DMA is to force the IDE driver to ignore the system hard disk by passing the {{bootparm|hda|noprobe}} and {{bootparm|hda|none}} kernel argument. The driver will then be handled by the <tt>ata_piix</tt> driver. Note that this will change its device name to {{path|/dev/sda}} (which may require changes in {{path|/etc/fstab}} and the boot loader) and may cause other problems as listed above.<br />
<br />
(Observed on a ThinkPad T43 with Fedora Core kernel 2.6.13-1.1526_FC4.)<br />
(Observed on a ThinkPad X40 with Debian kernel 2.6.18-4-686.) [[User:Hendry|Hendry]] 20:05, 11 June 2007 (UTC)<br />
<br />
It may be necessary to set CONFIG_IDE to n and not pass the parameters mentioned above.<br />
<br />
(Observed on a ThinkPad T60 with gentoo kernel 2.6.26)<br />
<br />
==No SMART support==<br />
<br />
Prior to kernel 2.6.15, the Linux SATA system did not support SMART commands (e.g., via smartctl).<br />
<br />
The necessary capability is "libata pass-through", which was incorporated into Linux 2.6.15-rc1 and later. A patch is available for older kernels:<br />
* Kernel 2.6.12: http://rtr.ca/dell_i9300/kernel/kernel-2.6.12/03_libata_passthru.patch<br />
* Kernel 2.6.13: http://rtr.ca/dell_i9300/kernel/kernel-2.6.13/02_libata_passthru.patch<br />
* Kernel 2.6.14: http://www.foo.fh-furtwangen.de/~koenigr/02_libata_passthru.fixed.again.patch<br />
* Kernel 2.6.14 with the above suspend-to-RAM patch: http://linux.spiney.org/system/files?file=02_libata_passthru.fixed.patch<br />
<br />
After applying the patch, run smartctl with the "-d ata" parameter:<br />
:{{cmdroot|smartctl -d ata -a /dev/sda}}<br />
<br />
From smartmontools version 5.37 "-d sat" is preferred to "-d ata". The smartctl command will auto-detect SATA disks so:<br />
:{{cmdroot|smartctl -a /dev/sda}}<br />
should just work. The smartd daemon still requires "-d sat" in /etc/smartd.conf .<br />
<br />
==No disk power management==<br />
<br />
Prior to kernel 2.6.15, the Linux SATA system did not support power management commands on these models.<br />
<br />
The above patches for SMART support resolves this, and in particular enables the following commands:<br />
* {{cmdroot|hdparm -y}} (spin down)<br />
* {{cmdroot|hdparm -S num}} (automatic spin down timeout)<br />
* {{cmdroot|hdparm -B num}} (advanced power management level)<br />
Note that this command is still rejected:<br />
* {{cmdroot|hdparm -M num}} (acoustic management)<br />
(Tested with patched kernels 2.6.13.1 and 2.6.12-4 and a 60GB 7200RPM disk model HTS726060M9AT00.)<br />
<br />
Refer to [[How to make use of Harddisk Power Management features]] for details about using<br />
HD power management. Refer to [[Laptop-mode]] if you are interested into spinning down your HD.<br />
<br />
==No disk information==<br />
<br />
Prior to kernel 2.6.15, on these models the disk information could not be read by the standard commands such as:<br />
*{{cmdroot|hdparm -i /dev/sda}}<br />
*{{cmdroot|hdparm -I /dev/sda}}<br />
The latter is fixed by the above patch for SMART support.<br />
<br />
==No swapping of UltraBay device==<br />
<br />
The <tt>ata_piix</tt> driver in mainline Linux kernels supports hot-swapping and warm-swapping of PATA and SATA devices. This requires kernel 2.6.18 or newer (with older kernels, you must power off the laptop before swapping such devices). See [[How_to_hotswap_UltraBay_devices#When_using_the_ata_piix_driver|How_to_hotswap_UltraBay_devices]] for further information.<br />
<br />
Swapping of the [[UltraBay Slim Battery]] works out-of-the box.<br />
<br />
==BIOS error 2010 on user-installed hard disk==<br />
<br />
While not a Linux issue, note that there is an issue with installing alternative PATA (IDE) hard disks as the system drive. Unless the disk is one of the few approved disks listed inside the BIOS, you will get an BIOS error 2010 during system boot, and the disk may operate unreliably. See [[Problem with non-ThinkPad hard disks]].<br />
<br />
==CompactFlash module doesn't work==<br />
<br />
Normally, PATA disks can be replaced with a solid-state [[CompactFlash]] module using a cheap PATA-to-CompactFlash adapter. However, there is a [http://thread.gmane.org/gmane.linux.ide/22400 report] that replacing the system disk with CompactFlash fails on a ThinkPad {{X41}}, possibly due to the SATA-to-PATA bridge. If so, the problem would probably occur also on the {{X41T}}, {{T43}}, {{T43p}} and {{R52}}.<br />
I (KotCzarny) can confirm that {{X41T}} has this issue. READ is OK, but every attempt to do a WRITE results in timeouts as listed in gmane report. A quick and dirty workaround is to use generic ide driver (not sata one) to disable DMA. You won't get high speeds but at least it will work.<br />
<br />
'''Update''' please check [[Compact Flash boot drive]] for more current information on using Compact Flash to boot<br />
<br />
==RHEL3.0 Update 7 on T60p==<br />
<br />
RHEL3.0 Update 7 will install on a {{T60p}}, but you need to make an adjustment. Both uni-processor and SMP kernels get installed, with the SMP kerrnel the default. However, the SMP kernel can't seem to find the disk drive. You can work around this by use "e" at the GRUB kernel prompt, then on the "kernel" line appending " noapic". After the system boots, you'll want to edit /boot/grub/grub.conf to add the " noapic" option to the kernel line as well.<br />
<br />
==Mandriva 2006 on T60==<br />
<br />
Mandriva 2006.0 has a problem with SATA on a {{T60}}, to fix this you need to make an adjustment. The install procedure can't seem to find the SATA disk drive, you can work around this by adding the "noapic" kernel option during CD/DVD boot. You *might* need to add this to lilo or GRUB for normal operations, after install completes. The problem with not using apic during normal operations is that you might have problems with power management, please see article on [[Software Suspend 2]]<br />
<br />
==Problem burning CD/DVD==<br />
<br />
To a CD/DVD problem, try to burn a CD/DVD as "root"-user on command-line with the option "-dummy" and "-v" enabled, do not use K3B or similar. Doing so you will get more informations and waste less CD/DVD's. <br />
<br />
Experiment with the parameters "burnfree" and "dev". With cdrecord on debian etch, burnfree seems not work, disable it. With wodim on debian etch: try parameter "dev=/dev/scd0", the default "dev=1,0,0" seems not to work.<br />
<br />
==Spurious NCQ completions==<br />
<br />
It was initially thought the HDD firmware support for NCQ was buggy ([http://lkml.org/lkml/2007/6/6/15 LKML posting] and [http://lkml.org/lkml/2007/6/6/195 LKML posting]).<br />
It was later found that it was a driver misinterpretation and there is no hardware problem ([http://article.gmane.org/gmane.linux.ide/26012 newsgroup posting]).<br />
<br />
If you have an old kernel and get some warnings about spurious NCQ completions, you can safely ignore them. You are advised, anyway, to upgrade to a recent kernel.</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=Issues_with_the_Wiki&diff=38366Issues with the Wiki2008-07-30T07:52:39Z<p>Bugmenot1: /* Troubles encountered */</p>
<hr />
<div>This page is a provisorium. It's a list of things that are going wrong after the update to help [[User:akw|Akw]] track and fix them.<br />
<br />
== Suggestions and requests ==<br />
=== Enable users to cite references ===<br />
Thinkwiki would look cleaner and neater if an article were able to cite its references and track them in one place, rather than having external links strewn throughout the article.<br />
<br />
Enabling the <ref> and <references> tag, provided by the [http://www.mediawiki.org/wiki/Extension:Cite/Cite.php Cite Mediawiki extension] would allow users to cite their references. Estimated amount of work to include this plugin: < 1 hour.<br />
<br />
=== Enabling user Javascript and CSS for MediaWiki ===<br />
<br />
Could ThinkWiki's MediaWiki installation get these options enabled (typically set in LocalSettings.php):<br />
<br />
* [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserCss wgAllowUserCss]<br />
* [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserJs wgAllowUserJs]<br />
<br />
These options allow users to have their own custom Javascript and CSS. I (and others) like to have our own custom themes and Javascript when working with MediaWiki-powered websites.<br />
<br />
--[[User:SamatJain|SamatJain]] 22:04, 28 July 2007 (UTC)<br />
<br />
This is a great security risk. What is it good for?<br />
<br />
--[[User:Thinker|Thinker]] 00:14, 29 July 2007 (UTC)<br />
<br />
It allowers users to set their own customizations via Javascript and CSS. It's a minor security risk which is why MediaWiki ships with it off, but Wikipedia and other popular websites using MediaWiki ship with it on.<br />
<br />
--[[User:SamatJain|SamatJain]] 20:49, 29 July 2007 (UTC)<br />
<br />
There is nothing minor about it. The web security model is site-wise when dealing with MediaWiki, there is no easy (read: manageable) way for an user, even one that uses NoScript+Firefox or something else equally powerful, to really filter out trusted from untrusted content when you start allowing people to write JavaScript into a Wiki.<br />
<br />
CSS is less of a problem, but it could still hork the site if one is not careful, and MediaWiki already allows us to change the pages well enough. If you need to change thinkwiki CSS for your own viewing pleasure, any browser worth its bytes lets you layer your own CSS on top of a site's. I would not be strongly against enabling CSS, but I don't see any reason to do it, either.<br />
<br />
JavaScript submissions, OTOH, is something that must remain disabled. IMO, if you really can't survive without tacking different JavaScript code than what thinkwiki already has, you can use greasemonkey or some other such system to do it in your own browser.<br />
<br />
If thinkwiki starts allowing users to set javascript on their pages, I would have to block javascript completely on my side, for example. At that time, it is likely I will just go away. Other contributors might feel the same. It is not that I have anything against JavaScript. It is the fact that I cannot *trust* user-submitted JavaScript.<br />
<br />
--[[User:Hmh|hmh]] 12:26, 30 July 2007 (UTC)<br />
<br />
These options only enable Javascript and CSS for user pages, i.e. for User:User/Monobook.css and User/Monobook.js, specifically ''not'' for other pages. Disabling these options was done by default as a precaution against XSS vulnerabilies [http://www.gossamer-threads.com/lists/wiki/mediawiki-announce/28572 long since been fixed]. Unfortunately, while I agree with you about disabling user Javascript as a precaution, I do not think the wgAllowUserCss option has any effect unless the wgAllowUserJs option is enabled as well.<br />
<br />
--[[User:SamatJain|SamatJain]] 18:52, 30 July 2007 (UTC)<br />
<br />
I don't get the point ether.<br />
Why you want to use css/javascript on user pages? You always say why you think its no problem, but not what you want to do. If you need some funky looking stuff or buttons there you should use something like myspace. This Wikis (and almost all other) purpose is collecting the main - Thinkpad - content, not something cool/funky/special on userpages<br />
<br />
As Hmh, I would block js immediately and may leave the site, even if its only on userpages, because I don't want to mind clicking "the false links"<br />
<br />
--[[User:BDKMPSS|BDKMPSS]], 30 July 2007<br />
<br />
[http://en.wikipedia.org/wiki/MediaWiki#Customisation Wikipedia's section on MediaWiki customization] describes some of the extensions and addons available. For example, [http://en.wikipedia.org/wiki/User:Cacycle/wikEd wikiEd] is a WYSIWYG editor such that instead of having to remember MediaWiki's markup, they use an editor that's only enabled for use them. This kind of extending is difficult to do with Stylish or Greasemonkey.<br />
<br />
I'll repeat, since I've not been apparently misunderstood:<br />
* Users ''won't'' be able to add Javascript or CSS to arbitrary pages, only those under their user profile (these are called "user pages")<br />
* Only those users logged in will see these their own changes, no other users will.<br />
Given these things, I don't understand why people need to threaten they're going to stop contributing to ThinkWiki? There isn't a way you're going to turn ThinkWiki into MySpace. If you don't use specifically use any CSS or Javascript through these features, it will not effect you at all.<br />
<br />
What I personally want to do, I want to use a MediaWiki modification I wrote, [http://meta.wikimedia.org/wiki/Gallery_of_user_styles#Nullbook Nullbook]. I feel as if I am much more efficient with this theme. <br />
<br />
--[[User:SamatJain|SamatJain]] 21:58, 30 July 2007 (UTC)<br />
<br />
I don't understand what exactly $wgAllowUserJs is supposed to do, and its [http://www.mediawiki.org/wiki/Manual:%24wgAllowUserCss documentation] is worthless. The crux of the matter is this: if those features are enabled, is there any way ''you'' can cause ''me'' to execute JavaScript (or apply CSS) that ''you'' wrote, in ''any'' page on ThinkWiki? If not, why? <br />
<br />
--[[User:Thinker|Thinker]] 22:17, 30 July 2007 (UTC)<br />
<br />
[http://meta.wikimedia.org/wiki/User_styles User styles on the MediaWiki site] describes a bit more how these options work and what is provided to any modification that depends upon them. Unless there exist security-related bugs (which is the reason these features are tagged possible security risks, and why they are proactively disabled by default), by design, no, there is no way that I can cause you to execute Javascript or apply CSS that I had put into one of my own "user pages" (i.e. those under [[User:SamatJain]]).<br />
<br />
--[[User:SamatJain|SamatJain]] 22:53, 30 July 2007 (UTC)<br />
<br />
'''If and only if''' such javascript and css changes are limited so that the user who made them is the only one who gets them, then I have nothing against it.<br />
<br />
That said, I'd prefer if the relevant mediawiki code was audited a bit before it is enabled.<br />
<br />
PS: Whomever is doing it, please stop screwing around with the formatting: there must be one empty line before and after signatures, it makes the dialog a '''lot''' more readable.<br />
<br />
--[[User:Hmh|hmh]] 02:53, 1 August 2007 (UTC)<br />
<br />
== Troubles encountered ==<br />
<br />
=== It is not possible to create a new account ===<br />
<br />
I tried several times to create an account for myself. After entering all the verification as a human and the necessary account information, passwords etc. I reach a page with the plain message: "Could not open socket". This happens reproducibly with both firefox 3.0.1 (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)) and konqueror 3.5.9 on an uptodate debian lenny system. The only way to report such problems is by finding someone with a valid login, because I couldn't find a way to report by e-mail or any other means. <br />
<br />
Thanks for fixing this. <br />
<br />
--johannes at physik blm tu-muenchen de <br />
<br />
=== Problems with Language.php ===<br />
<br />
Some pages are not happy with mediawiki 1.11.0, and return:<br />
Warning: array_slice() [function.array-slice]: The first argument should be an array in /home/thinkwiki/htdocs/mediawiki-1.11.0/languages/Language.php on line 1153<br />
<br />
For an example, see: [[User:Akw | Akw's user page]]<br />
<br />
--[[User:Hmh|hmh]] 01:14, 20 October 2007 (UTC)<br />
<br />
=== Problem with cmdroot ===<br />
<br />
Following String is not handled correct by template cmdroot:<br />
"fakeroot make-kpkg --initrd --revision=thinkpad.1.0 kernel_image"<br />
<br />
see here:<br />
{{cmdroot|fakeroot make-kpkg --initrd --revision=thinkpad.1.0 kernel_image}}<br />
<br />
=== Can not open page to edit without introducing modifications ===<br />
<br />
If I open the [[X31]] model page and without touching anything I hit preview, the div token is decomposed and appears in the preview page, and of course, the photo is not in the right place.<br />
<br />
--[[User:Ungoliant|Ungoliant]] 19:24, 20 February 2007 (CET)<br />
<br />
=== Uploading SVG files ===<br />
<br />
'''Can not upload SVG'''<br />
I get the upload warning:<br />
".svg" is not a recommended image file format.<br />
--[[User:Matt|Matt]] 14:02, 3 December 2006 (CET)<br />
<br />
=== SpamBlackList not working ===<br />
<br />
* [[ThinkWiki:SpamBlackList]] does not appear to work anymore<br />
<br />
--[[User:Tonko|Tonko]] 03:40, 11 March 2006 (CET)<br />
<br />
=== Multiline cmdresult template ===<br />
<br />
You can't (easliy do a multiline {{cmdresult|cmdresult}}, can you? See:<br />
<br />
{{cmdresult|foo<br />
bar<br />
baz}}<br />
<br />
or<br />
<br />
{{cmdresult|foo<br />
bar (after whitespace)<br />
baz (after whitespace)}}<br />
<br />
This works (but is not so nice)<br />
<br />
{{cmdresult|foo<br />
<br />
bar (after empty line)<br />
<br />
baz (after empty line)}}<br />
<br />
Any suggestions?<br />
<br />
--[[User:Pebolle|Paul Bolle]] 10:27, 24 January 2006 (CET)<br />
<br />
----<br />
<br />
I think the best way is to use single cmdresult calls for each line and prefix them with a colon. Like so:<br />
<pre><nowiki><br />
:{{cmdresult|foo}}<br />
:{{cmdresult|bar}}<br />
:{{cmdresult|baz}}<br />
</nowiki></pre>, which results in<br />
:{{cmdresult|foo}}<br />
:{{cmdresult|bar}}<br />
:{{cmdresult|baz}}<br />
<br />
Alternatively, you can use &lt;br /&gt; at the ende of each line within one call, like this:<br />
<tt><nowiki>{{cmdresult|foo&lt;br /&gt;<br />
bar&lt;br /&gt;<br />
baz}}</nowiki></tt><br />
, which will result in<br />
<br />
{{cmdresult|foo<br /><br />
bar<br /><br />
baz}}<br />
<br />
--[[User:Wyrfel|Wyrfel]] 12:13, 24 January 2006 (CET)<br />
<br />
=== Server time out-of-sync ===<br />
<br />
The server time would appear to be off a lot, is it possible to setup ntpd, or to run ntpdate every hour or so using cron?<br />
<br />
--[[User:Tonko|Tonko]] 05:11, 22 February 2006 (CET)<br />
<br />
=== Missing imagemagick on server ===<br />
<br />
Error creating thumbnail: /home/thinkwiki/htdocs/mediawiki-1.10.0/bin/ulimit4.sh: line 4: /usr/bin/convert: No such file or directory<br />
<br />
I think the computer this wiki is running on is missing the imagemagick software tools especially convert to create thumbnails of images <br />
<br />
--[[User:Markusw|Markusw]] 10:21, 26 August 2007 (UTC)<br />
<br />
=== Your signature with timestamp button ===<br />
<br />
This Button simply doesn't work, it adds <nowiki>--~~~~</nowiki><br><br />
I think its a bunch on javascript so I may add:<br><br />
I use Firefox (branded as Icewasel) on Debian Testing<br><br />
Preferences:<br><br />
Raw signatures (without automatic link) OFF<br><br />
Show edit toolbar (JavaScript) ON<br><br />
(Oh... Yes its javascript)<br />
<br />
EDIT:<br />
Even in my Windows XP SP2 Virtual Machine it don't work in Internet Explorer 7.0<br />
<br />
--[[User:BDKMPSS|BDKMPSS]] 29 July 2007<br />
<br />
I have been using this button for quite a while now, and it seems to work just fine. It does insert <nowiki>--~~~</nowiki>, but upon submitting previews or saving the page, it gets converted into my signature.<br />
<br />
--[[User:Hmh|hmh]] 01:27, 20 October 2007 (UTC)<br />
<br />
hm... (wow a nice joke...)<br />
<br />
lets try this<br />
<br />
--[[User:BDKMPSS|BDKMPSS]] 00:30, 21 October 2007 (UTC)<br />
<br />
OK, its all fine... I'm sorry but this seems to be extremely non-intuitive...<br />
<br />
--[[User:BDKMPSS|BDKMPSS]] 00:32, 21 October 2007 (UTC)<br />
<br />
Yeah, intuitive it ain't...<br />
<br />
--[[User:Hmh|hmh]] 00:43, 22 October 2007 (UTC)<br />
<br />
=== Problem with the feeds (RSS and Atom) ===<br />
The feed does not validate, and thus not load in Firefox or Liferea.<br />
<br />
The problem is, that there is a trailing newline before <?xml version="1.0" encoding="utf-8"?> which is not allowed<br />
<br />
--[[User:Zhenech|Zhenech]] 12:14, 11 December 2007 (UTC)<br />
<br />
=== Search is broken ===<br />
<br />
The search feature is completely borked: every query I try returns zero results. <br />
<br />
--[[User:RichardNeill|RichardNeill]] 02:16, 13 January 2008 (CET)<br />
<br />
They work just fine here, through Google (the search box launches a Google search, and returns it in a ThinkWiki-style page).<br />
<br />
Check your browser "defense" settings, you may be blocking too much.<br />
<br />
--[[User:Hmh|hmh]] 04:23, 13 January 2008 (CET)<br />
<br />
== Problems fixed ==<br />
<br />
* List emptied, since everything in it was more than one year old</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=CompactFlash_boot_drive&diff=38220CompactFlash boot drive2008-07-16T19:19:42Z<p>Bugmenot1: /* Disadvantages of CF boot drive */</p>
<hr />
<div>__NOTOC__<br />
[[image:Addonics.JPG|thumb|Addonics Dual CF-IDE HDD Adapter with 8GB SanDisk Extreme IV CompactFlash]]<br />
Changing your HDD for a CF boot drive (CompactFlash card on CF-PATA/SATA adapter) is an alternative to using SSD to boost the performance.<br />
<br />
This is primarily done by ThinkPad {{X40}}, {{X41}} and {{X41 Tablet}} series owners due to the extremely slow speed of 1.8" HDD.<br />
<br />
For the time being, it does mean giving up on storage capacity. Since most of the faster CF cards are currently (July '08) only available in capacity up to 16GB.<br />
<br />
ThinkPads utilizing PATA controller for the HDD slot can recognize both CF cards installed on a dual adapter. While newer ThinkPads, such as X41, which utilize SATA controller, can only recognize the single card installed on the primary slot.<br />
<br />
===Advantages of CF boot drive===<br />
* Much faster access time (<1ms for CF, >20ms for 4200RPM HDD and >15ms for 5400RPM HDD)<br />
* Higher read throughput for >8KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Higher write throughput for >64KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Minimal risk of mechanical damage due to shock and vibration. [[Active Protection System]] is therefore unnecessary)<br />
* (Possibly) a slight increase in battery life<br />
* (Possibly) less heat being generated<br />
<br />
===Disadvantages of CF boot drive===<br />
* Lower read throughput for <8KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Lower write throughput for <64KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Lower capacity<br />
* Higher price per GB<br />
* Not officially supported<br />
* Invoke boot error 2010 on certain ThinkPads, including the X41 series<br />
<br />
{{NOTE|A often mentioned disadvantage of flash-based storage is the limited number of write cycles (typically 100,000 for the current generation Single-Level Cell (SLC) NAND, the type usually used in the faster CF cards). This should not however be as much of an issue because...<br><br />
* The 100,000 write cycles applies to each address block separately in the card, not to the card as a whole<br><br />
* The flash controller automatically distribute write operations evenly (wear leveling), so that the number of writes to each address block is kept low<br><br />
Therefore, it should take years of typical real world usage to render a current flash memory card based on SLC NAND unusable<br><br />
<br />
However, manufacturers have started in 2008 using Multi-Level Cell (MLC) NAND to make SSD. MLC NAND typically has only about 10,000 write cycles. To complicate things further a company called EasyCo claims her Managed Flash Technology (MFT) "increases the write-life of Flash Disks more than 50-fold", which could be what made possible the launch of SSD based on MLC NAND. <br><br />
<br />
If in doubt, check with the manufacturer directly for details.<br />
<br />
See [http://www.storagesearch.com/ssdmyths-endurance.html] and [http://www.storagesearch.com/ssd-slc-mlc-notes.html] for more information.}}<br />
<br />
==What you need==<br />
* A passive CF to PATA/SATA adapter<br />
* One or more CompactFlash cards with the following parameters:<br />
** (For Windows) Identify itself as a fixed disk instead of removable media<br />
** (Preferably) UDMA support<br />
** (Preferably) 266X speed or better<br />
<br />
==CF to PATA/SATA adapter==<br />
===CF to PATA (IDE)===<br />
These adapters will work with both ThinkPads with 1.8" and 2.5" HDD slot with PATA interface<br />
* Addonics AD44MIDECF (single slot) [http://www.addonics.com/products/flash_memory_reader/ad44midecf.asp]<br />
* Addonics AD44MIDE2CF (dual slot) [http://www.addonics.com/products/flash_memory_reader/ad44midecf.asp]<br />
<br />
{{WARN|The second (slave) slots on dual slot adapters do not work on newer ThinkPads, including the {{X41}}, {{X41T}}, {{T43}}, {{T43p}} and {{R52}}. Because their IDE interface is actually connected to the SATA controller via an IDE-SATA bridge.<br />
The second slot works fine on the others, like the X40, which use a native PATA controller, and 2 separated drives will be recognized.}}<br />
<br />
{{WARN|On the {{X41}}, {{X41T}}, {{T43}}, {{T43p}} and {{R52}}, the system will complain that an unsupported disk is installed (Error 2010), but will continue to boot after 5-10 seconds or after pressing enter (assuming you have a recent BIOS installed). The beeps can be muted by using the hardwrae mute button before the last shutdown/reboot}}<br />
<br />
===CF to SATA===<br />
These adapters are needed for newer ThinkPads with native SATA interface.<br />
{{Todo|If someone has tested any, please add them here}}<br />
<br />
==CompactFlash cards==<br />
<br />
===Speed===<br />
While many CF cards claim to have high throughput, it's not necessarily a good indicator. As the claimed throughput is usually only attainable in specific situations (usually sequential and large block operations). But in typical usage as a boot drive, it usually involves lots of random and small block operations.<br />
<br />
Therefore, the actual performance figures can only be found out via real world benchmarks.<br />
<br />
Below is a list of some of the cards reported to be working, it's by no mean authoritative and final.<br />
<br />
{{WARN|<br />
Most CompactFlash cards by default identify themselves as '''removable media''' instead of '''fixed disk'''. Which is fine for Linux, but not for Windows.<br />
<br />
If you have to use a CF card that has the type bits set to Removable and want to install Windows XP you can work around it as follows;<br />
* Use Linux to partition the drive with a FAT32 partition (you can boot from one of the LiveCD/LiveUSB distributions for this), and set the partition bootable.<br />
* Start the install of Windows, during install you will be given the opportunity to migrate to NTFS<br />
* After the install is finished you will need to install the Hitachi microdrive disk drivers (google for XPfildrvr1224.zip), which will mask the removable bits and should allow suspend and other operations that fail on a removable drive to work.}}<br />
<br />
===Transcend 133X/266X/300X===<br />
These cards are known to identify themselves as fixed disk via CF-IDE adapters without any manual intervention, and is of good value, and speed (for 266X/300X).<br />
<br />
===SanDisk Extreme===<br />
SanDisk used to provide a utility (when asked) under NDA to change the type bit to Fixed disk. It has however changed it stance on this and now refuses to provide it. This utility (ATCFWCHG.COM) however can be found for download at various places (try Google).<br />
<br />
You will need to boot DOS and run it with the CF configured as either the master on the primary IDE interface or the master on the secondary interface. It will not work if the drive is attached as a slave or to any other interfaces.<br />
<br />
To set a SanDisk Extreme adapter attached to the primary IDE interface to Fixed disk<br />
ATCFWCHG.COM /P /F<br />
To set a SanDisk Extreme adapter attached to the secondary IDE interface (Ultrabay) to Fixed disk<br />
ATCFWCHG.COM /S /F<br />
<br />
{{NOTE|It seems that the ATCFWCHG.EXE utility is incompatible with SATA to IDE bridges, such as found in the X41. In those cases you will have to connect the CF card to another computer or ThinkPad with a regular IDE (PATA) interface to change the flag, after which you can put it into the ThinkPad X41.}}<br />
<br />
===Kingston Ultimate===<br />
The Kingston Ultimate CF card ships as CF-Removable, and although Kingston admits it is possible to change the type to Fixed disk, it was not willing when asked to provide a tool/application for this purpose.<br />
<br />
But supposedly the Kingston card automatically changes ID based on the adapter used, so it will ID as fixed disk when used with an IDE-CF or SATA-CF adapter, but will ID as CF-Removable when used with a PCMCIA adapter.<br />
<br />
===Silicon Power 300X===<br />
to be updated<br />
<br />
==Storage capacity issues==<br />
Due to the limited capacity for high speed CF cards, the space may not be enough for some users. As a typical OS may already consume 3-4GB already. Here are some suggestions on how to work around it. Each of the below suggestion has its pros and cons, and should be selected on a case-to-case basis.<br />
* Put only the OS and frequently accessed files on the main CF card<br />
* (If dual-CF is possible) Add a second CF card, which will show up as an additional drive. Moreover since the speed needs not be as fast as the main CF card, a slower card with larger capacity could be desirable.<br />
* On certain ThinkPads, there is an internal card reader (e.g. CF on X20/X30, and SD/SDHC on X40/X41/X60/X61) which can house another flash card. However, the speed is certainly to be worse than connecting to the PATA/SATA interface.<br />
* Use a PC Card/ExpressCard SSD drive. However, the price of SSD is likely to be more expensive than flash cards.<br />
* Use a PC Card/ExpressCard flash reader to house another flash card.<br />
* Use a USB drive. Take mind that the drive will stick out, which is less desirable as a permanent solution (appearance/damage/speed especially if USB 2.0 is not supported)<br />
* (If network access is readily available) Store the files on a network drive (e.g. server disk/NAS)<br />
<br />
==Linux issues==<br />
With the Addonics adapters listed above (and possibly with other ones as well), the kernel's libata driver might warn about a 40-wire cable and default to UDMA/33 operation:<br />
<br />
<pre><br />
[ 27.831146] ata1.00: limited to UDMA/33 due to 40-wire cable<br />
[ 27.846808] ata1.00: configured for UDMA/33<br />
</pre><br />
<br />
This has been observed with version 2.6.24 of the kernel, and it may affect older ones, too. A patch is available from [http://permalink.gmane.org/gmane.linux.ide/26879] that adds a <tt>force_cbl</tt> kernel parameter. After applying the patch and recompiling the kernel, you can then set <tt>force_cbl=80</tt>:<br />
<br />
<pre><br />
[ 7.140864] ata1: forcing 80c<br />
[ 7.140886] ata1.00: CFA: LEXAR ATA FLASH CARD, 20071016, max UDMA/100<br />
[ 7.140890] ata1.00: 7831152 sectors, multi 0: LBA <br />
[ 7.140908] ata1.00: forcing 80c<br />
[ 7.141625] ata1.00: configured for UDMA/100<br />
</pre><br />
<br />
With the patch enabled, the above system achieves 42MB/sec read performance according to <tt>hdparm</tt>. Without it, performance suffers: 23MB/sec.<br />
<br />
==Linux tuning==<br />
* edit /etc/fstab and add the option noatime to disable writing of last access timestamps on each file or directory access for each ext3 filesystem<br />
LABEL=/ / ext3 defaults,noatime 1 1<br />
* disable swap (remove swap volume from /etc/fstab), just make sure you have enough memory installed (which since memory is cheap, should be easy to just max out the machine!)<br />
* increase writeback time (add the following line to /etc/rc.local)<br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
* remove beagle (if installed) from your system, it indexes the filesystem, but causes disk activity and keeps your cpu busy<br />
rpm -e beagle beagle-gnome beagle-evolution<br />
<br />
== Windows tuning==<br />
*** Instead of throwing together all kind of tweaks here, it's probably better to keep the tweaks be CF boot-specific... And link to another page showing the more generic tweaks... ***<br />
Due to the space constraints of CF, you will want to do some tuning of Windows. In addition there are some tunes that help performance, and can even help in the case where your not changing your HDD to CF.<br />
* Do a minimal Windows XP install (not a recovery) with nLite, this allows you to remove components of Windows before they even get to the HDD, such as Movie Maker, Windows Messenger and Outlook Express that you might not need, while at the same time slipstreaming the latest ServicePack (SP3 for XP). Alternatively if you cannot reinstall, you can try the public domain xplite program, but for it to be useful you need to pay, and it does not work with SP3.<br />
* Disable NTFS from updating the last access of a file or directory on each access. This causes NTFS to do a write for each file read operation and writes are always slower, and with flash storage might not be a good idea, for this you need to set NtfsDisableLastAccessUpdate in your registry.<br />
* Disable Indexing of the drive (drive properties)<br />
* Compress the drive (NTFS only), this saves space and might in some cases even be faster as it will require less disk access (drive properties)<br />
* Disable swap (system properties), just make sure you have enough memory (just max out the machine, RAM is cheap these days)<br />
* Disable windows system restore (system properties), if you feel you can live without it. It reserves a defined amount of space for this purpose<br />
* Do not enable Hibernation, it requires a huge hibernation file and suspend should be good enough.<br />
* Disable programs from starting on boot that you do not need (do you really need Java, Adobe, Apple iTunes, etc from starting on boot each time?) with a program such as MSCONFIG (->Start ->Run -> msconfig)<br />
* Disable Windows services that you do not need from starting on boot<br />
* Only install the IBM/Lenovo applications you truly know you will need (in my case, only the Hotkey utility and the Wireless drivers package to be able to disable wireless with Fn-F5)<br />
* Never do a full install of an application, do a custom install and prune the options to remove all the stuff you will never use<br />
* Disable HW devices in device manager that you do not need (in my case, the Modem and Infrared)<br />
* Only install drivers you actually need (video, ethernet, wireless and sound in my case), and remove the C:\DRIVERS directory after your done.<br />
* Do not run defrag, it is pointless on flash media and just causes unnecessary writes!<br />
With this I was able to Install Windows XP (SP3) with Office 2003 (SP2), IE7, WMP 11, Symantec Client Security, Adobe acrobat reader, Firefox, Thunderbird, Pidgin and Palm Desktop in addition to the necessary drivers in under 4GB of an 8GB CF card on a ThinkPad X40.<br />
<br />
==useful links==<br />
* [http://forum.thinkpads.com/viewtopic.php?t=41568 ThinkPads Forum discussion on the subject]<br />
* [http://www.hjreggel.net/cardspeed/index.html Flash memory speed - check out the UDMA CF link]<br />
* [http://www.nliteos.com/ nLite - Utility to create a minimal Windows install CD with fixes and drivers]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=CompactFlash_boot_drive&diff=38201CompactFlash boot drive2008-07-13T17:50:13Z<p>Bugmenot1: /* Transcend 133X/266X/300X */</p>
<hr />
<div>__NOTOC__<br />
[[image:Addonics.JPG|thumb|Addonics Dual CF-IDE HDD Adapter with 8GB SanDisk Extreme IV CompactFlash]]<br />
Changing your HDD for a CF boot drive (CompactFlash card on CF-PATA/SATA adapter) is an alternative to using SSD to boost the performance.<br />
<br />
This is primarily done by ThinkPad {{X40}}, {{X41}} and {{X41 Tablet}} series owners due to the extremely slow speed of 1.8" HDD.<br />
<br />
For the time being, it does mean giving up on storage capacity. Since most of the faster CF cards are currently (July '08) only available in capacity up to 16GB.<br />
<br />
ThinkPads utilizing PATA controller for the HDD slot can recognize both CF cards installed on a dual adapter. While newer ThinkPads, such as X41, which utilize SATA controller, can only recognize the single card installed on the primary slot.<br />
<br />
===Advantages of CF boot drive===<br />
* Much faster access time (<1ms for CF, >20ms for 4200RPM HDD and >15ms for 5400RPM HDD)<br />
* Higher read throughput for >8KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Higher write throughput for >64KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Minimal risk of mechanical damage due to shock and vibration. [[Active Protection System]] is therefore unnecessary)<br />
* (Possibly) a slight increase in battery life<br />
* (Possibly) less heat being generated<br />
<br />
===Disadvantages of CF boot drive===<br />
* Lower read throughput for <8KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Lower write throughput for <64KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Lower capacity<br />
* Higher price per GB<br />
* Not officially supported<br />
* Invoke boot error 2010 on certain ThinkPads, including the X41 series<br />
<br />
{{NOTE|A often mentioned disadvantage of flash-based storage is the limited number of write cycles (typically 100,000 for the current generation). This should not however be as much of an issue because...<br><br />
* The 100,000 write cycles applies to each address block separately in the card, not to the card as a whole<br><br />
* The flash controller automatically distribute write operations evenly, so that the number of writes to each address block is kept low<br><br />
Therefore, it should take years of typical real world usage to render a current flash memory card unusable<br><br />
<br />
See [http://www.storagesearch.com/ssdmyths-endurance.html] for more information.}}<br />
<br />
==What you need==<br />
* A passive CF to PATA/SATA adapter<br />
* One or more CompactFlash cards with the following parameters:<br />
** (For Windows) Identify itself as a fixed disk instead of removable media<br />
** (Preferably) UDMA support<br />
** (Preferably) 266X speed or better<br />
<br />
==CF to PATA/SATA adapter==<br />
===CF to PATA (IDE)===<br />
These adapters will work with both ThinkPads with 1.8" and 2.5" HDD slot with PATA interface<br />
* Addonics AD44MIDECF (single slot) [http://www.addonics.com/products/flash_memory_reader/ad44midecf.asp]<br />
* Addonics AD44MIDE2CF (dual slot) [http://www.addonics.com/products/flash_memory_reader/ad44midecf.asp]<br />
<br />
{{WARN|The second (slave) slots on dual slot adapters do not work on newer ThinkPads, including the {{X41}}, {{X41T}}, {{T43}}, {{T43p}} and {{R52}}. Because their IDE interface is actually connected to the SATA controller via an IDE-SATA bridge.<br />
The second slot works fine on the others, like the X40, which use a native PATA controller, and 2 separated drives will be recognized.}}<br />
<br />
{{WARN|On the {{X41}}, {{X41T}}, {{T43}}, {{T43p}} and {{R52}}, the system will complain that an unsupported disk is installed (Error 2010), but will continue to boot after 5-10 seconds or after pressing enter (assuming you have a recent BIOS installed). The beeps can be muted by using the hardwrae mute button before the last shutdown/reboot}}<br />
<br />
===CF to SATA===<br />
These adapters are needed for newer ThinkPads with native SATA interface.<br />
{{Todo|If someone has tested any, please add them here}}<br />
<br />
==CompactFlash cards==<br />
<br />
===Speed===<br />
While many CF cards claim to have high throughput, it's not necessarily a good indicator. As the claimed throughput is usually only attainable in specific situations (usually sequential and large block operations). But in typical usage as a boot drive, it usually involves lots of random and small block operations.<br />
<br />
Therefore, the actual performance figures can only be found out via real world benchmarks.<br />
<br />
Below is a list of some of the cards reported to be working, it's by no mean authoritative and final.<br />
<br />
{{WARN|<br />
Most CompactFlash cards by default identify themselves as '''removable media''' instead of '''fixed disk'''. Which is fine for Linux, but not for Windows.<br />
<br />
If you have to use a CF card that has the type bits set to Removable and want to install Windows XP you can work around it as follows;<br />
* Use Linux to partition the drive with a FAT32 partition (you can boot from one of the LiveCD/LiveUSB distributions for this), and set the partition bootable.<br />
* Start the install of Windows, during install you will be given the opportunity to migrate to NTFS<br />
* After the install is finished you will need to install the Hitachi microdrive disk drivers (google for XPfildrvr1224.zip), which will mask the removable bits and should allow suspend and other operations that fail on a removable drive to work.}}<br />
<br />
===Transcend 133X/266X/300X===<br />
These cards are known to identify themselves as fixed disk via CF-IDE adapters without any manual intervention, and is of good value, and speed (for 266X/300X).<br />
<br />
===SanDisk Extreme===<br />
SanDisk used to provide a utility (when asked) under NDA to change the type bit to Fixed disk. It has however changed it stance on this and now refuses to provide it. This utility (ATCFWCHG.COM) however can be found for download at various places (try Google).<br />
<br />
You will need to boot DOS and run it with the CF configured as either the master on the primary IDE interface or the master on the secondary interface. It will not work if the drive is attached as a slave or to any other interfaces.<br />
<br />
To set a SanDisk Extreme adapter attached to the primary IDE interface to Fixed disk<br />
ATCFWCHG.COM /P /F<br />
To set a SanDisk Extreme adapter attached to the secondary IDE interface (Ultrabay) to Fixed disk<br />
ATCFWCHG.COM /S /F<br />
<br />
{{NOTE|It seems that the ATCFWCHG.EXE utility is incompatible with SATA to IDE bridges, such as found in the X41. In those cases you will have to connect the CF card to another computer or ThinkPad with a regular IDE (PATA) interface to change the flag, after which you can put it into the ThinkPad X41.}}<br />
<br />
===Kingston Ultimate===<br />
The Kingston Ultimate CF card ships as CF-Removable, and although Kingston admits it is possible to change the type to Fixed disk, it was not willing when asked to provide a tool/application for this purpose.<br />
<br />
But supposedly the Kingston card automatically changes ID based on the adapter used, so it will ID as fixed disk when used with an IDE-CF or SATA-CF adapter, but will ID as CF-Removable when used with a PCMCIA adapter.<br />
<br />
===Silicon Power 300X===<br />
to be updated<br />
<br />
==Storage capacity issues==<br />
Due to the limited capacity for high speed CF cards, the space may not be enough for some users. As a typical OS may already consume 3-4GB already. Here are some suggestions on how to work around it. Each of the below suggestion has its pros and cons, and should be selected on a case-to-case basis.<br />
* Put only the OS and frequently accessed files on the main CF card<br />
* (If dual-CF is possible) Add a second CF card, which will show up as an additional drive. Moreover since the speed needs not be as fast as the main CF card, a slower card with larger capacity could be desirable.<br />
* On certain ThinkPads, there is an internal card reader (e.g. CF on X20/X30, and SD/SDHC on X40/X41/X60/X61) which can house another flash card. However, the speed is certainly to be worse than connecting to the PATA/SATA interface.<br />
* Use a PC Card/ExpressCard SSD drive. However, the price of SSD is likely to be more expensive than flash cards.<br />
* Use a PC Card/ExpressCard flash reader to house another flash card.<br />
* Use a USB drive. Take mind that the drive will stick out, which is less desirable as a permanent solution (appearance/damage/speed especially if USB 2.0 is not supported)<br />
* (If network access is readily available) Store the files on a network drive (e.g. server disk/NAS)<br />
<br />
==Linux issues==<br />
With the Addonics adapters listed above (and possibly with other ones as well), the kernel's libata driver might warn about a 40-wire cable and default to UDMA/33 operation:<br />
<br />
<pre><br />
[ 27.831146] ata1.00: limited to UDMA/33 due to 40-wire cable<br />
[ 27.846808] ata1.00: configured for UDMA/33<br />
</pre><br />
<br />
This has been observed with version 2.6.24 of the kernel, and it may affect older ones, too. A patch is available from [http://permalink.gmane.org/gmane.linux.ide/26879] that adds a <tt>force_cbl</tt> kernel parameter. After applying the patch and recompiling the kernel, you can then set <tt>force_cbl=80</tt>:<br />
<br />
<pre><br />
[ 7.140864] ata1: forcing 80c<br />
[ 7.140886] ata1.00: CFA: LEXAR ATA FLASH CARD, 20071016, max UDMA/100<br />
[ 7.140890] ata1.00: 7831152 sectors, multi 0: LBA <br />
[ 7.140908] ata1.00: forcing 80c<br />
[ 7.141625] ata1.00: configured for UDMA/100<br />
</pre><br />
<br />
With the patch enabled, the above system achieves 42MB/sec read performance according to <tt>hdparm</tt>. Without it, performance suffers: 23MB/sec.<br />
<br />
==Linux tuning==<br />
* edit /etc/fstab and add the option noatime to disable writing of last access timestamps on each file or directory access for each ext3 filesystem<br />
LABEL=/ / ext3 defaults,noatime 1 1<br />
* disable swap (remove swap volume from /etc/fstab), just make sure you have enough memory installed (which since memory is cheap, should be easy to just max out the machine!)<br />
* increase writeback time (add the following line to /etc/rc.local)<br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
* remove beagle (if installed) from your system, it indexes the filesystem, but causes disk activity and keeps your cpu busy<br />
rpm -e beagle beagle-gnome beagle-evolution<br />
<br />
== Windows tuning==<br />
*** Instead of throwing together all kind of tweaks here, it's probably better to keep the tweaks be CF boot-specific... And link to another page showing the more generic tweaks... ***<br />
Due to the space constraints of CF, you will want to do some tuning of Windows. In addition there are some tunes that help performance, and can even help in the case where your not changing your HDD to CF.<br />
* Do a minimal Windows XP install (not a recovery) with nLite, this allows you to remove components of Windows before they even get to the HDD, such as Movie Maker, Windows Messenger and Outlook Express that you might not need, while at the same time slipstreaming the latest ServicePack (SP3 for XP). Alternatively if you cannot reinstall, you can try the public domain xplite program, but for it to be useful you need to pay, and it does not work with SP3.<br />
* Disable NTFS from updating the last access of a file or directory on each access. This causes NTFS to do a write for each file read operation and writes are always slower, and with flash storage might not be a good idea, for this you need to set NtfsDisableLastAccessUpdate in your registry.<br />
* Disable Indexing of the drive (drive properties)<br />
* Compress the drive (NTFS only), this saves space and might in some cases even be faster as it will require less disk access (drive properties)<br />
* Disable swap (system properties), just make sure you have enough memory (just max out the machine, RAM is cheap these days)<br />
* Disable windows system restore (system properties), if you feel you can live without it. It reserves a defined amount of space for this purpose<br />
* Do not enable Hibernation, it requires a huge hibernation file and suspend should be good enough.<br />
* Disable programs from starting on boot that you do not need (do you really need Java, Adobe, Apple iTunes, etc from starting on boot each time?) with a program such as MSCONFIG (->Start ->Run -> msconfig)<br />
* Disable Windows services that you do not need from starting on boot<br />
* Only install the IBM/Lenovo applications you truly know you will need (in my case, only the Hotkey utility and the Wireless drivers package to be able to disable wireless with Fn-F5)<br />
* Never do a full install of an application, do a custom install and prune the options to remove all the stuff you will never use<br />
* Disable HW devices in device manager that you do not need (in my case, the Modem and Infrared)<br />
* Only install drivers you actually need (video, ethernet, wireless and sound in my case), and remove the C:\DRIVERS directory after your done.<br />
* Do not run defrag, it is pointless on flash media and just causes unnecessary writes!<br />
With this I was able to Install Windows XP (SP3) with Office 2003 (SP2), IE7, WMP 11, Symantec Client Security, Adobe acrobat reader, Firefox, Thunderbird, Pidgin and Palm Desktop in addition to the necessary drivers in under 4GB of an 8GB CF card on a ThinkPad X40.<br />
<br />
==useful links==<br />
* [http://forum.thinkpads.com/viewtopic.php?t=41568 ThinkPads Forum discussion on the subject]<br />
* [http://www.hjreggel.net/cardspeed/index.html Flash memory speed - check out the UDMA CF link]<br />
* [http://www.nliteos.com/ nLite - Utility to create a minimal Windows install CD with fixes and drivers]</div>Bugmenot1https://www.thinkwiki.org/w/index.php?title=CompactFlash_boot_drive&diff=38200CompactFlash boot drive2008-07-13T17:49:56Z<p>Bugmenot1: /* Transcend 133X/266X/300X */</p>
<hr />
<div>__NOTOC__<br />
[[image:Addonics.JPG|thumb|Addonics Dual CF-IDE HDD Adapter with 8GB SanDisk Extreme IV CompactFlash]]<br />
Changing your HDD for a CF boot drive (CompactFlash card on CF-PATA/SATA adapter) is an alternative to using SSD to boost the performance.<br />
<br />
This is primarily done by ThinkPad {{X40}}, {{X41}} and {{X41 Tablet}} series owners due to the extremely slow speed of 1.8" HDD.<br />
<br />
For the time being, it does mean giving up on storage capacity. Since most of the faster CF cards are currently (July '08) only available in capacity up to 16GB.<br />
<br />
ThinkPads utilizing PATA controller for the HDD slot can recognize both CF cards installed on a dual adapter. While newer ThinkPads, such as X41, which utilize SATA controller, can only recognize the single card installed on the primary slot.<br />
<br />
===Advantages of CF boot drive===<br />
* Much faster access time (<1ms for CF, >20ms for 4200RPM HDD and >15ms for 5400RPM HDD)<br />
* Higher read throughput for >8KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Higher write throughput for >64KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Minimal risk of mechanical damage due to shock and vibration. [[Active Protection System]] is therefore unnecessary)<br />
* (Possibly) a slight increase in battery life<br />
* (Possibly) less heat being generated<br />
<br />
===Disadvantages of CF boot drive===<br />
* Lower read throughput for <8KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Lower write throughput for <64KB blocks (may differ depending on brand, model, partition type and cluster size)<br />
* Lower capacity<br />
* Higher price per GB<br />
* Not officially supported<br />
* Invoke boot error 2010 on certain ThinkPads, including the X41 series<br />
<br />
{{NOTE|A often mentioned disadvantage of flash-based storage is the limited number of write cycles (typically 100,000 for the current generation). This should not however be as much of an issue because...<br><br />
* The 100,000 write cycles applies to each address block separately in the card, not to the card as a whole<br><br />
* The flash controller automatically distribute write operations evenly, so that the number of writes to each address block is kept low<br><br />
Therefore, it should take years of typical real world usage to render a current flash memory card unusable<br><br />
<br />
See [http://www.storagesearch.com/ssdmyths-endurance.html] for more information.}}<br />
<br />
==What you need==<br />
* A passive CF to PATA/SATA adapter<br />
* One or more CompactFlash cards with the following parameters:<br />
** (For Windows) Identify itself as a fixed disk instead of removable media<br />
** (Preferably) UDMA support<br />
** (Preferably) 266X speed or better<br />
<br />
==CF to PATA/SATA adapter==<br />
===CF to PATA (IDE)===<br />
These adapters will work with both ThinkPads with 1.8" and 2.5" HDD slot with PATA interface<br />
* Addonics AD44MIDECF (single slot) [http://www.addonics.com/products/flash_memory_reader/ad44midecf.asp]<br />
* Addonics AD44MIDE2CF (dual slot) [http://www.addonics.com/products/flash_memory_reader/ad44midecf.asp]<br />
<br />
{{WARN|The second (slave) slots on dual slot adapters do not work on newer ThinkPads, including the {{X41}}, {{X41T}}, {{T43}}, {{T43p}} and {{R52}}. Because their IDE interface is actually connected to the SATA controller via an IDE-SATA bridge.<br />
The second slot works fine on the others, like the X40, which use a native PATA controller, and 2 separated drives will be recognized.}}<br />
<br />
{{WARN|On the {{X41}}, {{X41T}}, {{T43}}, {{T43p}} and {{R52}}, the system will complain that an unsupported disk is installed (Error 2010), but will continue to boot after 5-10 seconds or after pressing enter (assuming you have a recent BIOS installed). The beeps can be muted by using the hardwrae mute button before the last shutdown/reboot}}<br />
<br />
===CF to SATA===<br />
These adapters are needed for newer ThinkPads with native SATA interface.<br />
{{Todo|If someone has tested any, please add them here}}<br />
<br />
==CompactFlash cards==<br />
<br />
===Speed===<br />
While many CF cards claim to have high throughput, it's not necessarily a good indicator. As the claimed throughput is usually only attainable in specific situations (usually sequential and large block operations). But in typical usage as a boot drive, it usually involves lots of random and small block operations.<br />
<br />
Therefore, the actual performance figures can only be found out via real world benchmarks.<br />
<br />
Below is a list of some of the cards reported to be working, it's by no mean authoritative and final.<br />
<br />
{{WARN|<br />
Most CompactFlash cards by default identify themselves as '''removable media''' instead of '''fixed disk'''. Which is fine for Linux, but not for Windows.<br />
<br />
If you have to use a CF card that has the type bits set to Removable and want to install Windows XP you can work around it as follows;<br />
* Use Linux to partition the drive with a FAT32 partition (you can boot from one of the LiveCD/LiveUSB distributions for this), and set the partition bootable.<br />
* Start the install of Windows, during install you will be given the opportunity to migrate to NTFS<br />
* After the install is finished you will need to install the Hitachi microdrive disk drivers (google for XPfildrvr1224.zip), which will mask the removable bits and should allow suspend and other operations that fail on a removable drive to work.}}<br />
<br />
===Transcend 133X/266X/300X===<br />
These cards are known to identify themselves as fixed disk via CF-IDE adapters without any manual intervention, and is of good value and speed.<br />
<br />
===SanDisk Extreme===<br />
SanDisk used to provide a utility (when asked) under NDA to change the type bit to Fixed disk. It has however changed it stance on this and now refuses to provide it. This utility (ATCFWCHG.COM) however can be found for download at various places (try Google).<br />
<br />
You will need to boot DOS and run it with the CF configured as either the master on the primary IDE interface or the master on the secondary interface. It will not work if the drive is attached as a slave or to any other interfaces.<br />
<br />
To set a SanDisk Extreme adapter attached to the primary IDE interface to Fixed disk<br />
ATCFWCHG.COM /P /F<br />
To set a SanDisk Extreme adapter attached to the secondary IDE interface (Ultrabay) to Fixed disk<br />
ATCFWCHG.COM /S /F<br />
<br />
{{NOTE|It seems that the ATCFWCHG.EXE utility is incompatible with SATA to IDE bridges, such as found in the X41. In those cases you will have to connect the CF card to another computer or ThinkPad with a regular IDE (PATA) interface to change the flag, after which you can put it into the ThinkPad X41.}}<br />
<br />
===Kingston Ultimate===<br />
The Kingston Ultimate CF card ships as CF-Removable, and although Kingston admits it is possible to change the type to Fixed disk, it was not willing when asked to provide a tool/application for this purpose.<br />
<br />
But supposedly the Kingston card automatically changes ID based on the adapter used, so it will ID as fixed disk when used with an IDE-CF or SATA-CF adapter, but will ID as CF-Removable when used with a PCMCIA adapter.<br />
<br />
===Silicon Power 300X===<br />
to be updated<br />
<br />
==Storage capacity issues==<br />
Due to the limited capacity for high speed CF cards, the space may not be enough for some users. As a typical OS may already consume 3-4GB already. Here are some suggestions on how to work around it. Each of the below suggestion has its pros and cons, and should be selected on a case-to-case basis.<br />
* Put only the OS and frequently accessed files on the main CF card<br />
* (If dual-CF is possible) Add a second CF card, which will show up as an additional drive. Moreover since the speed needs not be as fast as the main CF card, a slower card with larger capacity could be desirable.<br />
* On certain ThinkPads, there is an internal card reader (e.g. CF on X20/X30, and SD/SDHC on X40/X41/X60/X61) which can house another flash card. However, the speed is certainly to be worse than connecting to the PATA/SATA interface.<br />
* Use a PC Card/ExpressCard SSD drive. However, the price of SSD is likely to be more expensive than flash cards.<br />
* Use a PC Card/ExpressCard flash reader to house another flash card.<br />
* Use a USB drive. Take mind that the drive will stick out, which is less desirable as a permanent solution (appearance/damage/speed especially if USB 2.0 is not supported)<br />
* (If network access is readily available) Store the files on a network drive (e.g. server disk/NAS)<br />
<br />
==Linux issues==<br />
With the Addonics adapters listed above (and possibly with other ones as well), the kernel's libata driver might warn about a 40-wire cable and default to UDMA/33 operation:<br />
<br />
<pre><br />
[ 27.831146] ata1.00: limited to UDMA/33 due to 40-wire cable<br />
[ 27.846808] ata1.00: configured for UDMA/33<br />
</pre><br />
<br />
This has been observed with version 2.6.24 of the kernel, and it may affect older ones, too. A patch is available from [http://permalink.gmane.org/gmane.linux.ide/26879] that adds a <tt>force_cbl</tt> kernel parameter. After applying the patch and recompiling the kernel, you can then set <tt>force_cbl=80</tt>:<br />
<br />
<pre><br />
[ 7.140864] ata1: forcing 80c<br />
[ 7.140886] ata1.00: CFA: LEXAR ATA FLASH CARD, 20071016, max UDMA/100<br />
[ 7.140890] ata1.00: 7831152 sectors, multi 0: LBA <br />
[ 7.140908] ata1.00: forcing 80c<br />
[ 7.141625] ata1.00: configured for UDMA/100<br />
</pre><br />
<br />
With the patch enabled, the above system achieves 42MB/sec read performance according to <tt>hdparm</tt>. Without it, performance suffers: 23MB/sec.<br />
<br />
==Linux tuning==<br />
* edit /etc/fstab and add the option noatime to disable writing of last access timestamps on each file or directory access for each ext3 filesystem<br />
LABEL=/ / ext3 defaults,noatime 1 1<br />
* disable swap (remove swap volume from /etc/fstab), just make sure you have enough memory installed (which since memory is cheap, should be easy to just max out the machine!)<br />
* increase writeback time (add the following line to /etc/rc.local)<br />
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs<br />
* remove beagle (if installed) from your system, it indexes the filesystem, but causes disk activity and keeps your cpu busy<br />
rpm -e beagle beagle-gnome beagle-evolution<br />
<br />
== Windows tuning==<br />
*** Instead of throwing together all kind of tweaks here, it's probably better to keep the tweaks be CF boot-specific... And link to another page showing the more generic tweaks... ***<br />
Due to the space constraints of CF, you will want to do some tuning of Windows. In addition there are some tunes that help performance, and can even help in the case where your not changing your HDD to CF.<br />
* Do a minimal Windows XP install (not a recovery) with nLite, this allows you to remove components of Windows before they even get to the HDD, such as Movie Maker, Windows Messenger and Outlook Express that you might not need, while at the same time slipstreaming the latest ServicePack (SP3 for XP). Alternatively if you cannot reinstall, you can try the public domain xplite program, but for it to be useful you need to pay, and it does not work with SP3.<br />
* Disable NTFS from updating the last access of a file or directory on each access. This causes NTFS to do a write for each file read operation and writes are always slower, and with flash storage might not be a good idea, for this you need to set NtfsDisableLastAccessUpdate in your registry.<br />
* Disable Indexing of the drive (drive properties)<br />
* Compress the drive (NTFS only), this saves space and might in some cases even be faster as it will require less disk access (drive properties)<br />
* Disable swap (system properties), just make sure you have enough memory (just max out the machine, RAM is cheap these days)<br />
* Disable windows system restore (system properties), if you feel you can live without it. It reserves a defined amount of space for this purpose<br />
* Do not enable Hibernation, it requires a huge hibernation file and suspend should be good enough.<br />
* Disable programs from starting on boot that you do not need (do you really need Java, Adobe, Apple iTunes, etc from starting on boot each time?) with a program such as MSCONFIG (->Start ->Run -> msconfig)<br />
* Disable Windows services that you do not need from starting on boot<br />
* Only install the IBM/Lenovo applications you truly know you will need (in my case, only the Hotkey utility and the Wireless drivers package to be able to disable wireless with Fn-F5)<br />
* Never do a full install of an application, do a custom install and prune the options to remove all the stuff you will never use<br />
* Disable HW devices in device manager that you do not need (in my case, the Modem and Infrared)<br />
* Only install drivers you actually need (video, ethernet, wireless and sound in my case), and remove the C:\DRIVERS directory after your done.<br />
* Do not run defrag, it is pointless on flash media and just causes unnecessary writes!<br />
With this I was able to Install Windows XP (SP3) with Office 2003 (SP2), IE7, WMP 11, Symantec Client Security, Adobe acrobat reader, Firefox, Thunderbird, Pidgin and Palm Desktop in addition to the necessary drivers in under 4GB of an 8GB CF card on a ThinkPad X40.<br />
<br />
==useful links==<br />
* [http://forum.thinkpads.com/viewtopic.php?t=41568 ThinkPads Forum discussion on the subject]<br />
* [http://www.hjreggel.net/cardspeed/index.html Flash memory speed - check out the UDMA CF link]<br />
* [http://www.nliteos.com/ nLite - Utility to create a minimal Windows install CD with fixes and drivers]</div>Bugmenot1