<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kevinoid</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kevinoid"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Kevinoid"/>
	<updated>2026-04-22T16:09:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_hotswap_Ultrabay_devices&amp;diff=62119</id>
		<title>Talk:How to hotswap Ultrabay devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_hotswap_Ultrabay_devices&amp;diff=62119"/>
		<updated>2024-01-11T01:12:41Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: /* hdparm -Y removed from script for Ultrabay eject */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Recent Ubuntu versions=&lt;br /&gt;
I think, it must be mentioned that hotswapping Ultrabay devices using recent distros&lt;br /&gt;
is by far not that hard as before. I'm using Ubuntu 9.04 on Z61m and in my case hotswapping&lt;br /&gt;
Ultrabay DVD-RW works out-of-the-box without any scripts or whatsoever. The article&lt;br /&gt;
however suggests that one always needs some ejecting scripts which might confuse certain&lt;br /&gt;
users. So it would be nice to add something like: &amp;quot;If you are using Ubuntu *.** everything should&lt;br /&gt;
work out-of-the-box&amp;quot;&lt;br /&gt;
&lt;br /&gt;
--[[User:Bombenbach|Bombenbach]] 12:01, 9 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Really? Did you try to swap out a Ultrabay device with mounted filesystem? Good luck!&lt;br /&gt;
The udev handler and eject script are there for a reason. By default no action is taken when you pull out a device, which can cause real problems if not handled properly.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 09:31, 10 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Well, actually I couldn't imagine that someone would like to pull out an Ultrabay device with mounted file system.&lt;br /&gt;
As far a usb flash drives are concerned, you won't do that either, right? My point was, that if the file system is '''properly unmounted''', I can simply pull my Ultrabay DVD-RW out without any freezes or crashes. And when I put it back again, the drive is automatically recognized by Ubuntu so that I can use it. I don't have an Ultrabay HDD, but I assume that if it works with DVD-RW it also should work with HDD. Correct me if I'm wrong. If the sole purpose of eject script is hotswapping Ultrabay devices '''with mounted filesystem''' then I still think that it would be nice to point it out in the article. &lt;br /&gt;
&lt;br /&gt;
--[[User:Bombenbach|Bombenbach]] 07:52, 11 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
By default on most modern distributions based on a recent kernel with libata, the libata driver gets to cleanup the mess after the fact, if you pull out an ultrabay device without first&lt;br /&gt;
* unmounting the filesystem&lt;br /&gt;
* powering down the device&lt;br /&gt;
You may be lucky, or you might end up with a hung system, corrupted filesystem, etc. Your choice.&lt;br /&gt;
&lt;br /&gt;
There is work going on upstream to resolve this with DeviceKit-disks, but that depends on a patch to the Linux kernel, which has not made it in yet, since right now there is no correlation between the udev event and the actual Bay device, and since you can have multiple Bay devices (in fact your ThinkPad likely has 3) this correlation is needed, otherwise DeviceKit-disks would need to know about every single Laptop out there and the mapping between the Bay numbering and the actual devices (something the kernel can easily just provide instead).&lt;br /&gt;
&lt;br /&gt;
Here is a Feature request against DeviceKit-disks that provides some status information&lt;br /&gt;
http://bugs.freedesktop.org/show_bug.cgi?id=23110&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 09:07, 11 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
=HAL script=&lt;br /&gt;
&lt;br /&gt;
If the script works, your lshal output should contain something similar to this. In this case the Ultrabay device was a second HDD (/dev/sdb).&lt;br /&gt;
&lt;br /&gt;
Note that in the example, storage.hotpluggable = true while before it was false, so the script worked.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udi = '/org/freedesktop/Hal/devices/storage_serial_SATA_HTS726060M9AT00_MRH453M4H11ARB'&lt;br /&gt;
  block.device = '/dev/sdb'  (string)&lt;br /&gt;
  block.is_volume = false  (bool)&lt;br /&gt;
  block.major = 8  (0x8)  (int)&lt;br /&gt;
  block.minor = 16  (0x10)  (int)&lt;br /&gt;
  block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_SATA_HTS726060M9AT00_MRH453M4H11ARB'  (string)&lt;br /&gt;
  info.capabilities = {'storage', 'block'} (string list)&lt;br /&gt;
  info.category = 'storage'  (string)&lt;br /&gt;
  info.parent = '/org/freedesktop/Hal/devices/pci_8086_24ca_scsi_host_0_scsi_device_lun0'  (string)&lt;br /&gt;
  info.product = 'HTS726060M9AT00'  (string)&lt;br /&gt;
  info.udi = '/org/freedesktop/Hal/devices/storage_serial_SATA_HTS726060M9AT00_MRH453M4H11ARB'  (string)&lt;br /&gt;
  info.vendor = 'ATA'  (string)&lt;br /&gt;
  linux.hotplug_type = 3  (0x3)  (int)&lt;br /&gt;
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1f.1/host1/target1:0:0/1:0:0:0/block/sdb'  (string)&lt;br /&gt;
  storage.automount_enabled_hint = true  (bool)&lt;br /&gt;
  storage.bus = 'pci'  (string)&lt;br /&gt;
  storage.drive_type = 'disk'  (string)&lt;br /&gt;
  storage.firmware_version = 'MH4O'  (string)&lt;br /&gt;
  storage.hotpluggable = true  (bool)&lt;br /&gt;
  storage.lun = 0  (0x0)  (int)&lt;br /&gt;
  storage.media_check_enabled = false  (bool)&lt;br /&gt;
  storage.model = 'HTS726060M9AT00'  (string)&lt;br /&gt;
  storage.no_partitions_hint = false  (bool)&lt;br /&gt;
  storage.originating_device = '/org/freedesktop/Hal/devices/computer'  (string)&lt;br /&gt;
  storage.partitioning_scheme = 'mbr'  (string)&lt;br /&gt;
  storage.removable = false  (bool)&lt;br /&gt;
  storage.removable.media_available = true  (bool)&lt;br /&gt;
  storage.removable.media_size = 60011642880  (0xdf8f90000)  (uint64)&lt;br /&gt;
  storage.requires_eject = false  (bool)&lt;br /&gt;
  storage.serial = 'SATA_HTS726060M9AT00_MRH453M4H11ARB'  (string)&lt;br /&gt;
  storage.size = 60011642880  (0xdf8f90000)  (uint64)&lt;br /&gt;
  storage.vendor = 'ATA'  (string)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|+ Known South Bridge PCI IDs&lt;br /&gt;
! ID !! ThinkPad model !! South Bridge chip (for Ultrabay) !! parent device (host_0, lun0 = 2nd ATA controller, master device)&lt;br /&gt;
|-&lt;br /&gt;
| 8086_7111 || A20m, A20p, A21e, A21m, A21p, A22e, A22m, A22p, T20, T21, T22, X20, X21 || Intel 82371AB/EB/MB PIIX4 IDE || /org/freedesktop/Hal/devices/pci_8086_7111_scsi_host_0_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_248a || T23, T30, X22, X23, X24, X30|| Intel 82801CAM IDE U100 (rev 2) || /org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_248a || A30, A30p, A31, A31p|| Intel 82801CAM IDE U100 (rev 2) || /org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_scsi_device_lun0_0&amp;lt;br&amp;gt;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_24ca || R50, R51, T40, T40p, T41, T41p, T42, T42p, X31, X32, X40 || Intel 82801DBM (ICH4-M) || /org/freedesktop/Hal/devices/pci_8086_24ca_scsi_host_0_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_2653 || R52, T43, T43p, X41, Z60m, Z60t  || Intel 82801FBM (ICH6-M) || /org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_27c4 || R60, X60 || Intel 82801GBM (ICH7 Family) || /org/freedesktop/Hal/devices/pci_8086_27c4_scsi_host_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_27df || T60, T60p, Z61m, Z61t, Z61p || Intel 82801GBM/GHM (ICH7 Family) || /org/freedesktop/Hal/devices/pci_8086_27df_scsi_host_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_2850 || R61, T61, T61p, X300 || Intel 82801H (ICH8 Family) || /org/freedesktop/Hal/devices/pci_8086_2850_scsi_host_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_2929 || R400, R500, T400, T500, W500, W700, X200, X301 || Intel 82801I ICH9 Family || /org/freedesktop/Hal/devices/pci_8086_2929_scsi_host_0_scsi_device_lun0&lt;br /&gt;
|}&lt;br /&gt;
==lshal output==&lt;br /&gt;
Please place your lshal output here if you had problems&lt;br /&gt;
&lt;br /&gt;
lshal of my A31: [http://nopaste.org/p/a4p6x9tSob http://nopaste.org/p/a4p6x9tSob]&lt;br /&gt;
&lt;br /&gt;
Thanks! If I understand the output correctly you have one Toshiba Combo DVD-ROM/CD-RW R2002 in one ultrabay connected as slave to the primary IDE controller, and one Toshiba DVD-ROM C2512 in the second ultrabay connected as master to the secondary IDE controller. Can you confirm? I have added it to the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have a Thinkpad T43 and I found out from my lshal output that I had to use parent device:&lt;br /&gt;
pci_8086_2653_scsi_host_0_scsi_device_lun0 instead of &lt;br /&gt;
pci_8086_2653_scsi_host_scsi_device_lun0 (notice the added 0).&lt;br /&gt;
This is the ultrabay, however, the internal disk still use the &amp;quot;original&amp;quot; parent device (the one without the 0).&lt;br /&gt;
I think this information should be added to the table.&lt;br /&gt;
Specs:&lt;br /&gt;
Thinkpad T43 (machine type 2668),&lt;br /&gt;
Mandriva One 2009.1,&lt;br /&gt;
haldaemon 0.5.12&lt;br /&gt;
&lt;br /&gt;
Thanks, it is possible that you have AHCI mode disabled in the BIOS for your HDD?&lt;br /&gt;
--[[User:Tonko|Tonko]] 11:00, 31 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
===Thinkpad T510===&lt;br /&gt;
The T510 uses the Arrandale chipset, or &amp;quot;Intel Corporation 5 Series/3400 Series Chipset&amp;quot;.  This seems to work for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad T510 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T510&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_3b2f_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Jicama|Jicama]] 01:58, 7 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
= bash script for hotswapping UltraBay =&lt;br /&gt;
&lt;br /&gt;
Here is my script for hotswapping ultrabay, is more complex, supports swap partition on drive in ultrabay, check holders (useful, when you are using luks) and more :)&lt;br /&gt;
&lt;br /&gt;
{{HELP|Please test on difrent models}}&lt;br /&gt;
&lt;br /&gt;
ultrabay.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
SCSI_DEVICE=&amp;quot;&amp;quot;&lt;br /&gt;
FORCE_SLEEP=&amp;quot;1&amp;quot;&lt;br /&gt;
QUIET=&amp;quot;0&amp;quot;&lt;br /&gt;
SYSLOG=&amp;quot;0&amp;quot;&lt;br /&gt;
BEEP=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Message()&lt;br /&gt;
{&lt;br /&gt;
    MESSAGE=&amp;quot;${0/*\//}: $*&amp;quot;&lt;br /&gt;
    if [ &amp;quot;$QUIET&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;$MESSAGE&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    if [ &amp;quot;$SYSLOG&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
        /usr/bin/logger &amp;quot;$MESSAGE&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Exit()&lt;br /&gt;
{&lt;br /&gt;
    case &amp;quot;$1&amp;quot; in&lt;br /&gt;
        &amp;quot;fail&amp;quot;)&lt;br /&gt;
            [ $BEEP != &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; echo 2 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
            exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
        &amp;quot;success&amp;quot;)&lt;br /&gt;
            [ $BEEP != &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
            exit 0&lt;br /&gt;
        ;;&lt;br /&gt;
    esac&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Usage()&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;usage: ${0/*\/} [options]&amp;quot;&lt;br /&gt;
    echo &amp;quot;options:&amp;quot;&lt;br /&gt;
    echo &amp;quot;    -d &amp;lt;path&amp;gt;  SCSI device (required)&amp;quot;&lt;br /&gt;
    echo &amp;quot;    -s         Ignore fail when putting drive to sleep&amp;quot;&lt;br /&gt;
    echo &amp;quot;    -q         No messages&amp;quot;&lt;br /&gt;
    echo &amp;quot;    -l         Use syslog for messages (-q has no effect)&amp;quot;&lt;br /&gt;
    echo &amp;quot;    -b         Use beep for notification (-q has no effect)&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Block2Device()&lt;br /&gt;
{&lt;br /&gt;
    /bin/readlink -e &amp;quot;/dev/block/$1&amp;quot;    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
IsSwap()&lt;br /&gt;
{&lt;br /&gt;
    /sbin/swapon -s | grep -q -e &amp;quot;^$1\b&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
IsMounted()&lt;br /&gt;
{&lt;br /&gt;
    mount | grep -q -e &amp;quot;^$1\b&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
HasHolders()&lt;br /&gt;
{&lt;br /&gt;
    [ &amp;quot;$(ls &amp;quot;$1/holders&amp;quot;)&amp;quot; ]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
IsBusy()&lt;br /&gt;
{&lt;br /&gt;
    DEVICE=$(Block2Device $(cat &amp;quot;$1/dev&amp;quot;)) &lt;br /&gt;
    if IsSwap &amp;quot;$DEVICE&amp;quot; || IsMounted &amp;quot;$DEVICE&amp;quot; || HasHolders &amp;quot;$1&amp;quot;; then&lt;br /&gt;
	Message &amp;quot;device '$DEVICE' is busy&amp;quot;&lt;br /&gt;
	false&lt;br /&gt;
    else&lt;br /&gt;
	true&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
SleepDrive()&lt;br /&gt;
{&lt;br /&gt;
    BLOCK=$(cat $SCSI_DEVICE/block/*/dev 2&amp;gt; /dev/null)&lt;br /&gt;
    DEVICE=$(Block2Device &amp;quot;$BLOCK&amp;quot;)&lt;br /&gt;
    if ! /sbin/hdparm -Y &amp;quot;$DEVICE&amp;quot; &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
        Message &amp;quot;cannot put drive to sleep&amp;quot;&lt;br /&gt;
        if [ $FORCE_SLEEP = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
            true&lt;br /&gt;
        else&lt;br /&gt;
            false&lt;br /&gt;
        fi&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
DeleteScsiDevice()&lt;br /&gt;
{&lt;br /&gt;
    if ! { echo 1 &amp;gt; $SCSI_DEVICE/delete; } &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
        Message &amp;quot;cannot delete device&amp;quot;&lt;br /&gt;
        false&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
GetDock()&lt;br /&gt;
{&lt;br /&gt;
    grep &amp;quot;$1&amp;quot; /sys/devices/platform/dock.*/type | sed -e s%/type:.*%%&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
IsDocked()&lt;br /&gt;
{&lt;br /&gt;
    [ $(cat $(GetDock &amp;quot;$1&amp;quot;)/docked) -ne 0 ]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Undock()&lt;br /&gt;
{&lt;br /&gt;
    { echo 0 &amp;gt; $(GetDock &amp;quot;$1&amp;quot;)/undock; } &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
    if IsDocked &amp;quot;$1&amp;quot;; then&lt;br /&gt;
        Message &amp;quot;cannot undock UltraBay&amp;quot;&lt;br /&gt;
        false&lt;br /&gt;
    else&lt;br /&gt;
        Message &amp;quot;UltraBay undocked&amp;quot;&lt;br /&gt;
        true&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
while getopts &amp;quot;d:qlsb&amp;quot; OPTION; do&lt;br /&gt;
    case $OPTION in&lt;br /&gt;
        d)&lt;br /&gt;
            SCSI_DEVICE=&amp;quot;$OPTARG&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
        s)&lt;br /&gt;
            FORCE_SLEEP=&amp;quot;0&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
        q)&lt;br /&gt;
            QUIET=&amp;quot;1&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
        l)&lt;br /&gt;
            SYSLOG=&amp;quot;1&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
        b)&lt;br /&gt;
            BEEP=&amp;quot;1&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
        ?)&lt;br /&gt;
            Usage&lt;br /&gt;
        ;;&lt;br /&gt;
      esac&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
if [ -d &amp;quot;$SCSI_DEVICE&amp;quot; ] &amp;amp;&amp;amp; IsDocked &amp;quot;ata_bay&amp;quot;; then&lt;br /&gt;
    sync&lt;br /&gt;
    for DEV_DIR in $(ls $SCSI_DEVICE/block/*/*/dev $SCSI_DEVICE/block/*/dev | sed -e s/dev$//  2&amp;gt; /dev/null); do&lt;br /&gt;
	IsBusy &amp;quot;$DEV_DIR&amp;quot; || Exit &amp;quot;fail&amp;quot;&lt;br /&gt;
    done&lt;br /&gt;
    sync&lt;br /&gt;
    SleepDrive || Exit &amp;quot;fail&amp;quot;&lt;br /&gt;
    DeleteScsiDevice || Exit &amp;quot;fail&amp;quot;&lt;br /&gt;
    sleep 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ ! -d $SCSI_DEVICE ] &amp;amp;&amp;amp; $(IsDocked &amp;quot;ata_bay&amp;quot;); then&lt;br /&gt;
    if Undock &amp;quot;ata_bay&amp;quot;; then&lt;br /&gt;
        Exit &amp;quot;success&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        Exit &amp;quot;fail&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Message &amp;quot;UltraBay is already undocked&amp;quot;&lt;br /&gt;
Exit &amp;quot;success&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supported models: {{R400}} - linux-2.6.29&lt;br /&gt;
==comments==&lt;br /&gt;
Interesting, especially the support for swap partitions. but I have two comments, first your calling your script hotswap.sh and then having udev call ultrabay.sh?&lt;br /&gt;
&lt;br /&gt;
Then your hard coding the location of the Ultrabay device. This is not guaranteed to be correct, although it will be in most cases. In particular the A and W-series machines. A-series had support for more then one Ultrabay device, while W-series has support for more then one internal HDD in addition to the Ultrabay device, so the Ultrabay location will shift. That is why the Ultrabay Eject script on the main page gets the eject device information from udev.&lt;br /&gt;
&lt;br /&gt;
==comments==&lt;br /&gt;
Hi, thanks, I fix name of script :)&lt;br /&gt;
Udev calling ultrabay.sh with option -d, so it remove correct device, if you want remove device manualy, is default device useful. But option may be required...&lt;br /&gt;
&lt;br /&gt;
==more comments ;)==&lt;br /&gt;
You might also have a look at the script on the main page, it has a few extra abilities, such as logging to syslog, beeping and putting up popups on the desktop.&lt;br /&gt;
&lt;br /&gt;
Logging to syslog is simple, just call 'logger' with what you want to log. quite should have no effect on this.&lt;br /&gt;
&lt;br /&gt;
For beeps, similar to what windows does you can echo different values to /proc/acpi/ibm/beep, but it only works if sound is not muted. Unfortunately doing so does seem to generate some annoying messages in syslog.&lt;br /&gt;
&lt;br /&gt;
Lastly you can use notify-send to put up messages on the desktop, but before you can do so you have to do an export DISPLADISPLAY=0:0 /usr/bin/knotify4 --passive-popup : Adresář nebo soubor neexistujeY=:0.0&lt;br /&gt;
&lt;br /&gt;
==Syslog and beep==&lt;br /&gt;
OK, scrip now support syslog and beeping :).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Still missing notify-send ;)&lt;br /&gt;
&lt;br /&gt;
I am also thinking that it would be useful in the case of a busy filesystem to tell the user to run something like fuser -mv /dev/sr0&amp;lt;br&amp;gt;&lt;br /&gt;
Or perhaps we should run it ourselves automatically and just tell the user what is the cause of the busy filesystem.&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Tonko|Tonko]] 21:21, 8 June 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== get notify-send working ==&lt;br /&gt;
&lt;br /&gt;
Hi there,&lt;br /&gt;
&lt;br /&gt;
I've modified your ultrabay_eject script so that the notify-send is working for the user which is logged onto screen :0&lt;br /&gt;
for an unified diff see below, here is the whole modified script&lt;br /&gt;
&lt;br /&gt;
* whole script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Change the following DEVPATH= to match your system, if you want to run this directly instead of having it called by the udev eject script&lt;br /&gt;
# To find the right value, insert the UltraBay optical drive and run:&lt;br /&gt;
# udevadm info --query=path --name=/dev/sr0 | perl -pe 's!/block/...$!!'&lt;br /&gt;
if [ &amp;quot;$DEVPATH&amp;quot; = &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   DEVPATH=&amp;quot;/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
export DISPLAY=:0.0 # required for notify-send&lt;br /&gt;
&lt;br /&gt;
DISP0_USER=`lastlog | grep &amp;quot;[[:space:]]:0&amp;quot; | awk '{ print $1 }'` # the [[:space:]] before the :0 is needed to exclude ipv6 adresses&lt;br /&gt;
DISP0_USER_HOME=`getent passwd ${DISP0_USER} | cut -d':' -f6`&lt;br /&gt;
export XAUTHORITY=${DISP0_USER_HOME}/.Xauthority # also required for notify-send&lt;br /&gt;
&lt;br /&gt;
ULTRABAY_SYSDIR=/sys$DEVPATH&lt;br /&gt;
&lt;br /&gt;
# Find generic dock interface for UltraBay&lt;br /&gt;
dock=$( /bin/grep -l ata_bay /sys/devices/platform/dock.?/type )&lt;br /&gt;
dock=${dock%%/type}&lt;br /&gt;
if [ -n &amp;quot;$dock&amp;quot; -a -d &amp;quot;$dock&amp;quot; ]; then&lt;br /&gt;
        logger ultrabay_eject starting eject of $dock&lt;br /&gt;
else&lt;br /&gt;
        logger ultrabay_eject cannot locate bay dock device&lt;br /&gt;
        notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Cannot locate bay dock device&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Umount the filesystem(s) backed by the given major:minor device(s)&lt;br /&gt;
unmount_rdev() { perl - &amp;quot;$@&amp;quot; &amp;lt;&amp;lt;'EOPERL'  # let's do it in Perl&lt;br /&gt;
        for $major_minor (@ARGV) {&lt;br /&gt;
                $major_minor =~ m/^(\d+):(\d+)$/ or die;&lt;br /&gt;
                push(@tgt_rdevs, ($1&amp;lt;&amp;lt;8)|$2);&lt;br /&gt;
        }&lt;br /&gt;
        # Sort by reverse length of mount point, to unmount sub-directories first&lt;br /&gt;
        open MOUNTS,&amp;quot;&amp;lt;/proc/mounts&amp;quot; or die &amp;quot;$!&amp;quot;;&lt;br /&gt;
        @mounts=sort { length($b-&amp;gt;[1]) &amp;lt;=&amp;gt; length($a-&amp;gt;[1]) } map { [ split ] } &amp;lt;MOUNTS&amp;gt;;&lt;br /&gt;
        close MOUNTS;&lt;br /&gt;
        foreach $m (@mounts) {&lt;br /&gt;
                ($dev,$dir)=@$m;&lt;br /&gt;
                next unless -b $dev;  $rdev=(stat($dev))[6];&lt;br /&gt;
                next unless grep($_==$rdev, @tgt_rdevs);&lt;br /&gt;
                system(&amp;quot;umount&amp;quot;,&amp;quot;-v&amp;quot;,&amp;quot;$dir&amp;quot;)==0  or  $bad=1;&lt;br /&gt;
                if ($bad == 1) {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;ERROR unmounting&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u critical -t 100000 \&amp;quot;Error unmounting $dir\&amp;quot; \&amp;quot;Unmounting of $dir on $dev failed!\&amp;quot;&amp;quot;);&lt;br /&gt;
                } else {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;unmounted&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u normal -t 5000 \&amp;quot;Unmounted $dir\&amp;quot;&amp;quot;);&lt;br /&gt;
                };&lt;br /&gt;
        }&lt;br /&gt;
        exit 1 if $bad;&lt;br /&gt;
EOPERL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get the UltraBay's /dev/foo block device node&lt;br /&gt;
ultrabay_dev_node() {&lt;br /&gt;
        UDEV_PATH=&amp;quot;`readlink -e &amp;quot;$ULTRABAY_SYSDIR/block/&amp;quot;*`&amp;quot; || return 1&lt;br /&gt;
        UDEV_NAME=&amp;quot;`udevadm info --query=name --path=$UDEV_PATH`&amp;quot; || return 1&lt;br /&gt;
        echo /dev/$UDEV_NAME&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ $( cat $dock/docked ) == 0 ]; then&lt;br /&gt;
        logger ultrabay_eject dock reports empty&lt;br /&gt;
else &lt;br /&gt;
	if [ -d $ULTRABAY_SYSDIR ]; then&lt;br /&gt;
		logger ultrabay_eject dock occupied, shutting down storage device $DEVPATH&lt;br /&gt;
		sync&lt;br /&gt;
		# Unmount filesystems backed by this device&lt;br /&gt;
		## This seems to be very inelegant and prone to failure&lt;br /&gt;
		unmount_rdev `cat $ULTRABAY_SYSDIR/block/*/dev     \&lt;br /&gt;
				  $ULTRABAY_SYSDIR/block/*/*/dev`  \&lt;br /&gt;
		|| {&lt;br /&gt;
			logger ultrabay_eject umounting failed&lt;br /&gt;
			echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
			notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Please do not pull the device, doing so could cause file corruption and possibly hang the system. Unmounting of the filesystem on the ThinkPad Ultrabay device failed. Please put the eject leaver back in place, and try to unmount the filesystem manually. If this succeeds you can try the eject again&amp;quot;&lt;br /&gt;
			exit 1;&lt;br /&gt;
		}&lt;br /&gt;
		sync&lt;br /&gt;
		# Nicely power off the device&lt;br /&gt;
		DEVNODE=`ultrabay_dev_node` &amp;amp;&amp;amp; hdparm -Y $DEVNODE&lt;br /&gt;
		# Let HAL+KDE notice the unmount and let the disk spin down&lt;br /&gt;
		sleep 0.5&lt;br /&gt;
		# Unregister this SCSI device:&lt;br /&gt;
		sync&lt;br /&gt;
		echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&lt;br /&gt;
	else&lt;br /&gt;
		logger ultrabay_eject bay occupied but incorrect device path $DEVPATH&lt;br /&gt;
		notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Bay occupied but incorrect device path&amp;quot;&lt;br /&gt;
		echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# We need sleep here so someone can disconnect the bay and the drive&lt;br /&gt;
sleep 1&lt;br /&gt;
&lt;br /&gt;
# Turn off power to the UltraBay&lt;br /&gt;
logger ultrabay_eject undocking $dock&lt;br /&gt;
echo 1 &amp;gt; $dock/undock&lt;br /&gt;
&lt;br /&gt;
# Tell the user we're OK&lt;br /&gt;
logger ultrabay_eject done&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
notify-send -u normal -t 10000 &amp;quot;Safe to remove device&amp;quot; &amp;quot;The ThinkPad Ultrabay device can now safely be removed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*unified diff&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- ultrabay_eject.orig	2010-01-07 22:51:40.000000000 +0100&lt;br /&gt;
+++ ultrabay_eject	2010-01-07 22:54:55.000000000 +0100&lt;br /&gt;
@@ -10,6 +10,11 @@&lt;br /&gt;
 &lt;br /&gt;
 shopt -s nullglob&lt;br /&gt;
 export DISPLAY=:0.0 # required for notify-send&lt;br /&gt;
+&lt;br /&gt;
+DISP0_USER=`lastlog | grep &amp;quot;[[:space:]]:0&amp;quot; | awk '{ print $1 }'` # the [[:space:]] before the :0 is needed to exclude ipv6 adresses&lt;br /&gt;
+DISP0_USER_HOME=`getent passwd ${DISP0_USER} | cut -d':' -f6`&lt;br /&gt;
+export XAUTHORITY=${DISP0_USER_HOME}/.Xauthority # also required for notify-send&lt;br /&gt;
+&lt;br /&gt;
 ULTRABAY_SYSDIR=/sys$DEVPATH&lt;br /&gt;
 &lt;br /&gt;
 # Find generic dock interface for UltraBay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i hope this is useful to other users as well --[[User:Roo|Roo]] 22:19, 7 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
= A warning about sysfs docked =&lt;br /&gt;
&lt;br /&gt;
A note to script writers/users:  [https://marc.info/?l=linux-acpi&amp;amp;m=148952016304094&amp;amp;w=2 The docked sysfs attribute can be unreliable.]  Be sure the script fails safely if it reports 0 when there are docked devices.&lt;br /&gt;
&lt;br /&gt;
--[[User:Kevinoid|Kevinoid]] ([[User talk:Kevinoid|talk]]) 20:45, 14 March 2017 (CET)&lt;br /&gt;
&lt;br /&gt;
== hdparm -Y removed from script for Ultrabay eject ==&lt;br /&gt;
&lt;br /&gt;
Previously the [[How_to_hotswap_Ultrabay_devices#Script_for_Ultrabay_eject|Script for Ultrabay eject]] invoked &amp;lt;code&amp;gt;hdparm -Y&amp;lt;/code&amp;gt; before &amp;lt;code&amp;gt;echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&amp;lt;/code&amp;gt;.  From the comment, it appears that the intent was to spin down the drive before deleting the ATA device.  Unfortunately, this is both unnecessary,  [https://lore.kernel.org/linux-scsi/b6da4b95-f6e4-4cf7-9cdc-239d91655b6d@kernel.org/ since it is done automatically by the kernel], and counterproductive, since [https://lore.kernel.org/linux-scsi/ZZ8CzOaXBkxyKxNw@x1-carbon/ the link must be reset to wake the device then enumerate/validate it before removing it].  Several kernel developers believe that [https://lore.kernel.org/linux-scsi/ZZ8HjQXC3vp2lCuv@x1-carbon/ mixing SCSI pass-through commands (from hdparm) and commands submitted by the sd driver (from sysfs) is unsupported/undefined behavior].&lt;br /&gt;
&lt;br /&gt;
--[[User:Kevinoid|Kevinoid]] ([[User talk:Kevinoid|talk]]) 02:12, 11 January 2024 (CET)&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=62118</id>
		<title>How to hotswap Ultrabay devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=62118"/>
		<updated>2024-01-11T00:58:05Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Remove hdparm -Y from eject script (see discussion for rationale)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following discusses hotswap (AKA &amp;quot;hotplug&amp;quot;) of devices in the [[Ultrabay]].&lt;br /&gt;
&lt;br /&gt;
This page has a lot of old information.  Some cleanup might be useful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Which driver?==&lt;br /&gt;
This may be confusing, so first a quick history lesson.&lt;br /&gt;
&lt;br /&gt;
Older ThinkPads (up to the R51, T42p and X40) were fully IDE (PATA) for both the internal HDD and Ultrabay. For these there are two drivers, the modern libata based {{path|ata_piix}} and the old legacy {{path|piix}}/{{path|ide-disk}} combo. Most modern distributions will default to the {{path|ata_piix}} driver, which is really what you want anyway.&lt;br /&gt;
&lt;br /&gt;
ThinkPads like the R52, T43, T43p, X41 and X41 Tablet are strange hybrids. They have a Serial-ATA (SATA) chipset for the internal disk controller, but the actual disk is still legacy IDE, using a separate SATA-PATA bridge chip. The Ultrabay, though, is still connected to the legacy IDE host controller. This results in a setup where the internal disk is handled by a SATA driver and the Ultrabay is handled by either {{path|ata_piix}} or {{path|piix}}/{{path|ide-disk}}.&lt;br /&gt;
&lt;br /&gt;
ThinkPads like the R60, T60 and Z60 series are also hybrids, but they use a native SATA HDD internal. Ultrabay still uses legacy IDE (PATA) though. So just like with the previous models you end up with two separate drivers for the internal HDD and the Ultrabay.&lt;br /&gt;
&lt;br /&gt;
The latest generation ThinkPads like the R400, R500, T400, T500, W500, W700, X200, and X301 are all fully SATA for both the internal HDD and the Ultrabay device, so both are handled by the same SATA driver.&lt;br /&gt;
{{Todo|Figure out in which category the X60 series ThinkPads truly belong. Some of these machines might have been shipped with a 1.8&amp;quot; HDD which is likely to be PATA, in fact the HMM even states so. But tabook and ltwbook only lists SATA models, so the 1.8&amp;quot; model might never have shipped. But even if it did there will be a SATA-PATA bridge chip, so from the OS it will look like SATA.}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+Overview of disk interface types&lt;br /&gt;
! Thinkpad !! internal HDD !! Ultrabay !! Modern Driver !! Old Driver&lt;br /&gt;
|-&lt;br /&gt;
| {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}, {{A30}}, {{A30p}}, {{A31}}, {{A31p}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} || Legacy 2.5&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}}, {{R61}} || 2.5&amp;quot; SATA || Legacy IDE (PATA)  || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}}, {{R500}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}}, {{T43p}} || Legacy 2.5&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}}, {{T60p}}, {{T61}}, {{T61p}} || 2.5&amp;quot; SATA || Legacy IDE (PATA)  || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T400}}, {{T500}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} || Legacy 1.8&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}}, {{X41t}} || Legacy 1.8&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}}, {{X60s}}, {{x60t}}, {{x61}}, {{x61s}}, {{x61t}} || 2.5&amp;quot; HDD is SATA, 1.8&amp;quot; HDD is PATA with SATA conversion || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} ||2.5&amp;quot; SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}}, {{X200 Tablet}}, {{X301}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{W500}}, {{W700}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}}, {{Z60t}}, {{Z61e}}, {{Z61m}}, {{Z61p}}, {{Z61t}} || 2.5&amp;quot; SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Debian users: at least up the the kernel released with Lenny, Debian applies a patch in the Debian kernel sources which prevents the use of &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; with PATA devices (like the IDE bus for the Ultrabay). You will have to either use an upstream kernel or (re)patch the Debian kernel sources. &lt;br /&gt;
You may want to have a look at the following Debian bug reports as well: [http://bugs.debian.org/444182 #444182], [http://bugs.debian.org/463833 #463833].}}&lt;br /&gt;
&lt;br /&gt;
==Modern systems (using the &amp;lt;tt&amp;gt;ahci&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; drivers)==&lt;br /&gt;
The following applies when using the &amp;lt;tt&amp;gt;ahci&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver (which supercedes the old &amp;lt;tt&amp;gt;ide_disk&amp;lt;/tt&amp;gt; driver).&lt;br /&gt;
&lt;br /&gt;
You should at least be using a distribution with kernel 2.6.23. If you have a distribution with an older kernel, please update your distribution, as in addition to a newer kernel, you will need some of the newer userland tools.&lt;br /&gt;
&lt;br /&gt;
===Using libata-acpi and udev===&lt;br /&gt;
&lt;br /&gt;
Starting from kernel 2.6.26-rc5, it's possible to use &amp;lt;tt&amp;gt;libata-acpi&amp;lt;/tt&amp;gt; in combination with udev to hotswap. Please check if CONFIG_ATA_ACPI is enabled in your kernel configuration.&lt;br /&gt;
&lt;br /&gt;
For 2.6.25, you need two patches which can be easily backported ([http://article.gmane.org/gmane.linux.acpi.devel/31159],[http://article.gmane.org/gmane.linux.acpi.devel/31369]).&lt;br /&gt;
&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/50-thinkpad-ultrabay.rules}} with the following contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENV{BAY_EVENT}==&amp;quot;3&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;scsi&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then ensure it has the right permissions&lt;br /&gt;
 chown root:root /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
 chmod 644 /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
For Red Hat/Fedora and other systems with selinux, you also need to set the security context:&lt;br /&gt;
 chcon system_u:object_r:etc_runtime_t:s0 /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
&lt;br /&gt;
Now create the below ultrabay-eject script&lt;br /&gt;
&lt;br /&gt;
===Script for Ultrabay eject===&lt;br /&gt;
&lt;br /&gt;
The following script does the following:&lt;br /&gt;
* Automatically unmounts the relevant filesystems and power off the Ultrabay when the Ultrabay eject lever is released. Screams if some filesystem can't be unmounted.&lt;br /&gt;
&lt;br /&gt;
Create a executable file {{path|/usr/local/sbin/ultrabay_eject}} with the following content. Note if you want to be able to run it directly (not by the UDEV eject script), then you need to manually edit the DEVPATH variable near the top of the script.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Change the following DEVPATH= to match your system, if you want to run this directly instead of having it called by the udev eject script&lt;br /&gt;
# To find the right value, insert the UltraBay optical drive and run:&lt;br /&gt;
# udevadm info --query=path --name=/dev/sr0 | perl -pe 's!/block/...$!!'&lt;br /&gt;
&lt;br /&gt;
# Try to guess DEVPATH. It works with optical drive or Hard disk (or SSD)&lt;br /&gt;
if [ &amp;quot;$DEVPATH&amp;quot; = &amp;quot;&amp;quot; ]; then&lt;br /&gt;
        # try to guess for CD&lt;br /&gt;
        DEVPATH=$(udevadm info --query=path --name=/dev/sr0 | perl -pe 's!/block/...$!!')&lt;br /&gt;
        if [ &amp;quot;$DEVPATH&amp;quot; = &amp;quot;&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;No optical device attached?&amp;quot;&lt;br /&gt;
                echo &amp;quot;Try for harddisk&amp;quot;&lt;br /&gt;
                # try to guess for sdb&lt;br /&gt;
                DEVPATH=$(udevadm info --query=path --name=/dev/sdb | perl -pe 's!/block/...$!!')&lt;br /&gt;
        fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
export DISPLAY=:0.0 # required for notify-send&lt;br /&gt;
ULTRABAY_SYSDIR=/sys$DEVPATH&lt;br /&gt;
&lt;br /&gt;
# Find generic dock interface for UltraBay&lt;br /&gt;
dock=$( /bin/grep -l ata_bay /sys/devices/platform/dock.?/type )&lt;br /&gt;
dock=${dock%%/type}&lt;br /&gt;
if [ -n &amp;quot;$dock&amp;quot; -a -d &amp;quot;$dock&amp;quot; ]; then&lt;br /&gt;
        logger ultrabay_eject starting eject of $dock&lt;br /&gt;
else&lt;br /&gt;
        logger ultrabay_eject cannot locate bay dock device&lt;br /&gt;
        notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Cannot locate bay dock device&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Umount the filesystem(s) backed by the given major:minor device(s)&lt;br /&gt;
unmount_rdev() { perl - &amp;quot;$@&amp;quot; &amp;lt;&amp;lt;'EOPERL'  # let's do it in Perl&lt;br /&gt;
        for $major_minor (@ARGV) {&lt;br /&gt;
                $major_minor =~ m/^(\d+):(\d+)$/ or die;&lt;br /&gt;
                push(@tgt_rdevs, ($1&amp;lt;&amp;lt;8)|$2);&lt;br /&gt;
        }&lt;br /&gt;
        # Sort by reverse length of mount point, to unmount sub-directories first&lt;br /&gt;
        open MOUNTS,&amp;quot;&amp;lt;/proc/mounts&amp;quot; or die &amp;quot;$!&amp;quot;;&lt;br /&gt;
        @mounts=sort { length($b-&amp;gt;[1]) &amp;lt;=&amp;gt; length($a-&amp;gt;[1]) } map { [ split ] } &amp;lt;MOUNTS&amp;gt;;&lt;br /&gt;
        close MOUNTS;&lt;br /&gt;
        foreach $m (@mounts) {&lt;br /&gt;
                ($dev,$dir)=@$m;&lt;br /&gt;
                next unless -b $dev;  $rdev=(stat($dev))[6];&lt;br /&gt;
                next unless grep($_==$rdev, @tgt_rdevs);&lt;br /&gt;
                system(&amp;quot;umount&amp;quot;,&amp;quot;-v&amp;quot;,&amp;quot;$dir&amp;quot;)==0  or  $bad=1;&lt;br /&gt;
                if ($bad == 1) {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;ERROR unmounting&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u critical -t 100000 \&amp;quot;Error unmounting $dir\&amp;quot; \&amp;quot;Unmounting of $dir on $dev failed!\&amp;quot;&amp;quot;);&lt;br /&gt;
                } else {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;unmounted&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u normal -t 5000 \&amp;quot;Unmounted $dir\&amp;quot;&amp;quot;);&lt;br /&gt;
                };&lt;br /&gt;
        }&lt;br /&gt;
        exit 1 if $bad;&lt;br /&gt;
EOPERL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -d $ULTRABAY_SYSDIR ]; then&lt;br /&gt;
	logger ultrabay_eject dock occupied, shutting down storage device $DEVPATH&lt;br /&gt;
	sync&lt;br /&gt;
	# Unmount filesystems backed by this device&lt;br /&gt;
	## This seems to be very inelegant and prone to failure&lt;br /&gt;
	unmount_rdev `cat $ULTRABAY_SYSDIR/block/*/dev     \&lt;br /&gt;
			  $ULTRABAY_SYSDIR/block/*/*/dev`  \&lt;br /&gt;
	|| {&lt;br /&gt;
		logger ultrabay_eject umounting failed&lt;br /&gt;
		echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
		notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Please do not pull the device, doing so could cause file corruption and possibly hang the system. Unmounting of the filesystem on the ThinkPad Ultrabay device failed. Please put the eject leaver back in place, and try to unmount the filesystem manually. If this succeeds you can try the eject again&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	}&lt;br /&gt;
	sync&lt;br /&gt;
	# Let HAL+KDE notice the unmount&lt;br /&gt;
	sleep 0.5&lt;br /&gt;
	# Unregister this SCSI device:&lt;br /&gt;
	sync&lt;br /&gt;
	echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&lt;br /&gt;
elif [ $( cat $dock/docked ) == 0 ]; then&lt;br /&gt;
        logger ultrabay_eject dock reports empty&lt;br /&gt;
else&lt;br /&gt;
	logger ultrabay_eject bay occupied but incorrect device path $DEVPATH&lt;br /&gt;
	notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Bay occupied but incorrect device path&amp;quot;&lt;br /&gt;
	echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# We need sleep here so someone can disconnect the bay and the drive&lt;br /&gt;
sleep 1&lt;br /&gt;
&lt;br /&gt;
# Turn off power to the UltraBay&lt;br /&gt;
logger ultrabay_eject undocking $dock&lt;br /&gt;
echo 1 &amp;gt; $dock/undock&lt;br /&gt;
&lt;br /&gt;
# Tell the user we're OK&lt;br /&gt;
logger ultrabay_eject done&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
notify-send -u normal -t 10000 &amp;quot;Safe to remove device&amp;quot; &amp;quot;The ThinkPad Ultrabay device can now safely be removed&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
a possible fix for the notify not working thing is here [[Talk:How_to_hotswap_Ultrabay_devices#get_notify-send_working]]&lt;br /&gt;
&lt;br /&gt;
Then make sure ownership and permissions are set correct&lt;br /&gt;
 chown root:root /usr/local/sbin/ultrabay_eject&lt;br /&gt;
 chmod 555 /usr/local/sbin/ultrabay_eject&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver is built in the kernel, it will catch bay events and you will see the&lt;br /&gt;
following message in your system log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
thinkpad_acpi: another device driver is already handling bay events&lt;br /&gt;
thinkpad_acpi: disabling subdriver bay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You should load &amp;lt;tt&amp;gt;thinkpad_acpi&amp;lt;/tt&amp;gt; before &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; if you want it to handle bay events.&lt;br /&gt;
&lt;br /&gt;
===Script for Ultrabay insert===&lt;br /&gt;
{{WARN|Only needed for kernels prior to 2.6.26}}&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_insert}} with the following content:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
 sync&lt;br /&gt;
 echo 0 0 0 &amp;gt; /sys/class/scsi_host/host1/scan&lt;br /&gt;
&lt;br /&gt;
and set the right permissions&lt;br /&gt;
 chown root:root /usr/local/sbin/ultrabay_insert&lt;br /&gt;
 chmod 555 /usr/local/sbin/ultrabay_insert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Using the generic bay driver and udev===&lt;br /&gt;
{{WARN|If you have kernel 2.6.26 or newer, please use the above [[#Using libata-acpi and udev]] method instead}}&lt;br /&gt;
Starting from kernel 2.6.23-rc3, it's possible to use the generic &amp;lt;tt&amp;gt;bay&amp;lt;/tt&amp;gt; driver in combination with udev to hotswap. Please check if CONFIG_ACPI_BAY is enabled (module or built-in) in your kernel configuration.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/udev/rules.d/ibm-ultrabay.rules}}:&lt;br /&gt;
 ENV{BAY_EVENT}==&amp;quot;3&amp;quot;, KERNEL==&amp;quot;bay.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
 ENV{BAY_EVENT}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;bay.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_insert&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Starting with kernel 2.6.28, the &amp;lt;tt&amp;gt;bay&amp;lt;/tt&amp;gt; driver was removed from the mainline kernel. The &amp;lt;tt&amp;gt;dock&amp;lt;/tt&amp;gt; driver replaced it completely. Make sure CONFIG_ACPI_DOCK is enabled in the kernel, and use the following udev rules:&lt;br /&gt;
&lt;br /&gt;
 ENV{EVENT}==&amp;quot;undock&amp;quot;, KERNEL==&amp;quot;dock.2&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
 ENV{EVENT}==&amp;quot;dock&amp;quot;, KERNEL==&amp;quot;dock.2&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_insert&amp;quot;&lt;br /&gt;
&lt;br /&gt;
However, the ultra_eject script needs to be changed, otherwise udev goes into an infinite event loop. It will send undock events every few seconds forever. That means as soon as the ultrabay is plugged in again, it will be immediately ejected. For kernels 2.6.28 and higher, the bay cannot be powered off using this method, so change the end of the script to read:&lt;br /&gt;
 # Turn off power to the UltraBay:&lt;br /&gt;
 if [ -d /sys/devices/platform/bay.0 ]; then&lt;br /&gt;
 	echo 1 &amp;gt; /sys/devices/platform/bay.0/eject&lt;br /&gt;
 elif [ -e /proc/acpi/ibm/bay ]; then&lt;br /&gt;
 	echo eject &amp;gt; /proc/acpi/ibm/bay&lt;br /&gt;
 fi&lt;br /&gt;
 # Tell the user we're OK&lt;br /&gt;
 echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
&lt;br /&gt;
Alternatively, instead of modifying the script, use the libata-acpi method below.&lt;br /&gt;
This was tested on a T61p running Gentoo with tuxonice 2.6.28-r8 without any issues.&lt;br /&gt;
&lt;br /&gt;
===udisks support===&lt;br /&gt;
Just like the HAL support mentioned below this is only about marking the device as hotpluggable.&lt;br /&gt;
&lt;br /&gt;
Recently distributions do not use HAL anymore. On these systems Gnome, KDE, etc. use udisks instead to discover installed disks. So today most people will have to tell udisks that the ultrabay device is a removeable device. The HAL configuration described below does not work anymore.&lt;br /&gt;
&lt;br /&gt;
Udisks reads device properties from udev. In order to force a device to be considered &amp;quot;removeable&amp;quot; we have to set the udev property &amp;quot;UDISKS_SYSTEM_INTERNAL&amp;quot; to &amp;quot;0&amp;quot;. (man 7 udisks)&lt;br /&gt;
In order for this to work you need at least version 1.0.3 of udisks.&lt;br /&gt;
&lt;br /&gt;
Here is an example of a udev rule that adds the property. You can add it to the file that contains the other utrabay rules (i.e. {{path|/etc/udev/rules.d/50-thinkpad-ultrabay.rules}}). You may have to adjust the DEVPATH.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEMS==&amp;quot;block&amp;quot;, DEVPATH==&amp;quot;/devices/pci0000:00/0000:00:1f.1/host4/*&amp;quot;, ENV{UDISKS_SYSTEM_INTERNAL}=&amp;quot;0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now tell udev to reread the rules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udevadm control --reload-rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now your window manager should give you a notification when you plug in a disk into the ultrabay.&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
{{HELP| If the script below does not work, please provide your lshal output on the [[Talk:How_to_hotswap_Ultrabay_devices]] page}}&lt;br /&gt;
{{NOTE| If your HAL version is older then 0.5.11, you need to replace &amp;quot;info.parent&amp;quot; with &amp;quot;storage.physical_device&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
HAL support is only needed for proper notification to your desktop applications, such as Gnome and KDE. You will still require the udev script to handle the proper removal.&lt;br /&gt;
&lt;br /&gt;
To tell HAL that devices connected to the UltraBay port are hotpluggable, you need to create a file {{path|/etc/hal/fdi/information/10-thinkpad-ultrabay.fdi}} with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
HAL config file to set ThinkPad Ultrabay eject capability flag.&lt;br /&gt;
Note that ThinkPad model matching is done on a partial match, so T40 will also match T40p, which is what we want.&lt;br /&gt;
&lt;br /&gt;
If your ThinkPad model is not listed, please check with lspci what PCI ID your disk controller is&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; prefix=&amp;quot;ThinkPad&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.vendor&amp;quot; string=&amp;quot;IBM&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad A20m, A20p, A21e, A21m, A21p, A22e, A22m, A22p, T20, T21, T22, X20 and X21 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;A20;A21;A22;T20;T21;T22;X20;X21&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_7111_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad T23, T30, X22, X23, X24 and X30 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T23;T30;X22;X23;X24;X30&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad A30, A30p, A31 and A31p - 2 Ultrabay devices--&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;A30;A31&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_scsi_device_lun0_0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad R50, R51, T40, T40p, T41, T41p, X31, X32 and X40 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R50;R51;T40;T41;T42;X31;X32;X40&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad R52, T43, T43p, X41, Z60m and Z60p --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R52;T43;X41;Z60&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.vendor&amp;quot; string=&amp;quot;LENOVO&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad T60, T60p, Z61m, Z61t and Z61p --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T60;Z61&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_27df_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R60 and X60 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R60;X60&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_27c4_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R61, T61, T61p and X300 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R61;T61;X300&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2850_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R400, R500, T400, T500, W500, W700, X200 and X301 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R400;R500;T400;T500;W500;W700;X200;X301&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2929_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad T410, T510 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T410;T510&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_3b2f_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then ensure it has the right permissions&lt;br /&gt;
&lt;br /&gt;
 chown root:root /etc/hal/fdi/information/10-thinkpad-ultrabay.fdi&lt;br /&gt;
 chmod 644 /etc/hal/fdi/information/10-thinkpad-ultrabay.fdi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the effect, look at your lshal output, the section for your optical disk (/dev/sr0 typically) or your 2nd hdd (/dev/sdb typically) should have storage.hotpluggable = true after restarting your hal deamon or rebooting.&lt;br /&gt;
&lt;br /&gt;
===Disable ultrabay at boot time===&lt;br /&gt;
To safe some energy you can create an init.d start script to automatically &amp;quot;eject&amp;quot; the ultrabay at boot time&amp;lt;br /&amp;gt;&lt;br /&gt;
vim /etc/init.d/stop-ultrabay&lt;br /&gt;
 &lt;br /&gt;
 #! /bin/sh &lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:          stop-ultrabay&lt;br /&gt;
 # Required-Start:    $remote_fs $syslog&lt;br /&gt;
 # Required-Stop:     $remote_fs $syslog&lt;br /&gt;
 # Default-Start:     2 3 4 5&lt;br /&gt;
 # Default-Stop:      0 1 6&lt;br /&gt;
 # Short-Description: stops the ultrabay&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 # Script to shutdown ultrabay at boot time. To reenable, simply push the ultrabay eject lever&lt;br /&gt;
 # and put it again.&lt;br /&gt;
 # By Frank Doelitzscher, 2010-08-04&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # This things will always run&lt;br /&gt;
 /usr/local/sbin/ultrabay_eject&lt;br /&gt;
 &lt;br /&gt;
 # Carry out specific functions when asked to by the system&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
 *)&lt;br /&gt;
    echo &amp;quot;This script runs automatically at boot time.&amp;quot;&lt;br /&gt;
    echo &amp;quot;It does not need any switches like start|stop&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac &lt;br /&gt;
 exit 0&lt;br /&gt;
Then ensure it has the right permissions&amp;lt;br /&amp;gt;&lt;br /&gt;
 chmod 755 /etc/init.d/stop-ultrabay&lt;br /&gt;
 &lt;br /&gt;
And make it known to the init subsystem&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f stop-ultrabay start 90 2 3 4 5 .&lt;br /&gt;
&lt;br /&gt;
It just gets a start script since it does not make sense to execute it at a shutdown or restart.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was tested on a T60 running Debian Squeeze with standard 2.6.32-5-686 #1 SMP without any issues.&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies if you use the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver for the UltraBay device.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note that essentially, you shouldn't be using this driver, and use ata_piix instead unless you're running an older kernel where ata_piix won't work for you&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hotswapping is supposed to be supported as well, using either hdparm/[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] or [[lt_hotswap]] to (un)register IDE devices. The latter is the recommended method with kernels from 2.6, since it will leave DMA working. However, for recent models (R52, T43, X41, Z60 and later) no method is known to work while maintaining DMA support; see [[Problems with SATA and Linux]].&lt;br /&gt;
&lt;br /&gt;
Only IDE devices (HDD's, optical drives, zip drives) require special treatment - batteries, floppies and other devices can just be pulled from the bay, provided they are not mounted or in use at the time. However, you should still power them down first using the [[thinkpad-acpi]] eject function.&lt;br /&gt;
&lt;br /&gt;
The [[thinkpad-acpi]] kernel module has an eject function ({{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}). This only manages the ACPI calls to power down the device and the bay. It does not actually unregister the device from the IDE driver. {{cmdroot|cat /proc/acpi/ibm/bay}} shows &amp;quot;unoccupied&amp;quot; unless an IDE device is present, but the eject function still works and should still be used.&lt;br /&gt;
&lt;br /&gt;
To unregister the device, you can either use the [http://packages.debian.org/unstable/admin/hotswap Debian hotswap] package, or [[lt_hotswap]]. Note that lt_hotswap doesn't seem to even build on recent (at 2.6.22 or newer, although it probably broke before 2.6.22) and on newer kernels, you should not build/load the old IDE PIIX (CONFIG_BLK_DEV_PIIX) and use the natively hotswapping ata_piix (CONFIG_ATA_PIIX) as explained on the top of this page.&lt;br /&gt;
&lt;br /&gt;
[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] also allows the drive to be swapped as a normal user by default, which is useful. You should use &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; to unregister the device and then {{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}. However, if you use this method on a 2.6 kernel, you will lose DMA support for the reinserted drive. This is due to kernel issues. This method was reported to work on a ThinkPad {{T23}} (kernels 2.6.8.1, 2.6.14.2 and 2.6.15-arch) and {{T42}} (kernel 2.6.13), but fails on a ThinkPad {{T43}} (kernel 2.6.14.3).&lt;br /&gt;
&lt;br /&gt;
[[lt_hotswap]] is now the recommended method to un- and reregister the IDE device. It installs as a kernel module and has support for automatically unregistering (if loaded with the auto_eject=1 option) the device when the eject event is generated by [[thinkpad-acpi]]. It will leave DMA support intact. It has supported to work on a ThinkPad {{T22}} and {{T40}} and should work with many other models (but not recent models which require the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver for disk DMA support). With the [[lt_hotswap]] kernel module loaded, run: {{cmdroot|modprobe -r ide_cd &amp;amp;&amp;amp; modprobe -r cdrom &amp;amp;&amp;amp; echo &amp;quot;MSTR eject&amp;quot; &amp;gt; /proc/acpi/lths}}&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
HAL support also can also be configured To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;ide&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_ide_1_0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more details see HAL section for ata driver.&lt;br /&gt;
&lt;br /&gt;
==Password protected HDD==&lt;br /&gt;
{{WARN|Do not attempt to set a new HDD password from Linux, if you succeed you may find you can no longer unlock the drive or remove the password in any way}}&lt;br /&gt;
There are multiple issues with hotplugging a password protected HDD. In short, it does not work from within the operating system. You will need to reboot, or use the suspend/wakeup procedure below, and let the BIOS do the unlock.&lt;br /&gt;
===hdparm===&lt;br /&gt;
While in theory you should be a able to use hdparm to unlock a drive, or set or remove a password. In practice none of it works the way it should.&lt;br /&gt;
&lt;br /&gt;
First of all, by default the BIOS during POST will freeze the security settings of any drives that are present, preventing you from making changes until the drive is power cycled. You can see this by running the following command&lt;br /&gt;
 # hdparm -I /dev/sdb|grep frozen&lt;br /&gt;
 	not	frozen&lt;br /&gt;
If the above command simply returns 'frozen' any hdparm security commands will fail with an IO error. If this is an Ultrabay HDD you can simply remove the drive and hotplug it again to reset the drive.&lt;br /&gt;
&lt;br /&gt;
If your drive has a PW set by the BIOS, any attempt to unlock it will result in an IO error.&lt;br /&gt;
&lt;br /&gt;
But a fatal flaw is to use hdparm to actually set a password, if you do you will find the following issues&lt;br /&gt;
* setting a Master password will appear to succeed, but in fact does nothing&lt;br /&gt;
* setting a User password does succeed, but you will no longer be able to unlock or remove the password using either hdparm or the BIOS. hdparm will just give IO errors, and the BIOS will report the password being wrong. It is speculated that the BIOS does some kind of hashing to the password, which is why setting the PW from the BIOS and setting the PW with hdparm is incompatible.&lt;br /&gt;
&lt;br /&gt;
 # hdparm --verbose --user-master u --security-disable test /dev/sdb&lt;br /&gt;
 security_password=&amp;quot;test&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 /dev/sdb:&lt;br /&gt;
  Issuing SECURITY_DISABLE command, password=&amp;quot;test&amp;quot;, user=user&lt;br /&gt;
 oflags.lob_all=0x82, flags={ feat command }&lt;br /&gt;
 oflags.hob_all=0x82, flags={ feat }&lt;br /&gt;
 using LBA48 taskfile&lt;br /&gt;
 outgoing cdb:  85 0b 26 00 00 00 00 00 00 00 00 00 00 40 f2 00&lt;br /&gt;
 data:  00 00 74 65 73 74 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 SG_IO: ATA_16 status=0x2, host_status=0x0, driver_status=0x8&lt;br /&gt;
 SG_IO: sb[]:  72 0b 00 00 00 00 00 0e 09 0c 01 04 00 00 00 00 00 00 00 00 e0 51 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 SG_IO: desc[]:  09 0c 01 04 00 00 00 00 00 00 00 00&lt;br /&gt;
       ATA_16 stat=51 err=04 nsect=00 lbal=00 lbam=00 lbah=00 dev=e0&lt;br /&gt;
 I/O error, ata_op=0xf2 ata_status=0x51 ata_error=0x04&lt;br /&gt;
 SECURITY_UNLOCK: Input/output error&lt;br /&gt;
&lt;br /&gt;
*[https://bugzilla.redhat.com/show_bug.cgi?id=603018 bug report against hdparm]&lt;br /&gt;
&lt;br /&gt;
===Letting the BIOS unlock the disk by suspending the computer===&lt;br /&gt;
&lt;br /&gt;
A password protected disk can be unlocked by ensuring the laptop has been suspended '''before''' inserting the disk into the Ultrabay.  The device being removed should still be ejected before suspending the laptop.&lt;br /&gt;
&lt;br /&gt;
Upon waking up (resuming) the computer the BIOS should prompt for the password, and provided you enter it correctly, will unlock the disk.  Once Linux regains control it may be necessary to re-scan the SCSI bus to find the disk and make it available, using the command &amp;quot;sudo rescan-scsi-bus.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This is confirmed to work on a T61 running Ubuntu 8.04, (kernel 2.6.24) with the scsitools package installed.&lt;br /&gt;
&lt;br /&gt;
===libata EH going crazy===&lt;br /&gt;
hotplugging a password protected HDD causes the libata error handler to go crazy&lt;br /&gt;
&lt;br /&gt;
 ACPI: \_SB_.PCI0.IDE0.SCND.MSTR - docking&lt;br /&gt;
 ata2: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen&lt;br /&gt;
 ata2: ACPI event&lt;br /&gt;
 ata2: soft resetting link&lt;br /&gt;
 ata2.00: ATA-6: HTS726060M9AT00, MH4OA6DA, max UDMA/100&lt;br /&gt;
 ata2.00: 117210240 sectors, multi 0: LBA &lt;br /&gt;
 ata2.00: limited to UDMA/33 due to 40-wire cable&lt;br /&gt;
 ata2.00: configured for UDMA/33&lt;br /&gt;
 ata2: EH complete&lt;br /&gt;
 scsi 1:0:0:0: Direct-Access     ATA      HTS726060M9AT00  MH4O PQ: 0 ANSI: 5&lt;br /&gt;
 sd 1:0:0:0: Attached scsi generic sg1 type 0&lt;br /&gt;
 sd 1:0:0:0: [sdb] 117210240 512-byte logical blocks: (60.0 GB/55.8 GiB)&lt;br /&gt;
 sd 1:0:0:0: [sdb] Write Protect is off&lt;br /&gt;
 sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA&lt;br /&gt;
 sdb:&lt;br /&gt;
&lt;br /&gt;
After which there are hundreds of errors such as these...&lt;br /&gt;
 ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0&lt;br /&gt;
 ata2.00: BMDMA stat 0x5&lt;br /&gt;
 ata2.00: failed command: READ DMA&lt;br /&gt;
 ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in&lt;br /&gt;
         res 51/04:08:00:00:00/00:00:00:00:00/e0 Emask 0x1 (device error)&lt;br /&gt;
 ata2.00: status: { DRDY ERR }&lt;br /&gt;
 ata2.00: error: { ABRT }&lt;br /&gt;
 ata2.00: configured for UDMA/33&lt;br /&gt;
 ata2: EH complete&lt;br /&gt;
&lt;br /&gt;
Basically what is happening is that libata is ignoring the ATA IDENTIFY data, that reports that the drive is locked, and just tries to scan for every partition type possible.&lt;br /&gt;
*[https://bugzilla.kernel.org/show_bug.cgi?id=16181 Bug report against libata]&lt;br /&gt;
&lt;br /&gt;
===udisks===&lt;br /&gt;
lastly, there should be some userland support to detect the password protected HDD and prompt you for a password or retrieve the password from gnome-keyring. But that will require hdparm to be able to unlock the HDD first, and to figure out if the BIOS is doing some kind of hashing and how.&lt;br /&gt;
&lt;br /&gt;
*[https://bugs.freedesktop.org/show_bug.cgi?id=23110 bug report against udisks]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:HOWTOs]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=58043</id>
		<title>How to hotswap Ultrabay devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_hotswap_Ultrabay_devices&amp;diff=58043"/>
		<updated>2017-03-14T19:49:36Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Check docked only if $ULTRABAY_SYSDIR does not exist to avoid problems due to incorrect docked value (see talk page)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following discusses hotswap (AKA &amp;quot;hotplug&amp;quot;) of devices in the [[Ultrabay]].&lt;br /&gt;
&lt;br /&gt;
This page has a lot of old information.  Some cleanup might be useful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Which driver?==&lt;br /&gt;
This may be confusing, so first a quick history lesson.&lt;br /&gt;
&lt;br /&gt;
Older ThinkPads (up to the R51, T42p and X40) were fully IDE (PATA) for both the internal HDD and Ultrabay. For these there are two drivers, the modern libata based {{path|ata_piix}} and the old legacy {{path|piix}}/{{path|ide-disk}} combo. Most modern distributions will default to the {{path|ata_piix}} driver, which is really what you want anyway.&lt;br /&gt;
&lt;br /&gt;
ThinkPads like the R52, T43, T43p, X41 and X41 Tablet are strange hybrids. They have a Serial-ATA (SATA) chipset for the internal disk controller, but the actual disk is still legacy IDE, using a separate SATA-PATA bridge chip. The Ultrabay, though, is still connected to the legacy IDE host controller. This results in a setup where the internal disk is handled by a SATA driver and the Ultrabay is handled by either {{path|ata_piix}} or {{path|piix}}/{{path|ide-disk}}.&lt;br /&gt;
&lt;br /&gt;
ThinkPads like the R60, T60 and Z60 series are also hybrids, but they use a native SATA HDD internal. Ultrabay still uses legacy IDE (PATA) though. So just like with the previous models you end up with two separate drivers for the internal HDD and the Ultrabay.&lt;br /&gt;
&lt;br /&gt;
The latest generation ThinkPads like the R400, R500, T400, T500, W500, W700, X200, and X301 are all fully SATA for both the internal HDD and the Ultrabay device, so both are handled by the same SATA driver.&lt;br /&gt;
{{Todo|Figure out in which category the X60 series ThinkPads truly belong. Some of these machines might have been shipped with a 1.8&amp;quot; HDD which is likely to be PATA, in fact the HMM even states so. But tabook and ltwbook only lists SATA models, so the 1.8&amp;quot; model might never have shipped. But even if it did there will be a SATA-PATA bridge chip, so from the OS it will look like SATA.}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+Overview of disk interface types&lt;br /&gt;
! Thinkpad !! internal HDD !! Ultrabay !! Modern Driver !! Old Driver&lt;br /&gt;
|-&lt;br /&gt;
| {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}, {{A30}}, {{A30p}}, {{A31}}, {{A31p}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R50}}, {{R50e}}, {{R50p}}, {{R51}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} || Legacy 2.5&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}}, {{R61}} || 2.5&amp;quot; SATA || Legacy IDE (PATA)  || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{R400}}, {{R500}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}}, {{T43p}} || Legacy 2.5&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}}, {{T60p}}, {{T61}}, {{T61p}} || 2.5&amp;quot; SATA || Legacy IDE (PATA)  || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{T400}}, {{T500}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}}, {{X21}}, {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}} || Legacy 2.5&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} || Legacy 1.8&amp;quot; IDE (PATA) || Legacy IDE (PATA) || ata_piix || piix + ide-disk&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}}, {{X41t}} || Legacy 1.8&amp;quot; PATA HDD with conversion to SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}}, {{X60s}}, {{x60t}}, {{x61}}, {{x61s}}, {{x61t}} || 2.5&amp;quot; HDD is SATA, 1.8&amp;quot; HDD is PATA with SATA conversion || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X300}} ||2.5&amp;quot; SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
| {{X200}}, {{X200 Tablet}}, {{X301}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{W500}}, {{W700}} ||2.5&amp;quot; SATA || SATA || ahci || -&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60m}}, {{Z60t}}, {{Z61e}}, {{Z61m}}, {{Z61p}}, {{Z61t}} || 2.5&amp;quot; SATA || Legacy IDE (PATA) || ahci + ata_piix || -&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Debian users: at least up the the kernel released with Lenny, Debian applies a patch in the Debian kernel sources which prevents the use of &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; with PATA devices (like the IDE bus for the Ultrabay). You will have to either use an upstream kernel or (re)patch the Debian kernel sources. &lt;br /&gt;
You may want to have a look at the following Debian bug reports as well: [http://bugs.debian.org/444182 #444182], [http://bugs.debian.org/463833 #463833].}}&lt;br /&gt;
&lt;br /&gt;
==Modern systems (using the &amp;lt;tt&amp;gt;ahci&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; drivers)==&lt;br /&gt;
The following applies when using the &amp;lt;tt&amp;gt;ahci&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver (which supercedes the old &amp;lt;tt&amp;gt;ide_disk&amp;lt;/tt&amp;gt; driver).&lt;br /&gt;
&lt;br /&gt;
You should at least be using a distribution with kernel 2.6.23. If you have a distribution with an older kernel, please update your distribution, as in addition to a newer kernel, you will need some of the newer userland tools.&lt;br /&gt;
&lt;br /&gt;
===Using libata-acpi and udev===&lt;br /&gt;
&lt;br /&gt;
Starting from kernel 2.6.26-rc5, it's possible to use &amp;lt;tt&amp;gt;libata-acpi&amp;lt;/tt&amp;gt; in combination with udev to hotswap. Please check if CONFIG_ATA_ACPI is enabled in your kernel configuration.&lt;br /&gt;
&lt;br /&gt;
For 2.6.25, you need two patches which can be easily backported ([http://article.gmane.org/gmane.linux.acpi.devel/31159],[http://article.gmane.org/gmane.linux.acpi.devel/31369]).&lt;br /&gt;
&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/50-thinkpad-ultrabay.rules}} with the following contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENV{BAY_EVENT}==&amp;quot;3&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;scsi&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then ensure it has the right permissions&lt;br /&gt;
 chown root:root /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
 chmod 644 /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
For Red Hat/Fedora and other systems with selinux, you also need to set the security context:&lt;br /&gt;
 chcon system_u:object_r:etc_runtime_t:s0 /etc/udev/rules.d/50-thinkpad-ultrabay.rules&lt;br /&gt;
&lt;br /&gt;
Now create the below ultrabay-eject script&lt;br /&gt;
&lt;br /&gt;
===Script for Ultrabay eject===&lt;br /&gt;
&lt;br /&gt;
The following script does the following:&lt;br /&gt;
* Automatically unmounts the relevant filesystems and power off the Ultrabay when the Ultrabay eject lever is released. Screams if some filesystem can't be unmounted.&lt;br /&gt;
&lt;br /&gt;
Create a executable file {{path|/usr/local/sbin/ultrabay_eject}} with the following content. Note if you want to be able to run it directly (not by the UDEV eject script), then you need to manually edit the DEVPATH variable near the top of the script.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Change the following DEVPATH= to match your system, if you want to run this directly instead of having it called by the udev eject script&lt;br /&gt;
# To find the right value, insert the UltraBay optical drive and run:&lt;br /&gt;
# udevadm info --query=path --name=/dev/sr0 | perl -pe 's!/block/...$!!'&lt;br /&gt;
if [ &amp;quot;$DEVPATH&amp;quot; = &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   DEVPATH=&amp;quot;/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
export DISPLAY=:0.0 # required for notify-send&lt;br /&gt;
ULTRABAY_SYSDIR=/sys$DEVPATH&lt;br /&gt;
&lt;br /&gt;
# Find generic dock interface for UltraBay&lt;br /&gt;
dock=$( /bin/grep -l ata_bay /sys/devices/platform/dock.?/type )&lt;br /&gt;
dock=${dock%%/type}&lt;br /&gt;
if [ -n &amp;quot;$dock&amp;quot; -a -d &amp;quot;$dock&amp;quot; ]; then&lt;br /&gt;
        logger ultrabay_eject starting eject of $dock&lt;br /&gt;
else&lt;br /&gt;
        logger ultrabay_eject cannot locate bay dock device&lt;br /&gt;
        notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Cannot locate bay dock device&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Umount the filesystem(s) backed by the given major:minor device(s)&lt;br /&gt;
unmount_rdev() { perl - &amp;quot;$@&amp;quot; &amp;lt;&amp;lt;'EOPERL'  # let's do it in Perl&lt;br /&gt;
        for $major_minor (@ARGV) {&lt;br /&gt;
                $major_minor =~ m/^(\d+):(\d+)$/ or die;&lt;br /&gt;
                push(@tgt_rdevs, ($1&amp;lt;&amp;lt;8)|$2);&lt;br /&gt;
        }&lt;br /&gt;
        # Sort by reverse length of mount point, to unmount sub-directories first&lt;br /&gt;
        open MOUNTS,&amp;quot;&amp;lt;/proc/mounts&amp;quot; or die &amp;quot;$!&amp;quot;;&lt;br /&gt;
        @mounts=sort { length($b-&amp;gt;[1]) &amp;lt;=&amp;gt; length($a-&amp;gt;[1]) } map { [ split ] } &amp;lt;MOUNTS&amp;gt;;&lt;br /&gt;
        close MOUNTS;&lt;br /&gt;
        foreach $m (@mounts) {&lt;br /&gt;
                ($dev,$dir)=@$m;&lt;br /&gt;
                next unless -b $dev;  $rdev=(stat($dev))[6];&lt;br /&gt;
                next unless grep($_==$rdev, @tgt_rdevs);&lt;br /&gt;
                system(&amp;quot;umount&amp;quot;,&amp;quot;-v&amp;quot;,&amp;quot;$dir&amp;quot;)==0  or  $bad=1;&lt;br /&gt;
                if ($bad == 1) {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;ERROR unmounting&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u critical -t 100000 \&amp;quot;Error unmounting $dir\&amp;quot; \&amp;quot;Unmounting of $dir on $dev failed!\&amp;quot;&amp;quot;);&lt;br /&gt;
                } else {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;unmounted&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u normal -t 5000 \&amp;quot;Unmounted $dir\&amp;quot;&amp;quot;);&lt;br /&gt;
                };&lt;br /&gt;
        }&lt;br /&gt;
        exit 1 if $bad;&lt;br /&gt;
EOPERL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get the UltraBay's /dev/foo block device node&lt;br /&gt;
ultrabay_dev_node() {&lt;br /&gt;
        UDEV_PATH=&amp;quot;`readlink -e &amp;quot;$ULTRABAY_SYSDIR/block/&amp;quot;*`&amp;quot; || return 1&lt;br /&gt;
        UDEV_NAME=&amp;quot;`udevadm info --query=name --path=$UDEV_PATH`&amp;quot; || return 1&lt;br /&gt;
        echo /dev/$UDEV_NAME&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ -d $ULTRABAY_SYSDIR ]; then&lt;br /&gt;
	logger ultrabay_eject dock occupied, shutting down storage device $DEVPATH&lt;br /&gt;
	sync&lt;br /&gt;
	# Unmount filesystems backed by this device&lt;br /&gt;
	## This seems to be very inelegant and prone to failure&lt;br /&gt;
	unmount_rdev `cat $ULTRABAY_SYSDIR/block/*/dev     \&lt;br /&gt;
			  $ULTRABAY_SYSDIR/block/*/*/dev`  \&lt;br /&gt;
	|| {&lt;br /&gt;
		logger ultrabay_eject umounting failed&lt;br /&gt;
		echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
		notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Please do not pull the device, doing so could cause file corruption and possibly hang the system. Unmounting of the filesystem on the ThinkPad Ultrabay device failed. Please put the eject leaver back in place, and try to unmount the filesystem manually. If this succeeds you can try the eject again&amp;quot;&lt;br /&gt;
		exit 1;&lt;br /&gt;
	}&lt;br /&gt;
	sync&lt;br /&gt;
	# Nicely power off the device&lt;br /&gt;
	DEVNODE=`ultrabay_dev_node` &amp;amp;&amp;amp; hdparm -Y $DEVNODE&lt;br /&gt;
	# Let HAL+KDE notice the unmount and let the disk spin down&lt;br /&gt;
	sleep 0.5&lt;br /&gt;
	# Unregister this SCSI device:&lt;br /&gt;
	sync&lt;br /&gt;
	echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&lt;br /&gt;
elif [ $( cat $dock/docked ) == 0 ]; then&lt;br /&gt;
        logger ultrabay_eject dock reports empty&lt;br /&gt;
else&lt;br /&gt;
	logger ultrabay_eject bay occupied but incorrect device path $DEVPATH&lt;br /&gt;
	notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Bay occupied but incorrect device path&amp;quot;&lt;br /&gt;
	echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# We need sleep here so someone can disconnect the bay and the drive&lt;br /&gt;
sleep 1&lt;br /&gt;
&lt;br /&gt;
# Turn off power to the UltraBay&lt;br /&gt;
logger ultrabay_eject undocking $dock&lt;br /&gt;
echo 1 &amp;gt; $dock/undock&lt;br /&gt;
&lt;br /&gt;
# Tell the user we're OK&lt;br /&gt;
logger ultrabay_eject done&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
notify-send -u normal -t 10000 &amp;quot;Safe to remove device&amp;quot; &amp;quot;The ThinkPad Ultrabay device can now safely be removed&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
a possible fix for the notify not working thing is here [[Talk:How_to_hotswap_Ultrabay_devices#get_notify-send_working]]&lt;br /&gt;
&lt;br /&gt;
Then make sure ownership and permissions are set correct&lt;br /&gt;
 chown root:root /usr/local/sbin/ultrabay_eject&lt;br /&gt;
 chmod 555 /usr/local/sbin/ultrabay_eject&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver is built in the kernel, it will catch bay events and you will see the&lt;br /&gt;
following message in your system log:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
thinkpad_acpi: another device driver is already handling bay events&lt;br /&gt;
thinkpad_acpi: disabling subdriver bay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You should load &amp;lt;tt&amp;gt;thinkpad_acpi&amp;lt;/tt&amp;gt; before &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; if you want it to handle bay events.&lt;br /&gt;
&lt;br /&gt;
===Script for Ultrabay insert===&lt;br /&gt;
{{WARN|Only needed for kernels prior to 2.6.26}}&lt;br /&gt;
Create {{path|/usr/local/sbin/ultrabay_insert}} with the following content:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
 sync&lt;br /&gt;
 echo 0 0 0 &amp;gt; /sys/class/scsi_host/host1/scan&lt;br /&gt;
&lt;br /&gt;
and set the right permissions&lt;br /&gt;
 chown root:root /usr/local/sbin/ultrabay_insert&lt;br /&gt;
 chmod 555 /usr/local/sbin/ultrabay_insert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Using the generic bay driver and udev===&lt;br /&gt;
{{WARN|If you have kernel 2.6.26 or newer, please use the above [[#Using libata-acpi and udev]] method instead}}&lt;br /&gt;
Starting from kernel 2.6.23-rc3, it's possible to use the generic &amp;lt;tt&amp;gt;bay&amp;lt;/tt&amp;gt; driver in combination with udev to hotswap. Please check if CONFIG_ACPI_BAY is enabled (module or built-in) in your kernel configuration.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/udev/rules.d/ibm-ultrabay.rules}}:&lt;br /&gt;
 ENV{BAY_EVENT}==&amp;quot;3&amp;quot;, KERNEL==&amp;quot;bay.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
 ENV{BAY_EVENT}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;bay.0&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_insert&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Starting with kernel 2.6.28, the &amp;lt;tt&amp;gt;bay&amp;lt;/tt&amp;gt; driver was removed from the mainline kernel. The &amp;lt;tt&amp;gt;dock&amp;lt;/tt&amp;gt; driver replaced it completely. Make sure CONFIG_ACPI_DOCK is enabled in the kernel, and use the following udev rules:&lt;br /&gt;
&lt;br /&gt;
 ENV{EVENT}==&amp;quot;undock&amp;quot;, KERNEL==&amp;quot;dock.2&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_eject&amp;quot;&lt;br /&gt;
 ENV{EVENT}==&amp;quot;dock&amp;quot;, KERNEL==&amp;quot;dock.2&amp;quot;, ACTION==&amp;quot;change&amp;quot;, SUBSYSTEM==&amp;quot;platform&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/ultrabay_insert&amp;quot;&lt;br /&gt;
&lt;br /&gt;
However, the ultra_eject script needs to be changed, otherwise udev goes into an infinite event loop. It will send undock events every few seconds forever. That means as soon as the ultrabay is plugged in again, it will be immediately ejected. For kernels 2.6.28 and higher, the bay cannot be powered off using this method, so change the end of the script to read:&lt;br /&gt;
 # Turn off power to the UltraBay:&lt;br /&gt;
 if [ -d /sys/devices/platform/bay.0 ]; then&lt;br /&gt;
 	echo 1 &amp;gt; /sys/devices/platform/bay.0/eject&lt;br /&gt;
 elif [ -e /proc/acpi/ibm/bay ]; then&lt;br /&gt;
 	echo eject &amp;gt; /proc/acpi/ibm/bay&lt;br /&gt;
 fi&lt;br /&gt;
 # Tell the user we're OK&lt;br /&gt;
 echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
&lt;br /&gt;
Alternatively, instead of modifying the script, use the libata-acpi method below.&lt;br /&gt;
This was tested on a T61p running Gentoo with tuxonice 2.6.28-r8 without any issues.&lt;br /&gt;
&lt;br /&gt;
===udisks support===&lt;br /&gt;
Just like the HAL support mentioned below this is only about marking the device as hotpluggable.&lt;br /&gt;
&lt;br /&gt;
Recently distributions do not use HAL anymore. On these systems Gnome, KDE, etc. use udisks instead to discover installed disks. So today most people will have to tell udisks that the ultrabay device is a removeable device. The HAL configuration described below does not work anymore.&lt;br /&gt;
&lt;br /&gt;
Udisks reads device properties from udev. In order to force a device to be considered &amp;quot;removeable&amp;quot; we have to set the udev property &amp;quot;UDISKS_SYSTEM_INTERNAL&amp;quot; to &amp;quot;0&amp;quot;. (man 7 udisks)&lt;br /&gt;
In order for this to work you need at least version 1.0.3 of udisks.&lt;br /&gt;
&lt;br /&gt;
Here is an example of a udev rule that adds the property. You can add it to the file that contains the other utrabay rules (i.e. {{path|/etc/udev/rules.d/50-thinkpad-ultrabay.rules}}). You may have to adjust the DEVPATH.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEMS==&amp;quot;block&amp;quot;, DEVPATH==&amp;quot;/devices/pci0000:00/0000:00:1f.1/host4/*&amp;quot;, ENV{UDISKS_SYSTEM_INTERNAL}=&amp;quot;0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now tell udev to reread the rules:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udevadm control --reload-rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now your window manager should give you a notification when you plug in a disk into the ultrabay.&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
{{HELP| If the script below does not work, please provide your lshal output on the [[Talk:How_to_hotswap_Ultrabay_devices]] page}}&lt;br /&gt;
{{NOTE| If your HAL version is older then 0.5.11, you need to replace &amp;quot;info.parent&amp;quot; with &amp;quot;storage.physical_device&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
HAL support is only needed for proper notification to your desktop applications, such as Gnome and KDE. You will still require the udev script to handle the proper removal.&lt;br /&gt;
&lt;br /&gt;
To tell HAL that devices connected to the UltraBay port are hotpluggable, you need to create a file {{path|/etc/hal/fdi/information/10-thinkpad-ultrabay.fdi}} with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
HAL config file to set ThinkPad Ultrabay eject capability flag.&lt;br /&gt;
Note that ThinkPad model matching is done on a partial match, so T40 will also match T40p, which is what we want.&lt;br /&gt;
&lt;br /&gt;
If your ThinkPad model is not listed, please check with lspci what PCI ID your disk controller is&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; prefix=&amp;quot;ThinkPad&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.vendor&amp;quot; string=&amp;quot;IBM&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad A20m, A20p, A21e, A21m, A21p, A22e, A22m, A22p, T20, T21, T22, X20 and X21 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;A20;A21;A22;T20;T21;T22;X20;X21&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_7111_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad T23, T30, X22, X23, X24 and X30 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T23;T30;X22;X23;X24;X30&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad A30, A30p, A31 and A31p - 2 Ultrabay devices--&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;A30;A31&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_scsi_device_lun0_0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad R50, R51, T40, T40p, T41, T41p, X31, X32 and X40 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R50;R51;T40;T41;T42;X31;X32;X40&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- IBM ThinkPad R52, T43, T43p, X41, Z60m and Z60p --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R52;T43;X41;Z60&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.vendor&amp;quot; string=&amp;quot;LENOVO&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad T60, T60p, Z61m, Z61t and Z61p --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T60;Z61&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_27df_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R60 and X60 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R60;X60&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_27c4_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R61, T61, T61p and X300 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R61;T61;X300&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2850_scsi_host_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad R400, R500, T400, T500, W500, W700, X200 and X301 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;R400;R500;T400;T500;W500;W700;X200;X301&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_2929_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad T410, T510 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T410;T510&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_3b2f_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then ensure it has the right permissions&lt;br /&gt;
&lt;br /&gt;
 chown root:root /etc/hal/fdi/information/10-thinkpad-ultrabay.fdi&lt;br /&gt;
 chmod 644 /etc/hal/fdi/information/10-thinkpad-ultrabay.fdi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the effect, look at your lshal output, the section for your optical disk (/dev/sr0 typically) or your 2nd hdd (/dev/sdb typically) should have storage.hotpluggable = true after restarting your hal deamon or rebooting.&lt;br /&gt;
&lt;br /&gt;
===Disable ultrabay at boot time===&lt;br /&gt;
To safe some energy you can create an init.d start script to automatically &amp;quot;eject&amp;quot; the ultrabay at boot time&amp;lt;br /&amp;gt;&lt;br /&gt;
vim /etc/init.d/stop-ultrabay&lt;br /&gt;
 &lt;br /&gt;
 #! /bin/sh &lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:          stop-ultrabay&lt;br /&gt;
 # Required-Start:    $remote_fs $syslog&lt;br /&gt;
 # Required-Stop:     $remote_fs $syslog&lt;br /&gt;
 # Default-Start:     2 3 4 5&lt;br /&gt;
 # Default-Stop:      0 1 6&lt;br /&gt;
 # Short-Description: stops the ultrabay&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 # Script to shutdown ultrabay at boot time. To reenable, simply push the ultrabay eject lever&lt;br /&gt;
 # and put it again.&lt;br /&gt;
 # By Frank Doelitzscher, 2010-08-04&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 # This things will always run&lt;br /&gt;
 /usr/local/sbin/ultrabay_eject&lt;br /&gt;
 &lt;br /&gt;
 # Carry out specific functions when asked to by the system&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
 *)&lt;br /&gt;
    echo &amp;quot;This script runs automatically at boot time.&amp;quot;&lt;br /&gt;
    echo &amp;quot;It does not need any switches like start|stop&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac &lt;br /&gt;
 exit 0&lt;br /&gt;
Then ensure it has the right permissions&amp;lt;br /&amp;gt;&lt;br /&gt;
 chmod 755 /etc/init.d/stop-ultrabay&lt;br /&gt;
 &lt;br /&gt;
And make it known to the init subsystem&amp;lt;br /&amp;gt;&lt;br /&gt;
 update-rc.d -f stop-ultrabay start 90 2 3 4 5 .&lt;br /&gt;
&lt;br /&gt;
It just gets a start script since it does not make sense to execute it at a shutdown or restart.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This was tested on a T60 running Debian Squeeze with standard 2.6.32-5-686 #1 SMP without any issues.&lt;br /&gt;
&lt;br /&gt;
==When using the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver==&lt;br /&gt;
The following applies if you use the &amp;lt;tt&amp;gt;ide-disk&amp;lt;/tt&amp;gt; driver for the UltraBay device.&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note that essentially, you shouldn't be using this driver, and use ata_piix instead unless you're running an older kernel where ata_piix won't work for you&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hotswapping is supposed to be supported as well, using either hdparm/[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] or [[lt_hotswap]] to (un)register IDE devices. The latter is the recommended method with kernels from 2.6, since it will leave DMA working. However, for recent models (R52, T43, X41, Z60 and later) no method is known to work while maintaining DMA support; see [[Problems with SATA and Linux]].&lt;br /&gt;
&lt;br /&gt;
Only IDE devices (HDD's, optical drives, zip drives) require special treatment - batteries, floppies and other devices can just be pulled from the bay, provided they are not mounted or in use at the time. However, you should still power them down first using the [[thinkpad-acpi]] eject function.&lt;br /&gt;
&lt;br /&gt;
The [[thinkpad-acpi]] kernel module has an eject function ({{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}). This only manages the ACPI calls to power down the device and the bay. It does not actually unregister the device from the IDE driver. {{cmdroot|cat /proc/acpi/ibm/bay}} shows &amp;quot;unoccupied&amp;quot; unless an IDE device is present, but the eject function still works and should still be used.&lt;br /&gt;
&lt;br /&gt;
To unregister the device, you can either use the [http://packages.debian.org/unstable/admin/hotswap Debian hotswap] package, or [[lt_hotswap]]. Note that lt_hotswap doesn't seem to even build on recent (at 2.6.22 or newer, although it probably broke before 2.6.22) and on newer kernels, you should not build/load the old IDE PIIX (CONFIG_BLK_DEV_PIIX) and use the natively hotswapping ata_piix (CONFIG_ATA_PIIX) as explained on the top of this page.&lt;br /&gt;
&lt;br /&gt;
[http://packages.debian.org/unstable/admin/hotswap Debian hotswap] also allows the drive to be swapped as a normal user by default, which is useful. You should use &amp;lt;tt&amp;gt;hotswap&amp;lt;/tt&amp;gt; to unregister the device and then {{cmdroot|echo eject &amp;gt; /proc/acpi/ibm/bay}}. However, if you use this method on a 2.6 kernel, you will lose DMA support for the reinserted drive. This is due to kernel issues. This method was reported to work on a ThinkPad {{T23}} (kernels 2.6.8.1, 2.6.14.2 and 2.6.15-arch) and {{T42}} (kernel 2.6.13), but fails on a ThinkPad {{T43}} (kernel 2.6.14.3).&lt;br /&gt;
&lt;br /&gt;
[[lt_hotswap]] is now the recommended method to un- and reregister the IDE device. It installs as a kernel module and has support for automatically unregistering (if loaded with the auto_eject=1 option) the device when the eject event is generated by [[thinkpad-acpi]]. It will leave DMA support intact. It has supported to work on a ThinkPad {{T22}} and {{T40}} and should work with many other models (but not recent models which require the &amp;lt;tt&amp;gt;ata_piix&amp;lt;/tt&amp;gt; driver for disk DMA support). With the [[lt_hotswap]] kernel module loaded, run: {{cmdroot|modprobe -r ide_cd &amp;amp;&amp;amp; modprobe -r cdrom &amp;amp;&amp;amp; echo &amp;quot;MSTR eject&amp;quot; &amp;gt; /proc/acpi/lths}}&lt;br /&gt;
&lt;br /&gt;
===HAL support===&lt;br /&gt;
&lt;br /&gt;
HAL support also can also be configured To do so, create the file {{path|/etc/hal/fdi/information/10-ultrabay.fdi}} as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- UltraBay Devices --&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string=&amp;quot;ide&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;match key=&amp;quot;storage.physical_device&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_24ca_ide_1_0&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;/match&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For more details see HAL section for ata driver.&lt;br /&gt;
&lt;br /&gt;
==Password protected HDD==&lt;br /&gt;
{{WARN|Do not attempt to set a new HDD password from Linux, if you succeed you may find you can no longer unlock the drive or remove the password in any way}}&lt;br /&gt;
There are multiple issues with hotplugging a password protected HDD. In short, it does not work from within the operating system. You will need to reboot, or use the suspend/wakeup procedure below, and let the BIOS do the unlock.&lt;br /&gt;
===hdparm===&lt;br /&gt;
While in theory you should be a able to use hdparm to unlock a drive, or set or remove a password. In practice none of it works the way it should.&lt;br /&gt;
&lt;br /&gt;
First of all, by default the BIOS during POST will freeze the security settings of any drives that are present, preventing you from making changes until the drive is power cycled. You can see this by running the following command&lt;br /&gt;
 # hdparm -I /dev/sdb|grep frozen&lt;br /&gt;
 	not	frozen&lt;br /&gt;
If the above command simply returns 'frozen' any hdparm security commands will fail with an IO error. If this is an Ultrabay HDD you can simply remove the drive and hotplug it again to reset the drive.&lt;br /&gt;
&lt;br /&gt;
If your drive has a PW set by the BIOS, any attempt to unlock it will result in an IO error.&lt;br /&gt;
&lt;br /&gt;
But a fatal flaw is to use hdparm to actually set a password, if you do you will find the following issues&lt;br /&gt;
* setting a Master password will appear to succeed, but in fact does nothing&lt;br /&gt;
* setting a User password does succeed, but you will no longer be able to unlock or remove the password using either hdparm or the BIOS. hdparm will just give IO errors, and the BIOS will report the password being wrong. It is speculated that the BIOS does some kind of hashing to the password, which is why setting the PW from the BIOS and setting the PW with hdparm is incompatible.&lt;br /&gt;
&lt;br /&gt;
 # hdparm --verbose --user-master u --security-disable test /dev/sdb&lt;br /&gt;
 security_password=&amp;quot;test&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 /dev/sdb:&lt;br /&gt;
  Issuing SECURITY_DISABLE command, password=&amp;quot;test&amp;quot;, user=user&lt;br /&gt;
 oflags.lob_all=0x82, flags={ feat command }&lt;br /&gt;
 oflags.hob_all=0x82, flags={ feat }&lt;br /&gt;
 using LBA48 taskfile&lt;br /&gt;
 outgoing cdb:  85 0b 26 00 00 00 00 00 00 00 00 00 00 40 f2 00&lt;br /&gt;
 data:  00 00 74 65 73 74 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 SG_IO: ATA_16 status=0x2, host_status=0x0, driver_status=0x8&lt;br /&gt;
 SG_IO: sb[]:  72 0b 00 00 00 00 00 0e 09 0c 01 04 00 00 00 00 00 00 00 00 e0 51 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;
 SG_IO: desc[]:  09 0c 01 04 00 00 00 00 00 00 00 00&lt;br /&gt;
       ATA_16 stat=51 err=04 nsect=00 lbal=00 lbam=00 lbah=00 dev=e0&lt;br /&gt;
 I/O error, ata_op=0xf2 ata_status=0x51 ata_error=0x04&lt;br /&gt;
 SECURITY_UNLOCK: Input/output error&lt;br /&gt;
&lt;br /&gt;
*[https://bugzilla.redhat.com/show_bug.cgi?id=603018 bug report against hdparm]&lt;br /&gt;
&lt;br /&gt;
===Letting the BIOS unlock the disk by suspending the computer===&lt;br /&gt;
&lt;br /&gt;
A password protected disk can be unlocked by ensuring the laptop has been suspended '''before''' inserting the disk into the Ultrabay.  The device being removed should still be ejected before suspending the laptop.&lt;br /&gt;
&lt;br /&gt;
Upon waking up (resuming) the computer the BIOS should prompt for the password, and provided you enter it correctly, will unlock the disk.  Once Linux regains control it may be necessary to re-scan the SCSI bus to find the disk and make it available, using the command &amp;quot;sudo rescan-scsi-bus.sh&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This is confirmed to work on a T61 running Ubuntu 8.04, (kernel 2.6.24) with the scsitools package installed.&lt;br /&gt;
&lt;br /&gt;
===libata EH going crazy===&lt;br /&gt;
hotplugging a password protected HDD causes the libata error handler to go crazy&lt;br /&gt;
&lt;br /&gt;
 ACPI: \_SB_.PCI0.IDE0.SCND.MSTR - docking&lt;br /&gt;
 ata2: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen&lt;br /&gt;
 ata2: ACPI event&lt;br /&gt;
 ata2: soft resetting link&lt;br /&gt;
 ata2.00: ATA-6: HTS726060M9AT00, MH4OA6DA, max UDMA/100&lt;br /&gt;
 ata2.00: 117210240 sectors, multi 0: LBA &lt;br /&gt;
 ata2.00: limited to UDMA/33 due to 40-wire cable&lt;br /&gt;
 ata2.00: configured for UDMA/33&lt;br /&gt;
 ata2: EH complete&lt;br /&gt;
 scsi 1:0:0:0: Direct-Access     ATA      HTS726060M9AT00  MH4O PQ: 0 ANSI: 5&lt;br /&gt;
 sd 1:0:0:0: Attached scsi generic sg1 type 0&lt;br /&gt;
 sd 1:0:0:0: [sdb] 117210240 512-byte logical blocks: (60.0 GB/55.8 GiB)&lt;br /&gt;
 sd 1:0:0:0: [sdb] Write Protect is off&lt;br /&gt;
 sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA&lt;br /&gt;
 sdb:&lt;br /&gt;
&lt;br /&gt;
After which there are hundreds of errors such as these...&lt;br /&gt;
 ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0&lt;br /&gt;
 ata2.00: BMDMA stat 0x5&lt;br /&gt;
 ata2.00: failed command: READ DMA&lt;br /&gt;
 ata2.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in&lt;br /&gt;
         res 51/04:08:00:00:00/00:00:00:00:00/e0 Emask 0x1 (device error)&lt;br /&gt;
 ata2.00: status: { DRDY ERR }&lt;br /&gt;
 ata2.00: error: { ABRT }&lt;br /&gt;
 ata2.00: configured for UDMA/33&lt;br /&gt;
 ata2: EH complete&lt;br /&gt;
&lt;br /&gt;
Basically what is happening is that libata is ignoring the ATA IDENTIFY data, that reports that the drive is locked, and just tries to scan for every partition type possible.&lt;br /&gt;
*[https://bugzilla.kernel.org/show_bug.cgi?id=16181 Bug report against libata]&lt;br /&gt;
&lt;br /&gt;
===udisks===&lt;br /&gt;
lastly, there should be some userland support to detect the password protected HDD and prompt you for a password or retrieve the password from gnome-keyring. But that will require hdparm to be able to unlock the HDD first, and to figure out if the BIOS is doing some kind of hashing and how.&lt;br /&gt;
&lt;br /&gt;
*[https://bugs.freedesktop.org/show_bug.cgi?id=23110 bug report against udisks]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripts]]&lt;br /&gt;
[[Category:HOWTOs]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:How_to_hotswap_Ultrabay_devices&amp;diff=58042</id>
		<title>Talk:How to hotswap Ultrabay devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:How_to_hotswap_Ultrabay_devices&amp;diff=58042"/>
		<updated>2017-03-14T19:45:17Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add warning about docked sysfs attr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Recent Ubuntu versions=&lt;br /&gt;
I think, it must be mentioned that hotswapping Ultrabay devices using recent distros&lt;br /&gt;
is by far not that hard as before. I'm using Ubuntu 9.04 on Z61m and in my case hotswapping&lt;br /&gt;
Ultrabay DVD-RW works out-of-the-box without any scripts or whatsoever. The article&lt;br /&gt;
however suggests that one always needs some ejecting scripts which might confuse certain&lt;br /&gt;
users. So it would be nice to add something like: &amp;quot;If you are using Ubuntu *.** everything should&lt;br /&gt;
work out-of-the-box&amp;quot;&lt;br /&gt;
&lt;br /&gt;
--[[User:Bombenbach|Bombenbach]] 12:01, 9 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Really? Did you try to swap out a Ultrabay device with mounted filesystem? Good luck!&lt;br /&gt;
The udev handler and eject script are there for a reason. By default no action is taken when you pull out a device, which can cause real problems if not handled properly.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 09:31, 10 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Well, actually I couldn't imagine that someone would like to pull out an Ultrabay device with mounted file system.&lt;br /&gt;
As far a usb flash drives are concerned, you won't do that either, right? My point was, that if the file system is '''properly unmounted''', I can simply pull my Ultrabay DVD-RW out without any freezes or crashes. And when I put it back again, the drive is automatically recognized by Ubuntu so that I can use it. I don't have an Ultrabay HDD, but I assume that if it works with DVD-RW it also should work with HDD. Correct me if I'm wrong. If the sole purpose of eject script is hotswapping Ultrabay devices '''with mounted filesystem''' then I still think that it would be nice to point it out in the article. &lt;br /&gt;
&lt;br /&gt;
--[[User:Bombenbach|Bombenbach]] 07:52, 11 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
By default on most modern distributions based on a recent kernel with libata, the libata driver gets to cleanup the mess after the fact, if you pull out an ultrabay device without first&lt;br /&gt;
* unmounting the filesystem&lt;br /&gt;
* powering down the device&lt;br /&gt;
You may be lucky, or you might end up with a hung system, corrupted filesystem, etc. Your choice.&lt;br /&gt;
&lt;br /&gt;
There is work going on upstream to resolve this with DeviceKit-disks, but that depends on a patch to the Linux kernel, which has not made it in yet, since right now there is no correlation between the udev event and the actual Bay device, and since you can have multiple Bay devices (in fact your ThinkPad likely has 3) this correlation is needed, otherwise DeviceKit-disks would need to know about every single Laptop out there and the mapping between the Bay numbering and the actual devices (something the kernel can easily just provide instead).&lt;br /&gt;
&lt;br /&gt;
Here is a Feature request against DeviceKit-disks that provides some status information&lt;br /&gt;
http://bugs.freedesktop.org/show_bug.cgi?id=23110&lt;br /&gt;
&lt;br /&gt;
--[[User:Tonko|Tonko]] 09:07, 11 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
=HAL script=&lt;br /&gt;
&lt;br /&gt;
If the script works, your lshal output should contain something similar to this. In this case the Ultrabay device was a second HDD (/dev/sdb).&lt;br /&gt;
&lt;br /&gt;
Note that in the example, storage.hotpluggable = true while before it was false, so the script worked.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udi = '/org/freedesktop/Hal/devices/storage_serial_SATA_HTS726060M9AT00_MRH453M4H11ARB'&lt;br /&gt;
  block.device = '/dev/sdb'  (string)&lt;br /&gt;
  block.is_volume = false  (bool)&lt;br /&gt;
  block.major = 8  (0x8)  (int)&lt;br /&gt;
  block.minor = 16  (0x10)  (int)&lt;br /&gt;
  block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_SATA_HTS726060M9AT00_MRH453M4H11ARB'  (string)&lt;br /&gt;
  info.capabilities = {'storage', 'block'} (string list)&lt;br /&gt;
  info.category = 'storage'  (string)&lt;br /&gt;
  info.parent = '/org/freedesktop/Hal/devices/pci_8086_24ca_scsi_host_0_scsi_device_lun0'  (string)&lt;br /&gt;
  info.product = 'HTS726060M9AT00'  (string)&lt;br /&gt;
  info.udi = '/org/freedesktop/Hal/devices/storage_serial_SATA_HTS726060M9AT00_MRH453M4H11ARB'  (string)&lt;br /&gt;
  info.vendor = 'ATA'  (string)&lt;br /&gt;
  linux.hotplug_type = 3  (0x3)  (int)&lt;br /&gt;
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1f.1/host1/target1:0:0/1:0:0:0/block/sdb'  (string)&lt;br /&gt;
  storage.automount_enabled_hint = true  (bool)&lt;br /&gt;
  storage.bus = 'pci'  (string)&lt;br /&gt;
  storage.drive_type = 'disk'  (string)&lt;br /&gt;
  storage.firmware_version = 'MH4O'  (string)&lt;br /&gt;
  storage.hotpluggable = true  (bool)&lt;br /&gt;
  storage.lun = 0  (0x0)  (int)&lt;br /&gt;
  storage.media_check_enabled = false  (bool)&lt;br /&gt;
  storage.model = 'HTS726060M9AT00'  (string)&lt;br /&gt;
  storage.no_partitions_hint = false  (bool)&lt;br /&gt;
  storage.originating_device = '/org/freedesktop/Hal/devices/computer'  (string)&lt;br /&gt;
  storage.partitioning_scheme = 'mbr'  (string)&lt;br /&gt;
  storage.removable = false  (bool)&lt;br /&gt;
  storage.removable.media_available = true  (bool)&lt;br /&gt;
  storage.removable.media_size = 60011642880  (0xdf8f90000)  (uint64)&lt;br /&gt;
  storage.requires_eject = false  (bool)&lt;br /&gt;
  storage.serial = 'SATA_HTS726060M9AT00_MRH453M4H11ARB'  (string)&lt;br /&gt;
  storage.size = 60011642880  (0xdf8f90000)  (uint64)&lt;br /&gt;
  storage.vendor = 'ATA'  (string)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|+ Known South Bridge PCI IDs&lt;br /&gt;
! ID !! ThinkPad model !! South Bridge chip (for Ultrabay) !! parent device (host_0, lun0 = 2nd ATA controller, master device)&lt;br /&gt;
|-&lt;br /&gt;
| 8086_7111 || A20m, A20p, A21e, A21m, A21p, A22e, A22m, A22p, T20, T21, T22, X20, X21 || Intel 82371AB/EB/MB PIIX4 IDE || /org/freedesktop/Hal/devices/pci_8086_7111_scsi_host_0_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_248a || T23, T30, X22, X23, X24, X30|| Intel 82801CAM IDE U100 (rev 2) || /org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_248a || A30, A30p, A31, A31p|| Intel 82801CAM IDE U100 (rev 2) || /org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_scsi_device_lun0_0&amp;lt;br&amp;gt;/org/freedesktop/Hal/devices/pci_8086_248a_scsi_host_0_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_24ca || R50, R51, T40, T40p, T41, T41p, T42, T42p, X31, X32, X40 || Intel 82801DBM (ICH4-M) || /org/freedesktop/Hal/devices/pci_8086_24ca_scsi_host_0_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_2653 || R52, T43, T43p, X41, Z60m, Z60t  || Intel 82801FBM (ICH6-M) || /org/freedesktop/Hal/devices/pci_8086_2653_scsi_host_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_27c4 || R60, X60 || Intel 82801GBM (ICH7 Family) || /org/freedesktop/Hal/devices/pci_8086_27c4_scsi_host_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_27df || T60, T60p, Z61m, Z61t, Z61p || Intel 82801GBM/GHM (ICH7 Family) || /org/freedesktop/Hal/devices/pci_8086_27df_scsi_host_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_2850 || R61, T61, T61p, X300 || Intel 82801H (ICH8 Family) || /org/freedesktop/Hal/devices/pci_8086_2850_scsi_host_scsi_device_lun0&lt;br /&gt;
|-&lt;br /&gt;
| 8086_2929 || R400, R500, T400, T500, W500, W700, X200, X301 || Intel 82801I ICH9 Family || /org/freedesktop/Hal/devices/pci_8086_2929_scsi_host_0_scsi_device_lun0&lt;br /&gt;
|}&lt;br /&gt;
==lshal output==&lt;br /&gt;
Please place your lshal output here if you had problems&lt;br /&gt;
&lt;br /&gt;
lshal of my A31: [http://nopaste.org/p/a4p6x9tSob http://nopaste.org/p/a4p6x9tSob]&lt;br /&gt;
&lt;br /&gt;
Thanks! If I understand the output correctly you have one Toshiba Combo DVD-ROM/CD-RW R2002 in one ultrabay connected as slave to the primary IDE controller, and one Toshiba DVD-ROM C2512 in the second ultrabay connected as master to the secondary IDE controller. Can you confirm? I have added it to the table.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have a Thinkpad T43 and I found out from my lshal output that I had to use parent device:&lt;br /&gt;
pci_8086_2653_scsi_host_0_scsi_device_lun0 instead of &lt;br /&gt;
pci_8086_2653_scsi_host_scsi_device_lun0 (notice the added 0).&lt;br /&gt;
This is the ultrabay, however, the internal disk still use the &amp;quot;original&amp;quot; parent device (the one without the 0).&lt;br /&gt;
I think this information should be added to the table.&lt;br /&gt;
Specs:&lt;br /&gt;
Thinkpad T43 (machine type 2668),&lt;br /&gt;
Mandriva One 2009.1,&lt;br /&gt;
haldaemon 0.5.12&lt;br /&gt;
&lt;br /&gt;
Thanks, it is possible that you have AHCI mode disabled in the BIOS for your HDD?&lt;br /&gt;
--[[User:Tonko|Tonko]] 11:00, 31 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
===Thinkpad T510===&lt;br /&gt;
The T510 uses the Arrandale chipset, or &amp;quot;Intel Corporation 5 Series/3400 Series Chipset&amp;quot;.  This seems to work for me:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Lenovo ThinkPad T510 --&amp;gt;&lt;br /&gt;
        &amp;lt;match key=&amp;quot;/org/freedesktop/Hal/devices/computer:system.hardware.version&amp;quot; contains_outof=&amp;quot;T510&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;match key=&amp;quot;storage.bus&amp;quot; string_outof=&amp;quot;pci;scsi&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match key=&amp;quot;info.parent&amp;quot; string=&amp;quot;/org/freedesktop/Hal/devices/pci_8086_3b2f_scsi_host_0_scsi_device_lun0&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;merge key=&amp;quot;storage.hotpluggable&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/match&amp;gt;&lt;br /&gt;
        &amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Jicama|Jicama]] 01:58, 7 November 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
= bash script for hotswapping UltraBay =&lt;br /&gt;
&lt;br /&gt;
Here is my script for hotswapping ultrabay, is more complex, supports swap partition on drive in ultrabay, check holders (useful, when you are using luks) and more :)&lt;br /&gt;
&lt;br /&gt;
{{HELP|Please test on difrent models}}&lt;br /&gt;
&lt;br /&gt;
ultrabay.sh&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
SCSI_DEVICE=&amp;quot;&amp;quot;&lt;br /&gt;
FORCE_SLEEP=&amp;quot;1&amp;quot;&lt;br /&gt;
QUIET=&amp;quot;0&amp;quot;&lt;br /&gt;
SYSLOG=&amp;quot;0&amp;quot;&lt;br /&gt;
BEEP=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Message()&lt;br /&gt;
{&lt;br /&gt;
    MESSAGE=&amp;quot;${0/*\//}: $*&amp;quot;&lt;br /&gt;
    if [ &amp;quot;$QUIET&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;$MESSAGE&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    if [ &amp;quot;$SYSLOG&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
        /usr/bin/logger &amp;quot;$MESSAGE&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Exit()&lt;br /&gt;
{&lt;br /&gt;
    case &amp;quot;$1&amp;quot; in&lt;br /&gt;
        &amp;quot;fail&amp;quot;)&lt;br /&gt;
            [ $BEEP != &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; echo 2 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
            exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
        &amp;quot;success&amp;quot;)&lt;br /&gt;
            [ $BEEP != &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
            exit 0&lt;br /&gt;
        ;;&lt;br /&gt;
    esac&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Usage()&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;usage: ${0/*\/} [options]&amp;quot;&lt;br /&gt;
    echo &amp;quot;options:&amp;quot;&lt;br /&gt;
    echo &amp;quot;    -d &amp;lt;path&amp;gt;  SCSI device (required)&amp;quot;&lt;br /&gt;
    echo &amp;quot;    -s         Ignore fail when putting drive to sleep&amp;quot;&lt;br /&gt;
    echo &amp;quot;    -q         No messages&amp;quot;&lt;br /&gt;
    echo &amp;quot;    -l         Use syslog for messages (-q has no effect)&amp;quot;&lt;br /&gt;
    echo &amp;quot;    -b         Use beep for notification (-q has no effect)&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Block2Device()&lt;br /&gt;
{&lt;br /&gt;
    /bin/readlink -e &amp;quot;/dev/block/$1&amp;quot;    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
IsSwap()&lt;br /&gt;
{&lt;br /&gt;
    /sbin/swapon -s | grep -q -e &amp;quot;^$1\b&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
IsMounted()&lt;br /&gt;
{&lt;br /&gt;
    mount | grep -q -e &amp;quot;^$1\b&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
HasHolders()&lt;br /&gt;
{&lt;br /&gt;
    [ &amp;quot;$(ls &amp;quot;$1/holders&amp;quot;)&amp;quot; ]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
IsBusy()&lt;br /&gt;
{&lt;br /&gt;
    DEVICE=$(Block2Device $(cat &amp;quot;$1/dev&amp;quot;)) &lt;br /&gt;
    if IsSwap &amp;quot;$DEVICE&amp;quot; || IsMounted &amp;quot;$DEVICE&amp;quot; || HasHolders &amp;quot;$1&amp;quot;; then&lt;br /&gt;
	Message &amp;quot;device '$DEVICE' is busy&amp;quot;&lt;br /&gt;
	false&lt;br /&gt;
    else&lt;br /&gt;
	true&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
SleepDrive()&lt;br /&gt;
{&lt;br /&gt;
    BLOCK=$(cat $SCSI_DEVICE/block/*/dev 2&amp;gt; /dev/null)&lt;br /&gt;
    DEVICE=$(Block2Device &amp;quot;$BLOCK&amp;quot;)&lt;br /&gt;
    if ! /sbin/hdparm -Y &amp;quot;$DEVICE&amp;quot; &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
        Message &amp;quot;cannot put drive to sleep&amp;quot;&lt;br /&gt;
        if [ $FORCE_SLEEP = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
            true&lt;br /&gt;
        else&lt;br /&gt;
            false&lt;br /&gt;
        fi&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
DeleteScsiDevice()&lt;br /&gt;
{&lt;br /&gt;
    if ! { echo 1 &amp;gt; $SCSI_DEVICE/delete; } &amp;amp;&amp;gt; /dev/null; then&lt;br /&gt;
        Message &amp;quot;cannot delete device&amp;quot;&lt;br /&gt;
        false&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
GetDock()&lt;br /&gt;
{&lt;br /&gt;
    grep &amp;quot;$1&amp;quot; /sys/devices/platform/dock.*/type | sed -e s%/type:.*%%&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
IsDocked()&lt;br /&gt;
{&lt;br /&gt;
    [ $(cat $(GetDock &amp;quot;$1&amp;quot;)/docked) -ne 0 ]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Undock()&lt;br /&gt;
{&lt;br /&gt;
    { echo 0 &amp;gt; $(GetDock &amp;quot;$1&amp;quot;)/undock; } &amp;amp;&amp;gt; /dev/null&lt;br /&gt;
    if IsDocked &amp;quot;$1&amp;quot;; then&lt;br /&gt;
        Message &amp;quot;cannot undock UltraBay&amp;quot;&lt;br /&gt;
        false&lt;br /&gt;
    else&lt;br /&gt;
        Message &amp;quot;UltraBay undocked&amp;quot;&lt;br /&gt;
        true&lt;br /&gt;
    fi&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
while getopts &amp;quot;d:qlsb&amp;quot; OPTION; do&lt;br /&gt;
    case $OPTION in&lt;br /&gt;
        d)&lt;br /&gt;
            SCSI_DEVICE=&amp;quot;$OPTARG&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
        s)&lt;br /&gt;
            FORCE_SLEEP=&amp;quot;0&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
        q)&lt;br /&gt;
            QUIET=&amp;quot;1&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
        l)&lt;br /&gt;
            SYSLOG=&amp;quot;1&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
        b)&lt;br /&gt;
            BEEP=&amp;quot;1&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
        ?)&lt;br /&gt;
            Usage&lt;br /&gt;
        ;;&lt;br /&gt;
      esac&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
if [ -d &amp;quot;$SCSI_DEVICE&amp;quot; ] &amp;amp;&amp;amp; IsDocked &amp;quot;ata_bay&amp;quot;; then&lt;br /&gt;
    sync&lt;br /&gt;
    for DEV_DIR in $(ls $SCSI_DEVICE/block/*/*/dev $SCSI_DEVICE/block/*/dev | sed -e s/dev$//  2&amp;gt; /dev/null); do&lt;br /&gt;
	IsBusy &amp;quot;$DEV_DIR&amp;quot; || Exit &amp;quot;fail&amp;quot;&lt;br /&gt;
    done&lt;br /&gt;
    sync&lt;br /&gt;
    SleepDrive || Exit &amp;quot;fail&amp;quot;&lt;br /&gt;
    DeleteScsiDevice || Exit &amp;quot;fail&amp;quot;&lt;br /&gt;
    sleep 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ ! -d $SCSI_DEVICE ] &amp;amp;&amp;amp; $(IsDocked &amp;quot;ata_bay&amp;quot;); then&lt;br /&gt;
    if Undock &amp;quot;ata_bay&amp;quot;; then&lt;br /&gt;
        Exit &amp;quot;success&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        Exit &amp;quot;fail&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
Message &amp;quot;UltraBay is already undocked&amp;quot;&lt;br /&gt;
Exit &amp;quot;success&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Supported models: {{R400}} - linux-2.6.29&lt;br /&gt;
==comments==&lt;br /&gt;
Interesting, especially the support for swap partitions. but I have two comments, first your calling your script hotswap.sh and then having udev call ultrabay.sh?&lt;br /&gt;
&lt;br /&gt;
Then your hard coding the location of the Ultrabay device. This is not guaranteed to be correct, although it will be in most cases. In particular the A and W-series machines. A-series had support for more then one Ultrabay device, while W-series has support for more then one internal HDD in addition to the Ultrabay device, so the Ultrabay location will shift. That is why the Ultrabay Eject script on the main page gets the eject device information from udev.&lt;br /&gt;
&lt;br /&gt;
==comments==&lt;br /&gt;
Hi, thanks, I fix name of script :)&lt;br /&gt;
Udev calling ultrabay.sh with option -d, so it remove correct device, if you want remove device manualy, is default device useful. But option may be required...&lt;br /&gt;
&lt;br /&gt;
==more comments ;)==&lt;br /&gt;
You might also have a look at the script on the main page, it has a few extra abilities, such as logging to syslog, beeping and putting up popups on the desktop.&lt;br /&gt;
&lt;br /&gt;
Logging to syslog is simple, just call 'logger' with what you want to log. quite should have no effect on this.&lt;br /&gt;
&lt;br /&gt;
For beeps, similar to what windows does you can echo different values to /proc/acpi/ibm/beep, but it only works if sound is not muted. Unfortunately doing so does seem to generate some annoying messages in syslog.&lt;br /&gt;
&lt;br /&gt;
Lastly you can use notify-send to put up messages on the desktop, but before you can do so you have to do an export DISPLADISPLAY=0:0 /usr/bin/knotify4 --passive-popup : Adresář nebo soubor neexistujeY=:0.0&lt;br /&gt;
&lt;br /&gt;
==Syslog and beep==&lt;br /&gt;
OK, scrip now support syslog and beeping :).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Still missing notify-send ;)&lt;br /&gt;
&lt;br /&gt;
I am also thinking that it would be useful in the case of a busy filesystem to tell the user to run something like fuser -mv /dev/sr0&amp;lt;br&amp;gt;&lt;br /&gt;
Or perhaps we should run it ourselves automatically and just tell the user what is the cause of the busy filesystem.&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Tonko|Tonko]] 21:21, 8 June 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== get notify-send working ==&lt;br /&gt;
&lt;br /&gt;
Hi there,&lt;br /&gt;
&lt;br /&gt;
I've modified your ultrabay_eject script so that the notify-send is working for the user which is logged onto screen :0&lt;br /&gt;
for an unified diff see below, here is the whole modified script&lt;br /&gt;
&lt;br /&gt;
* whole script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Change the following DEVPATH= to match your system, if you want to run this directly instead of having it called by the udev eject script&lt;br /&gt;
# To find the right value, insert the UltraBay optical drive and run:&lt;br /&gt;
# udevadm info --query=path --name=/dev/sr0 | perl -pe 's!/block/...$!!'&lt;br /&gt;
if [ &amp;quot;$DEVPATH&amp;quot; = &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
   DEVPATH=&amp;quot;/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
shopt -s nullglob&lt;br /&gt;
export DISPLAY=:0.0 # required for notify-send&lt;br /&gt;
&lt;br /&gt;
DISP0_USER=`lastlog | grep &amp;quot;[[:space:]]:0&amp;quot; | awk '{ print $1 }'` # the [[:space:]] before the :0 is needed to exclude ipv6 adresses&lt;br /&gt;
DISP0_USER_HOME=`getent passwd ${DISP0_USER} | cut -d':' -f6`&lt;br /&gt;
export XAUTHORITY=${DISP0_USER_HOME}/.Xauthority # also required for notify-send&lt;br /&gt;
&lt;br /&gt;
ULTRABAY_SYSDIR=/sys$DEVPATH&lt;br /&gt;
&lt;br /&gt;
# Find generic dock interface for UltraBay&lt;br /&gt;
dock=$( /bin/grep -l ata_bay /sys/devices/platform/dock.?/type )&lt;br /&gt;
dock=${dock%%/type}&lt;br /&gt;
if [ -n &amp;quot;$dock&amp;quot; -a -d &amp;quot;$dock&amp;quot; ]; then&lt;br /&gt;
        logger ultrabay_eject starting eject of $dock&lt;br /&gt;
else&lt;br /&gt;
        logger ultrabay_eject cannot locate bay dock device&lt;br /&gt;
        notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Cannot locate bay dock device&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Umount the filesystem(s) backed by the given major:minor device(s)&lt;br /&gt;
unmount_rdev() { perl - &amp;quot;$@&amp;quot; &amp;lt;&amp;lt;'EOPERL'  # let's do it in Perl&lt;br /&gt;
        for $major_minor (@ARGV) {&lt;br /&gt;
                $major_minor =~ m/^(\d+):(\d+)$/ or die;&lt;br /&gt;
                push(@tgt_rdevs, ($1&amp;lt;&amp;lt;8)|$2);&lt;br /&gt;
        }&lt;br /&gt;
        # Sort by reverse length of mount point, to unmount sub-directories first&lt;br /&gt;
        open MOUNTS,&amp;quot;&amp;lt;/proc/mounts&amp;quot; or die &amp;quot;$!&amp;quot;;&lt;br /&gt;
        @mounts=sort { length($b-&amp;gt;[1]) &amp;lt;=&amp;gt; length($a-&amp;gt;[1]) } map { [ split ] } &amp;lt;MOUNTS&amp;gt;;&lt;br /&gt;
        close MOUNTS;&lt;br /&gt;
        foreach $m (@mounts) {&lt;br /&gt;
                ($dev,$dir)=@$m;&lt;br /&gt;
                next unless -b $dev;  $rdev=(stat($dev))[6];&lt;br /&gt;
                next unless grep($_==$rdev, @tgt_rdevs);&lt;br /&gt;
                system(&amp;quot;umount&amp;quot;,&amp;quot;-v&amp;quot;,&amp;quot;$dir&amp;quot;)==0  or  $bad=1;&lt;br /&gt;
                if ($bad == 1) {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;ERROR unmounting&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u critical -t 100000 \&amp;quot;Error unmounting $dir\&amp;quot; \&amp;quot;Unmounting of $dir on $dev failed!\&amp;quot;&amp;quot;);&lt;br /&gt;
                } else {&lt;br /&gt;
                        system(&amp;quot;logger&amp;quot;,&amp;quot;ultrabay_eject&amp;quot;,&amp;quot;unmounted&amp;quot;,$dev,$dir);&lt;br /&gt;
                        system(&amp;quot;notify-send -u normal -t 5000 \&amp;quot;Unmounted $dir\&amp;quot;&amp;quot;);&lt;br /&gt;
                };&lt;br /&gt;
        }&lt;br /&gt;
        exit 1 if $bad;&lt;br /&gt;
EOPERL&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get the UltraBay's /dev/foo block device node&lt;br /&gt;
ultrabay_dev_node() {&lt;br /&gt;
        UDEV_PATH=&amp;quot;`readlink -e &amp;quot;$ULTRABAY_SYSDIR/block/&amp;quot;*`&amp;quot; || return 1&lt;br /&gt;
        UDEV_NAME=&amp;quot;`udevadm info --query=name --path=$UDEV_PATH`&amp;quot; || return 1&lt;br /&gt;
        echo /dev/$UDEV_NAME&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if [ $( cat $dock/docked ) == 0 ]; then&lt;br /&gt;
        logger ultrabay_eject dock reports empty&lt;br /&gt;
else &lt;br /&gt;
	if [ -d $ULTRABAY_SYSDIR ]; then&lt;br /&gt;
		logger ultrabay_eject dock occupied, shutting down storage device $DEVPATH&lt;br /&gt;
		sync&lt;br /&gt;
		# Unmount filesystems backed by this device&lt;br /&gt;
		## This seems to be very inelegant and prone to failure&lt;br /&gt;
		unmount_rdev `cat $ULTRABAY_SYSDIR/block/*/dev     \&lt;br /&gt;
				  $ULTRABAY_SYSDIR/block/*/*/dev`  \&lt;br /&gt;
		|| {&lt;br /&gt;
			logger ultrabay_eject umounting failed&lt;br /&gt;
			echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
			notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Please do not pull the device, doing so could cause file corruption and possibly hang the system. Unmounting of the filesystem on the ThinkPad Ultrabay device failed. Please put the eject leaver back in place, and try to unmount the filesystem manually. If this succeeds you can try the eject again&amp;quot;&lt;br /&gt;
			exit 1;&lt;br /&gt;
		}&lt;br /&gt;
		sync&lt;br /&gt;
		# Nicely power off the device&lt;br /&gt;
		DEVNODE=`ultrabay_dev_node` &amp;amp;&amp;amp; hdparm -Y $DEVNODE&lt;br /&gt;
		# Let HAL+KDE notice the unmount and let the disk spin down&lt;br /&gt;
		sleep 0.5&lt;br /&gt;
		# Unregister this SCSI device:&lt;br /&gt;
		sync&lt;br /&gt;
		echo 1 &amp;gt; $ULTRABAY_SYSDIR/delete&lt;br /&gt;
	else&lt;br /&gt;
		logger ultrabay_eject bay occupied but incorrect device path $DEVPATH&lt;br /&gt;
		notify-send -u critical -t 100000 &amp;quot;ThinkPad Ultrabay eject failed&amp;quot; &amp;quot;Bay occupied but incorrect device path&amp;quot;&lt;br /&gt;
		echo 2 &amp;gt; /proc/acpi/ibm/beep  # triple error tone&lt;br /&gt;
		exit 1&lt;br /&gt;
	fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# We need sleep here so someone can disconnect the bay and the drive&lt;br /&gt;
sleep 1&lt;br /&gt;
&lt;br /&gt;
# Turn off power to the UltraBay&lt;br /&gt;
logger ultrabay_eject undocking $dock&lt;br /&gt;
echo 1 &amp;gt; $dock/undock&lt;br /&gt;
&lt;br /&gt;
# Tell the user we're OK&lt;br /&gt;
logger ultrabay_eject done&lt;br /&gt;
echo 12 &amp;gt; /proc/acpi/ibm/beep&lt;br /&gt;
notify-send -u normal -t 10000 &amp;quot;Safe to remove device&amp;quot; &amp;quot;The ThinkPad Ultrabay device can now safely be removed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*unified diff&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--- ultrabay_eject.orig	2010-01-07 22:51:40.000000000 +0100&lt;br /&gt;
+++ ultrabay_eject	2010-01-07 22:54:55.000000000 +0100&lt;br /&gt;
@@ -10,6 +10,11 @@&lt;br /&gt;
 &lt;br /&gt;
 shopt -s nullglob&lt;br /&gt;
 export DISPLAY=:0.0 # required for notify-send&lt;br /&gt;
+&lt;br /&gt;
+DISP0_USER=`lastlog | grep &amp;quot;[[:space:]]:0&amp;quot; | awk '{ print $1 }'` # the [[:space:]] before the :0 is needed to exclude ipv6 adresses&lt;br /&gt;
+DISP0_USER_HOME=`getent passwd ${DISP0_USER} | cut -d':' -f6`&lt;br /&gt;
+export XAUTHORITY=${DISP0_USER_HOME}/.Xauthority # also required for notify-send&lt;br /&gt;
+&lt;br /&gt;
 ULTRABAY_SYSDIR=/sys$DEVPATH&lt;br /&gt;
 &lt;br /&gt;
 # Find generic dock interface for UltraBay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i hope this is useful to other users as well --[[User:Roo|Roo]] 22:19, 7 January 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
= A warning about sysfs docked =&lt;br /&gt;
&lt;br /&gt;
A note to script writers/users:  [https://marc.info/?l=linux-acpi&amp;amp;m=148952016304094&amp;amp;w=2 The docked sysfs attribute can be unreliable.]  Be sure the script fails safely if it reports 0 when there are docked devices.&lt;br /&gt;
&lt;br /&gt;
--[[User:Kevinoid|Kevinoid]] ([[User talk:Kevinoid|talk]]) 20:45, 14 March 2017 (CET)&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=45952</id>
		<title>How to configure the TrackPoint</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&amp;diff=45952"/>
		<updated>2010-02-11T16:18:16Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add description of how to determine the Path ID&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |Below are several ways of configuring the kernel psmouse driver for controlling extended TrackPoint features.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Configuration using xinput=&lt;br /&gt;
If you want to modify changes on the fly, you can do so with {{cmd|xinput|}} (part of the optional xorg-x11-apps rpm on Fedora).&lt;br /&gt;
Note that these changes are not saved when the xserver is restarted.&lt;br /&gt;
&lt;br /&gt;
To query the available options&lt;br /&gt;
 xinput list-props '&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;'&lt;br /&gt;
&lt;br /&gt;
More information can be found in the man-pages for evdev&lt;br /&gt;
 man evdev&lt;br /&gt;
&lt;br /&gt;
To enable vertical scrolling&lt;br /&gt;
 xinput set-prop '&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;' &amp;quot;Evdev Wheel Emulation&amp;quot; 1&lt;br /&gt;
 xinput set-prop '&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;' &amp;quot;Evdev Wheel Emulation Button&amp;quot; 2&lt;br /&gt;
 xinput set-prop '&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;' &amp;quot;Evdev Wheel Emulation Timeout&amp;quot; 200&lt;br /&gt;
&lt;br /&gt;
To enable horizontal scrolling in addition to vertical scrolling&lt;br /&gt;
&lt;br /&gt;
 xinput set-prop '&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;' &amp;quot;Evdev Wheel Emulation Axes&amp;quot; 6 7 4 5&lt;br /&gt;
&lt;br /&gt;
To enable middle button emulation (using left- and right-click simultaneously)&lt;br /&gt;
 xinput set-prop '&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;' &amp;quot;Evdev Middle Button Emulation&amp;quot; 1&lt;br /&gt;
 xinput set-prop '&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;' &amp;quot;Evdev Middle Button Timeout&amp;quot; 50&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Todo|some other examples}}&lt;br /&gt;
&lt;br /&gt;
= Configuration using Gnome=&lt;br /&gt;
If you are using GNOME, you might want to use [http://live.gnome.org/GPointingDeviceSettings GPointing Device Settings] as a graphical frontend.&lt;br /&gt;
&lt;br /&gt;
It is available for Fedora 12 and Ubuntu 9.10 in the standard package repositories&lt;br /&gt;
&lt;br /&gt;
= Configuration using DevKit =&lt;br /&gt;
Most recent distributions like Ubuntu 9.10 switch from HAL (being deprecated) to DevKit. Hence, the HAL configurations explained underneath, fail to work. &lt;br /&gt;
&lt;br /&gt;
The easiest way to configure your touchpad and trackpoint with DevKit is by using the [http://live.gnome.org/GPointingDeviceSettings GPointingDeviceSettings] panel that fully supports the hardware. You can easily download the panel by installing {{cmd| gpointing-device-settings|}}. On Ubuntu open a terminal and execute the command {{cmduser| sudo apt-get install gpointing-device-settings}}&lt;br /&gt;
&lt;br /&gt;
Launch the UI through the {{cmduser| gpointing-device-settings}} command, but you can also add a menu entry to your System / Preferences menu for easier access to the UI panel.&lt;br /&gt;
&lt;br /&gt;
= Configuration using udev and HAL =&lt;br /&gt;
Modern distributions like Ubuntu 8.10 and Fedora 10 use udev and HAL to configure the input devices. You should no longer make changes to xorg.conf as by default Xorg (through the evdev driver) will let the kernel now handle input devices.&lt;br /&gt;
&lt;br /&gt;
But before you get started on this you should make sure you have all the updates applied from your distro vendor as both Ubuntu 8.10 and Fedora 10 require some additional fixes that you will need.&lt;br /&gt;
&lt;br /&gt;
=== Scrolling ===&lt;br /&gt;
By default the middle mouse button is that, a middle mouse button, which in Linux is used for the Paste operation.&lt;br /&gt;
&lt;br /&gt;
But you can configure it to act in the same way as in Windows, such that you can use it for vertical scrolling (keep the button pressed and move the TrackPoint up and down to scroll). &lt;br /&gt;
&lt;br /&gt;
==== udev ====&lt;br /&gt;
&lt;br /&gt;
Now that Xorg doesn't use the configuration from hal (in Debian unstable starting january 2010), the only way to “statically” configure scrolling in trackpoint is udev. (for other people, xinput method, works fine). This method will be gone (_again_) in not too long so it might be a better idea to use xinput way. YMMV.&lt;br /&gt;
&lt;br /&gt;
Create the file {{path|/etc/udev/rules.d/99_trackpoint.rules}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACTION!=&amp;quot;add|change&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
KERNEL!=&amp;quot;event*&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{ID_PATH}!=&amp;quot;platform-i8042-serio-1&amp;quot;, GOTO=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ENV{x11_options.EmulateWheel}=&amp;quot;1&amp;quot;&lt;br /&gt;
ENV{x11_options.EmulateWheelButton}=&amp;quot;2&amp;quot;&lt;br /&gt;
ENV{x11_options.XAxisMapping}=&amp;quot;6 7&amp;quot;&lt;br /&gt;
ENV{x11_options.Emulate3Buttons}=&amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LABEL=&amp;quot;xorg_trackpoint_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and restart udev then Xorg (or it'll be enabled at next reboot).&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The ID_PATH used in the example above is a typical value.  To determine the ID_PATH appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==== Hal (soon to be deprecated) ====&lt;br /&gt;
&lt;br /&gt;
To accomplish this create the file {{path|/etc/hal/fdi/policy/mouse-wheel.fdi}} as root with the following content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;match key=&amp;quot;info.product&amp;quot; string=&amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheel&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelButton&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;2&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.YAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;4 5&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.Emulate3Buttons&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.EmulateWheelTimeout&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;200&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you also want to have horizontal scrolling, simply add the following XAxisMapping option to the above&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;merge key=&amp;quot;input.x11_options.XAxisMapping&amp;quot; type=&amp;quot;string&amp;quot;&amp;gt;6 7&amp;lt;/merge&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After this reboot, or restart the hal service and Xorg. You can validate the settings with {{cmd|lshal|}}.&lt;br /&gt;
&lt;br /&gt;
In some models (eg: X301 and X200 since Jan 10 2010 on debian sid) you may have to use &amp;quot;PS/2 Generic Mouse&amp;quot; instead of &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;. Have a look to your input devices typing &amp;lt;code&amp;gt;lshal|grep input.product&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Reactivate Scrolling after suspend/resume====&lt;br /&gt;
Scrolling may be disabled after a resume from suspend. &lt;br /&gt;
&lt;br /&gt;
You can manually reactivate the trackpoint by reloading the {{path|psmouse}} module as root:&lt;br /&gt;
:{{cmdroot|rmmod psmouse &amp;amp;&amp;amp; modprobe psmouse}}&lt;br /&gt;
&lt;br /&gt;
You can automatically force the pm-utils to reload this module.&lt;br /&gt;
Create a file {{path|/etc/pm/config.d/01reload_mouse}} as root with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# reload psmouse to reactivate trackpoint scrolling&lt;br /&gt;
SUSPEND_MODULES=&amp;quot;${SUSPEND_MODULES:+$SUSPEND_MODULES }psmouse&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Configuring other options (e.g. Press to select, Sensitivity and Speed)===&lt;br /&gt;
&amp;lt;!--HAL wasn't made to configure sysfs settings, so we'll use udev instead --&amp;gt;&lt;br /&gt;
Create a file {{path|/etc/udev/rules.d/10-trackpoint.rules}} and add a line to suit your needs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;serio&amp;quot;, DRIVERS==&amp;quot;psmouse&amp;quot;, ATTR{press_to_select}=&amp;quot;1&amp;quot;, ATTR{sensitivity}=&amp;quot;122&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Testing udev  with {{cmdroot|udevadm test /sys/devices/platform/i8042/serio1}} should apply the new changes.  All of the settings listed [[How to configure the TrackPoint#Sysfs_Options_Reference|below]] can be specified here as part of a comma separated list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Configuration using sysfs=&lt;br /&gt;
Another way to modify changes on the fly, is echoing values directly into special files in sysfs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|&lt;br /&gt;
The examples shown below are valid for ThinkPads with both TrackPoint and Touchpad, in which case the sysfs path is {{path|/sys/devices/platform/i8042/serio1/serio2}}.&lt;br /&gt;
&lt;br /&gt;
If however you have a ThinkPad without Touchpad, or with the Touchpad disabled in the BIOS, the sysfs path needs to be changed to {{path|/sys/devices/platform/i8042/serio1}} instead (notice the missing serio2 at the end).}}&lt;br /&gt;
&lt;br /&gt;
If you want to set the sysfs parameters at boot, you can use the [http://linux-diag.sourceforge.net/Sysfsutils.html sysfsutils] and put the preferred value in /etc/sysfs.conf.&lt;br /&gt;
&lt;br /&gt;
===Press to Select===&lt;br /&gt;
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/press_to_select}}&lt;br /&gt;
&lt;br /&gt;
Press to Select should now be enabled. You can disable it in a similar manner:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/press_to_select}}&lt;br /&gt;
&lt;br /&gt;
You can use this script to automate the operation&lt;br /&gt;
&lt;br /&gt;
        #!/bin/bash&lt;br /&gt;
        if [ &amp;quot;$1&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Turning on tap on TrackPoint&amp;quot;&lt;br /&gt;
                echo -n 1 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
                exit 0&lt;br /&gt;
        fi&lt;br /&gt;
        if [ &amp;quot;$1&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;Turning off tap on TrackPoint&amp;quot;&lt;br /&gt;
                echo -n 0 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
                exit 0&lt;br /&gt;
        fi&lt;br /&gt;
        echo -n &amp;quot;Tap status: &amp;quot;&lt;br /&gt;
        cat /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
In Ubuntu 8.10 to make Press to Select a permanent change:&lt;br /&gt;
&lt;br /&gt;
echo -n 1 | tee /sys/devices/platform/i8042/serio1/serio2/press_to_select&lt;br /&gt;
&lt;br /&gt;
As root, append the above command above &amp;quot;exit 0&amp;quot; in /etc/gdm/Init/Default&lt;br /&gt;
&lt;br /&gt;
===Sensitivity &amp;amp; Speed===&lt;br /&gt;
Adjusting the speed and sensitivity of the TrackPoint requires echoing a value between 0 and 255 into the appropriate file. For example, for a speed of 120 and a sensitivity of 250, type the following into a terminal:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|echo -n 120 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/speed}}&lt;br /&gt;
:{{cmdroot|echo -n 250 &amp;gt; /sys/devices/platform/i8042/serio1/serio2/sensitivity}}&lt;br /&gt;
&lt;br /&gt;
Feel free to experiment with your settings until you find a combination that is comfortable.&lt;br /&gt;
&lt;br /&gt;
When you satisfy your setting, add the two lines into /etc/rc.d/rc.local in order to avoid restoring the default setting every time the system reboots.  In Ubuntu 9.10, add the lines to /etc/rc.local to avoid this.&lt;br /&gt;
&lt;br /&gt;
===Vertical Scrolling===&lt;br /&gt;
No sysfs entry exists for vertical scrolling in kernels after 2.6.11.&lt;br /&gt;
&lt;br /&gt;
The feature was removed as it was not a hardware feature, but rather emulating a scroll action in software and as such did not belong in the kernel.&lt;br /&gt;
Instead the scroll feature of the Xserver should be used, which can be activated with HAL or xinput as described above.&lt;br /&gt;
&lt;br /&gt;
=Configuration using the X server (xorg.conf)=&lt;br /&gt;
==Using the &amp;quot;evdev&amp;quot; driver (preferred, especially for recent Xorg versions)==&lt;br /&gt;
Extract from /etc/X11/xorg.conf on an X31:&lt;br /&gt;
&lt;br /&gt;
    Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;TPPS/2 IBM TrackPoint&amp;quot;&lt;br /&gt;
        Driver     &amp;quot;evdev&amp;quot;&lt;br /&gt;
        Option     &amp;quot;Device&amp;quot; &amp;quot;/dev/input/by-path/platform-i8042-serio-1-event-mouse&amp;quot;&lt;br /&gt;
        Option     &amp;quot;GrabDevice&amp;quot; &amp;quot;False&amp;quot;&lt;br /&gt;
        Option     &amp;quot;EmulateWheel&amp;quot; &amp;quot;true&amp;quot; #Enable wheel emulation for the Trackpoint&lt;br /&gt;
        Option     &amp;quot;EmulateWheelButton&amp;quot; &amp;quot;2&amp;quot; #Use the middle button for the emulation&lt;br /&gt;
        Option     &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot; #Map trackpoint X axis to X axis of emulated wheel&lt;br /&gt;
        Option     &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot; #Map trackpoint Y axis to Y axis of emulated wheel&lt;br /&gt;
    EndSection&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The device path used in the example above is a typical value.  To determine the device path appropriate to the TrackPoint on a specific model see [[#Determining TrackPoint Path ID|Determining TrackPoint Path ID]]}}&lt;br /&gt;
&lt;br /&gt;
==Using the &amp;quot;mouse&amp;quot; driver (deprecated, only for old Xorg versions)==&lt;br /&gt;
{{NOTE|This only applies to old distributions with Xorg versions that did not yet use evdev. For modern distributions use one of the other methods}}&lt;br /&gt;
The scroll setting has been removed from the trackpoint driver in kernel versions 2.6.11 and above. Scroll emulation should now be handled in the X server.&lt;br /&gt;
&lt;br /&gt;
A nice side effect of that is, that middle button scrolling applies to any mouse and not just the TrackPoint interface, which can be a quite handy feature for desktop computers or people who prefer to use an external mouse, especially when scrolling through long lists or needing to use horizontal scrolling with a mouse which has only a vertical scroll wheel.&lt;br /&gt;
&lt;br /&gt;
The necessary functionality, known  as &amp;quot;EmulateWheelTimeout&amp;quot; allowing to use button 2 for a middle click, wasn't implemented in Xorg prior to 6.9/7.0. However, there was a patch included in most distributions packages of Xorg, which was announced [http://www.mail-archive.com/devel@xfree86.org/msg03333.html here]. You can find an updated version of the package in the experimental branch of {{Debian}} or try to build the mouse driver yourself with the information in the announcement. This has successfully been tried with FC3's 6.8.2 packages.&lt;br /&gt;
&lt;br /&gt;
Once this functionality is in the X.org, add these lines to your TrackPoint configuration section in {{path|/etc/X11/xorg.conf}}:&lt;br /&gt;
&lt;br /&gt;
        Option          &amp;quot;EmulateWheel&amp;quot;          &amp;quot;on&amp;quot;&lt;br /&gt;
        Option          &amp;quot;EmulateWheelButton&amp;quot;    &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It may also be necessary to add these lines:&lt;br /&gt;
&lt;br /&gt;
        Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;&lt;br /&gt;
        Option &amp;quot;XAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
which specify which buttons are mapped to motion in the vertical (Y) and horizontal (X) directions, respectively, in wheel emulation mode (see http://www.xfree86.org/current/mouse.4.html).&lt;br /&gt;
&lt;br /&gt;
{{HINT| Use the program &amp;quot;xev&amp;quot; to see, what mouse button identifiers are sent by your mouse/touchpad/trackpoint.&amp;lt;br /&amp;gt;You might want to try: &amp;quot;xev &amp;amp;#124; grep button&amp;quot;}}&lt;br /&gt;
{{HINT| If it does not work see if evdev is installed and remove it. On gentoo do the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
eix xf86-input-evdev&amp;lt;br /&amp;gt;&lt;br /&gt;
emerge -C xf86-input-evdev&amp;lt;br /&amp;gt;&lt;br /&gt;
and then remove the evdev flag in make.conf INPUT_DEVICES}}&lt;br /&gt;
&lt;br /&gt;
So, a complete mouse section, that implements this nicely and works very well on my R51, even with a simultaneously connected USB mouse, looks like that (tried out today, 20th of September, 2006 on Dapper):&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Configured Mouse&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;mouse&amp;quot;&lt;br /&gt;
        Option      &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Device&amp;quot;              &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Protocol&amp;quot;            &amp;quot;ExplorerPS/2&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Emulate3Buttons&amp;quot;     &amp;quot;on&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Emulate3TimeOut&amp;quot;     &amp;quot;50&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheel&amp;quot;        &amp;quot;on&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheelTimeOut&amp;quot; &amp;quot;200&amp;quot;&lt;br /&gt;
        Option      &amp;quot;EmulateWheelButton&amp;quot;  &amp;quot;2&amp;quot;&lt;br /&gt;
        Option      &amp;quot;YAxisMapping&amp;quot;        &amp;quot;4 5&amp;quot;&lt;br /&gt;
        Option      &amp;quot;XAxisMapping&amp;quot;        &amp;quot;6 7&amp;quot;&lt;br /&gt;
        Option      &amp;quot;ZAxisMapping&amp;quot;        &amp;quot;4 5&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
&lt;br /&gt;
The mappings for Y and Z are the same, since the &amp;quot;Z-Axis&amp;quot; refers to actual hardware scrolling wheels which usually scroll the screen along the Y-Axis. If there is no hardware scrolling wheel present, horizontal and vertical scrolling using the TrackPoint work fine without the Z-Axis line.&lt;br /&gt;
&lt;br /&gt;
Now restart X and hold down button 2 and move the mouse to scroll, or just press and release button 2 for a middle click.&lt;br /&gt;
&lt;br /&gt;
To make this work with the synaptics driver for the touchpad, you can add&lt;br /&gt;
        Option      &amp;quot;GuestMouseOff&amp;quot; &amp;quot;1&amp;quot;&lt;br /&gt;
to the synaptics device section. This will make the synaptics driver ignore the Trackpoint, so it will be handled by the mouse driver. This allowed me to disable the touchpad while making the TrackPoint work like it should.&lt;br /&gt;
&lt;br /&gt;
{{NOTE| With the above mouse section in my xorg.conf all this works like a charm: &lt;br /&gt;
*I can press the wheel on my external USB mouse and move the mouse up and down for scrolling&lt;br /&gt;
*or I can just use the wheel on the external mouse for scrolling&lt;br /&gt;
*or pressing the MMB button of the trackpoint and use the trackpoint for scrolling.&lt;br /&gt;
*Even horizontal scrolling works automagically in Konqueror, for Firefox/Opera see below.&lt;br /&gt;
&lt;br /&gt;
Simultaneously I can use &lt;br /&gt;
*a press on the external mouse's wheel &lt;br /&gt;
*or the MMB of the trackpoint&lt;br /&gt;
&lt;br /&gt;
for pasting the buffer. Lovely! :) }}&lt;br /&gt;
&lt;br /&gt;
{{HINT| If you don't use the middle-mouse-button for pasting and sometimes pasting things by mistake while scrolling (witch is really odd) simply set the &amp;quot;EmulateWheelTimeOut&amp;quot; to &amp;quot;1&amp;quot; as a (bloody) workaround. Middle click will only possible with pressing left and right button simultaneously!}}&lt;br /&gt;
&lt;br /&gt;
=Application specific tweaks=&lt;br /&gt;
===Configure Opera for using trackpoint horizontal scrolling===&lt;br /&gt;
To fix horizontal scrolling in Opera, you need to edit the configfile &amp;lt;tt&amp;gt;standard_mouse.ini&amp;lt;/tt&amp;gt; in e.g. /usr/share/opera/ui/ (Debian) or /opt/opera/share/opera/ini/ (Gentoo) and comment out the following lines&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Button6                                                        = Back&lt;br /&gt;
Button7                                                        = Forward&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
so they look like that&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Button6                                                        = Back&lt;br /&gt;
;Button7                                                        = Forward&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Remember, Button6 and Button7 do not so coincidental correspond with our X configuration we know from above:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Option &amp;quot;YAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After this change you will be able to scroll vertically and horizontally with your middle button.&lt;br /&gt;
&lt;br /&gt;
===Firefox 3 tweaks===&lt;br /&gt;
These settings make Firefox on Linux behave more like the Windows version. They were tested on an out of the box Fedora 10 system on a Thinkpad T61.  Go into about:config, and set the following:&lt;br /&gt;
&lt;br /&gt;
 middlemouse.paste = false&lt;br /&gt;
 middlemouse.contentLoadURL = false&lt;br /&gt;
 general.autoScroll = true&lt;br /&gt;
&lt;br /&gt;
=Sysfs Options Reference=&lt;br /&gt;
{{NOTE|These options are current as of kernel version 2.6.29, 3 May 2009}}&lt;br /&gt;
{| &lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Type&lt;br /&gt;
! Default&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| sensitivity&lt;br /&gt;
| Integer&lt;br /&gt;
| 128&lt;br /&gt;
| Sensitivity&lt;br /&gt;
|-&lt;br /&gt;
| speed&lt;br /&gt;
| Integer&lt;br /&gt;
| 97&lt;br /&gt;
| Cursor speed&lt;br /&gt;
|-&lt;br /&gt;
| inertia&lt;br /&gt;
| Integer&lt;br /&gt;
| 6&lt;br /&gt;
| Described as &amp;quot;negative inertia.&amp;quot;  It acts more like friction.  High values cause the cursor to snap backward when the Trackpoint is released&lt;br /&gt;
|-&lt;br /&gt;
| reach&lt;br /&gt;
| Integer&lt;br /&gt;
| 10&lt;br /&gt;
| Backup for Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| draghys&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Drag hysteresis (how hard it is to drag with Z-axis pressed)&lt;br /&gt;
|-&lt;br /&gt;
| mindrag&lt;br /&gt;
| Integer&lt;br /&gt;
| 20&lt;br /&gt;
| Minimum amount of force needed to trigger dragging&lt;br /&gt;
|-&lt;br /&gt;
| thresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 8&lt;br /&gt;
| Minimum value for a Z-axis press&lt;br /&gt;
|-&lt;br /&gt;
| upthresh&lt;br /&gt;
| Integer&lt;br /&gt;
| 255&lt;br /&gt;
| Used to generate a 'click' on Z-axis&lt;br /&gt;
|-&lt;br /&gt;
| ztime&lt;br /&gt;
| Integer&lt;br /&gt;
| 38&lt;br /&gt;
| How sharp of a press&lt;br /&gt;
|-&lt;br /&gt;
| jenks&lt;br /&gt;
| Integer&lt;br /&gt;
| 135&lt;br /&gt;
| Minimum curvature for double click&lt;br /&gt;
|-&lt;br /&gt;
| press_to_select&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Press to select&lt;br /&gt;
|-&lt;br /&gt;
| skipback&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Supress movement after drag release &lt;br /&gt;
|-&lt;br /&gt;
| ext_dev&lt;br /&gt;
| Boolean&lt;br /&gt;
| 0&lt;br /&gt;
| Disable external device&lt;br /&gt;
|}&lt;br /&gt;
Table info taken from [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/mouse/trackpoint.h;hb=HEAD here].  The given link will always point to the current version of the driver.  If the notes seem sparse, that's because the code is sparse.  On the other hand, the [http://wwwcssrv.almaden.ibm.com/trackpoint/files/ykt3eext.pdf Trackpoint Engineering Specification Version 4.0] &amp;lt;!--if this link breaks, I recommend a quick Google search for &amp;quot;trackpoint version 4 engineering specifications&amp;quot; --&amp;gt; contains more documentation information than anyone ever desired.&lt;br /&gt;
&lt;br /&gt;
=Determining TrackPoint Path ID=&lt;br /&gt;
Both the [[#udev|udev]] and [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration methods require knowledge of the Path ID of the TrackPoint.  In the [[#udev|udev]] configuration method, the Path ID is used to match the ID_PATH environmental variable, in the [[#Configuration using the X server (xorg.conf)|xorg.conf]] configuration method it is the prefix for the device file name inside the {{path|/dev/input/by-id}} directory.  The path ID can vary between ThinkPad models, distributions (with varying kernel patches), and between kernel versions.  One way to find the path ID for the TrackPoint is to use udev's path_id utility on the sysfs device path for the TrackPoint.  This device path can be found using the {{path|name}} file which describes the TrackPoint.  The process can be automated using the following shell command:&lt;br /&gt;
 /lib/udev/path_id $(find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/sys\(.*\)\/name/\1/')&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=36592</id>
		<title>HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=36592"/>
		<updated>2008-02-25T22:40:03Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Better source for the lockup fix patch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
=== HDAPS - IBM Active Protection System Linux Driver ===&lt;br /&gt;
This is the Linux driver for monitoring the accelerometer known as [[Active Protection System|IBM Active Protection System]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{{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.'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
*provides accelerometer values via sysfs&lt;br /&gt;
*provides a joystick type input device&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage / Availability ===&lt;br /&gt;
*[http://hdaps.sourceforge.net/ Project Homepage]&lt;br /&gt;
*The driver is included in the 2.6-mm series of kernels since August, 26th 2005.&lt;br /&gt;
*The driver is now in the mainline (2.6.14).&lt;br /&gt;
*The [[tp_smapi]] package contains some patches to this driver. These are necessary for some recent models, and recommended for all.&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== How to install the driver ===&lt;br /&gt;
Recent Linux kernels include the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver. However, the driver in the mainline Linux kernel has two problems with recent models:&lt;br /&gt;
* It doesn't whitelist them (you have to edit hdaps_init() in drivers/hwmon/hdaps.c to include a line like &amp;lt;tt&amp;gt;HDAPS_DMI_MATCH_LENOVO(&amp;quot;ThinkPad T60&amp;quot;)&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
To solve both problems, install the modified hdaps that is bundled with [[tp_smapi]].&lt;br /&gt;
&lt;br /&gt;
=== Harddisk Protection ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See [[How to protect the harddisk through APS]].&lt;br /&gt;
&lt;br /&gt;
=== Input device support ===&lt;br /&gt;
The hdaps driver in the lastest kernels (2.6.14 and later?) also exports a joystick type input device, which can be used by games.&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
====Disk head parking====&lt;br /&gt;
You will need the kernel patch and userspace daemon. The GUI monitoring is optional.&lt;br /&gt;
&lt;br /&gt;
See [[How to protect the harddisk through APS]] for more information.&lt;br /&gt;
&lt;br /&gt;
===== Kernel patch =====&lt;br /&gt;
Apply these using 'patch -p1 -l &amp;lt; hdaps_xx.patch'.&lt;br /&gt;
* New interface&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1094 disk-protect patch for kernel 2.6.24-rc3] &amp;amp;mdash; may cause system locks (see [http://marc.info/?l=linux-thinkpad&amp;amp;m=120259594519907 here], [http://marc.info/?l=linux-thinkpad&amp;amp;m=120259929023300 here] and try [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2008-February/042226.html this fix])&lt;br /&gt;
**[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]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1077 disk-protect patch for 2.6.22.9 and 2.6.23-rc9]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/993 disk-protect patch for 2.6.20-rc6]&lt;br /&gt;
* Old interface&lt;br /&gt;
**[http://www.nabble.com/attachment/9047418/0/hdaps_protect-2.6.20.patch.bz2 Latest sata/ide disk protection patch for 2.6.20]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.kernel/470413 Latest sata/ide disk protection patch for 2.6.19-rc6]&lt;br /&gt;
**[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]&lt;br /&gt;
**[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]&lt;br /&gt;
**[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]]&lt;br /&gt;
**[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]]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060430.patch Latest sata/ide disk protection patch for 2.6.16]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060118.patch sata/ide disk protection patch for 2.6.15]&lt;br /&gt;
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.15.patch disk park patch adapted for the t41p model] &amp;lt;tt&amp;gt; kernel 2.6.15 ([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.14.patch disk park patch adapted for the t41p model] &amp;lt;tt&amp;gt; kernel 2.6.14 ([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://lwn.net/Articles/154923/ disk park patch] &amp;lt;tt&amp;gt;an experimental patch for parking the disk (Linux 2.6.14 for 2.6.15 see below)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Userspace daemon =====&lt;br /&gt;
*[http://www.dresco.co.uk/hdaps/hdapsd-20070524.c Recommended version]&lt;br /&gt;
*[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1045 Reduced power version] - reduces timer interrupts, as measured by [[PowerTOP]]. This leads to lower power consumption on [[tickless kernel|tickless kernels]]. Interrupt reduction requires the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; kernel module from [[tp_smapi]] 0.32 or newer, and a [http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1040 udev rule].&lt;br /&gt;
*[ftp://rohrmoser-engineering.de/pub Modified adaptive algorithm version] - uses a different (and potentially better) algorithm for the adaptive sensivity threshold.&lt;br /&gt;
&lt;br /&gt;
===== GUI monitoring =====&lt;br /&gt;
*[http://roy.marples.name/node/269 khdapmonitor] KDE System Tray Monitor&lt;br /&gt;
*[http://www.dresco.co.uk/hdaps/gnome-hdaps-applet-20060120.tar.gz gnome-hdaps-applet] visual display of disk protection status in gnome panel&lt;br /&gt;
&lt;br /&gt;
====Security &amp;amp; safety====&lt;br /&gt;
*[[Script for theft alarm using HDAPS]]&lt;br /&gt;
&lt;br /&gt;
====Tilt monitoring====&lt;br /&gt;
*[http://www.mulliner.org/collin/gkibm-acpi.php gkhdaps] &amp;lt;tt&amp;gt;a GKrellM applet displaying tilt data&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://rlove.org/log/2005082203.html gnome-tilt] &amp;lt;tt&amp;gt;a gnome applet showing tilt data&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Visualisation of ThinkPad orientation====&lt;br /&gt;
*[http://rlove.org/log/2005082401.html hdaps-gl] &amp;lt;tt&amp;gt;a little app animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdapsgl-applet] &amp;lt;tt&amp;gt; a GNOME applet animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://sourceforge.net/project/showfiles.php?group_id=138242 wmadhps] &amp;lt;tt&amp;gt;a WindowMaker DockApp animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.cs.cmu.edu/~ecc/gyro.tar.gz OpenGL gyroscope hack] &amp;lt;tt&amp;gt;keeps your display levelled when tilting the ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Games====&lt;br /&gt;
*[http://icculus.org/neverball/ Neverball] is quite fun with HDAPS. (You'll need to have the HDAPS joystick device)&lt;br /&gt;
*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])&lt;br /&gt;
&lt;br /&gt;
====Other====&lt;br /&gt;
&lt;br /&gt;
*[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)&lt;br /&gt;
**an [http://weblogs.mozillazine.org/gerv/archives/2006/09/stablilised_smackpad.html improved version] adds stabilization (by comparing smacks to previous ones, uses EWMH)&lt;br /&gt;
**another [http://pberndt.com/Programme/Linux/pyhdaps/index.html approach] adds stabilization (by requiring a certain type of value deflection, uses xmacroplay)&lt;br /&gt;
**[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]).&lt;br /&gt;
*[http://blog.odonnell.nu/61.html xmms-smack.py] - move through your xmms playlist by smacking, based on the two smack scripts above.&lt;br /&gt;
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw02aKnockBasedCommands KnockBasedCommands] - Execute commands by tapping your laptop.&lt;br /&gt;
*[http://people.ksp.sk/~mic/?menu=32&amp;amp;file=rotate.py rotate.py] - rotate desktop by turning your laptop&lt;br /&gt;
&lt;br /&gt;
=== Interesting links related to this project ===&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/hdaps-devel HDAPS mailinglist and its archive]&lt;br /&gt;
* #hdaps channel on irc.freenode.org&lt;br /&gt;
* [https://sourceforge.net/projects/hdaps/ hdaps projects] overview of userspace programs using hdaps&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-HDFIRM IBM ThinkPads hardware drive firmware site]&lt;br /&gt;
* [http://www.paul.sladen.org/thinkpad-r31/accelerometer.html http://www.paul.sladen.org/thinkpad-r31/accelerometer/]&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=119845 Gentoo ebuild for hdaps driver and daemon including a initscript*&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137345 Gentoo ebuild for gkhdaps gkrell plugin&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137350 Gentoo ebuild for hdaps-gl application&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137351 Gentoo ebuild for gnome hdapsgl-applet&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137352 Gentoo ebuild for gnome tilt application&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137353 Gentoo ebuild for wmhdaps&lt;br /&gt;
* [http://lenovoblogs.com/insidethebox/?p=71 Why the ThinkPad accelerometer is only 2D] - explanation by Lenovo&lt;br /&gt;
&lt;br /&gt;
[[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]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=36581</id>
		<title>HDAPS</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=HDAPS&amp;diff=36581"/>
		<updated>2008-02-25T21:07:28Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Correct link for 2.6.24 lockup fix to one that includes the patch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
=== HDAPS - IBM Active Protection System Linux Driver ===&lt;br /&gt;
This is the Linux driver for monitoring the accelerometer known as [[Active Protection System|IBM Active Protection System]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{{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.'''}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
*provides accelerometer values via sysfs&lt;br /&gt;
*provides a joystick type input device&lt;br /&gt;
&lt;br /&gt;
=== Project Homepage / Availability ===&lt;br /&gt;
*[http://hdaps.sourceforge.net/ Project Homepage]&lt;br /&gt;
*The driver is included in the 2.6-mm series of kernels since August, 26th 2005.&lt;br /&gt;
*The driver is now in the mainline (2.6.14).&lt;br /&gt;
*The [[tp_smapi]] package contains some patches to this driver. These are necessary for some recent models, and recommended for all.&lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== How to install the driver ===&lt;br /&gt;
Recent Linux kernels include the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; driver. However, the driver in the mainline Linux kernel has two problems with recent models:&lt;br /&gt;
* It doesn't whitelist them (you have to edit hdaps_init() in drivers/hwmon/hdaps.c to include a line like &amp;lt;tt&amp;gt;HDAPS_DMI_MATCH_LENOVO(&amp;quot;ThinkPad T60&amp;quot;)&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* 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].&lt;br /&gt;
&lt;br /&gt;
To solve both problems, install the modified hdaps that is bundled with [[tp_smapi]].&lt;br /&gt;
&lt;br /&gt;
=== Harddisk Protection ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
See [[How to protect the harddisk through APS]].&lt;br /&gt;
&lt;br /&gt;
=== Input device support ===&lt;br /&gt;
The hdaps driver in the lastest kernels (2.6.14 and later?) also exports a joystick type input device, which can be used by games.&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
====Disk head parking====&lt;br /&gt;
You will need the kernel patch and userspace daemon. The GUI monitoring is optional.&lt;br /&gt;
&lt;br /&gt;
See [[How to protect the harddisk through APS]] for more information.&lt;br /&gt;
&lt;br /&gt;
===== Kernel patch =====&lt;br /&gt;
Apply these using 'patch -p1 -l &amp;lt; hdaps_xx.patch'.&lt;br /&gt;
* New interface&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1094 disk-protect patch for kernel 2.6.24-rc3] &amp;amp;mdash; may cause system locks (see [http://marc.info/?l=linux-thinkpad&amp;amp;m=120259594519907 here], [http://marc.info/?l=linux-thinkpad&amp;amp;m=120259929023300 here] and try [http://www.nabble.com/Make-disk-protect-work-on-2.6.24-%28was%3A-enabling-protect-file-for-hdaps-on-t61%29-p15456262.html this fix])&lt;br /&gt;
**[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]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1077 disk-protect patch for 2.6.22.9 and 2.6.23-rc9]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/993 disk-protect patch for 2.6.20-rc6]&lt;br /&gt;
* Old interface&lt;br /&gt;
**[http://www.nabble.com/attachment/9047418/0/hdaps_protect-2.6.20.patch.bz2 Latest sata/ide disk protection patch for 2.6.20]&lt;br /&gt;
**[http://article.gmane.org/gmane.linux.kernel/470413 Latest sata/ide disk protection patch for 2.6.19-rc6]&lt;br /&gt;
**[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]&lt;br /&gt;
**[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]&lt;br /&gt;
**[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]]&lt;br /&gt;
**[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]]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060430.patch Latest sata/ide disk protection patch for 2.6.16]&lt;br /&gt;
**[http://www.dresco.co.uk/hdaps/hdaps_protect.20060118.patch sata/ide disk protection patch for 2.6.15]&lt;br /&gt;
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.15.patch disk park patch adapted for the t41p model] &amp;lt;tt&amp;gt; kernel 2.6.15 ([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://jenster.dyndns.org/files/blk_freeze-01-nodetection-for-2.6.14.patch disk park patch adapted for the t41p model] &amp;lt;tt&amp;gt; kernel 2.6.14 ([http://sourceforge.net/mailarchive/message.php?msg_id=13214288 capability detection disabled], no libata support)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://lwn.net/Articles/154923/ disk park patch] &amp;lt;tt&amp;gt;an experimental patch for parking the disk (Linux 2.6.14 for 2.6.15 see below)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Userspace daemon =====&lt;br /&gt;
*[http://www.dresco.co.uk/hdaps/hdapsd-20070524.c Recommended version]&lt;br /&gt;
*[http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1045 Reduced power version] - reduces timer interrupts, as measured by [[PowerTOP]]. This leads to lower power consumption on [[tickless kernel|tickless kernels]]. Interrupt reduction requires the &amp;lt;tt&amp;gt;hdaps&amp;lt;/tt&amp;gt; kernel module from [[tp_smapi]] 0.32 or newer, and a [http://article.gmane.org/gmane.linux.drivers.hdaps.devel/1040 udev rule].&lt;br /&gt;
*[ftp://rohrmoser-engineering.de/pub Modified adaptive algorithm version] - uses a different (and potentially better) algorithm for the adaptive sensivity threshold.&lt;br /&gt;
&lt;br /&gt;
===== GUI monitoring =====&lt;br /&gt;
*[http://roy.marples.name/node/269 khdapmonitor] KDE System Tray Monitor&lt;br /&gt;
*[http://www.dresco.co.uk/hdaps/gnome-hdaps-applet-20060120.tar.gz gnome-hdaps-applet] visual display of disk protection status in gnome panel&lt;br /&gt;
&lt;br /&gt;
====Security &amp;amp; safety====&lt;br /&gt;
*[[Script for theft alarm using HDAPS]]&lt;br /&gt;
&lt;br /&gt;
====Tilt monitoring====&lt;br /&gt;
*[http://www.mulliner.org/collin/gkibm-acpi.php gkhdaps] &amp;lt;tt&amp;gt;a GKrellM applet displaying tilt data&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://rlove.org/log/2005082203.html gnome-tilt] &amp;lt;tt&amp;gt;a gnome applet showing tilt data&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Visualisation of ThinkPad orientation====&lt;br /&gt;
*[http://rlove.org/log/2005082401.html hdaps-gl] &amp;lt;tt&amp;gt;a little app animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://sourceforge.net/project/showfiles.php?group_id=138242 hdapsgl-applet] &amp;lt;tt&amp;gt; a GNOME applet animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://sourceforge.net/project/showfiles.php?group_id=138242 wmadhps] &amp;lt;tt&amp;gt;a WindowMaker DockApp animating a 3D-ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.cs.cmu.edu/~ecc/gyro.tar.gz OpenGL gyroscope hack] &amp;lt;tt&amp;gt;keeps your display levelled when tilting the ThinkPad&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Games====&lt;br /&gt;
*[http://icculus.org/neverball/ Neverball] is quite fun with HDAPS. (You'll need to have the HDAPS joystick device)&lt;br /&gt;
*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])&lt;br /&gt;
&lt;br /&gt;
====Other====&lt;br /&gt;
&lt;br /&gt;
*[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)&lt;br /&gt;
**an [http://weblogs.mozillazine.org/gerv/archives/2006/09/stablilised_smackpad.html improved version] adds stabilization (by comparing smacks to previous ones, uses EWMH)&lt;br /&gt;
**another [http://pberndt.com/Programme/Linux/pyhdaps/index.html approach] adds stabilization (by requiring a certain type of value deflection, uses xmacroplay)&lt;br /&gt;
**[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]).&lt;br /&gt;
*[http://blog.odonnell.nu/61.html xmms-smack.py] - move through your xmms playlist by smacking, based on the two smack scripts above.&lt;br /&gt;
*[http://www-128.ibm.com/developerworks/linux/library/l-knockage.html?ca=dgr-lnxw02aKnockBasedCommands KnockBasedCommands] - Execute commands by tapping your laptop.&lt;br /&gt;
*[http://people.ksp.sk/~mic/?menu=32&amp;amp;file=rotate.py rotate.py] - rotate desktop by turning your laptop&lt;br /&gt;
&lt;br /&gt;
=== Interesting links related to this project ===&lt;br /&gt;
* [https://lists.sourceforge.net/lists/listinfo/hdaps-devel HDAPS mailinglist and its archive]&lt;br /&gt;
* #hdaps channel on irc.freenode.org&lt;br /&gt;
* [https://sourceforge.net/projects/hdaps/ hdaps projects] overview of userspace programs using hdaps&lt;br /&gt;
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=TPAD-HDFIRM IBM ThinkPads hardware drive firmware site]&lt;br /&gt;
* [http://www.paul.sladen.org/thinkpad-r31/accelerometer.html http://www.paul.sladen.org/thinkpad-r31/accelerometer/]&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=119845 Gentoo ebuild for hdaps driver and daemon including a initscript*&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137345 Gentoo ebuild for gkhdaps gkrell plugin&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137350 Gentoo ebuild for hdaps-gl application&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137351 Gentoo ebuild for gnome hdapsgl-applet&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137352 Gentoo ebuild for gnome tilt application&lt;br /&gt;
* http://bugs.gentoo.org/show_bug.cgi?id=137353 Gentoo ebuild for wmhdaps&lt;br /&gt;
* [http://lenovoblogs.com/insidethebox/?p=71 Why the ThinkPad accelerometer is only 2D] - explanation by Lenovo&lt;br /&gt;
&lt;br /&gt;
[[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]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=30396</id>
		<title>Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=30396"/>
		<updated>2007-06-10T01:02:37Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: grammar fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses issues with the ATI proprietary [[fglrx]] display driver.&lt;br /&gt;
&lt;br /&gt;
== Known Troubles and Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== X-specific issues ===&lt;br /&gt;
&lt;br /&gt;
==== upgrading xserver-xorg ====&lt;br /&gt;
ATI proprietary drivers version 8.21.7 and later work with x.org 6.9.&lt;br /&gt;
&lt;br /&gt;
If you are running an older version (8.20.8) under Debian sid and you upgrade your xserver-xorg, apt will force you to remove any debian-packaged fglrx drivers (package fglrx-driver depends on x.org &amp;lt;&amp;lt; 6.8.99).  You can just download the driver from the ATI site and install after modifying the Debian packager script to allow dependencies to be satisfied by x.org 6.9, or just download 8.21.7 and install manually.  See talk page for step-by-step commands.&lt;br /&gt;
&lt;br /&gt;
After installing the fglrx driver, you can use module-assist to build the appropriate kernel module.&lt;br /&gt;
&lt;br /&gt;
==== new Xorg ID Scheme ====&lt;br /&gt;
ATI proprietary drivers &amp;lt;=8.36.5 with xorg &amp;gt;=7.1.0-18 (==1.3.0.0) in Debian Sid and Fedora ([http://www.sidux.com/PNphpBB2-viewtopic-t-3162-postdays-0-postorder-asc.html Debian] and [http://www.phoronix.net/forums/showthread.php?t=2382 Fedora] Forum Entries)&lt;br /&gt;
&lt;br /&gt;
Ubuntu feisty made their own xorg with the standard id of 7.2, to work around this issue.&lt;br /&gt;
&lt;br /&gt;
Xorg has changed its ID Scheme in newer Versions, and fglrx cannot cope with that (Error message saying &amp;quot;[...] X version mismatch - detected X.org 1.3.-1.905, required X.org 7.1.0.0 [...]&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
A binary hack solves the Problem [http://rage3d.com/board/showthread.php?s=4638d94143536f6acacbccd8f0443472&amp;amp;t=33889029 (rage3d.com Forum Entry)]. This is a very '''dirty''' solution, and is probably violating the ATI driver license. &lt;br /&gt;
&lt;br /&gt;
Simply using the open source ati driver (or holding back the xorg upgrades) until a new driver is released, is suggested.&lt;br /&gt;
&lt;br /&gt;
=== Kernel-specific troubles ===&lt;br /&gt;
&lt;br /&gt;
Using ATI drivers &amp;lt;=8.21.7 with kernel &amp;gt;=2.6.15 needs a [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch].  (see table below for detail.) If you can't compile the driver modules with 2.6.15 or later, you should apply this [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch patch] instead. &lt;br /&gt;
&lt;br /&gt;
If you do not use one of these patches, you may experience peculiar lockups of X.  Try {{cmduser|fglrxinfo}} - if your shell hangs at the end of this command, you may have an issue and should try the patch or upgrade.&lt;br /&gt;
&lt;br /&gt;
Although unproven, there is a substantial amount of user / developer concern that the above patches prevent hard lockups but do not provide full reliability with 2.6.15 and there are larger / redisgn issues preventing compatibility.  These issues have been fixed with later ATI drivers (&amp;gt; 8.21.7) so you can simply upgrade if you are running a more modern kernel.&lt;br /&gt;
&lt;br /&gt;
=== No hardware acceleration ===&lt;br /&gt;
&lt;br /&gt;
====Acceleration lost after driver update====&lt;br /&gt;
If you lose hardware acceleration after a driver update this can be caused by an old fglrx kernel module being loaded.&lt;br /&gt;
&lt;br /&gt;
Check out {{path|1=/var/log/Xorg.0.log}} for a message like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(WW) fglrx(0): Kernel Module version does *not* match driver.&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can verify this yourself by looking at the version message some lines above. It should read something not matching the installed version like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0): Kernel Module Version Information:&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Name: fglrx&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Version: 8.10.19&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The cause for this trouble might be that there resist multiple versions of the fglrx module within the kernel module search path.&amp;lt;br&amp;gt;&lt;br /&gt;
Go to {{path|1=/lib/modules/&amp;lt;your linux kernel version&amp;gt;/}} and type {{cmdroot|1=grep fglrx modules.dep}}.&amp;lt;br&amp;gt;&lt;br /&gt;
If grep finds multiple lines you nailed down the problem. All you have to do now is to delete any versions of the module (look at the filedate) but the most current one. Then run {{cmdroot|1=depmod}} and you are done.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Newer versions (8.21.7) of the fglrx module seem to be installed in the &amp;lt;code&amp;gt;extra/&amp;lt;/code&amp;gt; subdirectory.&amp;lt;br&amp;gt;&lt;br /&gt;
Older versions (8.19.10) used to be located in the &amp;lt;code&amp;gt;kernel/drivers/char/drm/&amp;lt;/code&amp;gt; subdirectory.}}&lt;br /&gt;
&lt;br /&gt;
====GCC 3.4====&lt;br /&gt;
If the ATI driver works only without the hardware acceleration, take into consideration that {{path|fglrx_dri.so}} was linked against libstdc++.so.5 which may not be present if your system uses gcc-3.4.&lt;br /&gt;
&lt;br /&gt;
To fix this, compile gcc-3.3.5 and copy &amp;lt;tt&amp;gt;libstdc++.so.5*&amp;lt;/tt&amp;gt; to {{path|/usr/lib}} and update the dynamic linker cache via {{cmdroot|ldconfig}}.&lt;br /&gt;
&lt;br /&gt;
Or install a compat package for your favorite distro. FC4 users can do:&lt;br /&gt;
:{{cmdroot|yum install libstdc++.so.5}}&lt;br /&gt;
&lt;br /&gt;
====radeonfb framebuffer====&lt;br /&gt;
Another possible cause for broken hardware acceleration (2D and 3D) is the radeonfb framebuffer: Switching to vesafb or vesafb-tng is reported to solve the problem on some systems. Also it has proven helpful to not perform {{cmdroot|modprobe fglrx}} after boot but to have the module loaded via {{path|/etc/modules.autoload/kernel2.x}} at boottime instead.&lt;br /&gt;
&lt;br /&gt;
====Perpetual Mesa GLX Indirect on Debian====&lt;br /&gt;
If you've done everything right and you're still seeing:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|fglrxinfo}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.1)}}&lt;br /&gt;
&lt;br /&gt;
try this:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkdir -p /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
&lt;br /&gt;
Thanks to Maciej Matysiak for the clear debug [http://lists.debian.org/debian-amd64/2006/02/msg00217.html here] and solution [http://lists.debian.org/debian-amd64/2006/02/msg00311.html here].&lt;br /&gt;
&lt;br /&gt;
More generally, use LIBGL_DEBUG=verbose fglrxinfo, to see what's happening, and whether you get this:&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL error: dlopen /usr/X11R6/lib/modules/dri/fglrx_dri.so failed (/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory)}}&lt;br /&gt;
:{{cmdresult|libGL error: unable to find driver: fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.2)}}&lt;br /&gt;
&lt;br /&gt;
instead of that:&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: busid is PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: minor is 0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: node name is /dev/dri/card0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: open result is 4, (OK)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmOpenMinor returns 4}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmGetBusid reports PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|Can't open configuration file /home/merlin/.drirc: No such file or directory.}}&lt;br /&gt;
:{{cmdresult|fglrx: DPD supported.}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: ATI Technologies Inc.}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: MOBILITY FIREGL T2 Pentium 4 (SSE2) (FireGL) (GNU_ICD)}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 2.0.5879 (8.26.18)}}&lt;br /&gt;
&lt;br /&gt;
I have contacted ATI to add that info by default, the mesa guys to do that in glxinfo too, as well as the debian packager to fix the debian packaging bug (2006/07/22), so hopefully the situation will improve soon&lt;br /&gt;
&lt;br /&gt;
You may have to run fglrxinfo as root to get this detail rather than a useless message.&lt;br /&gt;
&lt;br /&gt;
==== Where to look for fglrx_dri.so (gentoo and general)====&lt;br /&gt;
After installing a new kernel (linux-2.6.20-gentoo-r7) with gentoo I again was not able to get the ATI driver working&lt;br /&gt;
correctly. But now I found out what the problem was:&lt;br /&gt;
&lt;br /&gt;
I tried &lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.35.5 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/lib32/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL error: dlopen /usr/lib32/dri/fglrx_dri.so failed (/usr/lib32/dri/fglrx_dri.so: wrong ELF class: ELFCLASS32)}}&lt;br /&gt;
:{{cmdresult|libGL error: unable to find driver: fglrx_dri.so}}&lt;br /&gt;
&lt;br /&gt;
The error itself makes sense, because I am running a 64-Bit linux on AMD. The question was, why libGL tries to look&lt;br /&gt;
in /usr/lib32 only...&lt;br /&gt;
&lt;br /&gt;
After some digging around I found out, that apparently 8.35.5 version of the driver uses the environment variable&lt;br /&gt;
'''LIBGL_DRIVERS_PATH''' to find out where it should look for the &amp;quot;fglrx_dri.so&amp;quot; driver.&lt;br /&gt;
&lt;br /&gt;
Now in my case this environment variable pointed to &amp;quot;/usr/lib32/dri&amp;quot; and that was what caused the problem.&lt;br /&gt;
So doing&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;export LIBGL_DRIVERS_PATH='/usr/lib64/dri:/usr/lib32/dri'&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
solved the problem in my case.&lt;br /&gt;
&lt;br /&gt;
As mentioned I use gentoo. After some more digging around I found out, that it is apparently necessary to call&lt;br /&gt;
:{{cmduser|env-update}}&lt;br /&gt;
after a re-install of the ATI driver. To be more specific, it seems that &amp;quot;eselect opengl set ati&amp;quot; sometimes&lt;br /&gt;
does something wrong. &amp;quot;env-update&amp;quot; seems to repair the problem so that afterwards the '''LIBGL_DRIVERS_PATH'''&lt;br /&gt;
environment variable is set correctly when you log in.&lt;br /&gt;
&lt;br /&gt;
If you want to check, look in &amp;lt;code&amp;gt;/etc/profile.env&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/etc/profile.csh&amp;lt;/code&amp;gt;. This is the&lt;br /&gt;
place where the '''LIBGL_DRIVERS_PATH''' environment variable gets set.&lt;br /&gt;
&lt;br /&gt;
=== Softlink hell ===&lt;br /&gt;
The [[fglrx]] installer replaces the standard X.org OpenGL implementation (Mesa) with its own files, potentially causing collisions with the distribution's file and package management. It is best to install the driver via a package built for your distribution, which will typically include the necessary kludges to make things work. See the [[fglrx]] page for pointers.&lt;br /&gt;
&lt;br /&gt;
====Discussion====&lt;br /&gt;
If using {{cmduser|fglrxinfo}} after installing [[fglrx]] indicates that you are still using the mesa indirect software GL renderer, you likely have some misplaced softlinks.  It seems like it has to do with an apt-get upgrade that sometimes replaces these links.  Anyway, go to&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
and list your GL libraries and links&lt;br /&gt;
:{{cmdroot|ls -la *GL*}}&lt;br /&gt;
You should see something like the following two lines amoung others:&lt;br /&gt;
:{{cmdresult|libGL.so -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
:{{cmdresult|libGL.so.1 -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
If you see a link to a mesa library (something like {{cmdresult|... -&amp;gt; libGL.mesa.1.2}}), then that's your problem!  Restore the softlink like this (use your actual library version, though):&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
&lt;br /&gt;
For some reason, this link might &amp;quot;break&amp;quot; later, giving you the software rendering once more.  Even after renaming the mesa library to something like &amp;lt;tt&amp;gt;mesa.bkup&amp;lt;/tt&amp;gt;, the system might still find it and link to it despite the name change.  If you have to do this a lot, you could write a restoreGL script.&lt;br /&gt;
&lt;br /&gt;
=====Gentoo=====&lt;br /&gt;
{{Gentoo}} has built in tools for managing the OpenGL symlinks.  They seem to be replacing the old tool with a new one, so one of the following should work for you:&lt;br /&gt;
:{{cmdroot|opengl-update ati}} or&lt;br /&gt;
:{{cmdroot|eselect opengl set ati}}&lt;br /&gt;
Eselect is new, and still ~x86 (as of the end of 2005), so you may not have it yet.  &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; is the old tried-and-true method for managing the symlinks.  If &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; doesn't fix it for you, you should probably tell [http://bugs.gentoo.org Gentoo Bugzilla] (assuming they don't know yet).&lt;br /&gt;
&lt;br /&gt;
If {{cmdroot|ldd /usr/X11R6/bin/glxinfo}} shows that your system still uses the xorg-x11 mesa libs after trying one of the above commands, i.e. a line like this:&lt;br /&gt;
:{{cmdresult|1=libGL.so.1 =&amp;gt; /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0x400a8000)}}&lt;br /&gt;
you will also need to relink {{path|libGl.so.1.2}}:&lt;br /&gt;
:{{cmdroot|cd /usr/lib/opengl/xorg-x11/lib/}}&lt;br /&gt;
:{{cmdroot|mv libGL.so.1.2 libGL.so.1.2_backup}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/libGL.so.1.2 libGL.so.1.2}}&lt;br /&gt;
After another restart of X {{cmduser|fglrxinfo}} should show that it's using the right libs now.&lt;br /&gt;
&lt;br /&gt;
=====Debian=====&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|rm /usr/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|rm /usr/X11R6/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
:{{cmdroot|cp /usr/lib/fglrx/diversions/lib/libGL.so.1.2 .}}&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
:{{cmdroot|ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Troubles using software suspend ===&lt;br /&gt;
When the computer resumes from suspend, X only displays a garbled image and the computer is frozen.&lt;br /&gt;
The problem is acknowledged in ATI's release notes and in knowledge base entry &amp;lt;strike&amp;gt;[https://support.ati.com/ics/support/KBResult.asp?searchFor=Search+Words&amp;amp;search.x=0&amp;amp;search.y=0&amp;amp;searchOption=id&amp;amp;questionID=737-218+&amp;amp;task=knowledge&amp;amp;searchTime=-1&amp;amp;productID=&amp;amp;folderID=-1&amp;amp;resultLimit=50 737-218]&amp;lt;/strike&amp;gt; [https://support.ati.com/ics/support/KBAnswer.asp?questionID=218 737-218]. Driver version 8.19.10 has &amp;quot;initial support for Suspend and Resume&amp;quot; but is working very nicely for most people (verified on T43, T43p and T42) without vbetool.&lt;br /&gt;
&lt;br /&gt;
If you are using an older version of fglrx, using [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] to save/restore the video card state before/after suspend worked for some people. If you use [[Software Suspend 2|Software Suspend 2 (suspend2)]] scripts, you can simply uncomment &amp;lt;tt&amp;gt;EnableVbetool yes&amp;lt;/tt&amp;gt; in {{path|/etc/hibernate/hibernate.conf}}. Be aware though that it breaks suspend/resume for drivers beginning with version 8.19.10, so remember to disable it again when upgrading.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ tested with the following configurations&lt;br /&gt;
!model!!distro||kernel!!fglrx!!PM!!success!!comments&lt;br /&gt;
|-&lt;br /&gt;
|{{T42}}||SUSE 9.3||2.6.11||8.14.13||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T41p}}||???||2.6.14||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T42p}}||Debian||2.6.10||Debian packaged||suspend2||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian sid||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 (but not earlier versions!)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian etch||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 and without vbetool&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Ubuntu Breezy||2.6.12-10||8.19.10||swsusp||yes||Perfect.  (Finally.)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.1||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch], requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.2||8.19.10||suspend2 2.2-rc11||yes||requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.19.10||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.20.8||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||FC6||2.6.20-1.2933||8.34.8||swsusp, STR||yes||DRI enabled, occasionally fails, reason unknown.&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}}||???||???||8.19.10||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14||8.19.10||Suspend to RAM||yes||without vbetool or UseDummyXServer, those two ''break'' the resume process here, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14.3||8.20.8||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R52}}||Debian sid||2.6.15-rc5||8.20.8||swsup||yes||both vbetool and UseDummyXServer disabled, DRI enabled, needs [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled - console is garbled until switching back from X&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||suspend2 2.2||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||swsusp||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T60}}||Gentoo 2006.1||2.6.19-suspend2||8.31.5||Suspend2||yes||Everything works: 3D, suspend-to-disk, suspend-to-ram, suspend in X.org, switching to VT's at any moment. Never needed to unload any modules manually, worked immediately. Fglrx driver 8.32.5 totally broke suspend for me, so i'm sticking with 8.31.5. T60 2008-B62 model.&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06||2.6.15||8.25.18||swsusp||no||Switching to VT to suspend: no resume, X restarts; Not switching: suspend works, garbled X display on resume, later X restarts&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06 Text Mode||2.6.15||---||swsusp||yes||suspend works in textmode after rmmod fglrx. &lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Debian/unstable/experimental||2.6.18||8.31.5-1 (from debian experimental)||susptoram hibernate debian packages||yes||suspend and resume works with X, 3D acc., Xv overlay... &lt;br /&gt;
|-&lt;br /&gt;
|{{Z61m}}||Debian Sid||2.6.20.7||8.35.5-1||Suspend to RAM||yes||works without any problems, justs needs the usual acpi_sleep hacks&lt;br /&gt;
|-&lt;br /&gt;
|{{Z61m}}||Debian Sid||2.6.20.7||8.35.5-1||Suspend to Disk (Software Suspend)||yes||works without any problems&lt;br /&gt;
|-&lt;br /&gt;
|{{Z61m}}||Debian Sid||2.6.21||8.35.5-1||Suspend to RAM||yes||fglrx module must not be loaded into the kernel, or it won't resume&lt;br /&gt;
|-&lt;br /&gt;
|{{Z61p}}||ARCH Linux||2.6.20||8.35.5-1||Suspend to RAM||yes||works with KDE suspend&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Troubles with large RAM ===&lt;br /&gt;
Version 8.14.13 (and probably earlier versions) of the driver does not seem to be able to cope with large amounts of RAM: with 512 MB it works, with 1.5 GB it crashes the machine as soon as X is started. The problem is present only if the &amp;lt;tt&amp;gt;fglrx&amp;lt;/tt&amp;gt; kernel module is loaded, but independently of whether {{kernelconf|CONFIG_HIGHMEM||||||}} is enabled. A workaround is to limit RAM by adding the {{bootparm|mem|864m}} kernel parameter.&lt;br /&gt;
&lt;br /&gt;
Version 8.16.20 fixes the problem.&lt;br /&gt;
&lt;br /&gt;
===Display switching ===&lt;br /&gt;
The switching between internal and external display doesn't work with fglrx versions &amp;lt;= 8.24.8, because the driver blocks messing around with the chipset via ACPI. If you want to use this feature (i.e. during presentations), you should use the &amp;lt;tt&amp;gt;vesa&amp;lt;/tt&amp;gt; server instead (experienced with a R52, Kernel 2.6.11, xorg 6.8.2, fglrx 8.16.20). Or boot notebook with CRT connected, it will automatically detect it and display on both.&lt;br /&gt;
&lt;br /&gt;
===Composite Support===&lt;br /&gt;
ATI has not officially supported composite windowing (alpha channel) enabling hardware acclerated translucent windows (primarily for 'eye candy.')  Enabling Composite in KDE and the fglrx driver results in a very pretty desktop but unacceptably slow performance on a T43p with ATI's FireGL T2.  It is still unusable in its current state (as of driver 8.25.18).&lt;br /&gt;
&lt;br /&gt;
ATI promises support in the future when composite is officially supported by Xorg.  Discussion of current status of drivers can be found in the Rage3d forums' (http://rage3d.com/board) Linux area.&lt;br /&gt;
&lt;br /&gt;
Composite support is now supported with recent Mesa and Xorg &amp;gt; 7 with the open source 3d radeon drivers (if you run debian unstable, you should be all set.)  It works with the [[R300]] / FireGL T2 series as found on the T43p, but noticably slows down the system.  This has made rapid progress in speed with the latest few releases and kernel 2.6.18, and is finally usable with an R300 based card.  Expect drivers to improve in the future, but it seems that composite does require a very fast video card and system.&lt;br /&gt;
&lt;br /&gt;
===Hardlock on X logout===&lt;br /&gt;
Up from driver version 8.19.10 you will experience a system hard lock when logging out from X, if the session manager (kdm/gdm) is not properly configured. You have to tell the session manager to restart X.&lt;br /&gt;
&lt;br /&gt;
In the kdm config file (gentoo: {{path|/usr/kde/&amp;lt;VERSION&amp;gt;/share/config/kdm/kdmrc}}) you have to add following to the section &amp;lt;code&amp;gt;[X-:*-Core]&amp;lt;/code&amp;gt;: &lt;br /&gt;
 TerminateServer=true&lt;br /&gt;
&lt;br /&gt;
In the gdm config (/etc/gdm/gdm.conf) file add the following to the daemon-section:&lt;br /&gt;
 AlwaysRestartServer=true&lt;br /&gt;
&lt;br /&gt;
Information from the ATI bugtracker: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another reason of hardlock my be using the wrong AGP driver. Make sure that you have proper drivers for your motherboard loaded before fglrx: (gentoo: {{path|/etc/modules.autoload.d/kernel-2.6}}):&lt;br /&gt;
 intel-agp&lt;br /&gt;
 fglrx&lt;br /&gt;
&lt;br /&gt;
A common problem seems to be mistakenly using ATI Chipset drivers instead of Intel.&lt;br /&gt;
&lt;br /&gt;
Information from gentoo bugtracker: &amp;lt;s&amp;gt;[http://bugs.gentoo.org/show_bug.cgi?id=113685 113685]&amp;lt;/s&amp;gt;. Fixed in 8.25.18&lt;br /&gt;
&lt;br /&gt;
===Cannot switch to VT===&lt;br /&gt;
&lt;br /&gt;
With usplash boot enabled, it may not be possible to switch to a VT from X (Using Alt+Fn). Tested on T60p (Mobility Fire GLV5200) on Ubuntu 6.06 / 6.10 and fglrx 8.25.18 / 8.28.8.  Display may become garbled and system might freeze. Solution (testet on Ubuntu 6.10) is to either remove the &amp;quot;splash&amp;quot; kernel boot parameter or add &amp;quot;vga=791&amp;quot; parameter (&amp;quot;vga=794&amp;quot; can be used on 1400x1050 panel).&lt;br /&gt;
&lt;br /&gt;
http://ati.cchtml.com/show_bug.cgi?id=37 &amp;lt;br&amp;gt;&lt;br /&gt;
https://launchpad.net/distros/ubuntu/+source/usplash/+bug/63558&lt;br /&gt;
&lt;br /&gt;
===Flickering Display===&lt;br /&gt;
&lt;br /&gt;
Some people have reported problems with their display flickering when using ati-drivers newer than 8.14.13. The problem is unclear&lt;br /&gt;
(possibly associated with an incorrect modeline setting) and no known solution exists except to use the open source radeon drivers.&lt;br /&gt;
You can follow this problem here: http://ati.cchtml.com/show_bug.cgi?id=248&lt;br /&gt;
&lt;br /&gt;
===Error messages in system log===&lt;br /&gt;
&lt;br /&gt;
If you find something like the following in {{path|/var/log/messages}}:&lt;br /&gt;
&lt;br /&gt;
:{{cmdresult|kernel: mtrr: base(0xc0000000) is not aligned on a size(0x7ff0000) boundary}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22)}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_unlock] *ERROR* Process 5132 using kernel context 0}}&lt;br /&gt;
&lt;br /&gt;
try to execute the following line and reload the fglrx module:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|1=echo &amp;quot;base=0xd0000000 size=0x8000000 type=write-combining&amp;quot; &amp;gt; /proc/mtrr}}&lt;br /&gt;
&lt;br /&gt;
More detailed instructions can be found [http://ubuntuforums.org/showthread.php?t=115104 here].&lt;br /&gt;
&lt;br /&gt;
===Hang when logging out===&lt;br /&gt;
&lt;br /&gt;
A common problem is that when logging out from X, instead of gettign the KDM or GDM prompt, the system hangs.&lt;br /&gt;
&lt;br /&gt;
This is discussed, including workarounds here: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
===No power saving when CRT in use===&lt;br /&gt;
&lt;br /&gt;
When both CRT and LCD are in use, power saving cannot be enabled.&lt;br /&gt;
&lt;br /&gt;
This is reported here: http://ati.cchtml.com/show_bug.cgi?id=304&lt;br /&gt;
&lt;br /&gt;
===WineX / Cedega Installs Software But Errors on Loading Games===&lt;br /&gt;
&lt;br /&gt;
Some users may experience problems with certain FIREGL cards (in my case an ibm t43p laptop with a v3200 ati firegl) whereby projects such as cedega and wine refuse to work with 3d graphics, but native binaries (e.g. quake 4) work fine. A possible workaround is to add the following line in the drivers section of your /etc/X11/xorg.conf &lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;UseFastTLS&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This option used to be configured with the older ati drivers when you ran &amp;quot;fglrxconfig&amp;quot;. I have not yet found a way to get it to appear with &amp;quot;aticonfig&amp;quot;, hence the manual insertion. This option is good for several linux distros I have tried, fedora core 5, ubuntu dapper and suse 10.1. It does not appear to effect performance on natively run programs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This may cause problems on machines with a Linux kernel version of 2.6.20 or higher (observed choppy video and video color inversion on T60p with both 2.6.20 and 2.6.21).}}&lt;br /&gt;
&lt;br /&gt;
===Line Appears Below Mouse Cursor===&lt;br /&gt;
&lt;br /&gt;
Some users have reported seeing a line approximately 1 mouse height below the bottom edge of the cursor, which follows the mouse and appears to change color based on the image below the cursor.  This has been seen to happen using fglrx without the kernel module installed (in 2D mode) and additionally on external displays or multiple X servers.  To work around the problem, try disabling the DGA extension by making the following changes to your XFree86.conf or xorg.conf file.  Replace (or comment-out)&lt;br /&gt;
 Load &amp;quot;extmod&amp;quot;&lt;br /&gt;
with&lt;br /&gt;
 SubSection  &amp;quot;extmod&amp;quot;&lt;br /&gt;
  Option  &amp;quot;omit xfree86-dga&amp;quot;&lt;br /&gt;
 EndSubSection&lt;br /&gt;
&lt;br /&gt;
===Freeze while using OpenGL Apps===&lt;br /&gt;
&lt;br /&gt;
Some OpenGL applications such as screensavers or games (SecondLife) cause freezes.  The cursor still moves, but otherwise the machine is unresponsive.  This is the case with Xorg 7.1 and fglrx 8.29.6 using an x1400 and other cards.  The solution is to add the following options to the video Device section in xorg.conf:&lt;br /&gt;
 Option &amp;quot;Capabilities&amp;quot; &amp;quot;0x00000800&amp;quot;&lt;br /&gt;
 Option &amp;quot;KernelModuleParm&amp;quot; &amp;quot;locked-userpages=0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
The following patches might be needed for certain versions of fglrx. Before you apply any of these, make sure that you really need them, as some distributions include all the necessary patches with the appropriate package (e.g. ati-drivers in gentoo).&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.35.5===&lt;br /&gt;
* [http://whoopie.gmxhome.de/linux/patches/2.6.20/fglrx-8.35.5-for-2.6.20.patch For kernel 2.6.20], part of the Fedora packaging scripts in the ATI installer&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.34.8===&lt;br /&gt;
* [http://whoopie.gmxhome.de/linux/patches/2.6.20/fglrx-8.34.8-for-2.6.20.patch For kernel 2.6.20]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.32.5===&lt;br /&gt;
* [http://whoopie.gmxhome.de/linux/patches/2.6.19/fglrx-8.32.5-for-2.6.19.patch For kernel 2.6.19]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.23.7===&lt;br /&gt;
* For kernel 2.6.16: [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.22.5-intermodule.patch &amp;lt;tt&amp;gt;intermodule&amp;lt;/tt&amp;gt; patch] and [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.23.7-noiommu.patch &amp;lt;tt&amp;gt;noiommu&amp;lt;/tt&amp;gt; patch]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.21.7===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.20.8===&lt;br /&gt;
&lt;br /&gt;
* [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 for kernel 2.6.15]&lt;br /&gt;
or&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx (problem met at least with version 8.18.8)===&lt;br /&gt;
* [http://lkml.org/lkml/2005/9/22/183 for kernel &amp;gt;= 2.6.13 ]  Missing verify_area bug&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.8.25 ===&lt;br /&gt;
* [http://www.rage3d.com/board/showthread.php?t=33798874 for kernels &amp;gt;= 2.6.10]&lt;br /&gt;
* [http://www.gehirn.org.uk/wiki/images/8.8.25-kernel-2.6.11+.patch For kernels &amp;gt;= 2.6.11-rc1]&lt;br /&gt;
&lt;br /&gt;
===Links ===&lt;br /&gt;
* [http://gentoo-wiki.com/HOWTO_ATI_Drivers Gentoo HOWTO ATI]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=30395</id>
		<title>Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=30395"/>
		<updated>2007-06-10T01:00:50Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add note about possible side-effects of UseFastTLS option&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses issues with the ATI proprietary [[fglrx]] display driver.&lt;br /&gt;
&lt;br /&gt;
== Known Troubles and Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== X-specific issues ===&lt;br /&gt;
&lt;br /&gt;
==== upgrading xserver-xorg ====&lt;br /&gt;
ATI proprietary drivers version 8.21.7 and later work with x.org 6.9.&lt;br /&gt;
&lt;br /&gt;
If you are running an older version (8.20.8) under Debian sid and you upgrade your xserver-xorg, apt will force you to remove any debian-packaged fglrx drivers (package fglrx-driver depends on x.org &amp;lt;&amp;lt; 6.8.99).  You can just download the driver from the ATI site and install after modifying the Debian packager script to allow dependencies to be satisfied by x.org 6.9, or just download 8.21.7 and install manually.  See talk page for step-by-step commands.&lt;br /&gt;
&lt;br /&gt;
After installing the fglrx driver, you can use module-assist to build the appropriate kernel module.&lt;br /&gt;
&lt;br /&gt;
==== new Xorg ID Scheme ====&lt;br /&gt;
ATI proprietary drivers &amp;lt;=8.36.5 with xorg &amp;gt;=7.1.0-18 (==1.3.0.0) in Debian Sid and Fedora ([http://www.sidux.com/PNphpBB2-viewtopic-t-3162-postdays-0-postorder-asc.html Debian] and [http://www.phoronix.net/forums/showthread.php?t=2382 Fedora] Forum Entries)&lt;br /&gt;
&lt;br /&gt;
Ubuntu feisty made their own xorg with the standard id of 7.2, to work around this issue.&lt;br /&gt;
&lt;br /&gt;
Xorg has changed its ID Scheme in newer Versions, and fglrx cannot cope with that (Error message saying &amp;quot;[...] X version mismatch - detected X.org 1.3.-1.905, required X.org 7.1.0.0 [...]&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
A binary hack solves the Problem [http://rage3d.com/board/showthread.php?s=4638d94143536f6acacbccd8f0443472&amp;amp;t=33889029 (rage3d.com Forum Entry)]. This is a very '''dirty''' solution, and is probably violating the ATI driver license. &lt;br /&gt;
&lt;br /&gt;
Simply using the open source ati driver (or holding back the xorg upgrades) until a new driver is released, is suggested.&lt;br /&gt;
&lt;br /&gt;
=== Kernel-specific troubles ===&lt;br /&gt;
&lt;br /&gt;
Using ATI drivers &amp;lt;=8.21.7 with kernel &amp;gt;=2.6.15 needs a [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch].  (see table below for detail.) If you can't compile the driver modules with 2.6.15 or later, you should apply this [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch patch] instead. &lt;br /&gt;
&lt;br /&gt;
If you do not use one of these patches, you may experience peculiar lockups of X.  Try {{cmduser|fglrxinfo}} - if your shell hangs at the end of this command, you may have an issue and should try the patch or upgrade.&lt;br /&gt;
&lt;br /&gt;
Although unproven, there is a substantial amount of user / developer concern that the above patches prevent hard lockups but do not provide full reliability with 2.6.15 and there are larger / redisgn issues preventing compatibility.  These issues have been fixed with later ATI drivers (&amp;gt; 8.21.7) so you can simply upgrade if you are running a more modern kernel.&lt;br /&gt;
&lt;br /&gt;
=== No hardware acceleration ===&lt;br /&gt;
&lt;br /&gt;
====Acceleration lost after driver update====&lt;br /&gt;
If you lose hardware acceleration after a driver update this can be caused by an old fglrx kernel module being loaded.&lt;br /&gt;
&lt;br /&gt;
Check out {{path|1=/var/log/Xorg.0.log}} for a message like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(WW) fglrx(0): Kernel Module version does *not* match driver.&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can verify this yourself by looking at the version message some lines above. It should read something not matching the installed version like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0): Kernel Module Version Information:&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Name: fglrx&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Version: 8.10.19&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The cause for this trouble might be that there resist multiple versions of the fglrx module within the kernel module search path.&amp;lt;br&amp;gt;&lt;br /&gt;
Go to {{path|1=/lib/modules/&amp;lt;your linux kernel version&amp;gt;/}} and type {{cmdroot|1=grep fglrx modules.dep}}.&amp;lt;br&amp;gt;&lt;br /&gt;
If grep finds multiple lines you nailed down the problem. All you have to do now is to delete any versions of the module (look at the filedate) but the most current one. Then run {{cmdroot|1=depmod}} and you are done.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Newer versions (8.21.7) of the fglrx module seem to be installed in the &amp;lt;code&amp;gt;extra/&amp;lt;/code&amp;gt; subdirectory.&amp;lt;br&amp;gt;&lt;br /&gt;
Older versions (8.19.10) used to be located in the &amp;lt;code&amp;gt;kernel/drivers/char/drm/&amp;lt;/code&amp;gt; subdirectory.}}&lt;br /&gt;
&lt;br /&gt;
====GCC 3.4====&lt;br /&gt;
If the ATI driver works only without the hardware acceleration, take into consideration that {{path|fglrx_dri.so}} was linked against libstdc++.so.5 which may not be present if your system uses gcc-3.4.&lt;br /&gt;
&lt;br /&gt;
To fix this, compile gcc-3.3.5 and copy &amp;lt;tt&amp;gt;libstdc++.so.5*&amp;lt;/tt&amp;gt; to {{path|/usr/lib}} and update the dynamic linker cache via {{cmdroot|ldconfig}}.&lt;br /&gt;
&lt;br /&gt;
Or install a compat package for your favorite distro. FC4 users can do:&lt;br /&gt;
:{{cmdroot|yum install libstdc++.so.5}}&lt;br /&gt;
&lt;br /&gt;
====radeonfb framebuffer====&lt;br /&gt;
Another possible cause for broken hardware acceleration (2D and 3D) is the radeonfb framebuffer: Switching to vesafb or vesafb-tng is reported to solve the problem on some systems. Also it has proven helpful to not perform {{cmdroot|modprobe fglrx}} after boot but to have the module loaded via {{path|/etc/modules.autoload/kernel2.x}} at boottime instead.&lt;br /&gt;
&lt;br /&gt;
====Perpetual Mesa GLX Indirect on Debian====&lt;br /&gt;
If you've done everything right and you're still seeing:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|fglrxinfo}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.1)}}&lt;br /&gt;
&lt;br /&gt;
try this:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkdir -p /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
&lt;br /&gt;
Thanks to Maciej Matysiak for the clear debug [http://lists.debian.org/debian-amd64/2006/02/msg00217.html here] and solution [http://lists.debian.org/debian-amd64/2006/02/msg00311.html here].&lt;br /&gt;
&lt;br /&gt;
More generally, use LIBGL_DEBUG=verbose fglrxinfo, to see what's happening, and whether you get this:&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL error: dlopen /usr/X11R6/lib/modules/dri/fglrx_dri.so failed (/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory)}}&lt;br /&gt;
:{{cmdresult|libGL error: unable to find driver: fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.2)}}&lt;br /&gt;
&lt;br /&gt;
instead of that:&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: busid is PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: minor is 0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: node name is /dev/dri/card0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: open result is 4, (OK)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmOpenMinor returns 4}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmGetBusid reports PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|Can't open configuration file /home/merlin/.drirc: No such file or directory.}}&lt;br /&gt;
:{{cmdresult|fglrx: DPD supported.}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: ATI Technologies Inc.}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: MOBILITY FIREGL T2 Pentium 4 (SSE2) (FireGL) (GNU_ICD)}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 2.0.5879 (8.26.18)}}&lt;br /&gt;
&lt;br /&gt;
I have contacted ATI to add that info by default, the mesa guys to do that in glxinfo too, as well as the debian packager to fix the debian packaging bug (2006/07/22), so hopefully the situation will improve soon&lt;br /&gt;
&lt;br /&gt;
You may have to run fglrxinfo as root to get this detail rather than a useless message.&lt;br /&gt;
&lt;br /&gt;
==== Where to look for fglrx_dri.so (gentoo and general)====&lt;br /&gt;
After installing a new kernel (linux-2.6.20-gentoo-r7) with gentoo I again was not able to get the ATI driver working&lt;br /&gt;
correctly. But now I found out what the problem was:&lt;br /&gt;
&lt;br /&gt;
I tried &lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.35.5 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/lib32/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL error: dlopen /usr/lib32/dri/fglrx_dri.so failed (/usr/lib32/dri/fglrx_dri.so: wrong ELF class: ELFCLASS32)}}&lt;br /&gt;
:{{cmdresult|libGL error: unable to find driver: fglrx_dri.so}}&lt;br /&gt;
&lt;br /&gt;
The error itself makes sense, because I am running a 64-Bit linux on AMD. The question was, why libGL tries to look&lt;br /&gt;
in /usr/lib32 only...&lt;br /&gt;
&lt;br /&gt;
After some digging around I found out, that apparently 8.35.5 version of the driver uses the environment variable&lt;br /&gt;
'''LIBGL_DRIVERS_PATH''' to find out where it should look for the &amp;quot;fglrx_dri.so&amp;quot; driver.&lt;br /&gt;
&lt;br /&gt;
Now in my case this environment variable pointed to &amp;quot;/usr/lib32/dri&amp;quot; and that was what caused the problem.&lt;br /&gt;
So doing&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;export LIBGL_DRIVERS_PATH='/usr/lib64/dri:/usr/lib32/dri'&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
solved the problem in my case.&lt;br /&gt;
&lt;br /&gt;
As mentioned I use gentoo. After some more digging around I found out, that it is apparently necessary to call&lt;br /&gt;
:{{cmduser|env-update}}&lt;br /&gt;
after a re-install of the ATI driver. To be more specific, it seems that &amp;quot;eselect opengl set ati&amp;quot; sometimes&lt;br /&gt;
does something wrong. &amp;quot;env-update&amp;quot; seems to repair the problem so that afterwards the '''LIBGL_DRIVERS_PATH'''&lt;br /&gt;
environment variable is set correctly when you log in.&lt;br /&gt;
&lt;br /&gt;
If you want to check, look in &amp;lt;code&amp;gt;/etc/profile.env&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/etc/profile.csh&amp;lt;/code&amp;gt;. This is the&lt;br /&gt;
place where the '''LIBGL_DRIVERS_PATH''' environment variable gets set.&lt;br /&gt;
&lt;br /&gt;
=== Softlink hell ===&lt;br /&gt;
The [[fglrx]] installer replaces the standard X.org OpenGL implementation (Mesa) with its own files, potentially causing collisions with the distribution's file and package management. It is best to install the driver via a package built for your distribution, which will typically include the necessary kludges to make things work. See the [[fglrx]] page for pointers.&lt;br /&gt;
&lt;br /&gt;
====Discussion====&lt;br /&gt;
If using {{cmduser|fglrxinfo}} after installing [[fglrx]] indicates that you are still using the mesa indirect software GL renderer, you likely have some misplaced softlinks.  It seems like it has to do with an apt-get upgrade that sometimes replaces these links.  Anyway, go to&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
and list your GL libraries and links&lt;br /&gt;
:{{cmdroot|ls -la *GL*}}&lt;br /&gt;
You should see something like the following two lines amoung others:&lt;br /&gt;
:{{cmdresult|libGL.so -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
:{{cmdresult|libGL.so.1 -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
If you see a link to a mesa library (something like {{cmdresult|... -&amp;gt; libGL.mesa.1.2}}), then that's your problem!  Restore the softlink like this (use your actual library version, though):&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
&lt;br /&gt;
For some reason, this link might &amp;quot;break&amp;quot; later, giving you the software rendering once more.  Even after renaming the mesa library to something like &amp;lt;tt&amp;gt;mesa.bkup&amp;lt;/tt&amp;gt;, the system might still find it and link to it despite the name change.  If you have to do this a lot, you could write a restoreGL script.&lt;br /&gt;
&lt;br /&gt;
=====Gentoo=====&lt;br /&gt;
{{Gentoo}} has built in tools for managing the OpenGL symlinks.  They seem to be replacing the old tool with a new one, so one of the following should work for you:&lt;br /&gt;
:{{cmdroot|opengl-update ati}} or&lt;br /&gt;
:{{cmdroot|eselect opengl set ati}}&lt;br /&gt;
Eselect is new, and still ~x86 (as of the end of 2005), so you may not have it yet.  &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; is the old tried-and-true method for managing the symlinks.  If &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; doesn't fix it for you, you should probably tell [http://bugs.gentoo.org Gentoo Bugzilla] (assuming they don't know yet).&lt;br /&gt;
&lt;br /&gt;
If {{cmdroot|ldd /usr/X11R6/bin/glxinfo}} shows that your system still uses the xorg-x11 mesa libs after trying one of the above commands, i.e. a line like this:&lt;br /&gt;
:{{cmdresult|1=libGL.so.1 =&amp;gt; /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0x400a8000)}}&lt;br /&gt;
you will also need to relink {{path|libGl.so.1.2}}:&lt;br /&gt;
:{{cmdroot|cd /usr/lib/opengl/xorg-x11/lib/}}&lt;br /&gt;
:{{cmdroot|mv libGL.so.1.2 libGL.so.1.2_backup}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/libGL.so.1.2 libGL.so.1.2}}&lt;br /&gt;
After another restart of X {{cmduser|fglrxinfo}} should show that it's using the right libs now.&lt;br /&gt;
&lt;br /&gt;
=====Debian=====&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|rm /usr/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|rm /usr/X11R6/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
:{{cmdroot|cp /usr/lib/fglrx/diversions/lib/libGL.so.1.2 .}}&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
:{{cmdroot|ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Troubles using software suspend ===&lt;br /&gt;
When the computer resumes from suspend, X only displays a garbled image and the computer is frozen.&lt;br /&gt;
The problem is acknowledged in ATI's release notes and in knowledge base entry &amp;lt;strike&amp;gt;[https://support.ati.com/ics/support/KBResult.asp?searchFor=Search+Words&amp;amp;search.x=0&amp;amp;search.y=0&amp;amp;searchOption=id&amp;amp;questionID=737-218+&amp;amp;task=knowledge&amp;amp;searchTime=-1&amp;amp;productID=&amp;amp;folderID=-1&amp;amp;resultLimit=50 737-218]&amp;lt;/strike&amp;gt; [https://support.ati.com/ics/support/KBAnswer.asp?questionID=218 737-218]. Driver version 8.19.10 has &amp;quot;initial support for Suspend and Resume&amp;quot; but is working very nicely for most people (verified on T43, T43p and T42) without vbetool.&lt;br /&gt;
&lt;br /&gt;
If you are using an older version of fglrx, using [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] to save/restore the video card state before/after suspend worked for some people. If you use [[Software Suspend 2|Software Suspend 2 (suspend2)]] scripts, you can simply uncomment &amp;lt;tt&amp;gt;EnableVbetool yes&amp;lt;/tt&amp;gt; in {{path|/etc/hibernate/hibernate.conf}}. Be aware though that it breaks suspend/resume for drivers beginning with version 8.19.10, so remember to disable it again when upgrading.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ tested with the following configurations&lt;br /&gt;
!model!!distro||kernel!!fglrx!!PM!!success!!comments&lt;br /&gt;
|-&lt;br /&gt;
|{{T42}}||SUSE 9.3||2.6.11||8.14.13||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T41p}}||???||2.6.14||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T42p}}||Debian||2.6.10||Debian packaged||suspend2||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian sid||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 (but not earlier versions!)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian etch||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 and without vbetool&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Ubuntu Breezy||2.6.12-10||8.19.10||swsusp||yes||Perfect.  (Finally.)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.1||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch], requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.2||8.19.10||suspend2 2.2-rc11||yes||requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.19.10||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.20.8||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||FC6||2.6.20-1.2933||8.34.8||swsusp, STR||yes||DRI enabled, occasionally fails, reason unknown.&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}}||???||???||8.19.10||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14||8.19.10||Suspend to RAM||yes||without vbetool or UseDummyXServer, those two ''break'' the resume process here, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14.3||8.20.8||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R52}}||Debian sid||2.6.15-rc5||8.20.8||swsup||yes||both vbetool and UseDummyXServer disabled, DRI enabled, needs [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled - console is garbled until switching back from X&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||suspend2 2.2||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||swsusp||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T60}}||Gentoo 2006.1||2.6.19-suspend2||8.31.5||Suspend2||yes||Everything works: 3D, suspend-to-disk, suspend-to-ram, suspend in X.org, switching to VT's at any moment. Never needed to unload any modules manually, worked immediately. Fglrx driver 8.32.5 totally broke suspend for me, so i'm sticking with 8.31.5. T60 2008-B62 model.&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06||2.6.15||8.25.18||swsusp||no||Switching to VT to suspend: no resume, X restarts; Not switching: suspend works, garbled X display on resume, later X restarts&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06 Text Mode||2.6.15||---||swsusp||yes||suspend works in textmode after rmmod fglrx. &lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Debian/unstable/experimental||2.6.18||8.31.5-1 (from debian experimental)||susptoram hibernate debian packages||yes||suspend and resume works with X, 3D acc., Xv overlay... &lt;br /&gt;
|-&lt;br /&gt;
|{{Z61m}}||Debian Sid||2.6.20.7||8.35.5-1||Suspend to RAM||yes||works without any problems, justs needs the usual acpi_sleep hacks&lt;br /&gt;
|-&lt;br /&gt;
|{{Z61m}}||Debian Sid||2.6.20.7||8.35.5-1||Suspend to Disk (Software Suspend)||yes||works without any problems&lt;br /&gt;
|-&lt;br /&gt;
|{{Z61m}}||Debian Sid||2.6.21||8.35.5-1||Suspend to RAM||yes||fglrx module must not be loaded into the kernel, or it won't resume&lt;br /&gt;
|-&lt;br /&gt;
|{{Z61p}}||ARCH Linux||2.6.20||8.35.5-1||Suspend to RAM||yes||works with KDE suspend&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Troubles with large RAM ===&lt;br /&gt;
Version 8.14.13 (and probably earlier versions) of the driver does not seem to be able to cope with large amounts of RAM: with 512 MB it works, with 1.5 GB it crashes the machine as soon as X is started. The problem is present only if the &amp;lt;tt&amp;gt;fglrx&amp;lt;/tt&amp;gt; kernel module is loaded, but independently of whether {{kernelconf|CONFIG_HIGHMEM||||||}} is enabled. A workaround is to limit RAM by adding the {{bootparm|mem|864m}} kernel parameter.&lt;br /&gt;
&lt;br /&gt;
Version 8.16.20 fixes the problem.&lt;br /&gt;
&lt;br /&gt;
===Display switching ===&lt;br /&gt;
The switching between internal and external display doesn't work with fglrx versions &amp;lt;= 8.24.8, because the driver blocks messing around with the chipset via ACPI. If you want to use this feature (i.e. during presentations), you should use the &amp;lt;tt&amp;gt;vesa&amp;lt;/tt&amp;gt; server instead (experienced with a R52, Kernel 2.6.11, xorg 6.8.2, fglrx 8.16.20). Or boot notebook with CRT connected, it will automatically detect it and display on both.&lt;br /&gt;
&lt;br /&gt;
===Composite Support===&lt;br /&gt;
ATI has not officially supported composite windowing (alpha channel) enabling hardware acclerated translucent windows (primarily for 'eye candy.')  Enabling Composite in KDE and the fglrx driver results in a very pretty desktop but unacceptably slow performance on a T43p with ATI's FireGL T2.  It is still unusable in its current state (as of driver 8.25.18).&lt;br /&gt;
&lt;br /&gt;
ATI promises support in the future when composite is officially supported by Xorg.  Discussion of current status of drivers can be found in the Rage3d forums' (http://rage3d.com/board) Linux area.&lt;br /&gt;
&lt;br /&gt;
Composite support is now supported with recent Mesa and Xorg &amp;gt; 7 with the open source 3d radeon drivers (if you run debian unstable, you should be all set.)  It works with the [[R300]] / FireGL T2 series as found on the T43p, but noticably slows down the system.  This has made rapid progress in speed with the latest few releases and kernel 2.6.18, and is finally usable with an R300 based card.  Expect drivers to improve in the future, but it seems that composite does require a very fast video card and system.&lt;br /&gt;
&lt;br /&gt;
===Hardlock on X logout===&lt;br /&gt;
Up from driver version 8.19.10 you will experience a system hard lock when logging out from X, if the session manager (kdm/gdm) is not properly configured. You have to tell the session manager to restart X.&lt;br /&gt;
&lt;br /&gt;
In the kdm config file (gentoo: {{path|/usr/kde/&amp;lt;VERSION&amp;gt;/share/config/kdm/kdmrc}}) you have to add following to the section &amp;lt;code&amp;gt;[X-:*-Core]&amp;lt;/code&amp;gt;: &lt;br /&gt;
 TerminateServer=true&lt;br /&gt;
&lt;br /&gt;
In the gdm config (/etc/gdm/gdm.conf) file add the following to the daemon-section:&lt;br /&gt;
 AlwaysRestartServer=true&lt;br /&gt;
&lt;br /&gt;
Information from the ATI bugtracker: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another reason of hardlock my be using the wrong AGP driver. Make sure that you have proper drivers for your motherboard loaded before fglrx: (gentoo: {{path|/etc/modules.autoload.d/kernel-2.6}}):&lt;br /&gt;
 intel-agp&lt;br /&gt;
 fglrx&lt;br /&gt;
&lt;br /&gt;
A common problem seems to be mistakenly using ATI Chipset drivers instead of Intel.&lt;br /&gt;
&lt;br /&gt;
Information from gentoo bugtracker: &amp;lt;s&amp;gt;[http://bugs.gentoo.org/show_bug.cgi?id=113685 113685]&amp;lt;/s&amp;gt;. Fixed in 8.25.18&lt;br /&gt;
&lt;br /&gt;
===Cannot switch to VT===&lt;br /&gt;
&lt;br /&gt;
With usplash boot enabled, it may not be possible to switch to a VT from X (Using Alt+Fn). Tested on T60p (Mobility Fire GLV5200) on Ubuntu 6.06 / 6.10 and fglrx 8.25.18 / 8.28.8.  Display may become garbled and system might freeze. Solution (testet on Ubuntu 6.10) is to either remove the &amp;quot;splash&amp;quot; kernel boot parameter or add &amp;quot;vga=791&amp;quot; parameter (&amp;quot;vga=794&amp;quot; can be used on 1400x1050 panel).&lt;br /&gt;
&lt;br /&gt;
http://ati.cchtml.com/show_bug.cgi?id=37 &amp;lt;br&amp;gt;&lt;br /&gt;
https://launchpad.net/distros/ubuntu/+source/usplash/+bug/63558&lt;br /&gt;
&lt;br /&gt;
===Flickering Display===&lt;br /&gt;
&lt;br /&gt;
Some people have reported problems with their display flickering when using ati-drivers newer than 8.14.13. The problem is unclear&lt;br /&gt;
(possibly associated with an incorrect modeline setting) and no known solution exists except to use the open source radeon drivers.&lt;br /&gt;
You can follow this problem here: http://ati.cchtml.com/show_bug.cgi?id=248&lt;br /&gt;
&lt;br /&gt;
===Error messages in system log===&lt;br /&gt;
&lt;br /&gt;
If you find something like the following in {{path|/var/log/messages}}:&lt;br /&gt;
&lt;br /&gt;
:{{cmdresult|kernel: mtrr: base(0xc0000000) is not aligned on a size(0x7ff0000) boundary}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22)}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_unlock] *ERROR* Process 5132 using kernel context 0}}&lt;br /&gt;
&lt;br /&gt;
try to execute the following line and reload the fglrx module:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|1=echo &amp;quot;base=0xd0000000 size=0x8000000 type=write-combining&amp;quot; &amp;gt; /proc/mtrr}}&lt;br /&gt;
&lt;br /&gt;
More detailed instructions can be found [http://ubuntuforums.org/showthread.php?t=115104 here].&lt;br /&gt;
&lt;br /&gt;
===Hang when logging out===&lt;br /&gt;
&lt;br /&gt;
A common problem is that when logging out from X, instead of gettign the KDM or GDM prompt, the system hangs.&lt;br /&gt;
&lt;br /&gt;
This is discussed, including workarounds here: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
===No power saving when CRT in use===&lt;br /&gt;
&lt;br /&gt;
When both CRT and LCD are in use, power saving cannot be enabled.&lt;br /&gt;
&lt;br /&gt;
This is reported here: http://ati.cchtml.com/show_bug.cgi?id=304&lt;br /&gt;
&lt;br /&gt;
===WineX / Cedega Installs Software But Errors on Loading Games===&lt;br /&gt;
&lt;br /&gt;
Some users may experience problems with certain FIREGL cards (in my case an ibm t43p laptop with a v3200 ati firegl) whereby projects such as cedega and wine refuse to work with 3d graphics, but native binaries (e.g. quake 4) work fine. A possible workaround is to add the following line in the drivers section of your /etc/X11/xorg.conf &lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;UseFastTLS&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This option used to be configured with the older ati drivers when you ran &amp;quot;fglrxconfig&amp;quot;. I have not yet found a way to get it to appear with &amp;quot;aticonfig&amp;quot;, hence the manual insertion. This option is good for several linux distros I have tried, fedora core 5, ubuntu dapper and suse 10.1. It does not appear to effect performance on natively run programs.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This may cause problems on kernels 2.6.20 and higher (observed choppy video and video color inversion on T60p with both 2.6.20 and 2.6.21 with this option.}}&lt;br /&gt;
&lt;br /&gt;
===Line Appears Below Mouse Cursor===&lt;br /&gt;
&lt;br /&gt;
Some users have reported seeing a line approximately 1 mouse height below the bottom edge of the cursor, which follows the mouse and appears to change color based on the image below the cursor.  This has been seen to happen using fglrx without the kernel module installed (in 2D mode) and additionally on external displays or multiple X servers.  To work around the problem, try disabling the DGA extension by making the following changes to your XFree86.conf or xorg.conf file.  Replace (or comment-out)&lt;br /&gt;
 Load &amp;quot;extmod&amp;quot;&lt;br /&gt;
with&lt;br /&gt;
 SubSection  &amp;quot;extmod&amp;quot;&lt;br /&gt;
  Option  &amp;quot;omit xfree86-dga&amp;quot;&lt;br /&gt;
 EndSubSection&lt;br /&gt;
&lt;br /&gt;
===Freeze while using OpenGL Apps===&lt;br /&gt;
&lt;br /&gt;
Some OpenGL applications such as screensavers or games (SecondLife) cause freezes.  The cursor still moves, but otherwise the machine is unresponsive.  This is the case with Xorg 7.1 and fglrx 8.29.6 using an x1400 and other cards.  The solution is to add the following options to the video Device section in xorg.conf:&lt;br /&gt;
 Option &amp;quot;Capabilities&amp;quot; &amp;quot;0x00000800&amp;quot;&lt;br /&gt;
 Option &amp;quot;KernelModuleParm&amp;quot; &amp;quot;locked-userpages=0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
The following patches might be needed for certain versions of fglrx. Before you apply any of these, make sure that you really need them, as some distributions include all the necessary patches with the appropriate package (e.g. ati-drivers in gentoo).&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.35.5===&lt;br /&gt;
* [http://whoopie.gmxhome.de/linux/patches/2.6.20/fglrx-8.35.5-for-2.6.20.patch For kernel 2.6.20], part of the Fedora packaging scripts in the ATI installer&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.34.8===&lt;br /&gt;
* [http://whoopie.gmxhome.de/linux/patches/2.6.20/fglrx-8.34.8-for-2.6.20.patch For kernel 2.6.20]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.32.5===&lt;br /&gt;
* [http://whoopie.gmxhome.de/linux/patches/2.6.19/fglrx-8.32.5-for-2.6.19.patch For kernel 2.6.19]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.23.7===&lt;br /&gt;
* For kernel 2.6.16: [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.22.5-intermodule.patch &amp;lt;tt&amp;gt;intermodule&amp;lt;/tt&amp;gt; patch] and [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.23.7-noiommu.patch &amp;lt;tt&amp;gt;noiommu&amp;lt;/tt&amp;gt; patch]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.21.7===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.20.8===&lt;br /&gt;
&lt;br /&gt;
* [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 for kernel 2.6.15]&lt;br /&gt;
or&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx (problem met at least with version 8.18.8)===&lt;br /&gt;
* [http://lkml.org/lkml/2005/9/22/183 for kernel &amp;gt;= 2.6.13 ]  Missing verify_area bug&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.8.25 ===&lt;br /&gt;
* [http://www.rage3d.com/board/showthread.php?t=33798874 for kernels &amp;gt;= 2.6.10]&lt;br /&gt;
* [http://www.gehirn.org.uk/wiki/images/8.8.25-kernel-2.6.11+.patch For kernels &amp;gt;= 2.6.11-rc1]&lt;br /&gt;
&lt;br /&gt;
===Links ===&lt;br /&gt;
* [http://gentoo-wiki.com/HOWTO_ATI_Drivers Gentoo HOWTO ATI]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=28053</id>
		<title>Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=28053"/>
		<updated>2007-02-01T12:12:49Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add USB HD for T41p&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The following table headings shall designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* FDD = Internal/UltraBay Diskette (&amp;quot;Floppy&amp;quot;) drive (also called &amp;quot;Legacy FDD&amp;quot;)&lt;br /&gt;
* CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive&lt;br /&gt;
* Network = any type of network boot support (such as PXE)&lt;br /&gt;
* PCMCIA = any memory device connected via the PCMCIA/PC Card/CardBus port&lt;br /&gt;
* USB HD = any hard drive/flash drive/pen drive connected via the USB port&lt;br /&gt;
* USB FDD = Diskette (&amp;quot;Floppy&amp;quot;) drive connected via the USB port&lt;br /&gt;
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port&lt;br /&gt;
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = supported (may be selected from the BIOS)&lt;br /&gt;
* no = not supported (BIOS incapable of booting to this type of device)&lt;br /&gt;
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only).  Please add footnote/link documenting the specifics.&lt;br /&gt;
* v#.## = only with BIOS versions &amp;amp;ge; #.##&lt;br /&gt;
* N/A = not applicable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|5}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- According to DMI data --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 441D6183.6070009@rogers.com --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- According to message on ML ID: 441D6183.6070009@rogers.com --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 441D6183.6070009@rogers.com --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50 | R50]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R60e | R60e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | n/a&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | n/a&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|4}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- seen on IBM BIOS simulator, not tested --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- seen on IBM BIOS simulator, not tested --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- described in 200701301702.13362.tnikkila@cc.hut.fi --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T60 | T60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | part{{footnote|1}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X60 | X60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X60s | X60s]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Z Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | Z60m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|6}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | Z60t]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Others====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:TransNote | TransNote]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*[[:Category:S30 | S30]]&lt;br /&gt;
*[[:Category:S31 | S31]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#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).&lt;br /&gt;
#Internal CD/FD means the ones in the UltraBase for X series and 570 models.&lt;br /&gt;
#Requires an external Floppy drive attached to Port Replicator or Dock&lt;br /&gt;
#Requires that the user select the drive from the disk option shown after clicking F12 on the boot sequence.&lt;br /&gt;
#Boots from a flash memory drive, i.e. CompactFlash (with PCMCIA adapter).&lt;br /&gt;
#It is working with lilo boot loader, however it failed with syslinux.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=25399</id>
		<title>List of DMI IDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=25399"/>
		<updated>2006-10-22T13:23:44Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Added T60p 2613-ESU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page maintains a database of [http://en.wikipedia.org/wiki/Desktop_Management_Interface DMI] information which can be used to identify ThinkPad models. It is intended as an aid for driver development.&lt;br /&gt;
{{HELP|We need more information about older models, especially those released before 2004. Please [[#Adding_entries|add your model]] to the database.}}&lt;br /&gt;
{{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.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DMI ID database==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 80%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;product-&amp;lt;br /&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;product-&amp;lt;br /&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;vendor&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;release-&amp;lt;br /&amp;gt;date&amp;lt;/tt&amp;gt;&lt;br /&gt;
! Embedded controller&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered series====&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5AU&lt;br /&gt;
|| IBM || 26455AU || Not Available || IBM || 26455AU || Not Available || IBM || Not Available || IBM || INET36WW || 11/20/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{600X}} 2645-5FU&lt;br /&gt;
|| IBM || 26455FU || Not Available || IBM || 26455FU || Not Available || IBM || Not Available || IBM || INET55WW || 11/30/1999&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A series====&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-FSG&lt;br /&gt;
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET24WW (1.02b) || 12/19/2000 &lt;br /&gt;
|| &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A21m}} 2628-FSG&lt;br /&gt;
|| IBM || 2628FSG || Not Available || IBM || 2628FSG || Not Available || IBM || Not Available || IBM || KXET36WW (1.09 ) || 05/08/2003 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}} 2629-USG&lt;br /&gt;
|| IBM || 2629USG || Not Available || IBM || 2629USG || Not Available || IBM || Not Available || IBM || KYET36WW (1.09a) || 10/17/2002 &lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{A31}} 2652-PBU&lt;br /&gt;
|| IBM || 2652PBU || Not Available || IBM || 2652PBU || Not Available || IBM || Not Available || IBM || 1NET15WW (1.09 ) || 04/06/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1NHT04WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{A31p}} 2653H6U&lt;br /&gt;
|| IBM || 2653H6U || Not Available || IBM || 2653H6U || Not Available || IBM || Not Available || IBM || 1GET31WW (1.03 ) || 07/23/2002&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Missing EC string, extremely outdated BIOS}}{{HELP|We need a report to know if the latest BIOS fixes the missing EC string}}&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G series====&lt;br /&gt;
|-&lt;br /&gt;
| {{G41}} 2881-75M&lt;br /&gt;
|| IBM || 288175M || ThinkPad G41 || IBM || 288175M || Not Available || IBM || Not Available || IBM || 1XET47WW (1.06 ) || 01/14/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====R series====&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2681-5UU&lt;br /&gt;
|| IBM || 26815UU || Not Available || IBM || 26815UU || Not Available || IBM || Not Available || IBM || 1OET57WW (1.23 ) || 03/23/2005 &lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2681-HSG&lt;br /&gt;
|| IBM || 2681HSG || Not Available || IBM || 2681HSG || Not Available || IBM || Not Available || IBM || 1OET61WW (1.27 ) || 06/29/2006&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2722-B3G&lt;br /&gt;
|| IBM || 2722B3G || Not Available || IBM || 2722B3G || Not Available || IBM || Not Available || IBM || 1PET62WW (1.30 ) || 09/29/2005&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2897-B4U&lt;br /&gt;
|| IBM || 2897B4U || Not Available || IBM || 2897B4U || Not Available || IBM || Not Available || IBM || 1PET52WW (1.20 ) || 03/03/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|{{R50e}} 1834-JAG&lt;br /&gt;
|| IBM || 1834JAG || ThinkPad R50e || IBM || 1834JAG || Not Available || IBM || Not Available || IBM || 1WET82WW (2.02 ) || 02/21/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0022, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}} 1832-2AG&lt;br /&gt;
|| IBM || 18322AG || ThinkPad R50p || IBM || 18322AG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-DRG&lt;br /&gt;
|| IBM || 1829DRG || ThinkPad R51 || IBM || 1829DRG || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT66WW-3.00a   ]-&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-9MG&lt;br /&gt;
|| IBM || 18299MG || ThinkPad R51 || IBM || 18299MG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-L7G&lt;br /&gt;
|| IBM || 1829L7G || ThinkPad R51 || IBM || 1829L7G || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT70WW-3.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1836-GEU&lt;br /&gt;
|| IBM || 1836GEU || ThinkPad R51 || IBM || 1836GEU || Not Available || IBM || Not Available || IBM || 1RETDLWW  (3.17 ) || 07/27/2005 || &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes. String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2883-ELU&lt;br /&gt;
|| IBM || 2883ELU || ThinkPad R51 || IBM || 2883ELU || Not Available || IBM || Not Available || IBM || 1VET69WW (1.27 ) || 03/03/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad H || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes	String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad R52  || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;      String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-W62&lt;br /&gt;
|| IBM || 1847W62 || ThinkPad .    || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|Weird system version, this bug is known fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1847-W62&lt;br /&gt;
|| IBM || 1847W62 || ThinkPad R52  || IBM || 1847W62 || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1858-6MM&lt;br /&gt;
|| IBM || 18586MM || ThinkPad R52 || IBM || 18586MM || Not Available || IBM || Not Available || IBM || 70ET40WW (1.04 ) || 06/02/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-4CG&lt;br /&gt;
|| IBM || 18464CG || ThinkPad R52 || IBM || 18464CG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[76HT15WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-B5G&lt;br /&gt;
|| IBM || 1846B5G || ThinkPad H    || IBM || 1846B5G || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60e}} 0657-4TG&lt;br /&gt;
|| LENOVO || 06574TG || ThinkPad R60e || LENOVO || 06574TG || Not Available || LENOVO || Not Available || LENOVO || 7EET18WW (1.04 ) || 07/28/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7EHT13WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{R60}} 9456-6FG&lt;br /&gt;
|| LENOVO || 94566FG || ThinkPad R60 || LENOVO || 94566FG || Not Available || LENOVO || Not Available || LENOVO || 7CET50WW (1.05 ) || 07/28/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7CHT19WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====S series====&lt;br /&gt;
|-&lt;br /&gt;
| {{s30}} 2639-4WJ&lt;br /&gt;
|| IBM || 26394WJ || Not Available || IBM || 2609BS1 || Not Available || IBM || Not Available || IBM || 18ET45WW (1.45) || 07/10/2001&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T series====&lt;br /&gt;
|-&lt;br /&gt;
| {{T20}} 2647-UC2&lt;br /&gt;
|| IBM || 2647UC2 || Not Available || IBM || 2647UC2 || Not Available || IBM || Not Available || IBM || IYET45WW (1.08a) || 12/21/1999&lt;br /&gt;
||&lt;br /&gt;
|| {{WARN|Very outdated BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T21}} 2647-8AU&lt;br /&gt;
|| IBM || 26478AU || Not Available || IBM || 26478AU || Not Available || IBM || Not Available || IBM || KZET34WW (1.16 ) || 04/28/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} 2647-4EG&lt;br /&gt;
|| IBM || 26474EG || Not Available || IBM || 26474EG || Not Available || IBM || Not Available || IBM || 16ET31WW (1.11 ) ||&lt;br /&gt;
03/20/2003 &lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T22}} 2647-8EU&lt;br /&gt;
|| IBM || 26478EU || Not Available || IBM || 26478EU || Not Available || IBM || Not Available || IBM || 16ET32WW (1.12 ) || 04/27/2004&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{T23}} 2647-4NU&lt;br /&gt;
|| IBM || 26474NU || Not Available || IBM || 26474NU || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2647-8MG&lt;br /&gt;
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET56WW (1.13 ) || 07/02/2002&lt;br /&gt;
||&lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T23}} 2647-8MG&lt;br /&gt;
|| IBM || 26478MG || Not Available || IBM || 26478MG || Not Available || IBM || Not Available || IBM || 1AET62WW (1.18 ) || 07/06/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1AHT23WW-1.06a]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-85G&lt;br /&gt;
|| IBM || 236685G || Not Available || IBM || 236685G || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1IHT18WW-1.05    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-GU1&lt;br /&gt;
|| IBM || 2366GU1 || Not Available || IBM || 2366GU1 || Not Available || IBM || Not Available || IBM || 1IET69WW (2.08 ) || 06/11/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1IHT19WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T30}} 2366-JBU&lt;br /&gt;
|| IBM || 2366JBU || Not Available || IBM || 2366JBU || Not Available || IBM || Not Available || IBM || 1IET71WW (2.10 ) || 06/16/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1IHT20WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2378-D2U&lt;br /&gt;
|| IBM || 2378D2U || ThinkPad T40 || IBM || 2378D2U || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} 2373-G1G&lt;br /&gt;
|| IBM || 2373G1G || ThinkPad T40p || IBM || 2373G1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|{{T41}} 2373-XNX&lt;br /&gt;
|| IBM || 2373XNX || ThinkPad T41  || IBM || 2373XNX || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 2373-2FG&lt;br /&gt;
|| IBM || 23732FG || ThinkPad T41 || IBM || 23732FG || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003&lt;br /&gt;
||&lt;br /&gt;
|| {{NOTE|Missing EC string, this bug is known to be fixed in latest BIOS}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GHG &lt;br /&gt;
|| IBM || 2373GHG || ThinkPad T41p || IBM || 2373GHG || Not Available || IBM || Not Available || IBM || 1RETDIWW (3.14 ) || 01/20/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GEG&lt;br /&gt;
|| IBM || 2373GEG || ThinkPad T41p || IBM || 2373GEG || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt; Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41p}} 2373-GJJ&lt;br /&gt;
|| IBM || 2373GJJ || ThinkPad T41p || IBM || 2373GJJ || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-FWG&lt;br /&gt;
|| IBM || 2373FWG || ThinkPad T42 || IBM || 2373FWG || Not Available || IBM || Not Available || IBM || 1RETDHWW (3.13 ) || 10/29/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2373-M1G&lt;br /&gt;
|| IBM || 2373M1G || ThinkPad T42 || IBM || 2373M1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42}} 2378-FVU&lt;br /&gt;
|| IBM || 2378FVU || ThinkPad T42 || IBM || 2378FVU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-KUU&lt;br /&gt;
|| IBM || 2373KUU || ThinkPad T42p || IBM || 2373KUU || Not Available || IBM || Not Available || IBM || 1RETDMWW (3.18 ) || 09/15/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373-GYG&lt;br /&gt;
|| IBM || 2373GYG || ThinkPad T42p || IBM || 2373GYG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2374-CP5&lt;br /&gt;
|| IBM || 2374CP5 || ThinkPad T42p || IBM || 2374CP5 || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte	String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2379-DYU&lt;br /&gt;
|| IBM || 2379DYU || ThinkPad T42p || IBM || 2379DYU || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2372-Q2G&lt;br /&gt;
|| IBM || 2373Q2G || ThinkPad T42p || IBM || 2373Q2G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-4AG&lt;br /&gt;
|| IBM || 18714AG || ThinkPad T43 || IBM || 18714AG || Not Available || IBM || Not Available || IBM || 70ET64WW (1.24 ) || 02/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT27WW-1.04    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 1871-F1G&lt;br /&gt;
|| IBM || 1871F1G || ThinkPad T43 || IBM || 1871F1G || Not Available || IBM || Not Available || IBM || 70ET61WW (1.21 ) || 11/01/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[70HT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2686-DGU&lt;br /&gt;
|| IBM || 2686DGU || ThinkPad T43 || IBM || 2686DGU || Not Available || IBM || Not Available || IBM || 1YET62WW (1.27 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2669-WE5&lt;br /&gt;
|| IBM || 2669WE5 || ThinkPad T43 || IBM || 2669WE5 || Not Available || IBM || Not Available || IBM || 1YET56WW (1.21 ) || 07/06/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| {{NOTE|User reports this is really a 2669-CEU with 1GB RAM + BlueTooth, and not a 2669-WE5 (unverified if this makes sense)}}&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-G2G&lt;br /&gt;
|| IBM || 2668G2G || ThinkPad T43p || IBM || 2668G2G || Not Available || IBM || Not Available || IBM || 1YET47WW (1.08 ) || 06/09/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2687-D5U&lt;br /&gt;
|| IBM || 2687D5U || ThinkPad T43p || IBM || 2687D5U || Not Available || IBM || Not Available || IBM || 1YET59WW (1.24 ) || 11/07/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-49G&lt;br /&gt;
|| LENOVO || 200749G || ThinkPad T60 || LENOVO || 200749G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-83U&lt;br /&gt;
|| LENOVO || 200783U || ThinkPad T60p || LENOVO || 200783U || Not Available || LENOVO || Not Available || LENOVO || 79ET60WW (1.05a) || 04/18/2006 || &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT43WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93U&lt;br /&gt;
|| LENOVO || 200793U || ThinkPad T60p || LENOVO || 200793U || Not Available || LENOVO || Not Available || LENOVO || 79ET66WW (1.10 ) || 08/02/2006 || &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-93G&lt;br /&gt;
|| LENOVO || 2613ESU || ThinkPad T60p || LENOVO || 2613ESU || Not Available || LENOVO || Not Available || LENOVO || 79ET67WW (1.11 ) || 08/29/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2613-ESU&lt;br /&gt;
|| LENOVO || 200793G || ThinkPad T60p || LENOVO || 200793G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2623-DDU&lt;br /&gt;
|| LENOVO || 2623DDU || ThinkPad T60p || LENOVO || 2623DDU || Not Available || LENOVO || Not Available || LENOVO || 79ET65WW (1.09a) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[79HT48WW-1.05b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X series====&lt;br /&gt;
|-&lt;br /&gt;
| {{X20}} 266231G&lt;br /&gt;
|| IBM || 266231G || Not Available || IBM || 266231G || Not Available || IBM || Not Available || IBM || IZET9DWW (2.25 ) || 04/17/2003&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X24}} 2662-MPU&lt;br /&gt;
|| IBM || 62MPUFX || Not Available || IBM || 62MPUFX || Not Available || IBM || Not Available || IBM || 1DET67WW (1.29 ) || 12/18/2002&lt;br /&gt;
||&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X32}} 2884-A3U&lt;br /&gt;
|| IBM || 2884A3U || ThinkPad X32 || IBM || 2884A3U || Not Available || IBM || Not Available || IBM || 1QET94WW (3.00d) || 01/23/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[1QHT22WW-1.07b   ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X40}} 2386-H4G&lt;br /&gt;
|| IBM || 2386H4G || ThinkPad X40 || IBM || 2386H4G || Not Available || IBM || Not Available || IBM || 1UET92WW (1.42 ) || 09/16/2004 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0024, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[1UHT82WW-1.32    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X41}} 2525-HU1&lt;br /&gt;
|| IBM || 2525HU1 || ThinkPad X41 || IBM || 2525HU1 || Not Available || IBM || Not Available || IBM || 74ET48WW (1.17a) || 06/07/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0025, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[74HT25WW-1.00    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1709-47U&lt;br /&gt;
|| LENOVO || 170947U || ThinkPad X60 || LENOVO || 170947U || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1702-55G&lt;br /&gt;
|| LENOVO || 170255G || ThinkPad X60s || LENOVO || 170255G || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1702-5FG&lt;br /&gt;
|| LENOVO || 17025FG || ThinkPad X60s || LENOVO || 17025FG || Not Available || LENOVO || Not Available || LENOVO || 7BET49WW (1.09 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7BHT34WW-1.07    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1704-56G&lt;br /&gt;
|| LENOVO || 170456G || ThinkPad X60s || LENOVO || 170456G || Not Available || LENOVO || Not Available || LENOVO || 7BET43WW (1.03 ) || 02/13/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7BHT28WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Z series====&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60t}} 2511-FEU&lt;br /&gt;
|| IBM || 2511FEU || ThinkPad Z60t || IBM || 2511FEU || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{Z60m}} 2529-FKG&lt;br /&gt;
|| IBM || 2529FKG || ThinkPad Z60m || IBM || 2529FKG || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
||      String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&lt;br /&gt;
||&lt;br /&gt;
|- &lt;br /&gt;
| {{Z60m}} 2529-ETG&lt;br /&gt;
|| IBM || 2529ETG || ThinkPad Z60m || IBM || 2529ETG || Not Available || IBM || Not Available || IBM || 77ET59WW (1.19 ) || 04/24/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0029, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[77HT54WW-1.14    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9453-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET48WW (1.08 ) || 05/26/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7FHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9543-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET53WW (1.13 ) || 07/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT23WW-1.05    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61p}} 9453-A12&lt;br /&gt;
|| LENOVO || 9453A12 || ThinkPad Z61p || LENOVO || 9453A12 || Not Available || LENOVO || Not Available || LENOVO || 7FET45WW (1.05 ) || 04/20/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 bytes  String 1: IBM ThinkPad Embedded Controller -[7FHT19WW-1.01    ]-&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61t}} 9440-2CU&lt;br /&gt;
|| LENOVO || 94402CU || ThinkPad Z61t || LENOVO || 94402CU || Not Available || LENOVO || Not Available || LENOVO || 7FET50WW (1.10 ) || 06/20/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;Handle 0x0026, DMI type 11, 5 byte   String 1: IBM ThinkPad Embedded Controller -[7FHT22WW-1.04    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Adding entries==&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Edit&amp;quot; link on the appropriate series above and add an entry of the following form:&lt;br /&gt;
:&amp;lt;tt&amp;gt;!-&amp;lt;/tt&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;| &amp;lt;/tt&amp;gt;&amp;lt;i&amp;gt;description of your model&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 1&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 2&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the two data lines are genereated by the following &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for X in system-{manufacturer,product-name,version} \&lt;br /&gt;
  baseboard-{manufacturer,product-name,version} \&lt;br /&gt;
  chassis-{manufacturer,version} bios-{vendor,version,release-date}; do \&lt;br /&gt;
  echo -n &amp;quot;|| `sudo /usr/sbin/dmidecode -s $X` &amp;quot;; done; \&lt;br /&gt;
  sudo /usr/sbin/dmidecode | perl -0777 -ne \&lt;br /&gt;
  'm/\n(.*).\n.*\n(.*Embedded Cont.*)\n/i; print &amp;quot;\n|| &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;/nowiki&amp;gt;nowiki&amp;gt;$1$2&amp;lt;/nowiki&amp;gt; ||\n&amp;quot;'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While at it, you may also want to test [[tp_smapi]] and update its [[tp_smapi#Model-specific_status|model-specific status table]].&lt;br /&gt;
&lt;br /&gt;
==Software using ThinkPad DMI IDs==&lt;br /&gt;
* [[HDAPS]] driver whitelist&lt;br /&gt;
* [[tp_smapi]] driver whitelist&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=24563</id>
		<title>Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=24563"/>
		<updated>2006-09-09T14:56:23Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Fix for commands containing an =&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses issues with the ATI proprietary [[fglrx]] display driver.&lt;br /&gt;
&lt;br /&gt;
== Known Troubles and Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== X-specific issues ===&lt;br /&gt;
&lt;br /&gt;
ATI proprietary drivers version 8.21.7 and later work with x.org 6.9.&lt;br /&gt;
&lt;br /&gt;
If you are running an older version (8.20.8) under Debian sid and you upgrade your xserver-xorg, apt will force you to remove any debian-packaged fglrx drivers (package fglrx-driver depends on x.org &amp;lt;&amp;lt; 6.8.99).  You can just download the driver from the ATI site and install after modifying the Debian packager script to allow dependencies to be satisfied by x.org 6.9, or just download 8.21.7 and install manually.  See talk page for step-by-step commands.&lt;br /&gt;
&lt;br /&gt;
After installing the fglrx driver, you can use module-assist to build the appropriate kernel module.&lt;br /&gt;
&lt;br /&gt;
=== Kernel-specific troubles ===&lt;br /&gt;
&lt;br /&gt;
Using ATI drivers &amp;lt;=8.21.7 with kernel &amp;gt;=2.6.15 needs a [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch].  (see table below for detail.) If you can't compile the driver modules with 2.6.15 or later, you should apply this [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch patch] instead. &lt;br /&gt;
&lt;br /&gt;
If you do not use one of these patches, you may experience peculiar lockups of X.  Try {{cmduser|fglrxinfo}} - if your shell hangs at the end of this command, you may have an issue and should try the patch or upgrade.&lt;br /&gt;
&lt;br /&gt;
Although unproven, there is a substantial amount of user / developer concern that the above patches prevent hard lockups but do not provide full reliability with 2.6.15 and there are larger / redisgn issues preventing compatibility.  These issues have been fixed with later ATI drivers (&amp;gt; 8.21.7) so you can simply upgrade if you are running a more modern kernel.&lt;br /&gt;
&lt;br /&gt;
=== No hardware acceleration ===&lt;br /&gt;
&lt;br /&gt;
====Acceleration lost after driver update====&lt;br /&gt;
If you lose hardware acceleration after a driver update this can be caused by an old fglrx kernel module being loaded.&lt;br /&gt;
&lt;br /&gt;
Check out {{path|1=/var/log/Xorg.0.log}} for a message like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(WW) fglrx(0): Kernel Module version does *not* match driver.&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can verify this yourself by looking at the version message some lines above. It should read something not matching the installed version like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0): Kernel Module Version Information:&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Name: fglrx&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Version: 8.10.19&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The cause for this trouble might be that there resist multiple versions of the fglrx module within the kernel module search path.&amp;lt;br&amp;gt;&lt;br /&gt;
Go to {{path|1=/lib/modules/&amp;lt;your linux kernel version&amp;gt;/}} and type {{cmdroot|1=grep fglrx modules.dep}}.&amp;lt;br&amp;gt;&lt;br /&gt;
If grep finds multiple lines you nailed down the problem. All you have to do now is to delete any versions of the module (look at the filedate) but the most current one. Then run {{cmdroot|1=depmod}} and you are done.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Newer versions (8.21.7) of the fglrx module seem to be installed in the &amp;lt;code&amp;gt;extra/&amp;lt;/code&amp;gt; subdirectory.&amp;lt;br&amp;gt;&lt;br /&gt;
Older versions (8.19.10) used to be located in the &amp;lt;code&amp;gt;kernel/drivers/char/drm/&amp;lt;/code&amp;gt; subdirectory.}}&lt;br /&gt;
&lt;br /&gt;
====GCC 3.4====&lt;br /&gt;
If the ATI driver works only without the hardware acceleration, take into consideration that {{path|fglrx_dri.so}} was linked against libstdc++.so.5 which may not be present if your system uses gcc-3.4.&lt;br /&gt;
&lt;br /&gt;
To fix this, compile gcc-3.3.5 and copy &amp;lt;tt&amp;gt;libstdc++.so.5*&amp;lt;/tt&amp;gt; to {{path|/usr/lib}} and update the dynamic linker cache via {{cmdroot|ldconfig}}.&lt;br /&gt;
&lt;br /&gt;
Or install a compat package for your favorite distro. FC4 users can do:&lt;br /&gt;
:{{cmdroot|yum install libstdc++.so.5}}&lt;br /&gt;
&lt;br /&gt;
====radeonfb framebuffer====&lt;br /&gt;
Another possible cause for broken hardware acceleration (2D and 3D) is the radeonfb framebuffer: Switching to vesafb or vesafb-tng is reported to solve the problem on some systems. Also it has proven helpful to not perform {{cmdroot|modprobe fglrx}} after boot but to have the module loaded via {{path|/etc/modules.autoload/kernel2.x}} at boottime instead.&lt;br /&gt;
&lt;br /&gt;
====Perpetual Mesa GLX Indirect on Debian====&lt;br /&gt;
If you've done everything right and you're still seeing:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|fglrxinfo}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.1)}}&lt;br /&gt;
&lt;br /&gt;
try this:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkdir -p /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
&lt;br /&gt;
Thanks to Maciej Matysiak for the clear debug [http://lists.debian.org/debian-amd64/2006/02/msg00217.html here] and solution [http://lists.debian.org/debian-amd64/2006/02/msg00311.html here].&lt;br /&gt;
&lt;br /&gt;
More generally, use LIBGL_DEBUG=verbose fglrxinfo, to see what's happening, and whether you get this:&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL error: dlopen /usr/X11R6/lib/modules/dri/fglrx_dri.so failed (/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory)}}&lt;br /&gt;
:{{cmdresult|libGL error: unable to find driver: fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.2)}}&lt;br /&gt;
&lt;br /&gt;
instead of that:&lt;br /&gt;
:{{cmduser|&amp;lt;nowiki&amp;gt;LIBGL_DEBUG=verbose&amp;lt;/nowiki&amp;gt; fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: busid is PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: minor is 0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: node name is /dev/dri/card0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: open result is 4, (OK)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmOpenMinor returns 4}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmGetBusid reports PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|Can't open configuration file /home/merlin/.drirc: No such file or directory.}}&lt;br /&gt;
:{{cmdresult|fglrx: DPD supported.}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: ATI Technologies Inc.}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: MOBILITY FIREGL T2 Pentium 4 (SSE2) (FireGL) (GNU_ICD)}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 2.0.5879 (8.26.18)}}&lt;br /&gt;
&lt;br /&gt;
I have contacted ATI to add that info by default, the mesa guys to do that in glxinfo too, as well as the debian packager to fix the debian packaging bug (2006/07/22), so hopefully the situation will improve soon&lt;br /&gt;
&lt;br /&gt;
You may have to run fglrxinfo as root to get this detail rather than a useless message.&lt;br /&gt;
&lt;br /&gt;
=== Softlink hell ===&lt;br /&gt;
The [[fglrx]] installer replaces the standard X.org OpenGL implementation (Mesa) with its own files, potentially causing collisions with the distribution's file and package management. It is best to install the driver via a package built for your distribution, which will typically include the necessary kludges to make things work. See the [[fglrx]] page for pointers.&lt;br /&gt;
&lt;br /&gt;
====Discussion====&lt;br /&gt;
If using {{cmduser|fglrxinfo}} after installing [[fglrx]] indicates that you are still using the mesa indirect software GL renderer, you likely have some misplaced softlinks.  It seems like it has to do with an apt-get upgrade that sometimes replaces these links.  Anyway, go to&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
and list your GL libraries and links&lt;br /&gt;
:{{cmdroot|ls -la *GL*}}&lt;br /&gt;
You should see something like the following two lines amoung others:&lt;br /&gt;
:{{cmdresult|libGL.so -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
:{{cmdresult|libGL.so.1 -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
If you see a link to a mesa library (something like {{cmdresult|... -&amp;gt; libGL.mesa.1.2}}), then that's your problem!  Restore the softlink like this (use your actual library version, though):&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
&lt;br /&gt;
For some reason, this link might &amp;quot;break&amp;quot; later, giving you the software rendering once more.  Even after renaming the mesa library to something like &amp;lt;tt&amp;gt;mesa.bkup&amp;lt;/tt&amp;gt;, the system might still find it and link to it despite the name change.  If you have to do this a lot, you could write a restoreGL script.&lt;br /&gt;
&lt;br /&gt;
=====Gentoo=====&lt;br /&gt;
{{Gentoo}} has built in tools for managing the OpenGL symlinks.  They seem to be replacing the old tool with a new one, so one of the following should work for you:&lt;br /&gt;
:{{cmdroot|opengl-update ati}} or&lt;br /&gt;
:{{cmdroot|eselect opengl set ati}}&lt;br /&gt;
Eselect is new, and still ~x86 (as of the end of 2005), so you may not have it yet.  &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; is the old tried-and-true method for managing the symlinks.  If &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; doesn't fix it for you, you should probably tell [http://bugs.gentoo.org Gentoo Bugzilla] (assuming they don't know yet).&lt;br /&gt;
&lt;br /&gt;
If {{cmdroot|ldd /usr/X11R6/bin/glxinfo}} shows that your system still uses the xorg-x11 mesa libs after trying one of the above commands, i.e. a line like this:&lt;br /&gt;
:{{cmdresult|1=libGL.so.1 =&amp;gt; /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0x400a8000)}}&lt;br /&gt;
you will also need to relink {{path|libGl.so.1.2}}:&lt;br /&gt;
:{{cmdroot|cd /usr/lib/opengl/xorg-x11/lib/}}&lt;br /&gt;
:{{cmdroot|mv libGL.so.1.2 libGL.so.1.2_backup}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/libGL.so.1.2 libGL.so.1.2}}&lt;br /&gt;
After another restart of X {{cmduser|fglrxinfo}} should show that it's using the right libs now.&lt;br /&gt;
&lt;br /&gt;
=====Debian=====&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|rm /usr/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|rm /usr/X11R6/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
:{{cmdroot|cp /usr/lib/fglrx/diversions/lib/libGL.so.1.2 .}}&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
:{{cmdroot|ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Troubles using software suspend ===&lt;br /&gt;
When the computer resumes from suspend, X only displays a garbled image and the computer is frozen.&lt;br /&gt;
The problem is acknowledged in ATI's release notes and in knowledge base entry &amp;lt;strike&amp;gt;[https://support.ati.com/ics/support/KBResult.asp?searchFor=Search+Words&amp;amp;search.x=0&amp;amp;search.y=0&amp;amp;searchOption=id&amp;amp;questionID=737-218+&amp;amp;task=knowledge&amp;amp;searchTime=-1&amp;amp;productID=&amp;amp;folderID=-1&amp;amp;resultLimit=50 737-218]&amp;lt;/strike&amp;gt; [https://support.ati.com/ics/support/KBAnswer.asp?questionID=218 737-218]. Driver version 8.19.10 has &amp;quot;initial support for Suspend and Resume&amp;quot; but is working very nicely for most people (verified on T43, T43p and T42) without vbetool.&lt;br /&gt;
&lt;br /&gt;
If you are using an older version of fglrx, using [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] to save/restore the video card state before/after suspend worked for some people. If you use [[Software Suspend 2|Software Suspend 2 (suspend2)]] scripts, you can simply uncomment &amp;lt;tt&amp;gt;EnableVbetool yes&amp;lt;/tt&amp;gt; in {{path|/etc/hibernate/hibernate.conf}}. Be aware though that it breaks suspend/resume for drivers beginning with version 8.19.10, so remember to disable it again when upgrading.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ tested with the following configurations&lt;br /&gt;
!model!!distro||kernel!!fglrx!!PM!!success!!comments&lt;br /&gt;
|-&lt;br /&gt;
|{{T42}}||SUSE 9.3||2.6.11||8.14.13||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T41p}}||???||2.6.14||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T42p}}||Debian||2.6.10||Debian packaged||suspend2||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian sid||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 (but not earlier versions!)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian etch||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 and without vbetool&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Ubuntu Breezy||2.6.12-10||8.19.10||swsusp||yes||Perfect.  (Finally.)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.1||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch], requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.2||8.19.10||suspend2 2.2-rc11||yes||requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.19.10||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.20.8||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}}||???||???||8.19.10||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14||8.19.10||Suspend to RAM||yes||without vbetool or UseDummyXServer, those two ''break'' the resume process here, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14.3||8.20.8||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R52}}||Debian sid||2.6.15-rc5||8.20.8||swsup||yes||both vbetool and UseDummyXServer disabled, DRI enabled, needs [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled - console is garbled until switching back from X&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||suspend2 2.2||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||swsusp||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06||2.6.15||8.25.18||swsusp||no||Switching to VT to suspend: no resume, X restarts; Not switching: suspend works, garbled X display on resume, later X restarts&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06 Text Mode||2.6.15||---||swsusp||yes||suspend works in textmode after rmmod fglrx. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Troubles with large RAM ===&lt;br /&gt;
Version 8.14.13 (and probably earlier versions) of the driver does not seem to be able to cope with large amounts of RAM: with 512 MB it works, with 1.5 GB it crashes the machine as soon as X is started. The problem is present only if the &amp;lt;tt&amp;gt;fglrx&amp;lt;/tt&amp;gt; kernel module is loaded, but independently of whether {{kernelconf|CONFIG_HIGHMEM||||||}} is enabled. A workaround is to limit RAM by adding the {{bootparm|mem|864m}} kernel parameter.&lt;br /&gt;
&lt;br /&gt;
Version 8.16.20 fixes the problem.&lt;br /&gt;
&lt;br /&gt;
===Display switching ===&lt;br /&gt;
The switching between internal and external display doesn't work with fglrx versions &amp;lt;= 8.24.8, because the driver blocks messing around with the chipset via ACPI. If you want to use this feature (i.e. during presentations), you should use the &amp;lt;tt&amp;gt;vesa&amp;lt;/tt&amp;gt; server instead (experienced with a R52, Kernel 2.6.11, xorg 6.8.2, fglrx 8.16.20). Or boot notebook with CRT connected, it will automatically detect it and display on both.&lt;br /&gt;
&lt;br /&gt;
===Composite Support===&lt;br /&gt;
ATI has not officially supported composite windowing (alpha channel) enabling hardware acclerated translucent windows (primarily for 'eye candy.')  Enabling Composite in KDE and the fglrx driver results in a very pretty desktop but unacceptably slow performance on a T43p with ATI's FireGL T2.  It is still unusable in its current state (as of driver 8.25.18).&lt;br /&gt;
&lt;br /&gt;
ATI promises support in the future when composite is officially supported by Xorg.  Discussion of current status of drivers can be found in the Rage3d forums' (http://rage3d.com/board) Linux area.&lt;br /&gt;
&lt;br /&gt;
Composite support is now supported with recent Mesa and Xorg &amp;gt; 7 with the open source 3d radeon drivers (if you run debian unstable, you should be all set.)  It works with the [[R300]] / FireGL T2 series as found on the T43p, but noticably slows down the system.  Depending on your tolerances for slow window refresh, you may find it useful for a quite beautiful desktop.  Expect the drivers to improve in the future, but it seems that composite does require a very fast video card and system.&lt;br /&gt;
&lt;br /&gt;
===Hardlock on X logout===&lt;br /&gt;
Up from driver version 8.19.10 you will experience a system hard lock when logging out from X, if the session manager (kdm/gdm) is not properly configured. You have to tell the session manager to restart X.&lt;br /&gt;
&lt;br /&gt;
In the kdm config file (gentoo: {{path|/usr/kde/&amp;lt;VERSION&amp;gt;/share/config/kdm/kdmrc}}) you have to add following to the section &amp;lt;code&amp;gt;[X-:*-Core]&amp;lt;/code&amp;gt;: &lt;br /&gt;
 TerminateServer=true&lt;br /&gt;
&lt;br /&gt;
In the gdm config file add:&lt;br /&gt;
 AlwaysRestartServer=true&lt;br /&gt;
&lt;br /&gt;
Information from the ATI bugtracker: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another reason of hardlock my be using the wrong AGP driver. Make sure that you have proper drivers for your motherboard loaded before fglrx: (gentoo: {{path|/etc/modules.autoload.d/kernel-2.6}}):&lt;br /&gt;
 intel-agp&lt;br /&gt;
 fglrx&lt;br /&gt;
&lt;br /&gt;
A common problem seems to be mistakenly using ATI Chipset drivers instead of Intel.&lt;br /&gt;
&lt;br /&gt;
Information from gentoo bugtracker: http://bugs.gentoo.org/show_bug.cgi?id=113685&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cannot switch to VT===&lt;br /&gt;
&lt;br /&gt;
At least with a T60p (Mobility Fire GLV5200) on Kubuntu 6.06 and fglrx 8.25.18 it is not possible to switch to a VT from X (Using Alt+Fn); Display becomed dark and the system freezes. CTRL+ALT+BKSPCE doesn't return to console, instead X restarts (Seems to be a kdm configuration feature from Kubuntu). When trying to do console login only every second attempt succeeds, otherwise it yields a black display. &lt;br /&gt;
&lt;br /&gt;
http://ati.cchtml.com/show_bug.cgi?id=37&lt;br /&gt;
&lt;br /&gt;
Intalling version &amp;gt;= 8.25.18 of the fglrx driver (Debian package at [http://www.stanchina.net/~flavio/debian-official/fglrx-driver.html]) may solve this problem.&lt;br /&gt;
&lt;br /&gt;
===Flickering Display===&lt;br /&gt;
&lt;br /&gt;
Some people have reported problems with their display flickering when using ati-drivers newer than 8.14.13. The problem is unclear&lt;br /&gt;
(possibly associated with an incorrect modeline setting) and no known solution exists except to use the open source radeon drivers.&lt;br /&gt;
You can follow this problem here: http://ati.cchtml.com/show_bug.cgi?id=248&lt;br /&gt;
&lt;br /&gt;
===Error messages in system log===&lt;br /&gt;
&lt;br /&gt;
If you find something like the following in {{path|/var/log/messages}}:&lt;br /&gt;
&lt;br /&gt;
:{{cmdresult|kernel: mtrr: base(0xc0000000) is not aligned on a size(0x7ff0000) boundary}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22)}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_unlock] *ERROR* Process 5132 using kernel context 0}}&lt;br /&gt;
&lt;br /&gt;
try to execute the following line and reload the fglrx module:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|1=echo &amp;quot;base=0xd0000000 size=0x8000000 type=write-combining&amp;quot; &amp;gt; /proc/mtrr}}&lt;br /&gt;
&lt;br /&gt;
More detailed instructions can be found [http://ubuntuforums.org/showthread.php?t=115104 here].&lt;br /&gt;
&lt;br /&gt;
===Hang when logging out===&lt;br /&gt;
&lt;br /&gt;
A common problem is that when logging out from X, instead of gettign the KDM or GDM prompt, the system hangs.&lt;br /&gt;
&lt;br /&gt;
This is discussed, including workarounds here: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
===No power saving when CRT in use===&lt;br /&gt;
&lt;br /&gt;
When both CRT and LCD are in use, power saving cannot be enabled.&lt;br /&gt;
&lt;br /&gt;
This is reported here: http://ati.cchtml.com/show_bug.cgi?id=304&lt;br /&gt;
&lt;br /&gt;
===WineX / Cedega Installs Software But Errors on Loading Games===&lt;br /&gt;
&lt;br /&gt;
Some users may experience problems with certain FIREGL cards (in my case an ibm t43p laptop with a v3200 ati firegl) whereby projects such as cedega and wine refuse to work with 3d graphics, but native binaries (e.g. quake 4) work fine. A possible workaround is to add the following line in the drivers section of your /etc/X11/xorg.conf &lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;UseFastTLS&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This option used to be configured with the older ati drivers when you ran &amp;quot;fglrxconfig&amp;quot;. I have not yet found a way to get it to appear with &amp;quot;aticonfig&amp;quot;, hence the manual insertion. This option is good for several linux distros I have tried, fedora core 5, ubuntu dapper and suse 10.1. It does not appear to effect performance on natively run programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Line Appears Below Mouse Cursor===&lt;br /&gt;
&lt;br /&gt;
Some users have reported seeing a line approximately 1 mouse height below the bottom edge of the cursor, which follows the mouse and appears to change color based on the image below the cursor.  This has been seen to happen using fglrx without the kernel module installed (in 2D mode) and additionally on external displays or multiple X servers.  To work around the problem, try disabling the DGA extension by making the following changes to your XFree86.conf or xorg.conf file.  Replace (or comment-out)&lt;br /&gt;
 Load &amp;quot;extmod&amp;quot;&lt;br /&gt;
with&lt;br /&gt;
 SubSection  &amp;quot;extmod&amp;quot;&lt;br /&gt;
  Option  &amp;quot;omit xfree86-dga&amp;quot;&lt;br /&gt;
 EndSubSection&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
The following patches might be needed for certain versions of fglrx.&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.23.7===&lt;br /&gt;
* For kernel 2.6.16: [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.22.5-intermodule.patch &amp;lt;tt&amp;gt;intermodule&amp;lt;/tt&amp;gt; patch] and [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.23.7-noiommu.patch &amp;lt;tt&amp;gt;noiommu&amp;lt;/tt&amp;gt; patch]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.21.7===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.20.8===&lt;br /&gt;
&lt;br /&gt;
* [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 for kernel 2.6.15]&lt;br /&gt;
or&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx (problem met at least with version 8.18.8)===&lt;br /&gt;
* [http://lkml.org/lkml/2005/9/22/183 for kernel &amp;gt;= 2.6.13 ]  Missing verify_area bug&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.8.25 ===&lt;br /&gt;
* [http://www.rage3d.com/board/showthread.php?t=33798874 for kernels &amp;gt;= 2.6.10]&lt;br /&gt;
* [http://www.gehirn.org.uk/wiki/images/8.8.25-kernel-2.6.11+.patch For kernels &amp;gt;= 2.6.11-rc1]&lt;br /&gt;
&lt;br /&gt;
===Links ===&lt;br /&gt;
* [http://gentoo-wiki.com/HOWTO_ATI_Drivers Gentoo HOWTO ATI]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=24562</id>
		<title>Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=24562"/>
		<updated>2006-09-09T14:36:40Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: change $ to cmduser&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses issues with the ATI proprietary [[fglrx]] display driver.&lt;br /&gt;
&lt;br /&gt;
== Known Troubles and Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== X-specific issues ===&lt;br /&gt;
&lt;br /&gt;
ATI proprietary drivers version 8.21.7 and later work with x.org 6.9.&lt;br /&gt;
&lt;br /&gt;
If you are running an older version (8.20.8) under Debian sid and you upgrade your xserver-xorg, apt will force you to remove any debian-packaged fglrx drivers (package fglrx-driver depends on x.org &amp;lt;&amp;lt; 6.8.99).  You can just download the driver from the ATI site and install after modifying the Debian packager script to allow dependencies to be satisfied by x.org 6.9, or just download 8.21.7 and install manually.  See talk page for step-by-step commands.&lt;br /&gt;
&lt;br /&gt;
After installing the fglrx driver, you can use module-assist to build the appropriate kernel module.&lt;br /&gt;
&lt;br /&gt;
=== Kernel-specific troubles ===&lt;br /&gt;
&lt;br /&gt;
Using ATI drivers &amp;lt;=8.21.7 with kernel &amp;gt;=2.6.15 needs a [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch].  (see table below for detail.) If you can't compile the driver modules with 2.6.15 or later, you should apply this [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch patch] instead. &lt;br /&gt;
&lt;br /&gt;
If you do not use one of these patches, you may experience peculiar lockups of X.  Try {{cmduser|fglrxinfo}} - if your shell hangs at the end of this command, you may have an issue and should try the patch or upgrade.&lt;br /&gt;
&lt;br /&gt;
Although unproven, there is a substantial amount of user / developer concern that the above patches prevent hard lockups but do not provide full reliability with 2.6.15 and there are larger / redisgn issues preventing compatibility.  These issues have been fixed with later ATI drivers (&amp;gt; 8.21.7) so you can simply upgrade if you are running a more modern kernel.&lt;br /&gt;
&lt;br /&gt;
=== No hardware acceleration ===&lt;br /&gt;
&lt;br /&gt;
====Acceleration lost after driver update====&lt;br /&gt;
If you lose hardware acceleration after a driver update this can be caused by an old fglrx kernel module being loaded.&lt;br /&gt;
&lt;br /&gt;
Check out {{path|1=/var/log/Xorg.0.log}} for a message like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(WW) fglrx(0): Kernel Module version does *not* match driver.&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can verify this yourself by looking at the version message some lines above. It should read something not matching the installed version like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0): Kernel Module Version Information:&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Name: fglrx&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Version: 8.10.19&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The cause for this trouble might be that there resist multiple versions of the fglrx module within the kernel module search path.&amp;lt;br&amp;gt;&lt;br /&gt;
Go to {{path|1=/lib/modules/&amp;lt;your linux kernel version&amp;gt;/}} and type {{cmdroot|1=grep fglrx modules.dep}}.&amp;lt;br&amp;gt;&lt;br /&gt;
If grep finds multiple lines you nailed down the problem. All you have to do now is to delete any versions of the module (look at the filedate) but the most current one. Then run {{cmdroot|1=depmod}} and you are done.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Newer versions (8.21.7) of the fglrx module seem to be installed in the &amp;lt;code&amp;gt;extra/&amp;lt;/code&amp;gt; subdirectory.&amp;lt;br&amp;gt;&lt;br /&gt;
Older versions (8.19.10) used to be located in the &amp;lt;code&amp;gt;kernel/drivers/char/drm/&amp;lt;/code&amp;gt; subdirectory.}}&lt;br /&gt;
&lt;br /&gt;
====GCC 3.4====&lt;br /&gt;
If the ATI driver works only without the hardware acceleration, take into consideration that {{path|fglrx_dri.so}} was linked against libstdc++.so.5 which may not be present if your system uses gcc-3.4.&lt;br /&gt;
&lt;br /&gt;
To fix this, compile gcc-3.3.5 and copy &amp;lt;tt&amp;gt;libstdc++.so.5*&amp;lt;/tt&amp;gt; to {{path|/usr/lib}} and update the dynamic linker cache via {{cmdroot|ldconfig}}.&lt;br /&gt;
&lt;br /&gt;
Or install a compat package for your favorite distro. FC4 users can do:&lt;br /&gt;
:{{cmdroot|yum install libstdc++.so.5}}&lt;br /&gt;
&lt;br /&gt;
====radeonfb framebuffer====&lt;br /&gt;
Another possible cause for broken hardware acceleration (2D and 3D) is the radeonfb framebuffer: Switching to vesafb or vesafb-tng is reported to solve the problem on some systems. Also it has proven helpful to not perform {{cmdroot|modprobe fglrx}} after boot but to have the module loaded via {{path|/etc/modules.autoload/kernel2.x}} at boottime instead.&lt;br /&gt;
&lt;br /&gt;
====Perpetual Mesa GLX Indirect on Debian====&lt;br /&gt;
If you've done everything right and you're still seeing:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|fglrxinfo}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.1)}}&lt;br /&gt;
&lt;br /&gt;
try this:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkdir -p /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
&lt;br /&gt;
Thanks to Maciej Matysiak for the clear debug [http://lists.debian.org/debian-amd64/2006/02/msg00217.html here] and solution [http://lists.debian.org/debian-amd64/2006/02/msg00311.html here].&lt;br /&gt;
&lt;br /&gt;
More generally, use LIBGL_DEBUG=verbose fglrxinfo, to see what's happening, and whether you get this:&lt;br /&gt;
:{{cmduser|LIBGL_DEBUG=verbose fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL error: dlopen /usr/X11R6/lib/modules/dri/fglrx_dri.so failed (/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory)}}&lt;br /&gt;
:{{cmdresult|libGL error: unable to find driver: fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.2)}}&lt;br /&gt;
&lt;br /&gt;
instead of that:&lt;br /&gt;
:{{cmduser|LIBGL_DEBUG=verbose fglrxinfo}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: busid is PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: minor is 0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: node name is /dev/dri/card0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: open result is 4, (OK)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmOpenMinor returns 4}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmGetBusid reports PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|Can't open configuration file /home/merlin/.drirc: No such file or directory.}}&lt;br /&gt;
:{{cmdresult|fglrx: DPD supported.}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: ATI Technologies Inc.}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: MOBILITY FIREGL T2 Pentium 4 (SSE2) (FireGL) (GNU_ICD)}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 2.0.5879 (8.26.18)}}&lt;br /&gt;
&lt;br /&gt;
I have contacted ATI to add that info by default, the mesa guys to do that in glxinfo too, as well as the debian packager to fix the debian packaging bug (2006/07/22), so hopefully the situation will improve soon&lt;br /&gt;
&lt;br /&gt;
You may have to run fglrxinfo as root to get this detail rather than a useless message.&lt;br /&gt;
&lt;br /&gt;
=== Softlink hell ===&lt;br /&gt;
The [[fglrx]] installer replaces the standard X.org OpenGL implementation (Mesa) with its own files, potentially causing collisions with the distribution's file and package management. It is best to install the driver via a package built for your distribution, which will typically include the necessary kludges to make things work. See the [[fglrx]] page for pointers.&lt;br /&gt;
&lt;br /&gt;
====Discussion====&lt;br /&gt;
If using {{cmduser|fglrxinfo}} after installing [[fglrx]] indicates that you are still using the mesa indirect software GL renderer, you likely have some misplaced softlinks.  It seems like it has to do with an apt-get upgrade that sometimes replaces these links.  Anyway, go to&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
and list your GL libraries and links&lt;br /&gt;
:{{cmdroot|ls -la *GL*}}&lt;br /&gt;
You should see something like the following two lines amoung others:&lt;br /&gt;
:{{cmdresult|libGL.so -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
:{{cmdresult|libGL.so.1 -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
If you see a link to a mesa library (something like {{cmdresult|... -&amp;gt; libGL.mesa.1.2}}), then that's your problem!  Restore the softlink like this (use your actual library version, though):&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
&lt;br /&gt;
For some reason, this link might &amp;quot;break&amp;quot; later, giving you the software rendering once more.  Even after renaming the mesa library to something like &amp;lt;tt&amp;gt;mesa.bkup&amp;lt;/tt&amp;gt;, the system might still find it and link to it despite the name change.  If you have to do this a lot, you could write a restoreGL script.&lt;br /&gt;
&lt;br /&gt;
=====Gentoo=====&lt;br /&gt;
{{Gentoo}} has built in tools for managing the OpenGL symlinks.  They seem to be replacing the old tool with a new one, so one of the following should work for you:&lt;br /&gt;
:{{cmdroot|opengl-update ati}} or&lt;br /&gt;
:{{cmdroot|eselect opengl set ati}}&lt;br /&gt;
Eselect is new, and still ~x86 (as of the end of 2005), so you may not have it yet.  &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; is the old tried-and-true method for managing the symlinks.  If &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; doesn't fix it for you, you should probably tell [http://bugs.gentoo.org Gentoo Bugzilla] (assuming they don't know yet).&lt;br /&gt;
&lt;br /&gt;
If {{cmdroot|ldd /usr/X11R6/bin/glxinfo}} shows that your system still uses the xorg-x11 mesa libs after trying one of the above commands, i.e. a line like this:&lt;br /&gt;
:{{cmdresult|1=libGL.so.1 =&amp;gt; /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0x400a8000)}}&lt;br /&gt;
you will also need to relink {{path|libGl.so.1.2}}:&lt;br /&gt;
:{{cmdroot|cd /usr/lib/opengl/xorg-x11/lib/}}&lt;br /&gt;
:{{cmdroot|mv libGL.so.1.2 libGL.so.1.2_backup}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/libGL.so.1.2 libGL.so.1.2}}&lt;br /&gt;
After another restart of X {{cmduser|fglrxinfo}} should show that it's using the right libs now.&lt;br /&gt;
&lt;br /&gt;
=====Debian=====&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|rm /usr/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|rm /usr/X11R6/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
:{{cmdroot|cp /usr/lib/fglrx/diversions/lib/libGL.so.1.2 .}}&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
:{{cmdroot|ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Troubles using software suspend ===&lt;br /&gt;
When the computer resumes from suspend, X only displays a garbled image and the computer is frozen.&lt;br /&gt;
The problem is acknowledged in ATI's release notes and in knowledge base entry &amp;lt;strike&amp;gt;[https://support.ati.com/ics/support/KBResult.asp?searchFor=Search+Words&amp;amp;search.x=0&amp;amp;search.y=0&amp;amp;searchOption=id&amp;amp;questionID=737-218+&amp;amp;task=knowledge&amp;amp;searchTime=-1&amp;amp;productID=&amp;amp;folderID=-1&amp;amp;resultLimit=50 737-218]&amp;lt;/strike&amp;gt; [https://support.ati.com/ics/support/KBAnswer.asp?questionID=218 737-218]. Driver version 8.19.10 has &amp;quot;initial support for Suspend and Resume&amp;quot; but is working very nicely for most people (verified on T43, T43p and T42) without vbetool.&lt;br /&gt;
&lt;br /&gt;
If you are using an older version of fglrx, using [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] to save/restore the video card state before/after suspend worked for some people. If you use [[Software Suspend 2|Software Suspend 2 (suspend2)]] scripts, you can simply uncomment &amp;lt;tt&amp;gt;EnableVbetool yes&amp;lt;/tt&amp;gt; in {{path|/etc/hibernate/hibernate.conf}}. Be aware though that it breaks suspend/resume for drivers beginning with version 8.19.10, so remember to disable it again when upgrading.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ tested with the following configurations&lt;br /&gt;
!model!!distro||kernel!!fglrx!!PM!!success!!comments&lt;br /&gt;
|-&lt;br /&gt;
|{{T42}}||SUSE 9.3||2.6.11||8.14.13||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T41p}}||???||2.6.14||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T42p}}||Debian||2.6.10||Debian packaged||suspend2||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian sid||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 (but not earlier versions!)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian etch||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 and without vbetool&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Ubuntu Breezy||2.6.12-10||8.19.10||swsusp||yes||Perfect.  (Finally.)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.1||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch], requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.2||8.19.10||suspend2 2.2-rc11||yes||requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.19.10||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.20.8||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}}||???||???||8.19.10||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14||8.19.10||Suspend to RAM||yes||without vbetool or UseDummyXServer, those two ''break'' the resume process here, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14.3||8.20.8||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R52}}||Debian sid||2.6.15-rc5||8.20.8||swsup||yes||both vbetool and UseDummyXServer disabled, DRI enabled, needs [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled - console is garbled until switching back from X&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||suspend2 2.2||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||swsusp||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06||2.6.15||8.25.18||swsusp||no||Switching to VT to suspend: no resume, X restarts; Not switching: suspend works, garbled X display on resume, later X restarts&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06 Text Mode||2.6.15||---||swsusp||yes||suspend works in textmode after rmmod fglrx. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Troubles with large RAM ===&lt;br /&gt;
Version 8.14.13 (and probably earlier versions) of the driver does not seem to be able to cope with large amounts of RAM: with 512 MB it works, with 1.5 GB it crashes the machine as soon as X is started. The problem is present only if the &amp;lt;tt&amp;gt;fglrx&amp;lt;/tt&amp;gt; kernel module is loaded, but independently of whether {{kernelconf|CONFIG_HIGHMEM||||||}} is enabled. A workaround is to limit RAM by adding the {{bootparm|mem|864m}} kernel parameter.&lt;br /&gt;
&lt;br /&gt;
Version 8.16.20 fixes the problem.&lt;br /&gt;
&lt;br /&gt;
===Display switching ===&lt;br /&gt;
The switching between internal and external display doesn't work with fglrx versions &amp;lt;= 8.24.8, because the driver blocks messing around with the chipset via ACPI. If you want to use this feature (i.e. during presentations), you should use the &amp;lt;tt&amp;gt;vesa&amp;lt;/tt&amp;gt; server instead (experienced with a R52, Kernel 2.6.11, xorg 6.8.2, fglrx 8.16.20). Or boot notebook with CRT connected, it will automatically detect it and display on both.&lt;br /&gt;
&lt;br /&gt;
===Composite Support===&lt;br /&gt;
ATI has not officially supported composite windowing (alpha channel) enabling hardware acclerated translucent windows (primarily for 'eye candy.')  Enabling Composite in KDE and the fglrx driver results in a very pretty desktop but unacceptably slow performance on a T43p with ATI's FireGL T2.  It is still unusable in its current state (as of driver 8.25.18).&lt;br /&gt;
&lt;br /&gt;
ATI promises support in the future when composite is officially supported by Xorg.  Discussion of current status of drivers can be found in the Rage3d forums' (http://rage3d.com/board) Linux area.&lt;br /&gt;
&lt;br /&gt;
Composite support is now supported with recent Mesa and Xorg &amp;gt; 7 with the open source 3d radeon drivers (if you run debian unstable, you should be all set.)  It works with the [[R300]] / FireGL T2 series as found on the T43p, but noticably slows down the system.  Depending on your tolerances for slow window refresh, you may find it useful for a quite beautiful desktop.  Expect the drivers to improve in the future, but it seems that composite does require a very fast video card and system.&lt;br /&gt;
&lt;br /&gt;
===Hardlock on X logout===&lt;br /&gt;
Up from driver version 8.19.10 you will experience a system hard lock when logging out from X, if the session manager (kdm/gdm) is not properly configured. You have to tell the session manager to restart X.&lt;br /&gt;
&lt;br /&gt;
In the kdm config file (gentoo: {{path|/usr/kde/&amp;lt;VERSION&amp;gt;/share/config/kdm/kdmrc}}) you have to add following to the section &amp;lt;code&amp;gt;[X-:*-Core]&amp;lt;/code&amp;gt;: &lt;br /&gt;
 TerminateServer=true&lt;br /&gt;
&lt;br /&gt;
In the gdm config file add:&lt;br /&gt;
 AlwaysRestartServer=true&lt;br /&gt;
&lt;br /&gt;
Information from the ATI bugtracker: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another reason of hardlock my be using the wrong AGP driver. Make sure that you have proper drivers for your motherboard loaded before fglrx: (gentoo: {{path|/etc/modules.autoload.d/kernel-2.6}}):&lt;br /&gt;
 intel-agp&lt;br /&gt;
 fglrx&lt;br /&gt;
&lt;br /&gt;
A common problem seems to be mistakenly using ATI Chipset drivers instead of Intel.&lt;br /&gt;
&lt;br /&gt;
Information from gentoo bugtracker: http://bugs.gentoo.org/show_bug.cgi?id=113685&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cannot switch to VT===&lt;br /&gt;
&lt;br /&gt;
At least with a T60p (Mobility Fire GLV5200) on Kubuntu 6.06 and fglrx 8.25.18 it is not possible to switch to a VT from X (Using Alt+Fn); Display becomed dark and the system freezes. CTRL+ALT+BKSPCE doesn't return to console, instead X restarts (Seems to be a kdm configuration feature from Kubuntu). When trying to do console login only every second attempt succeeds, otherwise it yields a black display. &lt;br /&gt;
&lt;br /&gt;
http://ati.cchtml.com/show_bug.cgi?id=37&lt;br /&gt;
&lt;br /&gt;
Intalling version &amp;gt;= 8.25.18 of the fglrx driver (Debian package at [http://www.stanchina.net/~flavio/debian-official/fglrx-driver.html]) may solve this problem.&lt;br /&gt;
&lt;br /&gt;
===Flickering Display===&lt;br /&gt;
&lt;br /&gt;
Some people have reported problems with their display flickering when using ati-drivers newer than 8.14.13. The problem is unclear&lt;br /&gt;
(possibly associated with an incorrect modeline setting) and no known solution exists except to use the open source radeon drivers.&lt;br /&gt;
You can follow this problem here: http://ati.cchtml.com/show_bug.cgi?id=248&lt;br /&gt;
&lt;br /&gt;
===Error messages in system log===&lt;br /&gt;
&lt;br /&gt;
If you find something like the following in {{path|/var/log/messages}}:&lt;br /&gt;
&lt;br /&gt;
:{{cmdresult|kernel: mtrr: base(0xc0000000) is not aligned on a size(0x7ff0000) boundary}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22)}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_unlock] *ERROR* Process 5132 using kernel context 0}}&lt;br /&gt;
&lt;br /&gt;
try to execute the following line and reload the fglrx module:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|1=echo &amp;quot;base=0xd0000000 size=0x8000000 type=write-combining&amp;quot; &amp;gt; /proc/mtrr}}&lt;br /&gt;
&lt;br /&gt;
More detailed instructions can be found [http://ubuntuforums.org/showthread.php?t=115104 here].&lt;br /&gt;
&lt;br /&gt;
===Hang when logging out===&lt;br /&gt;
&lt;br /&gt;
A common problem is that when logging out from X, instead of gettign the KDM or GDM prompt, the system hangs.&lt;br /&gt;
&lt;br /&gt;
This is discussed, including workarounds here: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
===No power saving when CRT in use===&lt;br /&gt;
&lt;br /&gt;
When both CRT and LCD are in use, power saving cannot be enabled.&lt;br /&gt;
&lt;br /&gt;
This is reported here: http://ati.cchtml.com/show_bug.cgi?id=304&lt;br /&gt;
&lt;br /&gt;
===WineX / Cedega Installs Software But Errors on Loading Games===&lt;br /&gt;
&lt;br /&gt;
Some users may experience problems with certain FIREGL cards (in my case an ibm t43p laptop with a v3200 ati firegl) whereby projects such as cedega and wine refuse to work with 3d graphics, but native binaries (e.g. quake 4) work fine. A possible workaround is to add the following line in the drivers section of your /etc/X11/xorg.conf &lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;UseFastTLS&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This option used to be configured with the older ati drivers when you ran &amp;quot;fglrxconfig&amp;quot;. I have not yet found a way to get it to appear with &amp;quot;aticonfig&amp;quot;, hence the manual insertion. This option is good for several linux distros I have tried, fedora core 5, ubuntu dapper and suse 10.1. It does not appear to effect performance on natively run programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Line Appears Below Mouse Cursor===&lt;br /&gt;
&lt;br /&gt;
Some users have reported seeing a line approximately 1 mouse height below the bottom edge of the cursor, which follows the mouse and appears to change color based on the image below the cursor.  This has been seen to happen using fglrx without the kernel module installed (in 2D mode) and additionally on external displays or multiple X servers.  To work around the problem, try disabling the DGA extension by making the following changes to your XFree86.conf or xorg.conf file.  Replace (or comment-out)&lt;br /&gt;
 Load &amp;quot;extmod&amp;quot;&lt;br /&gt;
with&lt;br /&gt;
 SubSection  &amp;quot;extmod&amp;quot;&lt;br /&gt;
  Option  &amp;quot;omit xfree86-dga&amp;quot;&lt;br /&gt;
 EndSubSection&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
The following patches might be needed for certain versions of fglrx.&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.23.7===&lt;br /&gt;
* For kernel 2.6.16: [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.22.5-intermodule.patch &amp;lt;tt&amp;gt;intermodule&amp;lt;/tt&amp;gt; patch] and [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.23.7-noiommu.patch &amp;lt;tt&amp;gt;noiommu&amp;lt;/tt&amp;gt; patch]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.21.7===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.20.8===&lt;br /&gt;
&lt;br /&gt;
* [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 for kernel 2.6.15]&lt;br /&gt;
or&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx (problem met at least with version 8.18.8)===&lt;br /&gt;
* [http://lkml.org/lkml/2005/9/22/183 for kernel &amp;gt;= 2.6.13 ]  Missing verify_area bug&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.8.25 ===&lt;br /&gt;
* [http://www.rage3d.com/board/showthread.php?t=33798874 for kernels &amp;gt;= 2.6.10]&lt;br /&gt;
* [http://www.gehirn.org.uk/wiki/images/8.8.25-kernel-2.6.11+.patch For kernels &amp;gt;= 2.6.11-rc1]&lt;br /&gt;
&lt;br /&gt;
===Links ===&lt;br /&gt;
* [http://gentoo-wiki.com/HOWTO_ATI_Drivers Gentoo HOWTO ATI]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Template:Cmduser&amp;diff=24561</id>
		<title>Template:Cmduser</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Template:Cmduser&amp;diff=24561"/>
		<updated>2006-09-09T14:35:27Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Attempt to fix for multiple-argument commands (match cmdroot)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;code style=&amp;quot;white-space:nowrap;color:#495988;background-color:white;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;$&amp;lt;/nowiki&amp;gt; {{{1}}}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=24560</id>
		<title>Problems with fglrx</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problems_with_fglrx&amp;diff=24560"/>
		<updated>2006-09-09T14:32:04Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Style homogenization and added line below cursor problem&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page discusses issues with the ATI proprietary [[fglrx]] display driver.&lt;br /&gt;
&lt;br /&gt;
== Known Troubles and Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== X-specific issues ===&lt;br /&gt;
&lt;br /&gt;
ATI proprietary drivers version 8.21.7 and later work with x.org 6.9.&lt;br /&gt;
&lt;br /&gt;
If you are running an older version (8.20.8) under Debian sid and you upgrade your xserver-xorg, apt will force you to remove any debian-packaged fglrx drivers (package fglrx-driver depends on x.org &amp;lt;&amp;lt; 6.8.99).  You can just download the driver from the ATI site and install after modifying the Debian packager script to allow dependencies to be satisfied by x.org 6.9, or just download 8.21.7 and install manually.  See talk page for step-by-step commands.&lt;br /&gt;
&lt;br /&gt;
After installing the fglrx driver, you can use module-assist to build the appropriate kernel module.&lt;br /&gt;
&lt;br /&gt;
=== Kernel-specific troubles ===&lt;br /&gt;
&lt;br /&gt;
Using ATI drivers &amp;lt;=8.21.7 with kernel &amp;gt;=2.6.15 needs a [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch].  (see table below for detail.) If you can't compile the driver modules with 2.6.15 or later, you should apply this [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch patch] instead. &lt;br /&gt;
&lt;br /&gt;
If you do not use one of these patches, you may experience peculiar lockups of X.  Try {{cmduser|fglrxinfo}} - if your shell hangs at the end of this command, you may have an issue and should try the patch or upgrade.&lt;br /&gt;
&lt;br /&gt;
Although unproven, there is a substantial amount of user / developer concern that the above patches prevent hard lockups but do not provide full reliability with 2.6.15 and there are larger / redisgn issues preventing compatibility.  These issues have been fixed with later ATI drivers (&amp;gt; 8.21.7) so you can simply upgrade if you are running a more modern kernel.&lt;br /&gt;
&lt;br /&gt;
=== No hardware acceleration ===&lt;br /&gt;
&lt;br /&gt;
====Acceleration lost after driver update====&lt;br /&gt;
If you lose hardware acceleration after a driver update this can be caused by an old fglrx kernel module being loaded.&lt;br /&gt;
&lt;br /&gt;
Check out {{path|1=/var/log/Xorg.0.log}} for a message like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(WW) fglrx(0): Kernel Module version does *not* match driver.&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(EE) fglrx(0): incompatible kernel module detected - HW accelerated OpenGL will not work&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can verify this yourself by looking at the version message some lines above. It should read something not matching the installed version like:&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0): Kernel Module Version Information:&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Name: fglrx&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;(II) fglrx(0):     Version: 8.10.19&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The cause for this trouble might be that there resist multiple versions of the fglrx module within the kernel module search path.&amp;lt;br&amp;gt;&lt;br /&gt;
Go to {{path|1=/lib/modules/&amp;lt;your linux kernel version&amp;gt;/}} and type {{cmdroot|1=grep fglrx modules.dep}}.&amp;lt;br&amp;gt;&lt;br /&gt;
If grep finds multiple lines you nailed down the problem. All you have to do now is to delete any versions of the module (look at the filedate) but the most current one. Then run {{cmdroot|1=depmod}} and you are done.&lt;br /&gt;
&lt;br /&gt;
{{HINT|Newer versions (8.21.7) of the fglrx module seem to be installed in the &amp;lt;code&amp;gt;extra/&amp;lt;/code&amp;gt; subdirectory.&amp;lt;br&amp;gt;&lt;br /&gt;
Older versions (8.19.10) used to be located in the &amp;lt;code&amp;gt;kernel/drivers/char/drm/&amp;lt;/code&amp;gt; subdirectory.}}&lt;br /&gt;
&lt;br /&gt;
====GCC 3.4====&lt;br /&gt;
If the ATI driver works only without the hardware acceleration, take into consideration that {{path|fglrx_dri.so}} was linked against libstdc++.so.5 which may not be present if your system uses gcc-3.4.&lt;br /&gt;
&lt;br /&gt;
To fix this, compile gcc-3.3.5 and copy &amp;lt;tt&amp;gt;libstdc++.so.5*&amp;lt;/tt&amp;gt; to {{path|/usr/lib}} and update the dynamic linker cache via {{cmdroot|ldconfig}}.&lt;br /&gt;
&lt;br /&gt;
Or install a compat package for your favorite distro. FC4 users can do:&lt;br /&gt;
:{{cmdroot|yum install libstdc++.so.5}}&lt;br /&gt;
&lt;br /&gt;
====radeonfb framebuffer====&lt;br /&gt;
Another possible cause for broken hardware acceleration (2D and 3D) is the radeonfb framebuffer: Switching to vesafb or vesafb-tng is reported to solve the problem on some systems. Also it has proven helpful to not perform {{cmdroot|modprobe fglrx}} after boot but to have the module loaded via {{path|/etc/modules.autoload/kernel2.x}} at boottime instead.&lt;br /&gt;
&lt;br /&gt;
====Perpetual Mesa GLX Indirect on Debian====&lt;br /&gt;
If you've done everything right and you're still seeing:&lt;br /&gt;
&lt;br /&gt;
:{{cmduser|fglrxinfo}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.1)}}&lt;br /&gt;
&lt;br /&gt;
try this:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|mkdir -p /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/dri/fglrx_dri.so /usr/X11R6/lib/modules/dri}}&lt;br /&gt;
&lt;br /&gt;
Thanks to Maciej Matysiak for the clear debug [http://lists.debian.org/debian-amd64/2006/02/msg00217.html here] and solution [http://lists.debian.org/debian-amd64/2006/02/msg00311.html here].&lt;br /&gt;
&lt;br /&gt;
More generally, use LIBGL_DEBUG=verbose fglrxinfo, to see what's happening, and whether you get this:&lt;br /&gt;
 $ LIBGL_DEBUG=verbose fglrxinfo&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL error: dlopen /usr/X11R6/lib/modules/dri/fglrx_dri.so failed (/usr/X11R6/lib/modules/dri/fglrx_dri.so: cannot open shared object file: No such file or directory)}}&lt;br /&gt;
:{{cmdresult|libGL error: unable to find driver: fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: Mesa project: www.mesa3d.org}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: Mesa GLX Indirect}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 1.2 (1.5 Mesa 6.4.2)}}&lt;br /&gt;
&lt;br /&gt;
instead of that:&lt;br /&gt;
 $ cmduser|LIBGL_DEBUG=verbose fglrxinfo&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/fglrx_dri.so}}&lt;br /&gt;
:{{cmdresult|libGL: XF86DRIGetClientDriverName: 8.26.18 fglrx (screen 0)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: busid is PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: minor is 0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: node name is /dev/dri/card0}}&lt;br /&gt;
:{{cmdresult|drmOpenDevice: open result is 4, (OK)}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmOpenMinor returns 4}}&lt;br /&gt;
:{{cmdresult|drmOpenByBusid: drmGetBusid reports PCI:1:0:0}}&lt;br /&gt;
:{{cmdresult|Can't open configuration file /home/merlin/.drirc: No such file or directory.}}&lt;br /&gt;
:{{cmdresult|fglrx: DPD supported.}}&lt;br /&gt;
:{{cmdresult|display: :0.0  screen: 0}}&lt;br /&gt;
:{{cmdresult|OpenGL vendor string: ATI Technologies Inc.}}&lt;br /&gt;
:{{cmdresult|OpenGL renderer string: MOBILITY FIREGL T2 Pentium 4 (SSE2) (FireGL) (GNU_ICD)}}&lt;br /&gt;
:{{cmdresult|OpenGL version string: 2.0.5879 (8.26.18)}}&lt;br /&gt;
&lt;br /&gt;
I have contacted ATI to add that info by default, the mesa guys to do that in glxinfo too, as well as the debian packager to fix the debian packaging bug (2006/07/22), so hopefully the situation will improve soon&lt;br /&gt;
&lt;br /&gt;
You may have to run fglrxinfo as root to get this detail rather than a useless message.&lt;br /&gt;
&lt;br /&gt;
=== Softlink hell ===&lt;br /&gt;
The [[fglrx]] installer replaces the standard X.org OpenGL implementation (Mesa) with its own files, potentially causing collisions with the distribution's file and package management. It is best to install the driver via a package built for your distribution, which will typically include the necessary kludges to make things work. See the [[fglrx]] page for pointers.&lt;br /&gt;
&lt;br /&gt;
====Discussion====&lt;br /&gt;
If using {{cmduser|fglrxinfo}} after installing [[fglrx]] indicates that you are still using the mesa indirect software GL renderer, you likely have some misplaced softlinks.  It seems like it has to do with an apt-get upgrade that sometimes replaces these links.  Anyway, go to&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
and list your GL libraries and links&lt;br /&gt;
:{{cmdroot|ls -la *GL*}}&lt;br /&gt;
You should see something like the following two lines amoung others:&lt;br /&gt;
:{{cmdresult|libGL.so -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
:{{cmdresult|libGL.so.1 -&amp;gt; libGL.so.1.2}}&lt;br /&gt;
If you see a link to a mesa library (something like {{cmdresult|... -&amp;gt; libGL.mesa.1.2}}), then that's your problem!  Restore the softlink like this (use your actual library version, though):&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
&lt;br /&gt;
For some reason, this link might &amp;quot;break&amp;quot; later, giving you the software rendering once more.  Even after renaming the mesa library to something like &amp;lt;tt&amp;gt;mesa.bkup&amp;lt;/tt&amp;gt;, the system might still find it and link to it despite the name change.  If you have to do this a lot, you could write a restoreGL script.&lt;br /&gt;
&lt;br /&gt;
=====Gentoo=====&lt;br /&gt;
{{Gentoo}} has built in tools for managing the OpenGL symlinks.  They seem to be replacing the old tool with a new one, so one of the following should work for you:&lt;br /&gt;
:{{cmdroot|opengl-update ati}} or&lt;br /&gt;
:{{cmdroot|eselect opengl set ati}}&lt;br /&gt;
Eselect is new, and still ~x86 (as of the end of 2005), so you may not have it yet.  &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; is the old tried-and-true method for managing the symlinks.  If &amp;lt;tt&amp;gt;opengl-update&amp;lt;/tt&amp;gt; doesn't fix it for you, you should probably tell [http://bugs.gentoo.org Gentoo Bugzilla] (assuming they don't know yet).&lt;br /&gt;
&lt;br /&gt;
If {{cmdroot|ldd /usr/X11R6/bin/glxinfo}} shows that your system still uses the xorg-x11 mesa libs after trying one of the above commands, i.e. a line like this:&lt;br /&gt;
:{{cmdresult|1=libGL.so.1 =&amp;gt; /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0x400a8000)}}&lt;br /&gt;
you will also need to relink {{path|libGl.so.1.2}}:&lt;br /&gt;
:{{cmdroot|cd /usr/lib/opengl/xorg-x11/lib/}}&lt;br /&gt;
:{{cmdroot|mv libGL.so.1.2 libGL.so.1.2_backup}}&lt;br /&gt;
:{{cmdroot|ln -s /usr/lib/libGL.so.1.2 libGL.so.1.2}}&lt;br /&gt;
After another restart of X {{cmduser|fglrxinfo}} should show that it's using the right libs now.&lt;br /&gt;
&lt;br /&gt;
=====Debian=====&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|rm /usr/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|rm /usr/X11R6/lib/libGL.so*}}&lt;br /&gt;
:{{cmdroot|cd /usr/X11R6/lib}}&lt;br /&gt;
:{{cmdroot|cp /usr/lib/fglrx/diversions/lib/libGL.so.1.2 .}}&lt;br /&gt;
:{{cmdroot|ln -s libGL.so.1.2 libGL.so.1}}&lt;br /&gt;
:{{cmdroot|ldconfig}}&lt;br /&gt;
&lt;br /&gt;
=== Troubles using software suspend ===&lt;br /&gt;
When the computer resumes from suspend, X only displays a garbled image and the computer is frozen.&lt;br /&gt;
The problem is acknowledged in ATI's release notes and in knowledge base entry &amp;lt;strike&amp;gt;[https://support.ati.com/ics/support/KBResult.asp?searchFor=Search+Words&amp;amp;search.x=0&amp;amp;search.y=0&amp;amp;searchOption=id&amp;amp;questionID=737-218+&amp;amp;task=knowledge&amp;amp;searchTime=-1&amp;amp;productID=&amp;amp;folderID=-1&amp;amp;resultLimit=50 737-218]&amp;lt;/strike&amp;gt; [https://support.ati.com/ics/support/KBAnswer.asp?questionID=218 737-218]. Driver version 8.19.10 has &amp;quot;initial support for Suspend and Resume&amp;quot; but is working very nicely for most people (verified on T43, T43p and T42) without vbetool.&lt;br /&gt;
&lt;br /&gt;
If you are using an older version of fglrx, using [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] to save/restore the video card state before/after suspend worked for some people. If you use [[Software Suspend 2|Software Suspend 2 (suspend2)]] scripts, you can simply uncomment &amp;lt;tt&amp;gt;EnableVbetool yes&amp;lt;/tt&amp;gt; in {{path|/etc/hibernate/hibernate.conf}}. Be aware though that it breaks suspend/resume for drivers beginning with version 8.19.10, so remember to disable it again when upgrading.&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ tested with the following configurations&lt;br /&gt;
!model!!distro||kernel!!fglrx!!PM!!success!!comments&lt;br /&gt;
|-&lt;br /&gt;
|{{T42}}||SUSE 9.3||2.6.11||8.14.13||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T41p}}||???||2.6.14||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T42p}}||Debian||2.6.10||Debian packaged||suspend2||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian sid||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 (but not earlier versions!)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Debian etch||2.6.14.2||8.19.10||swsusp||yes||works perfectly with 8.19.10 and without vbetool&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||Ubuntu Breezy||2.6.12-10||8.19.10||swsusp||yes||Perfect.  (Finally.)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.1||8.19.10||suspend2 2.2-rc9||yes||needs a small [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-November/030381.html patch], requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.2||8.19.10||suspend2 2.2-rc11||yes||requires DRI disabled in {{path|xorg.conf}} (hence no 3D acceleration)&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.19.10||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||FC4||2.6.14.3||8.20.8||suspend2 2.2-rc13||no||DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R50p}}||???||???||8.19.10||swsusp||yes||&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14||8.19.10||Suspend to RAM||yes||without vbetool or UseDummyXServer, those two ''break'' the resume process here, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Debian sid||2.6.14.3||8.20.8||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{R52}}||Debian sid||2.6.15-rc5||8.20.8||swsup||yes||both vbetool and UseDummyXServer disabled, DRI enabled, needs [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 patch]&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled - console is garbled until switching back from X&lt;br /&gt;
|-&lt;br /&gt;
|{{T43p}}||Gentoo||[http://packages.gentoo.org/ebuilds/?suspend2-sources-2.6.15-r6 2.6.15]||8.22.5||suspend2 2.2||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||swsusp||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T43}}||SUSE 10.1||2.6.16||8.25.18||Suspend to RAM||yes||without vbetool or UseDummyXServer, with DRI enabled&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06||2.6.15||8.25.18||swsusp||no||Switching to VT to suspend: no resume, X restarts; Not switching: suspend works, garbled X display on resume, later X restarts&lt;br /&gt;
|-&lt;br /&gt;
|{{T60p}}||Kubuntu 6.06 Text Mode||2.6.15||---||swsusp||yes||suspend works in textmode after rmmod fglrx. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Troubles with large RAM ===&lt;br /&gt;
Version 8.14.13 (and probably earlier versions) of the driver does not seem to be able to cope with large amounts of RAM: with 512 MB it works, with 1.5 GB it crashes the machine as soon as X is started. The problem is present only if the &amp;lt;tt&amp;gt;fglrx&amp;lt;/tt&amp;gt; kernel module is loaded, but independently of whether {{kernelconf|CONFIG_HIGHMEM||||||}} is enabled. A workaround is to limit RAM by adding the {{bootparm|mem|864m}} kernel parameter.&lt;br /&gt;
&lt;br /&gt;
Version 8.16.20 fixes the problem.&lt;br /&gt;
&lt;br /&gt;
===Display switching ===&lt;br /&gt;
The switching between internal and external display doesn't work with fglrx versions &amp;lt;= 8.24.8, because the driver blocks messing around with the chipset via ACPI. If you want to use this feature (i.e. during presentations), you should use the &amp;lt;tt&amp;gt;vesa&amp;lt;/tt&amp;gt; server instead (experienced with a R52, Kernel 2.6.11, xorg 6.8.2, fglrx 8.16.20). Or boot notebook with CRT connected, it will automatically detect it and display on both.&lt;br /&gt;
&lt;br /&gt;
===Composite Support===&lt;br /&gt;
ATI has not officially supported composite windowing (alpha channel) enabling hardware acclerated translucent windows (primarily for 'eye candy.')  Enabling Composite in KDE and the fglrx driver results in a very pretty desktop but unacceptably slow performance on a T43p with ATI's FireGL T2.  It is still unusable in its current state (as of driver 8.25.18).&lt;br /&gt;
&lt;br /&gt;
ATI promises support in the future when composite is officially supported by Xorg.  Discussion of current status of drivers can be found in the Rage3d forums' (http://rage3d.com/board) Linux area.&lt;br /&gt;
&lt;br /&gt;
Composite support is now supported with recent Mesa and Xorg &amp;gt; 7 with the open source 3d radeon drivers (if you run debian unstable, you should be all set.)  It works with the [[R300]] / FireGL T2 series as found on the T43p, but noticably slows down the system.  Depending on your tolerances for slow window refresh, you may find it useful for a quite beautiful desktop.  Expect the drivers to improve in the future, but it seems that composite does require a very fast video card and system.&lt;br /&gt;
&lt;br /&gt;
===Hardlock on X logout===&lt;br /&gt;
Up from driver version 8.19.10 you will experience a system hard lock when logging out from X, if the session manager (kdm/gdm) is not properly configured. You have to tell the session manager to restart X.&lt;br /&gt;
&lt;br /&gt;
In the kdm config file (gentoo: {{path|/usr/kde/&amp;lt;VERSION&amp;gt;/share/config/kdm/kdmrc}}) you have to add following to the section &amp;lt;code&amp;gt;[X-:*-Core]&amp;lt;/code&amp;gt;: &lt;br /&gt;
 TerminateServer=true&lt;br /&gt;
&lt;br /&gt;
In the gdm config file add:&lt;br /&gt;
 AlwaysRestartServer=true&lt;br /&gt;
&lt;br /&gt;
Information from the ATI bugtracker: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another reason of hardlock my be using the wrong AGP driver. Make sure that you have proper drivers for your motherboard loaded before fglrx: (gentoo: {{path|/etc/modules.autoload.d/kernel-2.6}}):&lt;br /&gt;
 intel-agp&lt;br /&gt;
 fglrx&lt;br /&gt;
&lt;br /&gt;
A common problem seems to be mistakenly using ATI Chipset drivers instead of Intel.&lt;br /&gt;
&lt;br /&gt;
Information from gentoo bugtracker: http://bugs.gentoo.org/show_bug.cgi?id=113685&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cannot switch to VT===&lt;br /&gt;
&lt;br /&gt;
At least with a T60p (Mobility Fire GLV5200) on Kubuntu 6.06 and fglrx 8.25.18 it is not possible to switch to a VT from X (Using Alt+Fn); Display becomed dark and the system freezes. CTRL+ALT+BKSPCE doesn't return to console, instead X restarts (Seems to be a kdm configuration feature from Kubuntu). When trying to do console login only every second attempt succeeds, otherwise it yields a black display. &lt;br /&gt;
&lt;br /&gt;
http://ati.cchtml.com/show_bug.cgi?id=37&lt;br /&gt;
&lt;br /&gt;
Intalling version &amp;gt;= 8.25.18 of the fglrx driver (Debian package at [http://www.stanchina.net/~flavio/debian-official/fglrx-driver.html]) may solve this problem.&lt;br /&gt;
&lt;br /&gt;
===Flickering Display===&lt;br /&gt;
&lt;br /&gt;
Some people have reported problems with their display flickering when using ati-drivers newer than 8.14.13. The problem is unclear&lt;br /&gt;
(possibly associated with an incorrect modeline setting) and no known solution exists except to use the open source radeon drivers.&lt;br /&gt;
You can follow this problem here: http://ati.cchtml.com/show_bug.cgi?id=248&lt;br /&gt;
&lt;br /&gt;
===Error messages in system log===&lt;br /&gt;
&lt;br /&gt;
If you find something like the following in {{path|/var/log/messages}}:&lt;br /&gt;
&lt;br /&gt;
:{{cmdresult|kernel: mtrr: base(0xc0000000) is not aligned on a size(0x7ff0000) boundary}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22)}}&lt;br /&gt;
:{{cmdresult|kernel: [fglrx:firegl_unlock] *ERROR* Process 5132 using kernel context 0}}&lt;br /&gt;
&lt;br /&gt;
try to execute the following line and reload the fglrx module:&lt;br /&gt;
&lt;br /&gt;
:{{cmdroot|1=echo &amp;quot;base=0xd0000000 size=0x8000000 type=write-combining&amp;quot; &amp;gt; /proc/mtrr}}&lt;br /&gt;
&lt;br /&gt;
More detailed instructions can be found [http://ubuntuforums.org/showthread.php?t=115104 here].&lt;br /&gt;
&lt;br /&gt;
===Hang when logging out===&lt;br /&gt;
&lt;br /&gt;
A common problem is that when logging out from X, instead of gettign the KDM or GDM prompt, the system hangs.&lt;br /&gt;
&lt;br /&gt;
This is discussed, including workarounds here: http://ati.cchtml.com/show_bug.cgi?id=239&lt;br /&gt;
&lt;br /&gt;
===No power saving when CRT in use===&lt;br /&gt;
&lt;br /&gt;
When both CRT and LCD are in use, power saving cannot be enabled.&lt;br /&gt;
&lt;br /&gt;
This is reported here: http://ati.cchtml.com/show_bug.cgi?id=304&lt;br /&gt;
&lt;br /&gt;
===WineX / Cedega Installs Software But Errors on Loading Games===&lt;br /&gt;
&lt;br /&gt;
Some users may experience problems with certain FIREGL cards (in my case an ibm t43p laptop with a v3200 ati firegl) whereby projects such as cedega and wine refuse to work with 3d graphics, but native binaries (e.g. quake 4) work fine. A possible workaround is to add the following line in the drivers section of your /etc/X11/xorg.conf &lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;UseFastTLS&amp;quot; &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This option used to be configured with the older ati drivers when you ran &amp;quot;fglrxconfig&amp;quot;. I have not yet found a way to get it to appear with &amp;quot;aticonfig&amp;quot;, hence the manual insertion. This option is good for several linux distros I have tried, fedora core 5, ubuntu dapper and suse 10.1. It does not appear to effect performance on natively run programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Line Appears Below Mouse Cursor===&lt;br /&gt;
&lt;br /&gt;
Some users have reported seeing a line approximately 1 mouse height below the bottom edge of the cursor, which follows the mouse and appears to change color based on the image below the cursor.  This has been seen to happen using fglrx without the kernel module installed (in 2D mode) and additionally on external displays or multiple X servers.  To work around the problem, try disabling the DGA extension by making the following changes to your XFree86.conf or xorg.conf file.  Replace (or comment-out)&lt;br /&gt;
 Load &amp;quot;extmod&amp;quot;&lt;br /&gt;
with&lt;br /&gt;
 SubSection  &amp;quot;extmod&amp;quot;&lt;br /&gt;
  Option  &amp;quot;omit xfree86-dga&amp;quot;&lt;br /&gt;
 EndSubSection&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
The following patches might be needed for certain versions of fglrx.&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.23.7===&lt;br /&gt;
* For kernel 2.6.16: [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.22.5-intermodule.patch &amp;lt;tt&amp;gt;intermodule&amp;lt;/tt&amp;gt; patch] and [http://mirror.espri.arizona.edu/gentoo/rsync/x11-drivers/ati-drivers/files/ati-drivers-8.23.7-noiommu.patch &amp;lt;tt&amp;gt;noiommu&amp;lt;/tt&amp;gt; patch]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.21.7===&lt;br /&gt;
&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.20.8===&lt;br /&gt;
&lt;br /&gt;
* [http://marc.theaimsgroup.com/?l=linux-kernel&amp;amp;m=113429835515001&amp;amp;w=2 for kernel 2.6.15]&lt;br /&gt;
or&lt;br /&gt;
* [http://www.ksp.sk/~rasto/fglrx_with_2.6.15.patch for kernels &amp;gt;= 2.6.15]&lt;br /&gt;
&lt;br /&gt;
===fglrx (problem met at least with version 8.18.8)===&lt;br /&gt;
* [http://lkml.org/lkml/2005/9/22/183 for kernel &amp;gt;= 2.6.13 ]  Missing verify_area bug&lt;br /&gt;
&lt;br /&gt;
===fglrx 8.8.25 ===&lt;br /&gt;
* [http://www.rage3d.com/board/showthread.php?t=33798874 for kernels &amp;gt;= 2.6.10]&lt;br /&gt;
* [http://www.gehirn.org.uk/wiki/images/8.8.25-kernel-2.6.11+.patch For kernels &amp;gt;= 2.6.11-rc1]&lt;br /&gt;
&lt;br /&gt;
===Links ===&lt;br /&gt;
* [http://gentoo-wiki.com/HOWTO_ATI_Drivers Gentoo HOWTO ATI]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ipw3945&amp;diff=24445</id>
		<title>Ipw3945</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ipw3945&amp;diff=24445"/>
		<updated>2006-09-02T14:22:51Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add Debian Package Information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter ===&lt;br /&gt;
This is a Mini-PCI Express WiFi Adapter&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: Intel WM3945AG&lt;br /&gt;
* IEEE Standards: 802.11a, 802.11b, 802.11g&lt;br /&gt;
* PCI ID: 8086:4227&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:3945abg.jpg|Mini-PCI WiFi Adapter]]&lt;br /&gt;
|}&lt;br /&gt;
=== IBM Partnumbers ===&lt;br /&gt;
41A4068 (From [http://www.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-62764 Wireless &amp;amp; networking accessories - ThinkPad T60/p])&lt;br /&gt;
&lt;br /&gt;
{{NOTE| Only the IBM Parts will work, any other parts will give an 1802 error on Post because the sub-vendor PCI ID is different, see [[Problem with unauthorized MiniPCI network card]] for more details}}&lt;br /&gt;
&lt;br /&gt;
=== Also known (in IBM literature) as.... ===&lt;br /&gt;
* From [http://www.ibm.com/common/ssi/rep_ca/8/897/ENUS106-068/ENUS106-068.PDF annoucement letter 106-068], 'Intel PRO/Wireless 3945ABG8 wireless connection'&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
*{{Fedora}} &lt;br /&gt;
** Packages: http://www.atrpms.net/dist/fc5/ipw3945&lt;br /&gt;
** Helpful Thread: http://www.linuxquestions.org/questions/showthread.php?t=436357&lt;br /&gt;
** ATrpms yum repo rpm: http://atrpms.net/dist/common/atrpms/atrpms-67-1.at.noarch.rpm.html&lt;br /&gt;
** '''NOTE:''' The T60p uses the smp kernel which the ipw3945 yum install does not provide.  You will need the smp kernel for your architecture found at http://www.atrpms.net/dist/fc5/ipw3945.  Remove the non-smp kernel and replace it with the appropriate smp kernel.  Wireless works great for me... --[[User:Herlo|Herlo]] 18:06, 22 June 2006 (CEST)&lt;br /&gt;
*{{Mandriva}} &lt;br /&gt;
** Mandriva's kernel comes with the ipw3945 module (since at least 2006.0 Update One)&lt;br /&gt;
** dkms package (dkms-ipw3945) can be found in contrib (currenlty cooker only, thus will probably be in 2007.0)&lt;br /&gt;
** Additional Packages: ipw3945d and ipw3945-ucode, both either available in the commercial distribution (or club) or from http://plf.zarb.org/&lt;br /&gt;
*{{Gentoo}}&lt;br /&gt;
*{{Debian}}&lt;br /&gt;
** The ipw3945 microcode is available in the [http://packages.debian.org/experimental/admin/firmware-ipw3945 firmware-ip3945] package (currently only in experimental).&lt;br /&gt;
** The ipw3945 regulatory daemon and module source are in the process of being packaged.  See Bugs [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=372118 #372118] and [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363967 #363967].&lt;br /&gt;
** Unofficial packages are available from [http://ace-host.stuart.id.au/russell/files/debian/sarge/ipw3945/ Russell Stuart], [http://kanotix.com/files/debian/pool/contrib/i/ Stefan Lippers-Hollmann], and [http://www.joachim-reichel.de/debian/sid/ Joachim Reichel].&lt;br /&gt;
*{{Ubuntu}} &lt;br /&gt;
** Ubuntu Dapper has already built in this drivers; it works out from the box.&lt;br /&gt;
&lt;br /&gt;
=== Linux WiFi driver ===&lt;br /&gt;
The most recent revision of the Intel Centrino platform utilizes a new generation of wireless networking device connected to the system via '''PCI-E''', and not PCI (like the [[ipw2200]]-line used to do). Therefore, a new driver must be used. A sourceforge-project supporting the new cards is available at [http://ipw3945.sourceforge.net/ http://ipw3945.sourceforge.net/]. However, as of today, the project's code ([http://downloadfinder.intel.com/scripts-df-external/detail_desc.aspx?ProductID=2259&amp;amp;DwnldID=10315&amp;amp;agr=Y Stable Release 1.0.0]) depends on a '''binary-only, proprietary''' user-space-daemon communicating with the driver via sysfs. It is '''not possible''' to operate this device with Free Software exclusively at the moment. The license-terms the daemon is released under prohibit reverse-engineering of the communication-protocol; this will hopefully not hold developers outside the US, where clauses like this one are not enforceable, from re-implementing a free variant of some sort.&lt;br /&gt;
==== External Discussion ====&lt;br /&gt;
This issue already sparked discussions on the [http://lkml.org/ Linux Kernel Mailing List], accessible via [http://lkml.org/lkml/2006/2/24/266 http://lkml.org/lkml/2006/2/24/266].&lt;br /&gt;
&lt;br /&gt;
==== Current State ====&lt;br /&gt;
The [[ipw2200]]-drivers in kernel 2.6.15 (and possibly later) do '''not''' work with this adapter. There is '''no mainline-kernel support''' at the moment, and without a change in the license of the required user-space-daemon, or mechanics of the code itself, '''probably''' will never be any.&lt;br /&gt;
&lt;br /&gt;
==== Some comments ====&lt;br /&gt;
ipw3945 works with [http://ipw3945.sourceforge.net/ http://ipw3945.sourceforge.net/] drivers. &lt;br /&gt;
A Spanish summary, but easy to understand about how to install:&lt;br /&gt;
[EsDebian-es Forum|http://www.esdebian.org/forum/viewtopic.php?forum=18&amp;amp;showtopic=69543], maxim_o message (longer)&lt;br /&gt;
&lt;br /&gt;
Thinkpad topic: remember to switchon the wireless-switch! But you will not be able to enable the Wireless LED with Fn+F5, it is not a problem.&lt;br /&gt;
&lt;br /&gt;
One more comment: if you want monitor mode, you need to uncomment CONFIG_IPW3945_MONITOR=y line from ipw3645-1.1.0 Makefile.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this card may be found in ===&lt;br /&gt;
* {{T60}}, {{T60p}}&lt;br /&gt;
* {{X60}}, {{X60s}}&lt;br /&gt;
* {{Z61e}}, {{Z61m}}, {{Z61t}}, {{Z61p}}&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=23574</id>
		<title>List of DMI IDs</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=List_of_DMI_IDs&amp;diff=23574"/>
		<updated>2006-07-25T02:16:58Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Added Numbered series and info. for 600E&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
This page maintains a database of [http://en.wikipedia.org/wiki/Desktop_Management_Interface DMI] information which can be used to identify ThinkPad models. It is intended as an aid for driver development.&lt;br /&gt;
{{HELP|We need more information about older models, especially those released before 2004. Please [[#Adding_entries|add your model]] to the database.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==DMI ID database==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 80%&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Model&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;product-&amp;lt;br /&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;system-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;product-&amp;lt;br /&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;baseboard-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;manufa&amp;lt;br /&amp;gt;cturer&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;chassis-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;vendor&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;version&amp;lt;/tt&amp;gt;&lt;br /&gt;
! &amp;lt;tt&amp;gt;bios-&amp;lt;br /&amp;gt;release-&amp;lt;br /&amp;gt;date&amp;lt;/tt&amp;gt;&lt;br /&gt;
! Embedded controller&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered series====&lt;br /&gt;
|-&lt;br /&gt;
| {{600E}} 2645-5AU&lt;br /&gt;
|| IBM || 26455AU || Not Available || IBM || 26455AU || Not Available || IBM || Not Available || IBM || INET36WW || 11/20/1999&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====A series====&lt;br /&gt;
|-&lt;br /&gt;
| {{A22p}} 2629-USG&lt;br /&gt;
|| IBM || 2629USG || Not Available || IBM || 2629USG || Not Available || IBM || Not Available || IBM || KYET36WW (1.09a) || 10/17/2002 &lt;br /&gt;
||  || &lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====G series====&lt;br /&gt;
|-&lt;br /&gt;
| {{G41}} 2881-75M&lt;br /&gt;
|| IBM || 288175M || ThinkPad G41 || IBM || 288175M || Not Available || IBM || Not Available || IBM || 1XET47WW (1.06 ) || 01/14/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====R series====&lt;br /&gt;
|-&lt;br /&gt;
| {{R40}} 2681-5UU&lt;br /&gt;
|| IBM || 26815UU || Not Available || IBM || 26815UU || Not Available || IBM || Not Available || IBM || 1OET57WW (1.23 ) || 03/23/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad H || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET58WW (1.18 ) || 07/19/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;	String 1: IBM ThinkPad Embedded Controller -[76HT14WW-1.04    ]-&amp;lt;/nowiki&amp;gt; || weird system version&lt;br /&gt;
|-&lt;br /&gt;
| {{R52}} 1846-AQG&lt;br /&gt;
|| IBM || 1846AQG || ThinkPad R52  || IBM || 1846AQG || Not Available || IBM || Not Available || IBM || 76ET65WW (1.25 ) || 05/18/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;      String 1: IBM ThinkPad Embedded Controller -[76HT16WW-1.06    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-9MG&lt;br /&gt;
|| IBM || 18299MG || ThinkPad R51 || IBM || 18299MG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 1829-L7G&lt;br /&gt;
|| IBM || 1829L7G || ThinkPad R51 || IBM || 1829L7G || Not Available || IBM || Not Available || IBM || 1RETDNWW (3.19 ) || 10/13/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT70WW-3.03    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{R51}} 2883-ELU&lt;br /&gt;
|| IBM || 2883ELU || ThinkPad R51 || IBM || 2883ELU || Not Available || IBM || Not Available || IBM || 1VET69WW (1.27 ) || 03/03/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1VHT28WW-1.04    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====T series====&lt;br /&gt;
|-&lt;br /&gt;
| {{T40}} 2378-D2U&lt;br /&gt;
|| IBM || 2378D2U || ThinkPad T40 || IBM || 2378D2U || Not Available || IBM || Not Available || IBM || 1RETC2WW (3.03 ) || 04/07/2004&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T40p}} 2373-G1G&lt;br /&gt;
|| IBM || 2373G1G || ThinkPad T40p || IBM || 2373G1G || Not Available || IBM || Not Available || IBM || 1RETDPWW (3.21 ) || 06/02/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T41}} 23732FG&lt;br /&gt;
|| IBM || 23732FG || ThinkPad T41 || IBM || 23732FG || Not Available || IBM || Not Available || IBM || 1RET84WW (2.11 ) || 10/30/2003&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T42p}} 2373GYG&lt;br /&gt;
|| IBM || 2373GYG || ThinkPad T42p || IBM || 2373GYG || Not Available || IBM || Not Available || IBM || 1RETDOWW (3.20 ) || 02/27/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1RHT71WW-3.04    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43}} 2686-DGU&lt;br /&gt;
|| IBM || 2686DGU || ThinkPad T43 || IBM || 2686DGU || Not Available || IBM || Not Available || IBM || 1YET62WW (1.27 ) || 05/18/2006&lt;br /&gt;
||      String 1: IBM ThinkPad Embedded Controller -[1YHT29WW-1.06    ]- ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T43p}} 2668-G2G&lt;br /&gt;
|| IBM || 2668G2G || ThinkPad T43p || IBM || 2668G2G || Not Available || IBM || Not Available || IBM || 1YET47WW (1.08 ) || 06/09/2005 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[1YHT26WW-1.03    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60}} 2007-49G&lt;br /&gt;
|| LENOVO || 200749G || ThinkPad T60 || LENOVO || 200749G || Not Available || LENOVO || Not Available || LENOVO || 79ET62WW (1.07 ) || 06/12/2006 &lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT45WW-1.04    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{T60p}} 2007-83U&lt;br /&gt;
|| LENOVO || 200783U || ThinkPad T60p || LENOVO || 200783U || Not Available || LENOVO || Not Available || LENOVO || 79ET60WW (1.05a) || 04/18/2006 || &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[79HT43WW-1.02    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====X series====&lt;br /&gt;
|-&lt;br /&gt;
| {{X60}} 1709-47U&lt;br /&gt;
|| LENOVO || 170947U || ThinkPad X60 || LENOVO || 170947U || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{X60s}} 1702-55G&lt;br /&gt;
|| LENOVO || 170255G || ThinkPad X60s || LENOVO || 170255G || Not Available || LENOVO || Not Available || LENOVO || 7BET44WW (1.04 ) || 03/13/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7BHT29WW-1.02    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
! colspan=14 style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Z series====&lt;br /&gt;
|- &lt;br /&gt;
| {{Z60m}} 2529-FKG&lt;br /&gt;
|| IBM || 2529FKG || ThinkPad Z60m || IBM || 2529FKG || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
||      String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]- ||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z61m}} 9453-A11&lt;br /&gt;
|| LENOVO || 9453A11 || ThinkPad Z61m || LENOVO || 9453A11 || Not Available || LENOVO || Not Available || LENOVO || 7FET48WW (1.08 ) || 05/26/2006&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[7FHT21WW-1.03    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
| {{Z60t}} 2511-FEU&lt;br /&gt;
|| IBM || 2511FEU || ThinkPad Z60t || IBM || 2511FEU || Not Available || IBM || Not Available || IBM || 77ET42WW (1.05 ) || 11/19/2005&lt;br /&gt;
|| &amp;lt;nowiki&amp;gt;     String 1: IBM ThinkPad Embedded Controller -[77HT28WW-1.02    ]-&amp;lt;/nowiki&amp;gt; ||&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Adding entries==&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Edit&amp;quot; link on the appropriate series above and add an entry of the following form:&lt;br /&gt;
:&amp;lt;tt&amp;gt;!-&amp;lt;/tt&amp;gt;&lt;br /&gt;
:&amp;lt;tt&amp;gt;| &amp;lt;/tt&amp;gt;&amp;lt;i&amp;gt;description of your model&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 1&amp;lt;/i&amp;gt;&lt;br /&gt;
:&amp;lt;i&amp;gt;data line 2&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where the two data lines are genereated by the following &amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for X in system-{manufacturer,product-name,version} \&lt;br /&gt;
  baseboard-{manufacturer,product-name,version} \&lt;br /&gt;
  chassis-{manufacturer,version} bios-{vendor,version,release-date}; do \&lt;br /&gt;
  echo -n &amp;quot;|| `sudo /usr/sbin/dmidecode -s $X` &amp;quot;; done; echo; \&lt;br /&gt;
  echo &amp;quot;|| &amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;`sudo /usr/sbin/dmidecode | grep -i 'embedded controller'`&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt; ||&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Software using ThinkPad DMI IDs==&lt;br /&gt;
* [[HDAPS]] driver whitelist&lt;br /&gt;
* [[tp_smapi]] driver whitelist&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=23573</id>
		<title>Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=23573"/>
		<updated>2006-07-25T01:48:21Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add PCMCIA Information for 600E&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The following table headings shall designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* FDD = Internal/UltraBay Diskette (&amp;quot;Floppy&amp;quot;) drive (also called &amp;quot;Legacy FDD&amp;quot;)&lt;br /&gt;
* CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive&lt;br /&gt;
* Network = any type of network boot support (such as PXE)&lt;br /&gt;
* PCMCIA = any memory device connected via the PCMCIA/PC Card/CardBus port&lt;br /&gt;
* USB HD = any hard drive/flash drive/pen drive connected via the USB port&lt;br /&gt;
* USB FDD = Diskette (&amp;quot;Floppy&amp;quot;) drive connected via the USB port&lt;br /&gt;
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port&lt;br /&gt;
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = supported (may be selected from the BIOS)&lt;br /&gt;
* no = not supported (BIOS incapable of booting to this type of device)&lt;br /&gt;
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only).  Please add footnote/link documenting the specifics.&lt;br /&gt;
* v#.## = only with BIOS versions &amp;amp;ge; #.##&lt;br /&gt;
* N/A = not applicable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|5}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- According to DMI data --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 441D6183.6070009@rogers.com --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- According to message on ML ID: 441D6183.6070009@rogers.com --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 441D6183.6070009@rogers.com --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50 | R50]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|4}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- seen on IBM BIOS simulator, not tested --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- seen on IBM BIOS simulator, not tested --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T60 | T60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | part{{footnote|1}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X60s]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Z Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | Z60m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|6}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | Z60t]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Others====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:TransNote | TransNote]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#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).&lt;br /&gt;
#Internal CD/FD means the ones in the UltraBase for X series and 570 models.&lt;br /&gt;
#Requires an external Floppy drive attached to Port Replicator or Dock&lt;br /&gt;
#Requires that the user select the drive from the disk option shown after clicking F12 on the boot sequence.&lt;br /&gt;
#Boots from a flash memory drive, i.e. CompactFlash (with PCMCIA adapter).&lt;br /&gt;
#It is working with lilo boot loader, however it failed with syslinux.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=20974</id>
		<title>Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=20974"/>
		<updated>2006-03-19T15:24:20Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Added info for R31 USB devices&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The following table headings shall designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* FDD = Internal/UltraBay Diskette (&amp;quot;Floppy&amp;quot;) drive (also called &amp;quot;Legacy FDD&amp;quot;)&lt;br /&gt;
* CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive&lt;br /&gt;
* Network = any type of network boot support (such as PXE)&lt;br /&gt;
* PCMCIA = any memory device connected via the PCMCIA/PC Card/CardBus port&lt;br /&gt;
* USB HD = any hard drive/flash drive/pen drive connected via the USB port&lt;br /&gt;
* USB FDD = Diskette (&amp;quot;Floppy&amp;quot;) drive connected via the USB port&lt;br /&gt;
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port&lt;br /&gt;
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = supported (may be selected from the BIOS)&lt;br /&gt;
* no = not supported (BIOS incapable of booting to this type of device)&lt;br /&gt;
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only).  Please add footnote/link documenting the specifics.&lt;br /&gt;
* v#.## = only with BIOS versions &amp;amp;ge; #.##&lt;br /&gt;
* N/A = not applicable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 441D6183.6070009@rogers.com --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- According to message on ML ID: 441D6183.6070009@rogers.com --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 441D6183.6070009@rogers.com --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50 | R50]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|4}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- seen on IBM BIOS simulator, not tested --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- seen on IBM BIOS simulator, not tested --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T60 | T60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | part{{footnote|1}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X60s]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Z Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | Z60m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | Z60t]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Others====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:TransNote | TransNote]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#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).&lt;br /&gt;
#Internal CD/FD means the ones in the UltraBase for X series and 570 models.&lt;br /&gt;
#Requires an external Floppy drive attached to Port Replicator or Dock&lt;br /&gt;
#Requires that the user select the drive from the disk option shown after clicking F12 on the boot sequence.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:S3_Savage_IX8&amp;diff=20758</id>
		<title>Talk:S3 Savage IX8</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:S3_Savage_IX8&amp;diff=20758"/>
		<updated>2006-03-09T14:51:05Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Where to put quirks/tips?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quirks/Tips moved to drivers page? ==&lt;br /&gt;
After doing a little cleanup on the page, I began wondering if we should move both the Quirks and Tips information out of this page and into the savage page (for the tips relating to the savage X driver) and into a savagefb page (for the savagefb module) and limit this page to the hardware-related information of the Savage chip.  However, since some of the problems (notably the 3D acceleration problems) may be due to interactions between kernel modules (the savage DRM module, the savagefb console module) and the savage X driver, it is not clear exactly where they should be documented and this page seems like a good compromise.  Any thoughts?&lt;br /&gt;
--[[User:Kevinoid|Kevinoid]] 15:51, 9 March 2006 (CET)&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=20757</id>
		<title>S3 Savage IX8</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=20757"/>
		<updated>2006-03-09T14:45:30Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Cleanup and Information about 3D acceleration&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== S3 Savage IX8 or IX8+===&lt;br /&gt;
This is a S3 video adapter&amp;lt;br&amp;gt;&lt;br /&gt;
S3 is now owned by Via Technologies&lt;br /&gt;
&lt;br /&gt;
The IX8 and IX8+ chips share the same PCI-ID&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: S3&lt;br /&gt;
* PCI ID: 5333:8c12&lt;br /&gt;
* AGP 2X&lt;br /&gt;
* 8MB SGRAM video memory&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the '[[savage]]' driver as part of the X.Org distribution.&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correctly.&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
Works. Fn-F7 switches between LCD and CRT. To use both, use [http://www.probo.com/timr/savage40.html s3switch] (on some models you need to run &amp;quot;'''s3switch lcd crt tv'''&amp;quot; even if you want only CRT and LCD, otherwise the CRT display is corrupted).  You can also use [[ibm-acpi]] to control video output by echoing commands to /proc/acpi/ibm/video.&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
Works. Use [http://www.probo.com/timr/savage40.html s3switch] to change display output in software.&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
This chip will work with either the 'vesa' or 'savagefb' driver as part of any recent 2.4 or 2.6 kernel.&lt;br /&gt;
&lt;br /&gt;
=== Tips ===&lt;br /&gt;
==== Console Resolution Tip ====&lt;br /&gt;
To get nice 1400x1050 (some models have such displays) resolution in console try adding: &amp;lt;tt&amp;gt;vga=0x33c video=vesa:ywrap,mtrr&amp;lt;/tt&amp;gt; to your kernel parameters (in your bootloader config).&lt;br /&gt;
&lt;br /&gt;
==== Dual Monitor Tip ====&lt;br /&gt;
The chip supports using an external monitor plus the LCD as one big monitor. This can lead to a problem&lt;br /&gt;
if X is configured for this, but the external monitor has been detached. This creates a ghost monitor that you &lt;br /&gt;
cannot see, but can move the mouse onto and applications can open windows on.&lt;br /&gt;
&lt;br /&gt;
Sometimes in this situation it's necessary to grab a window from the ghost monitor and drag it into view.&lt;br /&gt;
This can be done by moving the mouse onto the ghost screen and then holding down the ALT key, which allows you&lt;br /&gt;
to click-and-drag a window back into view. To see what is on the ghost monitor, a screen capture utility like&lt;br /&gt;
Ksnapshot can help you. When it takes a screenshot of the entire screen, it will show the contents of the ghost&lt;br /&gt;
screen, even though you can't see it directly. &lt;br /&gt;
&lt;br /&gt;
=== Quirks ===&lt;br /&gt;
==== Power Management and savagefb ====&lt;br /&gt;
The savagefb appears to interfere with acpi sleep. (tested on 2.6 kernels up to 2.6.12)  There are also some display problems with savagefb including limiting boot text to a 800x600 window centered in a 1024x768 display and problems with libdirectfb.  For those reasons, vesafb is recommended as the framebuffer driver.&lt;br /&gt;
&lt;br /&gt;
==== Video-related System Lockups ====&lt;br /&gt;
Some quirks in the interactions between the OS and the Savage hardware can cause system lockups, especially due to high video load and 3D rendering operations.  For a more complete description of this problem and the workarounds, see the [[Problem with video related system lockup]] page.&lt;br /&gt;
&lt;br /&gt;
==== The Black 'X' (old X pointer) Problem ====&lt;br /&gt;
On some systems a black 'X' (which is actually the old default XFree86 pointer) appears frozen in the middle of the screen inside of X Windows.  This problem can be remedied by setting&lt;br /&gt;
&lt;br /&gt;
 Option &amp;quot;SWCursor&amp;quot; &amp;quot;on&amp;quot;&lt;br /&gt;
&lt;br /&gt;
in xorg.conf.  Also see the [[Problem with black X]] page for more information.&lt;br /&gt;
&lt;br /&gt;
==== 3D Acceleration Quirks ====&lt;br /&gt;
If 3D acceleration is not working on your system (after installing the DRM savage module), or 3D programs are exhibiting strange behavior, one of the following changes may fix the problem.  First, most Savage chips do not have enough video memory to support 3D textures and acceleration with a frame buffer depth of 24 bits.  Therefore, you may need to change &amp;quot;DefaultDepth 24&amp;quot; to &amp;quot;DefaultDepth 16&amp;quot; in the &amp;quot;Screen&amp;quot; section of xorg.conf (and of course provide the appropriate subsection for 16 bit depth if it is not present).  Also, adding one of both of the following configuration options to the &amp;quot;Device&amp;quot; section of your xorg.conf may solve the video quirks (also explained in the [[Problem with video related system lockup|video related system lockup]] page)&lt;br /&gt;
&lt;br /&gt;
 Option     &amp;quot;BusType&amp;quot; &amp;quot;PCI&amp;quot;&lt;br /&gt;
 Option     &amp;quot;DmaMode&amp;quot; &amp;quot;None&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{A22e}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_video_related_system_lockup&amp;diff=20756</id>
		<title>Problem with video related system lockup</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_video_related_system_lockup&amp;diff=20756"/>
		<updated>2006-03-09T13:45:47Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add information about 3D related video lockups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information about the problem of system lockups related to high video load.&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
&lt;br /&gt;
Occasionally, under high video load (e.g. scrolling text or moving windows), the computer becomes unresponsive or the computer becomes unresponsive during 3D rendering.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
&lt;br /&gt;
*ThinkPad {{A22e}}&lt;br /&gt;
*ThinkPad {{T20}}, {{T21}}, {{T22}}, {{T23}}&lt;br /&gt;
*other ThinkPads with an S3 Savage video card&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
&lt;br /&gt;
*Any OS using the XFree86/Xorg 'savage' driver&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
The problem of lockups due to 2D video load is already known about/solved by the driver development team.  According to the savage manual page, the problem is related to &amp;quot;a chip bug in the Savage graphics engine that causes a bus lock when reading from the engine status register under high load&amp;quot;.  Also according to the same source, &amp;quot;the bug affects about 4% of all Savage users.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The problem of lockups or video corruption as a result of 3D rendering is less well-known/understood.  There appears to be a bug in AGP on Thinkpads interacting with Savage graphics cards.  For reference, there was a [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2006-March/032672.html recent discussion] of this problem on the Linux-Thinkpad Mailing List.&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
&lt;br /&gt;
If lockups are occuring under 2D video load (moving windows, scrolling), or you are using XFree86 or an XOrg version older than 6.8.x, add the following line to the Device section of your XF86Config-4/xorg.conf file:&lt;br /&gt;
&lt;br /&gt;
 Option     &amp;quot;ShadowStatus&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If you are experiencing lockups related to 3D rendering (using DRI) and you are using an XOrg version more recent than 6.9/7.0, you may need to add one or both of the following lines to the Devices section of your xorg.conf file:&lt;br /&gt;
&lt;br /&gt;
 Option     &amp;quot;BusType&amp;quot; &amp;quot;PCI&amp;quot;&lt;br /&gt;
 Option     &amp;quot;DmaMode&amp;quot; &amp;quot;None&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Related Links==&lt;br /&gt;
&lt;br /&gt;
*[http://www.xfree86.org/4.3.0/savage.4.html XFree86 Savage(4) Manual Page]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=17358</id>
		<title>Talk:Problem with unauthorized MiniPCI network card</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Problem_with_unauthorized_MiniPCI_network_card&amp;diff=17358"/>
		<updated>2005-12-14T04:44:59Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Affected Models ==&lt;br /&gt;
I am unsure about which models this applies to.  I have seen reports of this problem affecting a T41p, T43, X40, R31, X31, and T30; but I do not know how far back this problem goes or if there are exceptions.  If anyone has better information, please clarify/specify the &amp;quot;Affected Models&amp;quot; section. --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;br /&gt;
&lt;br /&gt;
== Solution on T43? ==&lt;br /&gt;
There were several edits to the previous page to the effect that &amp;quot;this didn't work for my T43&amp;quot;.  Although I do not weight this as highly credible (please just ask for help on the ML rather than adding random comments to pages), I did feel that it deserved a mention that the solution may not work on the T43.  If anyone can confirm or deny this statement, please do so (and possibly ask on the ML for solutions if it does not work for you). --[[User:Kevinoid|Kevinoid]] 05:44, 14 Dec 2005 (CET)&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Known_Problems&amp;diff=13305</id>
		<title>Known Problems</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Known_Problems&amp;diff=13305"/>
		<updated>2005-12-14T04:38:30Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add link to unauthorized MiniPCI card problem page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
Information on known problems with certain ThinkPad models.&lt;br /&gt;
|}&lt;br /&gt;
==Display Problems==&lt;br /&gt;
*[[Problem with unusable console | Console unusable]] &amp;lt;tt&amp;gt;(models with savage video chipset: T2x, A22e)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with Pixel Error | Dead pixels on TFT displays]] &amp;lt;tt&amp;gt;(all models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with DVI throughput | DVI throughput on port replicators and docks]] &amp;lt;tt&amp;gt;(models from 2000-2004)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problems with fglrx | fglrx problems]] &amp;lt;tt&amp;gt;(ATI Radeon models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with garbled screen | Garbled Screen]] &amp;lt;tt&amp;gt;(T40, T41, T42, R40, A30, A31)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with key and trackpoint markings on the display | Key and Trackpoint markings on display]]&lt;br /&gt;
*[[Problem with red display shadow | Red shadow on display]] &amp;lt;tt&amp;gt;(TP T41p)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with red tinted display | Red tinted display]] &amp;lt;tt&amp;gt;(TP 23)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with black X | Unmovable square black X in X]] &amp;lt;tt&amp;gt;(TP T2x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with video related system lockup | System Lockups related to video adapter]] &amp;lt;tt&amp;gt;(TP T2x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://bugs.freedesktop.org/show_bug.cgi?id=2000 X/Radeon makes Fn+F7 not function] &amp;lt;tt&amp;gt;(Xorg-X11 bug report)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://bugs.freedesktop.org/show_bug.cgi?id=2187 Radeon 7500 &amp;quot;DynamicClocks&amp;quot; randomly hangs] &amp;lt;tt&amp;gt;(TP T4x, Xorg-X11 bug report)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Network Problems==&lt;br /&gt;
*[[Problem with 3Com 10/100 Ethernet card not being recognized|3Com 10/100 Ethernet card not recognized]] &amp;lt;tt&amp;gt;(models with that card)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with unauthorized MiniPCI network card|&amp;quot;Unauthorized&amp;quot; MiniPCI Wireless Network card error (Error 1802)]] &amp;lt;tt&amp;gt;(Recent TPs)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Cisco Aironet Wireless 802.11b]] fails to work with certain firmware versions&lt;br /&gt;
&lt;br /&gt;
==Power Management, AC-adapter or Battery Problems==&lt;br /&gt;
*[[Problem with Thinkpad 600 batteries | 600 series Battery dying prematurely]] &amp;lt;tt&amp;gt;(TP 600/E/X)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Damage in 56W AC-Adapter, plastic housing melted |AC-Adapter damaged, plastic housing melted]] &amp;lt;tt&amp;gt;(240, 390, i and s models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with display remaining black after resume|Blank display after resume]] &amp;lt;tt&amp;gt;(various models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with fan noise | Fan noise]] &amp;lt;tt&amp;gt;(TP T4x/p, TP R5x/p)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with high power drain in ACPI sleep | High power drain in ACPI sleep]] &amp;lt;tt&amp;gt;(various models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with LCD backlight remaining on during ACPI sleep | LCD backlight remaining on during ACPI sleep]] &amp;lt;tt&amp;gt;(various models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with checking battery status | Checking battery status causes mouse to jerk around]] &amp;lt;tt&amp;gt;(R31)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sound Problems==&lt;br /&gt;
*[[Problem with broken sound on ThinkPad 600 | Broken sound on ThinkPad 600/E]] &amp;lt;tt&amp;gt;(TP 600/E/X, 770Z)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Misc Problems==&lt;br /&gt;
*[[Problem with Bending / Twisting|Casing malformed by bending/twising]] &amp;lt;tt&amp;gt;(X41)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with Dock USB Ports | Dock USB Ports]] &amp;lt;tt&amp;gt;(T30)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with hard drive clicking | Clicking Hard Drive]] &amp;lt;tt&amp;gt;(models with Hitachi's 5k80 hard drive)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with high pitch noises | High pitch noises]] &amp;lt;tt&amp;gt;(several models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with lm-sensors | lm_sensors kills ThinkPads]] &amp;lt;tt&amp;gt;(TP 570E, 770X/Z, 600E/X, 240, X20)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with USB 2.0 | USB 2.0 problems]] &amp;lt;tt&amp;gt;(T4x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problems with SATA and Linux|SATA and Linux]] &amp;lt;tt&amp;gt;(T43, X41, R52, Z60)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with non-ThinkPad hard disks|Non-ThinkPad hard disks]] &amp;lt;tt&amp;gt;(T43, X41, R52)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with too large harddrive|BIOS hangs with harddrive sized over 8G]] &amp;lt;tt&amp;gt;(560)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[de:Bekannte_Probleme]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Wireless_Network_Adapters&amp;diff=14277</id>
		<title>Wireless Network Adapters</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Wireless_Network_Adapters&amp;diff=14277"/>
		<updated>2005-12-14T04:32:16Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Cut out &amp;quot;unauthorized network card&amp;quot; problem and redirect to problem page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document covers IBM integrated (MiniPCI), Cardbus and PC Card (PCMCIA) Wi-Fi devices.&lt;br /&gt;
&lt;br /&gt;
== Finding out which adapter you have ==&lt;br /&gt;
For MiniPCI or Cardbus adapters run the command:&lt;br /&gt;
  lspci -n | grep &amp;quot;Class 0200&amp;quot;&lt;br /&gt;
And compare the PCI IDS with the ones below.&lt;br /&gt;
&lt;br /&gt;
Note: This will also return the PCI IDS of any Ethernet adapters, as Ethernet adapters and Wireless adapters share the same PCI Class ID.&lt;br /&gt;
&lt;br /&gt;
== MiniPCI adapters ==&lt;br /&gt;
=== Atheros ===&lt;br /&gt;
*[[IBM Dual-Band 11a/b Wi-Fi Wireless Mini PCI Adapter]] &amp;lt;tt&amp;gt;(PCI-ID: 168c:0012)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[IBM 11b/g Wireless LAN Mini PCI Adapter]] &amp;lt;tt&amp;gt;(PCI-ID: 168c:0013)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[IBM 11a/b/g Wireless LAN Mini PCI Adapter]] &amp;lt;tt&amp;gt;(PCI-ID: 168c:1014)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[IBM 11a/b/g Wireless LAN Mini PCI Adapter II]] &amp;lt;tt&amp;gt;(PCI-ID: 168c:1014)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[ThinkPad 11a/b/g Wireless LAN Mini Express Adapter]]&lt;br /&gt;
&lt;br /&gt;
=== Cisco ===&lt;br /&gt;
*[[Cisco Aironet Wireless 802.11b]] &amp;lt;tt&amp;gt;(PCI-ID: 14b9:a504)&amp;lt;/tt&amp;gt;&lt;br /&gt;
=== Intel ===&lt;br /&gt;
*[[Intel PRO/Wireless LAN 2100 3B Mini PCI Adapter]] &amp;lt;tt&amp;gt;(PCI-ID: 8086:1043)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Intel PRO/Wireless 2200BG Mini-PCI Adapter]] &amp;lt;tt&amp;gt;(PCI-ID: 8086:4220)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Intel PRO/Wireless 2915ABG Mini-PCI Adapter]] &amp;lt;tt&amp;gt;(PCI-ID: 8086:4224)&amp;lt;/tt&amp;gt;&lt;br /&gt;
=== Prism ===&lt;br /&gt;
*[[IBM High Rate Wireless LAN Mini-PCI Adapter with Modem]] &amp;lt;tt&amp;gt;(PCI-ID: 1260:3873)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[IBM High Rate Wireless LAN Mini-PCI Adapter with Modem II]] &amp;lt;tt&amp;gt;(PCI-ID: 1260:3873)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[IBM High Rate Wireless LAN Mini-PCI Adapter III]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Unauthorized&amp;quot; MiniPCI network card ===&lt;br /&gt;
Attempts to install an unsupported card will result in the following message:&lt;br /&gt;
&lt;br /&gt;
   1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.&lt;br /&gt;
&lt;br /&gt;
For a resolution, see the [[Problem with unauthorized MiniPCI network card]] page.&lt;br /&gt;
&lt;br /&gt;
== Cardbus adapters ==&lt;br /&gt;
Cardbus is a 32bits bus that runs at 33MHz, and is in many ways simular to the PCI bus. In fact under Linux Cardbus adapters are handled by the PCI subsystem.&amp;lt;br&amp;gt;&lt;br /&gt;
You can differentiate a PC Card adapter from a Cardbus adapter as the later has a gold coloured grounding strip&lt;br /&gt;
=== IBM 11 a/b/g Wireless Cardbus Adapter ===&lt;br /&gt;
Chipset: Atheros&amp;lt;br&amp;gt;&lt;br /&gt;
Driver: [[madwifi]]&amp;lt;br&amp;gt;&lt;br /&gt;
Supported wireless modes: 802.11a, 802.11b, 802.11g&lt;br /&gt;
&lt;br /&gt;
Specifications: [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51855 MIGR-51855]&amp;lt;br&amp;gt;&lt;br /&gt;
Users Guide: [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51959 MIGE-51855]&amp;lt;br&amp;gt;&lt;br /&gt;
Service Parts: [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51874 MIGR-51874]&lt;br /&gt;
Looking for a reverse PCI to cardbus (ie - want to fit a PCI card into a cardbus slot)&lt;br /&gt;
&lt;br /&gt;
=== IBM 802.11a Wireless LAN Cardbus Adapter ===&lt;br /&gt;
Chipset: Atheros&amp;lt;br&amp;gt;&lt;br /&gt;
Driver: [[madwifi]]&amp;lt;br&amp;gt;&lt;br /&gt;
Supported wireless modes: 802.11a&lt;br /&gt;
&lt;br /&gt;
Specifications: [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-42209 MIGR-42209]&amp;lt;br&amp;gt;&lt;br /&gt;
Users Guide: [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-42233 MIGR-42233]&amp;lt;br&amp;gt;&lt;br /&gt;
Service Parts: [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-42231 MIGR-42231]&lt;br /&gt;
&lt;br /&gt;
== PC Card (PCMCIA) adapters ==&lt;br /&gt;
PC Card or PCMCIA (Personal Computer Memory Card International Association) as it used to be called, is an 8 or 16bits bus limited to 8MHz, in many ways simular to the old ISA bus and not suitable for highspeed devices.&lt;br /&gt;
=== Cisco Aironet 350 802.11b wireless PC card with 128bit ===&lt;br /&gt;
Chipset: Cisco&amp;lt;br&amp;gt;&lt;br /&gt;
Driver: airo_cs&amp;lt;br&amp;gt;&lt;br /&gt;
Supported wireless modes: 802.11b&lt;br /&gt;
=== IBM High Rate Wireless LAN PC Card ===&lt;br /&gt;
Chipset: Prism 2.5&amp;lt;br&amp;gt;&lt;br /&gt;
Drivers: [[orinoco|orinoco_pci]] or [[hostap]]&amp;lt;br&amp;gt;&lt;br /&gt;
Supported wireless modes: 802.11b&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_unauthorized_MiniPCI_network_card&amp;diff=13255</id>
		<title>Problem with unauthorized MiniPCI network card</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_unauthorized_MiniPCI_network_card&amp;diff=13255"/>
		<updated>2005-12-14T04:30:27Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: New problems page for the &amp;quot;Unauthorized network card&amp;quot; errors (moved from wireless network adaptors page)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Problem Description==&lt;br /&gt;
Although the MiniPCI slot is an industry standard and can accept any MiniPCI adapter, the IBM BIOS is set to only allow you to boot with an 'authorized' adapter installed. Attempts to install an unsupported card will result in the following message:&lt;br /&gt;
&lt;br /&gt;
   1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.&lt;br /&gt;
&lt;br /&gt;
This is because the card's PCI-ID (which can be seen using ''lspci'') are checked against a [[Wikipedia:Whitelist|whitelist]] in the BIOS.  IBM's reasoning for this is that the combination of MiniPCI card and the integrated antenna in the ThinkPad needs to be certified by the US FCC (Federal Communications Commission).{{footnote|1}}&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
All series 3x, 4x, and 5x models (A, T, R, X)&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
All - problem is in the BIOS&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
* Workarounds exist for most affected models.&lt;br /&gt;
* There was a report that none of these solutions work on the T43.&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
It may be possible to use the computer with the unauthorized card deactivated (but not removed).  Press {{key|F1}} to enter the BIOS and deactivate the WLAN card, then attempt to boot with the card disabled.  This does not make the wireless card work, but it may allow you to boot the computer normally.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|Any of the following solutions should suffice to make the wireless card useable.  You only need to perform one of them.}}&lt;br /&gt;
&lt;br /&gt;
* You may can modify the BIOS whitelist to include the PCI-ID of the card you wish to use.  The complete instructions for this procedure are [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html here].&lt;br /&gt;
{{WARN|It is dangerous to mess with your BIOS, you can easily make your machine unbootable, proceed with caution!}}&lt;br /&gt;
&lt;br /&gt;
* You can use the DOS [http://jcnp.pku.edu.cn/~shadow/1802/no-1802.com no-1802] utility, written by Tisheng Chen.{{footnote|2}} It will set a certain bit in the CMOS memory which disables the whitelist check.&lt;br /&gt;
&lt;br /&gt;
* You can compile and run (as root) the following C-code, which was written by Vojtech Pavlik{{footnote|3}}, based on the assembly used in the no-1802 program:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;sys/stat.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;asm/fcntl.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(void)&lt;br /&gt;
 {&lt;br /&gt;
  int fd;&lt;br /&gt;
  unsigned char data;&lt;br /&gt;
 &lt;br /&gt;
  fd=open(&amp;quot;/dev/nvram&amp;quot;, O_RDWR);&lt;br /&gt;
 &lt;br /&gt;
  if (fd &amp;lt; 0) {&lt;br /&gt;
    fprintf(stderr, &amp;quot;Error\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  lseek(fd,0x5c, SEEK_SET);&lt;br /&gt;
  read(fd, &amp;amp;data, 1);&lt;br /&gt;
  printf(&amp;quot;index: 0x5c 0x%02x&amp;quot;, data);&lt;br /&gt;
  data |= 0x80;&lt;br /&gt;
  lseek(fd,0x5c, SEEK_SET);&lt;br /&gt;
  write(fd, &amp;amp;data, 1);&lt;br /&gt;
  printf(&amp;quot;-&amp;gt; 0x%02x\n&amp;quot;, data);&lt;br /&gt;
  close(fd);&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
* Additional Information about &amp;quot;Unauthorised&amp;quot; MiniPCI adapters can be found on [http://www.srcf.ucam.org/~mjg59/thinkpad/wireless.html Matthew Garrett's website].&lt;br /&gt;
&lt;br /&gt;
* Thinkpad Mini PCI Wireless [http://www.srcf.ucam.org/~mjg59/thinkpad/tables.html compatibility matrix].&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#This is explained in a [http://lkml.org/lkml/2003/6/3/162 message to the LKML] and subsequently [http://lkml.org/lkml/2003/6/9/50 clarified].&lt;br /&gt;
#The no-1802 tool was announced and explaned in a [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2004-June/018253.html message to the Linux-Thinkpad ML].&lt;br /&gt;
#The C-code was posted in a [http://lkml.org/lkml/2004/6/13/69 message to the LKML].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Known_Problems&amp;diff=13232</id>
		<title>Known Problems</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Known_Problems&amp;diff=13232"/>
		<updated>2005-12-13T23:30:21Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Change application of unusable console to all savage video chipsets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
Information on known problems with certain ThinkPad models.&lt;br /&gt;
|}&lt;br /&gt;
==Display Problems==&lt;br /&gt;
*[[Problem with unusable console | Console unusable]] &amp;lt;tt&amp;gt;(models with savage video chipset: T2x, A22e)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with Pixel Error | Dead pixels on TFT displays]] &amp;lt;tt&amp;gt;(all models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with DVI throughput | DVI throughput on port replicators and docks]] &amp;lt;tt&amp;gt;(models from 2000-2004)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problems with fglrx | fglrx problems]] &amp;lt;tt&amp;gt;(ATI Radeon models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with garbled screen | Garbled Screen]] &amp;lt;tt&amp;gt;(T40, T41, T42, R40, A30, A31)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with key and trackpoint markings on the display | Key and Trackpoint markings on display]]&lt;br /&gt;
*[[Problem with red display shadow | Red shadow on display]] &amp;lt;tt&amp;gt;(TP T41p)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with red tinted display | Red tinted display]] &amp;lt;tt&amp;gt;(TP 23)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with black X | Unmovable square black X in X]] &amp;lt;tt&amp;gt;(TP T2x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with video related system lockup | System Lockups related to video adapter]] &amp;lt;tt&amp;gt;(TP T2x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://bugs.freedesktop.org/show_bug.cgi?id=2000 X/Radeon makes Fn+F7 not function] &amp;lt;tt&amp;gt;(Xorg-X11 bug report)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[https://bugs.freedesktop.org/show_bug.cgi?id=2187 Radeon 7500 &amp;quot;DynamicClocks&amp;quot; randomly hangs] &amp;lt;tt&amp;gt;(TP T4x, Xorg-X11 bug report)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Network Problems==&lt;br /&gt;
*[[Problem with 3Com 10/100 Ethernet card not being recognized|3Com 10/100 Ethernet card not recognized]] &amp;lt;tt&amp;gt;(models with that card)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Cisco Aironet Wireless 802.11b]] fails to work with certain firmware versions&lt;br /&gt;
&lt;br /&gt;
==Power Management, AC-adapter or Battery Problems==&lt;br /&gt;
*[[Problem with Thinkpad 600 batteries | 600 series Battery dying prematurely]] &amp;lt;tt&amp;gt;(TP 600/E/X)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Damage in 56W AC-Adapter, plastic housing melted |AC-Adapter damaged, plastic housing melted]] &amp;lt;tt&amp;gt;(240, 390, i and s models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with display remaining black after resume|Blank display after resume]] &amp;lt;tt&amp;gt;(various models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with fan noise | Fan noise]] &amp;lt;tt&amp;gt;(TP T4x/p, TP R5x/p)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with high power drain in ACPI sleep | High power drain in ACPI sleep]] &amp;lt;tt&amp;gt;(various models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with LCD backlight remaining on during ACPI sleep | LCD backlight remaining on during ACPI sleep]] &amp;lt;tt&amp;gt;(various models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with checking battery status | Checking battery status causes mouse to jerk around]] &amp;lt;tt&amp;gt;(R31)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sound Problems==&lt;br /&gt;
*[[Problem with broken sound on ThinkPad 600 | Broken sound on ThinkPad 600/E]] &amp;lt;tt&amp;gt;(TP 600/E/X, 770Z)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Misc Problems==&lt;br /&gt;
*[[Problem with Bending / Twisting|Casing malformed by bending/twising]] &amp;lt;tt&amp;gt;(X41)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with Dock USB Ports | Dock USB Ports]] &amp;lt;tt&amp;gt;(T30)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with hard drive clicking | Clicking Hard Drive]] &amp;lt;tt&amp;gt;(models with Hitachi's 5k80 hard drive)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with high pitch noises | High pitch noises]] &amp;lt;tt&amp;gt;(several models)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with lm-sensors | lm_sensors kills ThinkPads]] &amp;lt;tt&amp;gt;(TP 570E, 770X/Z, 600E/X, 240, X20)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with USB 2.0 | USB 2.0 problems]] &amp;lt;tt&amp;gt;(T4x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problems with SATA and Linux|SATA and Linux]] &amp;lt;tt&amp;gt;(T43, X41, R52, Z60)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with non-ThinkPad hard disks|Non-ThinkPad hard disks]] &amp;lt;tt&amp;gt;(T43, X41, R52)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Problem with too large harddrive|BIOS hangs with harddrive sized over 8G]] &amp;lt;tt&amp;gt;(560)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[de:Bekannte_Probleme]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=3Com_10/100_Ethernet_Mini-PCI_Adapter_with_56K_Modem&amp;diff=12632</id>
		<title>3Com 10/100 Ethernet Mini-PCI Adapter with 56K Modem</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=3Com_10/100_Ethernet_Mini-PCI_Adapter_with_56K_Modem&amp;diff=12632"/>
		<updated>2005-11-19T15:31:24Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add Linmodem HOWTO to External Links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== 3Com 10/100 Ethernet Mini-PCI Adapter with 56K Modem ===&lt;br /&gt;
This is a Mini-PCI combination Ethernet and Modem Adapter that is installed in a Mini-PCI slot.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet Features ===&lt;br /&gt;
* Chipset: 3Com 3c556b&lt;br /&gt;
* PCI ID: 10b7:6056 or 10b7:6055&lt;br /&gt;
* Speeds: Full-duplex 10/100&lt;br /&gt;
&lt;br /&gt;
=== Modem Features ===&lt;br /&gt;
* Chipset: 3Com or Lucent&lt;br /&gt;
* PCI ID: 10b7:1007 (for 3Com)&lt;br /&gt;
* Speeds: 56 Kbps with V.90&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IBM Partnumbers ===&lt;br /&gt;
IBM Option PN: 09N9774&amp;lt;br&amp;gt;&lt;br /&gt;
IBM FRU PN: 22P6444, 06P3829, 00N8117, 22P6753, 22P7594&lt;br /&gt;
&lt;br /&gt;
=== Also known (in IBM literature) as.... ===&lt;br /&gt;
* 10/100 EtherJet Mini-PCI Adapter with 56K Modem (3Com)&lt;br /&gt;
* 10/100 EtherJet Mini-PCI Adapter with 56K Modem by 3Com&lt;br /&gt;
* 3Com Ethernet/Modem Mini PCI combo card&lt;br /&gt;
* Mini PCI combo card (3Com)&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
A 'Boot Agent' (PXE boot) firmware update for this adapter is available from IBM.&lt;br /&gt;
The updated version is 4.32 and is available [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-4WDU4F here].&lt;br /&gt;
&lt;br /&gt;
=== Linux Ethernet driver ===&lt;br /&gt;
This card will work with the standard '[[3c59x]]' Linux driver as part of any recent 2.4 or 2.6 kernel&amp;lt;br&amp;gt;&lt;br /&gt;
This card doesn't work &amp;quot;out of the box&amp;quot; with 2.6 kernels before 2.6.14-rc1 when using ACPI. See the [[Problem with 3Com 10/100 Ethernet card not being recognized|problem page]] for detailed information.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux Modem driver ===&lt;br /&gt;
* No Linux Modem driver exists for the 3Com modem with the PCI ID listed above.  There was [http://linmodems.org/cgi-bin/ezmlm-cgi?1:msp:1229:cilpipdmolabpbbbibgd brief interest from 3Com] for creating a Linux driver, but it was never completed.&lt;br /&gt;
* The Lucent Modem should be supported by the [http://www.heby.de/ltmodem/ ltmodem driver for Linux].&lt;br /&gt;
&lt;br /&gt;
=== Bugs/Caveats ===&lt;br /&gt;
* The 3Com driver does not support power management.  See [http://lkml.org/lkml/2000/8/14/63 Andrew Morton's e-mail] to the LKML on the subject.  As a workaround, remove the 3c59x module before suspending the machine.  However, the kernel documentation (vortex.txt) refers to the &amp;quot;enable_wol&amp;quot; parameter enabling Wake-on-LAN and &amp;quot;power management support&amp;quot;, unsure if this is relevant&lt;br /&gt;
{{Fixme|This information is out of date and incomplete}}&lt;br /&gt;
&lt;br /&gt;
=== External Links ===&lt;br /&gt;
* [http://www.3com.com/products/en_US/printsafe.jsp?sku=3CN3AC1556B&amp;amp;pathtype=support 3Com Product Information Page]&lt;br /&gt;
* Don Becker's [http://www.scyld.com/vortex.html Vortex Driver] site&lt;br /&gt;
* The [http://www.geocities.jp/fred_b_maciel/3c556/ 3Com Mini PCI Device Drivers for Linux] page&lt;br /&gt;
* The [http://linmodems.technion.ac.il/Linmodem-howto.html Linmodem HOWTO]&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this card may be found in ===&lt;br /&gt;
* {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}&lt;br /&gt;
* {{A30}}, {{A30p}}, {{A31}}, {{A31p}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}&lt;br /&gt;
* {{X20}}, {{X21}}, {{X22}}&lt;br /&gt;
* {{TransNote}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=3Com_10/100_Ethernet_Mini-PCI_Adapter_with_56K_Modem&amp;diff=12413</id>
		<title>3Com 10/100 Ethernet Mini-PCI Adapter with 56K Modem</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=3Com_10/100_Ethernet_Mini-PCI_Adapter_with_56K_Modem&amp;diff=12413"/>
		<updated>2005-11-19T13:43:19Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add more modem information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== 3Com 10/100 Ethernet Mini-PCI Adapter with 56K Modem ===&lt;br /&gt;
This is a Mini-PCI combination Ethernet and Modem Adapter that is installed in a Mini-PCI slot.&lt;br /&gt;
&lt;br /&gt;
=== Ethernet Features ===&lt;br /&gt;
* Chipset: 3Com 3c556b&lt;br /&gt;
* PCI ID: 10b7:6056 or 10b7:6055&lt;br /&gt;
* Speeds: Full-duplex 10/100&lt;br /&gt;
&lt;br /&gt;
=== Modem Features ===&lt;br /&gt;
* Chipset: 3Com or Lucent&lt;br /&gt;
* PCI ID: 10b7:1007 (for 3Com)&lt;br /&gt;
* Speeds: 56 Kbps with V.90&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IBM Partnumbers ===&lt;br /&gt;
IBM Option PN: 09N9774&amp;lt;br&amp;gt;&lt;br /&gt;
IBM FRU PN: 22P6444, 06P3829, 00N8117, 22P6753, 22P7594&lt;br /&gt;
&lt;br /&gt;
=== Also known (in IBM literature) as.... ===&lt;br /&gt;
* 10/100 EtherJet Mini-PCI Adapter with 56K Modem (3Com)&lt;br /&gt;
* 10/100 EtherJet Mini-PCI Adapter with 56K Modem by 3Com&lt;br /&gt;
* 3Com Ethernet/Modem Mini PCI combo card&lt;br /&gt;
* Mini PCI combo card (3Com)&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
A 'Boot Agent' (PXE boot) firmware update for this adapter is available from IBM.&lt;br /&gt;
The updated version is 4.32 and is available [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&amp;amp;lndocid=MIGR-4WDU4F here].&lt;br /&gt;
&lt;br /&gt;
=== Linux Ethernet driver ===&lt;br /&gt;
This card will work with the standard '[[3c59x]]' Linux driver as part of any recent 2.4 or 2.6 kernel&amp;lt;br&amp;gt;&lt;br /&gt;
This card doesn't work &amp;quot;out of the box&amp;quot; with 2.6 kernels before 2.6.14-rc1 when using ACPI. See the [[Problem with 3Com 10/100 Ethernet card not being recognized|problem page]] for detailed information.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux Modem driver ===&lt;br /&gt;
* No Linux Modem driver exists for the 3Com modem with the PCI ID listed above.  There was [http://linmodems.org/cgi-bin/ezmlm-cgi?1:msp:1229:cilpipdmolabpbbbibgd brief interest from 3Com] for creating a Linux driver, but it was never completed.&lt;br /&gt;
* The Lucent Modem should be supported by the [http://www.heby.de/ltmodem/ ltmodem driver for Linux].&lt;br /&gt;
&lt;br /&gt;
=== Bugs/Caveats ===&lt;br /&gt;
* The 3Com driver does not support power management.  See [http://lkml.org/lkml/2000/8/14/63 Andrew Morton's e-mail] to the LKML on the subject.  As a workaround, remove the 3c59x module before suspending the machine.  However, the kernel documentation (vortex.txt) refers to the &amp;quot;enable_wol&amp;quot; parameter enabling Wake-on-LAN and &amp;quot;power management support&amp;quot;, unsure if this is relevant&lt;br /&gt;
{{Fixme|This information is out of date and incomplete}}&lt;br /&gt;
&lt;br /&gt;
=== External Links ===&lt;br /&gt;
* [http://www.3com.com/products/en_US/printsafe.jsp?sku=3CN3AC1556B&amp;amp;pathtype=support 3Com Product Information Page]&lt;br /&gt;
* Don Becker's [http://www.scyld.com/vortex.html Vortex Driver] site&lt;br /&gt;
* The [http://www.geocities.jp/fred_b_maciel/3c556/ 3Com Mini PCI Device Drivers for Linux] page&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this card may be found in ===&lt;br /&gt;
* {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}&lt;br /&gt;
* {{A30}}, {{A30p}}, {{A31}}, {{A31p}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}&lt;br /&gt;
* {{X20}}, {{X21}}, {{X22}}&lt;br /&gt;
* {{TransNote}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Tools&amp;diff=12872</id>
		<title>Tools</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Tools&amp;diff=12872"/>
		<updated>2005-11-18T23:57:14Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add s3switch to tools list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on Tools helping you to get along with your Thinkpad.&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
*[[tpb]] &amp;lt;tt&amp;gt;(Thinkpad buttons)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://rsim.cs.uiuc.edu/~sachs/tp-scroll/ tp-scroll] &amp;lt;tt&amp;gt;(Use trackpoint and middle button to scroll vertically. You may also use the built-in EmulateWheel option in both XFree86 and XOrg.)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://tpctl.sourceforge.net/configure-trackpoint.html configure-trackpoint] &amp;lt;tt&amp;gt;(GUI TrackPoint configuration tool for the TrackPoint driver for 2.6 linux kernel)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.slac.stanford.edu/~strauman/pers/tp4utils/ Linux Trackpoint Utilities] &amp;lt;tt&amp;gt;(An earlier trackpoint configuration tool)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Graphics==&lt;br /&gt;
*[[radeontool]] &amp;lt;tt&amp;gt;(Tool for enabling/disabling background light and external video)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[atitvout]] &amp;lt;tt&amp;gt;(Tool to control TV out)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[rovclock]] &amp;lt;tt&amp;gt;(Tool to under/overclock Radeon cards)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[s3switch]] &amp;lt;tt&amp;gt;(Tool to change the output devices and format for Savage cards)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Power Management==&lt;br /&gt;
*[[apmd]] &amp;lt;tt&amp;gt;(APM event daemon and tools)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://tpctl.sf.net tpctl and configure-thinkpad] &amp;lt;tt&amp;gt;(ThinkPad configuration programs that are compatible with APM)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[acpid]] &amp;lt;tt&amp;gt;(ACPI event daemon)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://sourceforge.net/projects/acpitool/ acpitool]&amp;lt;tt&amp;gt; (displays acpi information and can be used to set sleep mode)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[tphdisk]] &amp;lt;tt&amp;gt;(Tool to create a hibernation file, an alternative to the [[Software Suspend 2]] kernel patch)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[laptop-mode-tools]] &amp;lt;tt&amp;gt;(laptop-mode configuration scripts)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[KThinkBat]] &amp;lt;tt&amp;gt;(KDE-Kicker applet to show the battery fuel state)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
*[[ifplugd]] &amp;lt;tt&amp;gt;(Daemon to reconfigure your network settings on cable (un)plugging)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[waproamd]] &amp;lt;tt&amp;gt;(Daemon for Wireless roaming with automatic WEP key handling)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[Wpa_supplicant]] &amp;lt;tt&amp;gt;(waproamd's successor, can handle WPA)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[[ifmetric]] &amp;lt;tt&amp;gt;(Tool to help set different route metrics for WLAN/cable connections, to be used in conjunction with ifplugd and waproamd)&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=S3switch&amp;diff=17317</id>
		<title>S3switch</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=S3switch&amp;diff=17317"/>
		<updated>2005-11-18T23:55:09Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Fix links so that they actually work...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
S3switch is a utility to switch between various output devices and formats supported by the S3 Savage chipsets.&lt;br /&gt;
&lt;br /&gt;
This tool allows you to switch between the CRT, LCD, and S-Video (TV) output devices.  The S-Video output device can be set to output as NTSC, NTSCJ or PAL TV signal format.  S3switch can also output the current status and available output devices.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If you have Option &amp;quot;UseBIOS&amp;quot; &amp;quot;off&amp;quot; in your X Server configuration file, s3switch will only work when the X Server is not running.}}&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Used to control output features of S3 Savage chipsets&lt;br /&gt;
* Switches between output devices (CRT,LCD,TV)&lt;br /&gt;
* Switches between output formats (NTSC,NTSCJ,PAL)&lt;br /&gt;
&lt;br /&gt;
== Project Homepage / Availability ==&lt;br /&gt;
* Homepage: http://www.probo.com/timr/savage40.html&lt;br /&gt;
* Debian package available, &amp;quot;s3switch&amp;quot;&lt;br /&gt;
* Currently only supports Linux&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
* List currently attached devices, active devices, and current format&lt;br /&gt;
:{{cmduser|sudo s3switch}}&lt;br /&gt;
* Make CRT, LCD, and S-Video (TV) output active&lt;br /&gt;
:{{cmduser|sudo s3switch crd lcd tv}}&lt;br /&gt;
* Set S-Video (TV) output format to NTSC&lt;br /&gt;
:{{cmduser|sudo s3switch ntsc}}&lt;br /&gt;
&lt;br /&gt;
==Bugs/Caveats==&lt;br /&gt;
* T23 users may need to apply [http://www.nupedia.com this patch] to avoid a Segmentation Fault&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Savage|Xorg S3 Savage Driver]]&lt;br /&gt;
* [[S3 Savage IX8]]&lt;br /&gt;
* [[S3 SuperSavage IX/C]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=S3switch&amp;diff=12399</id>
		<title>S3switch</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=S3switch&amp;diff=12399"/>
		<updated>2005-11-18T23:54:01Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: New page for s3switch utility&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
S3switch is a utility to switch between various output devices and formats supported by the S3 Savage chipsets.&lt;br /&gt;
&lt;br /&gt;
This tool allows you to switch between the CRT, LCD, and S-Video (TV) output devices.  The S-Video output device can be set to output as NTSC, NTSCJ or PAL TV signal format.  S3switch can also output the current status and available output devices.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|If you have Option &amp;quot;UseBIOS&amp;quot; &amp;quot;off&amp;quot; in your X Server configuration file, s3switch will only work when the X Server is not running.}}&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Used to control output features of S3 Savage chipsets&lt;br /&gt;
* Switches between output devices (CRT,LCD,TV)&lt;br /&gt;
* Switches between output formats (NTSC,NTSCJ,PAL)&lt;br /&gt;
&lt;br /&gt;
== Project Homepage / Availability ==&lt;br /&gt;
* Homepage: http://www.probo.com/timr/savage40.html&lt;br /&gt;
* Debian package available, &amp;quot;s3switch&amp;quot;&lt;br /&gt;
* Currently only supports Linux&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
* List currently attached devices, active devices, and current format&lt;br /&gt;
:{{cmduser|sudo s3switch}}&lt;br /&gt;
* Make CRT, LCD, and S-Video (TV) output active&lt;br /&gt;
:{{cmduser|sudo s3switch crd lcd tv}}&lt;br /&gt;
* Set S-Video (TV) output format to NTSC&lt;br /&gt;
:{{cmduser|sudo s3switch ntsc}}&lt;br /&gt;
&lt;br /&gt;
==Bugs/Caveats==&lt;br /&gt;
* T23 users may need to apply [http://www.nupedia.com this patch] to avoid a Segmentation Fault&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [Savage|Xorg S3 Savage Driver]&lt;br /&gt;
* [S3 Savage IX8]&lt;br /&gt;
* [S3 SuperSavage IX/C]&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Hardware_Specifications&amp;diff=12217</id>
		<title>Hardware Specifications</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Hardware_Specifications&amp;diff=12217"/>
		<updated>2005-11-12T01:18:19Z</updated>

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

		<summary type="html">&lt;p&gt;Kevinoid: add mention of conservative to the daemons note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
Linux supports dynamic frequency scaling for systems with the following processors:&lt;br /&gt;
&lt;br /&gt;
*Mobile Pentium III&lt;br /&gt;
*Pentium 4&lt;br /&gt;
*Pentium M&lt;br /&gt;
*Mobile Athlon&lt;br /&gt;
*AMD64&lt;br /&gt;
*Opteron&lt;br /&gt;
&lt;br /&gt;
==Debian notes==&lt;br /&gt;
Instead of compiling your own kernel, you can use the  {{Debian}} &amp;quot;stock&amp;quot; kernel. In Unstable/SID the 2.6.12 kernel image with an {{path|/etc/modules}} file that includes:&lt;br /&gt;
&lt;br /&gt;
 battery&lt;br /&gt;
 ac&lt;br /&gt;
 thermal&lt;br /&gt;
 processor&lt;br /&gt;
 acpi-cpufreq&lt;br /&gt;
 cpufreq-userspace&lt;br /&gt;
&lt;br /&gt;
With the powernowd package and you should be setup.&lt;br /&gt;
&lt;br /&gt;
===Configuring the Kernel===&lt;br /&gt;
====2.4 Kernels====&lt;br /&gt;
There were various frequency scaling implementations in the 2.4 series of kernels. They all were preliminary and a standard was rised with the introduction of the sysfs filesystem in 2.6 kernels. It is recommended to use a 2.6 kernel, if possible.&lt;br /&gt;
&lt;br /&gt;
====2.6 Kernels====&lt;br /&gt;
You need to enable the cpu frequency scaling for your kernel (usually your distros kernel will have this enabled):&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
You need to enable governors, if not already done in your distros default kernel:&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_PERFORMANCE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_POWERSAVE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_USERSPACE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
Since 2.6.10 there is the ondemand governor that does cpu frequency scaling in kernel so you dont need userspace programs like powernowd etc.&lt;br /&gt;
It can be enabled with:&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_ONDEMAND|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
Since 2.6.12 there is the conservative governor that works like the ondemand governor, but is recommended for laptops and AMD64:&lt;br /&gt;
:{{kernelconf|CONFIG_CPU_FREQ_GOV_CONSERVATIVE|&amp;lt;*&amp;gt;|||||}}&lt;br /&gt;
&lt;br /&gt;
==Using the Sys Interface==&lt;br /&gt;
&lt;br /&gt;
The files in {{path|/sys/devices/system/cpu/cpu0/cpufreq/}} provide information and a means of controlling the frequency scaling subsystem.&lt;br /&gt;
Seed values are given in Khz. You need to be root to access the /sys filesystem.&lt;br /&gt;
&lt;br /&gt;
Your max speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}&lt;br /&gt;
:{{cmdresult|700000}}&lt;br /&gt;
Your min speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}&lt;br /&gt;
:{{cmdresult|500000}}&lt;br /&gt;
If you are using the userspace governor, you can write to {{path|/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}} to change the current speed.&lt;br /&gt;
:{{cmdroot|echo 700000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 697.252}}&lt;br /&gt;
:{{cmdroot|echo 900000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 976.152}}&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Governors==&lt;br /&gt;
You can compile the scaling governors into your kernel or compile it as module. You'll find the governors with 'make menuconfig' here:&lt;br /&gt;
:{{kernelconf||||CPU Frequency scaling|Power management options (ACPI, APM)|||}}&lt;br /&gt;
&lt;br /&gt;
After booting the new kernel you can get a list of available governors with (as root):&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors}}&lt;br /&gt;
:{{cmdresult|conservative ondemand powersave userspace performance}}&lt;br /&gt;
&lt;br /&gt;
A Short Overview over the available governors:&lt;br /&gt;
:;ondemand&lt;br /&gt;
::This driver is a dynamic cpufreq policy governor. It changes frequency based on the processor load and may not work on older laptops without Enhanced SpeedStep.&lt;br /&gt;
:;conservative&lt;br /&gt;
::New since 2.6.12. Similar to ''ondemand''. Optimized for battery powered environments and AMD64. Again, this governor may not work on older ThinkPads like the T21.&lt;br /&gt;
:;powersave&lt;br /&gt;
::Like the name says, your battery would choose this one ;). It sets the Frequency always to the lowest available.&lt;br /&gt;
:;userspace&lt;br /&gt;
::You have to choose this one, if a [[#Using Frequency Scaling Daemons|frequency scaling daemon]] should manage your CPU frequency or you want to do it manually.&lt;br /&gt;
:;performance&lt;br /&gt;
::This governor sets your Frequency always to the highest available.&lt;br /&gt;
&lt;br /&gt;
Now we set our governor:&lt;br /&gt;
What is our current governor?&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|userspace}}&lt;br /&gt;
Set new governor and watch if it has changed&lt;br /&gt;
:{{cmdroot|echo conservative &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|conservative}}&lt;br /&gt;
&lt;br /&gt;
Congrats! Your governor is active.&lt;br /&gt;
&lt;br /&gt;
You may set the governor in your rc.local, to make it used on every boot.&lt;br /&gt;
&lt;br /&gt;
Debian has no rc.local, so read [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-custombootscripts this] and [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-booting this].&lt;br /&gt;
&lt;br /&gt;
A better alternative for Debian than modifying bootscripts, is to install the [http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&amp;amp;version=all&amp;amp;exact=1&amp;amp;keywords=sysfsutils sysfsutils package]. Then edit /etc/sysfs.conf (as root), where you can setup values to sysfs entries that you want to be modified automatically on boot.&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Daemons==&lt;br /&gt;
{{NOTE|It is recommended to use the ondemand or conservative frequency scaling governors, available in kernels after 2.6.10 or 2.6.12 respectively. See [[#Using Frequency Scaling Governors|above]].  If you do this you do not need a frequency scaling daemon}}&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable the userspace governor to have a userspace daemon do the frequency scaling. If it is built as module, load it as &amp;lt;tt&amp;gt;cpufreq-userspace&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are plenty of userspace frequency scaling daemons available:&lt;br /&gt;
&lt;br /&gt;
*[[How to configure cpufreqd | cpufreqd]]&lt;br /&gt;
*[[How to configure cpudynd | cpudynd]]&lt;br /&gt;
*[[How to configure speedfreqd | speedfreqd]]&lt;br /&gt;
*[[How to configure powersaved | powersaved]]&lt;br /&gt;
*[[How to configure powernowd | powernowd]]&lt;br /&gt;
*[[How to use cpufrequtils | cpufrequtils]]&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
*If you have a Coppermine-piix-smi based Thinkpads like from the A2x, X2x and T2x series you need to enable the &amp;lt;tt&amp;gt;speedstep-smi&amp;lt;/tt&amp;gt; driver in the kernel and load it if it's built as module. You might want to look at [[How to get SpeedStep working on Coppermine-piix4-smi based Thinkpads | this page]].&lt;br /&gt;
&lt;br /&gt;
*If you have a p4-class celeron based Thinkpad like the R40e you might want to look at [[How to get SpeedStep working on P4-class-Celeron based Thinkpads | this page]]&lt;br /&gt;
&lt;br /&gt;
==Finetuning voltages and available frequencies==&lt;br /&gt;
See [[Pentium M undervolting and underclocking]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[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:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:TransNote]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=11903</id>
		<title>Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=11903"/>
		<updated>2005-11-02T22:15:45Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: /* A Series */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The following table headings shall designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* FDD = Internal/UltraBay Diskette (&amp;quot;Floppy&amp;quot;) drive (also called &amp;quot;Legacy FDD&amp;quot;)&lt;br /&gt;
* CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive&lt;br /&gt;
* Network = any type of network boot support (such as PXE)&lt;br /&gt;
* PCMCIA = any memory device connected via the PCMCIA/PC Card/CardBus port&lt;br /&gt;
* USB HD = any hard drive/flash drive/pen drive connected via the USB port&lt;br /&gt;
* USB FDD = Diskette (&amp;quot;Floppy&amp;quot;) drive connected via the USB port&lt;br /&gt;
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port&lt;br /&gt;
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = supported (may be selected from the BIOS)&lt;br /&gt;
* no = not supported (BIOS incapable of booting to this type of device)&lt;br /&gt;
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only).  Please add footnote/link documenting the specifics.&lt;br /&gt;
* v#.## = only with BIOS versions &amp;amp;ge; #.##&lt;br /&gt;
* N/A = not applicable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes  &amp;lt;!-- According to message on ML ID: 436936E5.30709@chartermi.net --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50 | R50]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- seen on IBM BIOS simulator, not tested --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- seen on IBM BIOS simulator, not tested --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|3}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | part{{footnote|1}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Others====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | PCMCIA&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:TransNote | TransNote]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#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).&lt;br /&gt;
#Internal CD/FD means the ones in the UltraBase for X series and 570 models.&lt;br /&gt;
#Requires an external Floppy drive attached to Port Replicator or Dock&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Supported_Boot_Devices&amp;diff=17170</id>
		<title>Talk:Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Supported_Boot_Devices&amp;diff=17170"/>
		<updated>2005-10-11T12:58:21Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: removed comment about linking - page is now linked&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== UltraBase/ThinkPad Dock? ==&lt;br /&gt;
&lt;br /&gt;
The footnotes for the X series models regarding the UltraBase made me think that either the definition of Internal HD/FD/CD should be updated to include the UltraBase/ThinkPad Dock or that a few more columns should be added to the table for devices supported in UltraBase/ThinkPad Docks (such as SCSI devices).  However, I do not have any experience with the UltraBase or Thinkpad Dock so I am really unsure to what extent they should be included or what boot performance is expected (if internal drives work, will dock devices work?).  If you have an UltraBase/ThinkPad Dock and have some thoughts on this issue, please edit the table/definitions to an appropriate state or add a comment here stating what you think.  --[[User:Kevinoid|Kevinoid]] 14:03, 10 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Missing Hardware ==&lt;br /&gt;
&lt;br /&gt;
You might want to add a &amp;quot;N/A&amp;quot; selection for machines that do not have appropriate hardware. The 600 series does not have Firewire, so saying &amp;quot;no&amp;quot; that it will not boot from it seems... odd. The 755 series does not have USB at all.&lt;br /&gt;
&lt;br /&gt;
CardBus appeared (IIRC) on Pentium II models, so older machines have only PC Card slots, not CardBus. -- [[User:Whizkid|Whizkid]] 16:15, 10 Oct 2005 (CEST)&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=10023</id>
		<title>Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=10023"/>
		<updated>2005-10-10T12:09:55Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: T23 USB drives&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The following tables headings shell designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* Internal FD = Internal/UltraBay Diskette (&amp;quot;Floppy&amp;quot;) drive (also called &amp;quot;Legacy FDD&amp;quot;)&lt;br /&gt;
* Internal CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive&lt;br /&gt;
* Network = any type of network boot support (such as PXE)&lt;br /&gt;
* Cardbus = any memory device connected via the PCMCIA/CardBus port&lt;br /&gt;
* USB HD = any hard drive/flash drive/pen drive connected via the USB port&lt;br /&gt;
* USB FDD = Diskette (&amp;quot;Floppy&amp;quot;) drive connected via the USB port&lt;br /&gt;
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port&lt;br /&gt;
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = supported (may be selected from the BIOS)&lt;br /&gt;
* no = not supported (BIOS incapable of booting to this type of device)&lt;br /&gt;
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only).  Please add footnote/link documenting the specifics.&lt;br /&gt;
* v#.## = only with BIOS versions &amp;amp;ge; #.##&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:TransNote | TransNote]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ? &lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- seen on IBM BIOS simulator, not tested --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes &amp;lt;!-- seen on IBM BIOS simulator, not tested --&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | part{{footnote|1}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#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).&lt;br /&gt;
#Internal CD/FD means the ones in the UltraBase for X series models.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=10018</id>
		<title>Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=10018"/>
		<updated>2005-10-10T12:05:09Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: 600E Floppy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The following tables headings shell designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* Internal FD = Internal/UltraBay Diskette (&amp;quot;Floppy&amp;quot;) drive (also called &amp;quot;Legacy FDD&amp;quot;)&lt;br /&gt;
* Internal CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive&lt;br /&gt;
* Network = any type of network boot support (such as PXE)&lt;br /&gt;
* Cardbus = any memory device connected via the PCMCIA/CardBus port&lt;br /&gt;
* USB HD = any hard drive/flash drive/pen drive connected via the USB port&lt;br /&gt;
* USB FDD = Diskette (&amp;quot;Floppy&amp;quot;) drive connected via the USB port&lt;br /&gt;
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port&lt;br /&gt;
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = supported (may be selected from the BIOS)&lt;br /&gt;
* no = not supported (BIOS incapable of booting to this type of device)&lt;br /&gt;
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only).  Please add footnote/link documenting the specifics.&lt;br /&gt;
* v#.## = only with BIOS versions &amp;amp;ge; #.##&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:TransNote | TransNote]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ? &lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | part{{footnote|1}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#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).&lt;br /&gt;
#Internal CD/FD means the ones in the UltraBase for X series models.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Supported_Boot_Devices&amp;diff=10022</id>
		<title>Talk:Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Supported_Boot_Devices&amp;diff=10022"/>
		<updated>2005-10-10T12:03:51Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: UltraBase/ThinkPad Dock?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page still needs to be linked from one of the more central ThinkWiki pages.  I was not sure where would be most appropriate (it doesn't seem to correctly fit anywhere), so I have not yet created any links.  But, obviously, for the page to be very useful it should probably be reachable from more places than just the search results page.&lt;br /&gt;
--[[User:Kevinoid|Kevinoid]] 02:02, 10 Oct 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
== UltraBase/ThinkPad Dock? ==&lt;br /&gt;
&lt;br /&gt;
The footnotes for the X series models regarding the UltraBase made me think that either the definition of Internal HD/FD/CD should be updated to include the UltraBase/ThinkPad Dock or that a few more columns should be added to the table for devices supported in UltraBase/ThinkPad Docks (such as SCSI devices).  However, I do not have any experience with the UltraBase or Thinkpad Dock so I am really unsure to what extent they should be included or what boot performance is expected (if internal drives work, will dock devices work?).  If you have an UltraBase/ThinkPad Dock and have some thoughts on this issue, please edit the table/definitions to an appropriate state or add a comment here stating what you think.  --[[User:Kevinoid|Kevinoid]] 14:03, 10 Oct 2005 (CEST)&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=10017</id>
		<title>Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=10017"/>
		<updated>2005-10-10T11:57:10Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: cosmetic improvements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The following tables headings shell designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* Internal FD = Internal/UltraBay Diskette (&amp;quot;Floppy&amp;quot;) drive (also called &amp;quot;Legacy FDD&amp;quot;)&lt;br /&gt;
* Internal CD = Internal/UltraBay CD/DVD(-R/-RW/-RAM) drive&lt;br /&gt;
* Network = any type of network boot support (such as PXE)&lt;br /&gt;
* Cardbus = any memory device connected via the PCMCIA/CardBus port&lt;br /&gt;
* USB HD = any hard drive/flash drive/pen drive connected via the USB port&lt;br /&gt;
* USB FDD = Diskette (&amp;quot;Floppy&amp;quot;) drive connected via the USB port&lt;br /&gt;
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port&lt;br /&gt;
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = supported (may be selected from the BIOS)&lt;br /&gt;
* no = not supported (BIOS incapable of booting to this type of device)&lt;br /&gt;
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only).  Please add footnote/link documenting the specifics.&lt;br /&gt;
* v#.## = only with BIOS versions &amp;amp;ge; #.##&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:TransNote | TransNote]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ? &lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes{{footnote|2}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | part{{footnote|1}}&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#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).&lt;br /&gt;
#Internal CD/FD means the ones in the UltraBase for X series models.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Talk:Supported_Boot_Devices&amp;diff=10016</id>
		<title>Talk:Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Talk:Supported_Boot_Devices&amp;diff=10016"/>
		<updated>2005-10-10T00:02:43Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Where to link to boot devices?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page still needs to be linked from one of the more central ThinkWiki pages.  I was not sure where would be most appropriate (it doesn't seem to correctly fit anywhere), so I have not yet created any links.  But, obviously, for the page to be very useful it should probably be reachable from more places than just the search results page.&lt;br /&gt;
--[[User:Kevinoid|Kevinoid]] 02:02, 10 Oct 2005 (CEST)&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=9984</id>
		<title>Supported Boot Devices</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Supported_Boot_Devices&amp;diff=9984"/>
		<updated>2005-10-09T23:41:38Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: New table of supported boot devices&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Based heavily on APM_vs._ACPI, with attempt to duplicate the style for consistency --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
The following tables headings shell designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* Internal FD = Internal/Ultrabay Diskette (&amp;quot;Floppy&amp;quot;) drive (also called &amp;quot;Legacy FDD&amp;quot;)&lt;br /&gt;
* Internal CD = Internal/Ultrabay CD/DVD(-R/-RW/-RAM) drive&lt;br /&gt;
* Network = any type of network boot support (such as PXE)&lt;br /&gt;
* Cardbus = any memory device connected via the PCMCIA/CardBus port&lt;br /&gt;
* USB HD = any hard drive/flash drive/pen drive connected via the USB port&lt;br /&gt;
* USB FDD = Diskette (&amp;quot;Floppy&amp;quot;) drive connected via the USB port&lt;br /&gt;
* USB CD = CD/DVD(-R/-RW/-RAM) drive connected via the USB port&lt;br /&gt;
* FireWire = any memory device connected via the FireWire (i.Link/IEEE 1394) port&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = supported (may be selected from the BIOS)&lt;br /&gt;
* no = not supported (BIOS incapable of booting to this type of device)&lt;br /&gt;
* part = partially working (configuration not retained on reboot/requires firmware workaround/only on some devices/USB1 only).  Please add footnote/link documenting the specifics.{{footnote|1}}&lt;br /&gt;
* v#.## = only with BIOS versions &amp;amp;ge; #.##&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#cfefcf;&amp;quot; | Model&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal FD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Internal CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | Network&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | CardBus&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB HD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB FDD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | USB CD&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | FireWire HD&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered Series====&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ? &lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;&amp;quot; | ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#Note specific partial functionality of ThinkPads here.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=10190</id>
		<title>How to make ACPI work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_ACPI_work&amp;diff=10190"/>
		<updated>2005-10-09T21:52:18Z</updated>

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

		<summary type="html">&lt;p&gt;Kevinoid: add more info about observed savagefb problems&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== S3 Savage IX8 or IX8+===&lt;br /&gt;
This is a S3 video adapter&amp;lt;br&amp;gt;&lt;br /&gt;
S3 is now owned by Via Technologies&lt;br /&gt;
&lt;br /&gt;
The IX8 and IX8+ chips share the same PCI-ID&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: S3&lt;br /&gt;
* PCI ID: 5333:8c12&lt;br /&gt;
* AGP 2X&lt;br /&gt;
* 8MB SGRAM video memory&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the '[[savage]]' driver as part of the X.Org distribution&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correctly.&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
Works. Fn-F7 switches between LCD and CRT. To use both, use [http://www.probo.com/timr/savage40.html s3switch] (on some models you need to run &amp;quot;'''s3switch lcd crt tv'''&amp;quot; even if you want only CRT and LCD, otherwise the CRT display is corrupted).  You can also use [[ibm-acpi]] to control video output by echoing commands to /proc/acpi/ibm/video.&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
This chip will work with either the 'vesa' or 'savagefb' driver as part of any recent 2.4 or 2.6 kernel.  Note: The savagefb appears to interfere with acpi sleep. (tested on 2.6 kernels up to 2.6.12)  There are also some display problems with savagefb including limiting boot text to a 800x600 window centered in a 1024x768 display and problems with libdirectfb.  For those reasons, vesa is recommended.&lt;br /&gt;
&lt;br /&gt;
To get nice 1400x1050 (some models have such displays) resolution in console try adding: &amp;lt;tt&amp;gt;vga=0x33c video=vesa:ywrap,mtrr&amp;lt;/tt&amp;gt; to your kernel parameters (in your bootloader config).&lt;br /&gt;
&lt;br /&gt;
=== Dual Monitor tip ===&lt;br /&gt;
&lt;br /&gt;
The chip supports using an external monitor plus the LCD as one big monitor. This can lead to a problem&lt;br /&gt;
if X is configured for this, but the external monitor has been detached. This creates a ghost monitor that you &lt;br /&gt;
cannot see, but can move the mouse onto and applications can open windows on.&lt;br /&gt;
&lt;br /&gt;
Sometimes in this situation it's necessary to grab a window from the ghost monitor and drag it into view.&lt;br /&gt;
This can be done by moving the mouse onto the ghost screen and then holding down the ALT key, which allows you&lt;br /&gt;
to click-and-drag a window back into view. To see what is on the ghost monitor, a screen capture utility like&lt;br /&gt;
Ksnapshot can help you. When it takes a screenshot of the entire screen, it will show the contents of the ghost&lt;br /&gt;
screen, even though you can't see it directly. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ThinkPad's this chip may be found in ===&lt;br /&gt;
* {{A22e}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=9976</id>
		<title>S3 Savage IX8</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=9976"/>
		<updated>2005-10-09T21:22:53Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: add reference to ibm-acpi for video control&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== S3 Savage IX8 or IX8+===&lt;br /&gt;
This is a S3 video adapter&amp;lt;br&amp;gt;&lt;br /&gt;
S3 is now owned by Via Technologies&lt;br /&gt;
&lt;br /&gt;
The IX8 and IX8+ chips share the same PCI-ID&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: S3&lt;br /&gt;
* PCI ID: 5333:8c12&lt;br /&gt;
* AGP 2X&lt;br /&gt;
* 8MB SGRAM video memory&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the '[[savage]]' driver as part of the X.Org distribution&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correctly.&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
Works. Fn-F7 switches between LCD and CRT. To use both, use [http://www.probo.com/timr/savage40.html s3switch] (on some models you need to run &amp;quot;'''s3switch lcd crt tv'''&amp;quot; even if you want only CRT and LCD, otherwise the CRT display is corrupted).  You can also use [[ibm-acpi]] to control video output by echoing commands to /proc/acpi/ibm/video.&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
This chip will work with either the 'vesa' or 'savagefb' driver as part of any recent 2.4 or 2.6 kernel.&lt;br /&gt;
&lt;br /&gt;
To get nice 1400x1050 (some models have such displays) resolution in console try adding: &amp;lt;tt&amp;gt;vga=0x33c video=vesa:ywrap,mtrr&amp;lt;/tt&amp;gt; to your kernel parameters (in your bootloader config).&lt;br /&gt;
&lt;br /&gt;
=== Dual Monitor tip ===&lt;br /&gt;
&lt;br /&gt;
The chip supports using an external monitor plus the LCD as one big monitor. This can lead to a problem&lt;br /&gt;
if X is configured for this, but the external monitor has been detached. This creates a ghost monitor that you &lt;br /&gt;
cannot see, but can move the mouse onto and applications can open windows on.&lt;br /&gt;
&lt;br /&gt;
Sometimes in this situation it's necessary to grab a window from the ghost monitor and drag it into view.&lt;br /&gt;
This can be done by moving the mouse onto the ghost screen and then holding down the ALT key, which allows you&lt;br /&gt;
to click-and-drag a window back into view. To see what is on the ghost monitor, a screen capture utility like&lt;br /&gt;
Ksnapshot can help you. When it takes a screenshot of the entire screen, it will show the contents of the ghost&lt;br /&gt;
screen, even though you can't see it directly. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ThinkPad's this chip may be found in ===&lt;br /&gt;
* {{A22e}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=9975</id>
		<title>S3 Savage IX8</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=S3_Savage_IX8&amp;diff=9975"/>
		<updated>2005-10-09T21:17:20Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: ThinkPad LCD - quick grammar fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== S3 Savage IX8 or IX8+===&lt;br /&gt;
This is a S3 video adapter&amp;lt;br&amp;gt;&lt;br /&gt;
S3 is now owned by Via Technologies&lt;br /&gt;
&lt;br /&gt;
The IX8 and IX8+ chips share the same PCI-ID&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: S3&lt;br /&gt;
* PCI ID: 5333:8c12&lt;br /&gt;
* AGP 2X&lt;br /&gt;
* 8MB SGRAM video memory&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the '[[savage]]' driver as part of the X.Org distribution&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correctly.&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
Works. Fn-F7 switches between either LCD and CRT but not both. To use both, use [http://www.probo.com/timr/savage40.html s3switch] (on some models you need to run &amp;quot;'''s3switch lcd crt tv'''&amp;quot; even if you want only CRT and LCD, otherwise the CRT display is corrupted).&lt;br /&gt;
&lt;br /&gt;
==== SVideo port ====&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
This chip will work with either the 'vesa' or 'savagefb' driver as part of any recent 2.4 or 2.6 kernel.&lt;br /&gt;
&lt;br /&gt;
To get nice 1400x1050 (some models have such displays) resolution in console try adding: &amp;lt;tt&amp;gt;vga=0x33c video=vesa:ywrap,mtrr&amp;lt;/tt&amp;gt; to your kernel parameters (in your bootloader config).&lt;br /&gt;
&lt;br /&gt;
=== Dual Monitor tip ===&lt;br /&gt;
&lt;br /&gt;
The chip supports using an external monitor plus the LCD as one big monitor. This can lead to a problem&lt;br /&gt;
if X is configured for this, but the external monitor has been detached. This creates a ghost monitor that you &lt;br /&gt;
cannot see, but can move the mouse onto and applications can open windows on.&lt;br /&gt;
&lt;br /&gt;
Sometimes in this situation it's necessary to grab a window from the ghost monitor and drag it into view.&lt;br /&gt;
This can be done by moving the mouse onto the ghost screen and then holding down the ALT key, which allows you&lt;br /&gt;
to click-and-drag a window back into view. To see what is on the ghost monitor, a screen capture utility like&lt;br /&gt;
Ksnapshot can help you. When it takes a screenshot of the entire screen, it will show the contents of the ghost&lt;br /&gt;
screen, even though you can't see it directly. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ThinkPad's this chip may be found in ===&lt;br /&gt;
* {{A22e}}&lt;br /&gt;
* {{T20}}, {{T21}}, {{T22}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:T21&amp;diff=2921</id>
		<title>Category:T21</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:T21&amp;diff=2921"/>
		<updated>2005-04-27T01:05:00Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Added link to User's Reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== ThinkPad T21 ===&lt;br /&gt;
This page gives an overview of all ThinkPad T21 related topics.&lt;br /&gt;
==== Features ====&lt;br /&gt;
* Intel Mobile Pentium III 750, 800 or 850 MHz CPU&lt;br /&gt;
* S3 Savage IX8 video controller&lt;br /&gt;
** 13.3&amp;quot; TFT display with 1024x768 resolution&lt;br /&gt;
** 14.1&amp;quot; TFT display with 1024x768 resolution&lt;br /&gt;
** 14.1&amp;quot; TFT display with 1400x1050 resolution&lt;br /&gt;
* 128 MB memory standard&lt;br /&gt;
* 10, 20 ot 32GB HDD&lt;br /&gt;
* CS4624B/CS4297A Audio controller&lt;br /&gt;
* CD-ROM or DVD-ROM drive&lt;br /&gt;
* MiniPCI slot with one of the following:&lt;br /&gt;
** Mini-PCI Modem card (Ambit)&lt;br /&gt;
** Intel 10/100 Ethernet Mini-PCI Adapter with 56K Modem&lt;br /&gt;
** 3Com 10/100 Ethernet Mini-PCI Adapter with 56K Modem&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:ThinkPadT20.jpg|ThinkPad T21]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles_pdf/62p9631.pdf T20, T21, T22, T23 - Hardware Maintenance Manual (April 2002)] (2,902,595 Bytes)&lt;br /&gt;
* [ftp://ftp.software.ibm.com/pc/pccbbs/mobiles/c79lamst.pdf T20, T21 - User's Reference (March 2000)] (191,723 Bytes)&lt;br /&gt;
[[Category:Models]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_black_X&amp;diff=6787</id>
		<title>Problem with black X</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_black_X&amp;diff=6787"/>
		<updated>2005-03-15T23:49:23Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add link to Debian Bug #254565&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information about the problem where a square black X appears in the center of the screen (and does not disappear) when running XFree86&lt;br /&gt;
&lt;br /&gt;
==Problem description==&lt;br /&gt;
&lt;br /&gt;
When XFree86 is loaded, re-loaded, switched-to from another console, resumed from suspend, or when a window-manager is loaded; a square black &amp;quot;X&amp;quot; appears in the center of the screen.  The mouse graphic, windows, and the background all move under this &amp;quot;X&amp;quot; without causing it to be removed.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
&lt;br /&gt;
*Thinkpads with an S3 Savage video card (Thinkpad T2*)&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
&lt;br /&gt;
*Any OS using the XFree86 'savage' driver (possibly Xorg?)&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
The square black &amp;quot;X&amp;quot; is actually the default XFree86 mouse cursor graphic.  It suddenly appears (and refuses to go away) due to a bug in the hardware cursor.  According to the [http://www.xfree86.org/4.3.0/savage.4.html XFree86 Savage(4) Manual Page], the hardware cursor should be automatically disabled on affected configurations, however this does not appear to be the case at present.&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
&lt;br /&gt;
Switch to a software cursor by adding either of the following lines to the Device section of your XF86Config-4 file:&lt;br /&gt;
&lt;br /&gt;
 Option     &amp;quot;HWCursor&amp;quot;     &amp;quot;false&amp;quot;&lt;br /&gt;
 Option     &amp;quot;SWCursor&amp;quot;     &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Related Links==&lt;br /&gt;
&lt;br /&gt;
*[http://www.xfree86.org/4.3.0/savage.4.html XFree86 Savage(4) Manual Page]&lt;br /&gt;
*[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=254565 Debian Bug #254565]&lt;br /&gt;
&lt;br /&gt;
[[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Known_Problems&amp;diff=2325</id>
		<title>Known Problems</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Known_Problems&amp;diff=2325"/>
		<updated>2005-03-15T23:26:03Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on known problems with certain Thinkpad models.&lt;br /&gt;
&lt;br /&gt;
Choose (or create) a problem:&lt;br /&gt;
&lt;br /&gt;
===Display Problems===&lt;br /&gt;
*[[Problem with red tinted display | Red tint problem]] (TP 23)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with red display shadow | Red shadow problem]] (TP T41p)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with DVI throughput | Problem with DVI throughput on port replicators and docks]] (models from 2000-2004)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with garbled screen | Garbled screen problem]] &lt;br /&gt;
&lt;br /&gt;
*[[Problem with video related system lockup | Video-related system lockups]] (TP T2x)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with black X | Unmovable square black X in X]] (TP T2x)&lt;br /&gt;
&lt;br /&gt;
===Power Management and Battery Problems===&lt;br /&gt;
*[[Problem with Thinkpad 600 batteries | Battery problem]] (TP 600/E/X)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with fan noise | Fan noise problem]] (TP T4x/p, TP R5x/p)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with high power drain in ACPI sleep | High power drain in ACPI sleep]] (various models)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with LCD backlight remaining on during ACPI sleep | LCD backlight remaining on during ACPI sleep]] (various models)&lt;br /&gt;
&lt;br /&gt;
===Sound Problems===&lt;br /&gt;
*[[Problem with broken sound on ThinkPad 600 | Broken sound on ThinkPad 600/E]] (TP 600/E/X, 770Z)&lt;br /&gt;
&lt;br /&gt;
===Misc Problems===&lt;br /&gt;
*[[Problem with lm-sensors | Problem with lm_sensors]] (TP 570E, 770X/Z, 600E/X, 240, X20)&lt;br /&gt;
*[[Problem with high pitch noises | High pitch noises]] (several models)&lt;br /&gt;
*[[Problem with hard drive clicking | Clicking Hard Drive]] (T4x models and other models which ship with Hitachi's 5k80 hard drive)&lt;br /&gt;
*[[Problem with Dock USB Ports | Dock USB Ports]] (T30)&lt;br /&gt;
&lt;br /&gt;
[[de:Bekannte_Probleme]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Known_Problems&amp;diff=1681</id>
		<title>Known Problems</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Known_Problems&amp;diff=1681"/>
		<updated>2005-03-15T23:25:21Z</updated>

		<summary type="html">&lt;p&gt;Kevinoid: Add link to black X problem&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information on known problems with certain Thinkpad models.&lt;br /&gt;
&lt;br /&gt;
Choose (or create) a problem:&lt;br /&gt;
&lt;br /&gt;
===Display Problems===&lt;br /&gt;
*[[Problem with red tinted display | Red tint problem]] (TP 23)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with red display shadow | Red shadow problem]] (TP T41p)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with DVI throughput | Problem with DVI throughput on port replicators and docks]] (models from 2000-2004)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with garbled screen | Garbled screen problem]] &lt;br /&gt;
&lt;br /&gt;
*[[Problem with video related system lockup | Video-related system lockups]] (TP T2x)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with unmovable square black X in X | Problem with black X]] (TP T2x)&lt;br /&gt;
&lt;br /&gt;
===Power Management and Battery Problems===&lt;br /&gt;
*[[Problem with Thinkpad 600 batteries | Battery problem]] (TP 600/E/X)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with fan noise | Fan noise problem]] (TP T4x/p, TP R5x/p)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with high power drain in ACPI sleep | High power drain in ACPI sleep]] (various models)&lt;br /&gt;
&lt;br /&gt;
*[[Problem with LCD backlight remaining on during ACPI sleep | LCD backlight remaining on during ACPI sleep]] (various models)&lt;br /&gt;
&lt;br /&gt;
===Sound Problems===&lt;br /&gt;
*[[Problem with broken sound on ThinkPad 600 | Broken sound on ThinkPad 600/E]] (TP 600/E/X, 770Z)&lt;br /&gt;
&lt;br /&gt;
===Misc Problems===&lt;br /&gt;
*[[Problem with lm-sensors | Problem with lm_sensors]] (TP 570E, 770X/Z, 600E/X, 240, X20)&lt;br /&gt;
*[[Problem with high pitch noises | High pitch noises]] (several models)&lt;br /&gt;
*[[Problem with hard drive clicking | Clicking Hard Drive]] (T4x models and other models which ship with Hitachi's 5k80 hard drive)&lt;br /&gt;
*[[Problem with Dock USB Ports | Dock USB Ports]] (T30)&lt;br /&gt;
&lt;br /&gt;
[[de:Bekannte_Probleme]]&lt;/div&gt;</summary>
		<author><name>Kevinoid</name></author>
		
	</entry>
</feed>