Difference between revisions of "Installing Debian Sid on a ThinkPad T500"

From ThinkWiki
Jump to: navigation, search
(Hard drive)
m (HDAPS)
Line 80: Line 80:
  
 
= HDAPS =
 
= HDAPS =
The source package in the sid repository for tp_smapi is a bit outdated, so I compiled and installed using the tarball for SourceForge.
+
The source package in the sid repository for tp_smapi is a bit outdated, so I compiled and installed using the [http://sourceforge.net/project/showfiles.php?group_id=1212&package_id=171579 tarball] for SourceForge.
  
In order to get hdaps-gl working properly:
+
In order to get the OpenGL visualization utility (hdaps-gl) and the head parking daemon (hdapsd) working properly:
 
* created /etc/modprobe.d/hdaps , containing:
 
* created /etc/modprobe.d/hdaps , containing:
 
  options thinkpad_ec force_io=1
 
  options thinkpad_ec force_io=1
Line 88: Line 88:
 
* added to /etc/modules the following line:
 
* added to /etc/modules the following line:
 
  hdaps
 
  hdaps
* created /etc/udev/rules.d/51-hdaps.rules , containing:
+
* installed '''hdapsd''', which creates the required udev rule (''/etc/udev/rules.d/z60_hdapsd.rules''). I used the 1:0.0.20081004-1 version of the package, as it was required by the new sysfs interface in 2.6.28.
 +
* '''However''', if you don't want hdapsd (i.e. just want accelerometer data with no head parking), you can create a rule containing:
 
  KERNEL=="event[0-9]*", ATTRS{phys}=="hdaps/input1",ATTRS{modalias}=="input:b0019v1014p5054e4801-*",SYMLINK+="input/hdaps/accelerometer-event
 
  KERNEL=="event[0-9]*", ATTRS{phys}=="hdaps/input1",ATTRS{modalias}=="input:b0019v1014p5054e4801-*",SYMLINK+="input/hdaps/accelerometer-event
* installed hdaps-utils
+
* installed '''hdaps-utils'''
  
== Hard drive making hdapsd useless ==
+
== Hard drive issues ==
Alhough hdaps-gl shows the correct position of the laptop and 2.6.28 has built-in support for head parking, '''hdaspd is useless because the hard drive lacks the unloading feature'''. There is no '''unload_heads''' exposed in /sys/block/sda/device/ !
+
There is no '''unload_heads''' exposed in /sys/block/sda/device/ !
  
 
I modified the ata_id_has_unload() to print both ata_id_major_version and the ATA_ID_CFSSE word (Command Feature/Set Supported Extension). Here's what i get:
 
I modified the ata_id_has_unload() to print both ata_id_major_version and the ATA_ID_CFSSE word (Command Feature/Set Supported Extension). Here's what i get:

Revision as of 21:50, 29 January 2009

Configuration

The model number is 2082-6PG.

lspci

00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
00:01.0 PCI bridge: Intel Corporation Mobile 4 Series Chipset PCI Express Graphics Port (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:03.0 Communication controller: Intel Corporation Mobile 4 Series Chipset MEI Controller (rev 07)
00:19.0 Ethernet controller: Intel Corporation 82567LM Gigabit Network Connection (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
00:1f.0 ISA bridge: Intel Corporation ICH9M-E LPC Interface Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3650
03:00.0 Network controller: Intel Corporation Wireless WiFi Link 5100
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
15:00.3 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev ff)
15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)

lsusb

Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 004: ID 17ef:4807 Lenovo 
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 004: ID 0a5c:2145 Broadcom Corp. 
Bus 002 Device 002: ID 08ff:2810 AuthenTec, Inc. 
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Hard drive

Model=ST9250827AS                             , FwRev=3.CMF   , SerialNo=            5RG5RGBM
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=488397168
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio1 pio2 pio3 pio4 
DMA modes:  mdma0 mdma1 mdma2 
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 
AdvancedPM=yes: unknown setting WriteCache=enabled
Drive conforms to: unknown:  ATA/ATAPI-4,5,6,7

Before installation

  • switched to discrete graphics (Intel 4500MHD) in the BIOS. I did't want to mess with the ATI card because of the driver issues.

Installation

Used an (amd64) USB image (hd-media) and the Lenny RC1 netinstall ISO. Installation worked flawlessly, the Gigabit Ethernet adapter was detected and configured. Installed without X, switched to sid in sources.list and then went for X and Gnome.

I installation I compiled a vanilla 2.6.28 that I'm currently running.

Working

Pretty much out of the box with the 2.6.28 kernel:

  • Gigabit Ethernet (e1000 module)
  • 5300AGN wireless (iwlagn) with CRDA userspace regulation
  • Intel graphics, X driver from sid repository
  • suspend to ram (echo mem > /sys/power/state OR Fn+F4)
  • sound (HDA) + volume control buttons
  • Bluetooth
  • webcam (UVC driver, tested with guvcview)
  • card reader

HDAPS

The source package in the sid repository for tp_smapi is a bit outdated, so I compiled and installed using the tarball for SourceForge.

In order to get the OpenGL visualization utility (hdaps-gl) and the head parking daemon (hdapsd) working properly:

  • created /etc/modprobe.d/hdaps , containing:
options thinkpad_ec force_io=1
options hdaps invert=1
  • added to /etc/modules the following line:
hdaps
  • installed hdapsd, which creates the required udev rule (/etc/udev/rules.d/z60_hdapsd.rules). I used the 1:0.0.20081004-1 version of the package, as it was required by the new sysfs interface in 2.6.28.
  • However, if you don't want hdapsd (i.e. just want accelerometer data with no head parking), you can create a rule containing:
KERNEL=="event[0-9]*", ATTRS{phys}=="hdaps/input1",ATTRS{modalias}=="input:b0019v1014p5054e4801-*",SYMLINK+="input/hdaps/accelerometer-event
  • installed hdaps-utils

Hard drive issues

There is no unload_heads exposed in /sys/block/sda/device/ !

I modified the ata_id_has_unload() to print both ata_id_major_version and the ATA_ID_CFSSE word (Command Feature/Set Supported Extension). Here's what i get:

[    4.028454] ata: major version 7 id CFSSE 16384

16284 is 4000 in hex. According to the ATA 7 spec, the 13th bit should be 1 if the drive supports "IDLE IMEDIATE with UNLOAD FEATURE". At this point it is quite clear that the drive lacks the feature.

But, if the drive is unable to unload on request, how does the "ThinkVantage airbag" magic work on Windows ?

Not working

  • mute button
  • fingerprint reader, seems there's no driver yet

Not tested

  • DisplayPort