Installing Debian Etch on a ThinkPad Z60m

From ThinkWiki
Revision as of 21:45, 9 July 2007 by Macralfie (Talk | contribs) (Preparing the kernel)
Jump to: navigation, search

Special Keys

For the powermanagement-keys (Fn + F4, ...) install acpi-support:

# apt-get install acpi-support


For Fn - Arrow-keys I have customized my ~/.xmodmap:

keycode 164 = XF86AudioStop
keycode 162 = XF86AudioPlay
keycode 153 = XF86AudioNext
keycode 144 = XF86AudioPrev
keycode 234 = F19
keycode 233 = F20

For using the Back/Forward-keys in Firefox go on here.

Wireless Networking

The module for this chip is in kernel mainline (ipw2200). The only showstopper is the missing firmware.

Get it here: firmware v3.0

Extract it:

# tar zxvf ipw2200-fw-3.0.tgz

Move the *.fw files to /lib/firmware/

# mv *.fw /lib/firmware/

Reload the module:

# rmmod ipw2200 && modprobe ipw2200

CPU Throttling

Load the kernelmodule:

# modprobe speedstep_centrino

Add line "speedstep_centrino" to /etc/modules to load the module on boot.

Install the throttling-daemon:

# apt-get install powernowd

Done.


Active Protection System

Preparing the kernel

To get the headdisk-parking working you have to build your own kernel with the hdaps_protect-patch applied:


Install the prerequisites that we need to compile the new kernel:

# apt-get install kernel-package ncurses-dev fakeroot wget bzip2

Get the recent debian-etch-kernel (2.6.18):

# apt-get install linux-tree-2.6.18

Go to the sources and unpack them:

# cd /usr/src # tar jxvf linux-source-2.6.18.tar.bz2

As etchs kernel is 2.6.18-4 its propably a good idea to get the hdaps_protect patch for 2.6.18-3:

# wget http://www.dresco.co.uk/hdaps/hdaps_protect-2.6.18.3-2.patch

Apply the patch:

# cd linux-source-2.6.18/ # patch -p1 < ../hdaps_protect-2.6.18.3-2.patch

Copy the default-config to the sourcetree:

# cp /boot/config-2.6.18-4-486 ./.config

Build the kernel & packages:

# make-kpkg clean

'#'fakeroot make-kpkg --initrd --revision=thinkpad.1.0 kernel_image

Install the new kernel. Grub-menu should be updated automatically.

# dpkg -i linux-image-2.6.18_thinkpad.1.0_i386.deb

Reboot and select the new kernel. Verify with 'uname -a'. If all things work you can set the new kernel default in /boot/grub/menu.lst with default $entry-number (0..1..2..)

Preparing userspace

Installing the daemon:

# apt-get install hdapsd

To set your harddrive, edit /etc/default/hdapsd:

# start hdapsd at boottime?
START=yes
#
# the name of the disk device that hdapsd should monitor.
#
# usually this is 'hda' the primary master or 'sda'
# on SATA ThinkPads.
DISK=sda
#
# other options to pass to hdapsd.
# the -d and -b options are always passed.
OPTIONS=

Restart hdapsd:

# /etc/init.d/hdapsd restart

You should get something like that in /var/log/syslog when throwing your thinkpad off the table: (No, seriously, shaking it carefully should be sufficient :-) )

Mar 20 12:25:37 localhost kernel: ata_scsi_issue_protect_fn(): unload support reported by drive..
Mar 20 12:25:37 localhost kernel: scsi_protect_queue(): head parked..
Mar 20 12:25:38 localhost kernel: scsi_unprotect_queue(): No pending I/O, re-enabling power management..
Mar 20 12:25:38 localhost hdapsd[12522]: Tue Mar 20 12:25:38 2007: un-parking


Fingerprint-Reader

Install userspace-tools

I got the fingerprint reader working with the new ThinkFinger-drivers (opensource). They are working much better than the closed-source UPEK drivers and don't have this ugly QT-dialog.

Get some debian-packages from here and install them with:

# dpkg -i *.deb

Enroll your fingers

Enroll your fingers with:

# tf-tool --add-user <login>

# tf-tool --add-user name
ThinkFinger 0.2.2 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de>
Initializing... done.
Please swipe your finger (successful swipes 3/3, failed swipes: 0)... done.
Storing data (/etc/pam_thinkfinger/name.bir)... done.

Configuring PAM to use ThinkFinger

Now you can configure pam to use ThinkFinger:

Open /etc/pam.d/common-auth:

# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
auth     sufficient     pam_thinkfinger.so
auth     required     pam_unix.so try_first_pass

Ready! Works flawlessly with gdm for instance! Enroll user 'root' to use your fingerprint for 'sudo'.

System Information

uname -a

Linux phooka 2.6.18 #1 PREEMPT Thu Apr 5 13:09:55 CEST 2007 i686 GNU/Linux

lspci

00:00.0 Host bridge [0600]: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller [8086:2590] (rev 03)
	Subsystem: IBM Unknown device [1014:0575]
	Flags: bus master, fast devsel, latency 0
	Capabilities: [e0] Vendor Specific Information

00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller [8086:2592] (rev 03) (prog-if 00 [VGA])
	Subsystem: IBM Unknown device [1014:058c]
	Flags: bus master, fast devsel, latency 0, IRQ 11
	Memory at a0080000 (32-bit, non-prefetchable) [size=512K]
	I/O ports at 1800 [size=8]
	Memory at c0000000 (32-bit, prefetchable) [size=256M]
	Memory at a0040000 (32-bit, non-prefetchable) [size=256K]
	Capabilities: [d0] Power Management version 2

 00:02.1 Display controller [0380]: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller [8086:2792] (rev 03)
	Subsystem: IBM Unknown device [1014:058c]
	Flags: fast devsel
	Memory at 30000000 (32-bit, non-prefetchable) [disabled] [size=512K]
	Capabilities: [d0] Power Management version 2  

00:1b.0 Audio device [0403]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller [8086:2668] (rev 03)
	Subsystem: IBM Unknown device [1014:05b7]
	Flags: bus master, fast devsel, latency 0, IRQ 11
	Memory at a0000000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
	Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
	Capabilities: [70] Express Unknown type IRQ 0
	Capabilities: [100] Virtual Channel
	Capabilities: [130] Unknown (5) 

00:1c.0 PCI bridge [0604]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 [8086:2660] (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	Memory behind bridge: a0100000-a01fffff
	Capabilities: [40] Express Root Port (Slot+) IRQ 0
	Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
	Capabilities: [90] Subsystem: IBM Unknown device [1014:05b8]
	Capabilities: [a0] Power Management version 2
	Capabilities: [100] Virtual Channel
	Capabilities: [180] Unknown (5) 

00:1c.1 PCI bridge [0604]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 [8086:2662] (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=03, subordinate=0a, sec-latency=0
	I/O behind bridge: 00002000-00003fff
	Memory behind bridge: a2000000-a3ffffff
	Prefetchable memory behind bridge: 00000000d0000000-00000000d00fffff
	Capabilities: [40] Express Root Port (Slot+) IRQ 0
	Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
	Capabilities: [90] Subsystem: IBM Unknown device [1014:05b8]
	Capabilities: [a0] Power Management version 2
	Capabilities: [100] Virtual Channel
	Capabilities: [180] Unknown (5)  

00:1c.2 PCI bridge [0604]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 [8086:2664] (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=0b, subordinate=12, sec-latency=0
	I/O behind bridge: 00004000-00005fff
	Memory behind bridge: a4000000-a5ffffff
	Prefetchable memory behind bridge: 00000000b0100000-00000000b01fffff
	Capabilities: [40] Express Root Port (Slot+) IRQ 0
	Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
	Capabilities: [90] Subsystem: IBM Unknown device [1014:05b8]
	Capabilities: [a0] Power Management version 2
	Capabilities: [100] Virtual Channel
	Capabilities: [180] Unknown (5) 

00:1c.3 PCI bridge [0604]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 [8086:2666] (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=13, subordinate=13, sec-latency=0
	I/O behind bridge: 00006000-00007fff
	Memory behind bridge: a6000000-a7ffffff
	Prefetchable memory behind bridge: 00000000d0100000-00000000d01fffff
	Capabilities: [40] Express Root Port (Slot+) IRQ 0
	Capabilities: [80] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
	Capabilities: [90] Subsystem: IBM Unknown device [1014:05b8]
	Capabilities: [a0] Power Management version 2
	Capabilities: [100] Virtual Channel
	Capabilities: [180] Unknown (5) 

00:1d.0 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 [8086:2658] (rev 03) (prog-if 00 [UHCI])
	 Subsystem: IBM Unknown device [1014:0565]
	 Flags: bus master, medium devsel, latency 0, IRQ 11
	 I/O ports at 1820 [size=32]

00:1d.1 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 [8086:2659] (rev 03) (prog-if 00 [UHCI])
	Subsystem: IBM Unknown device [1014:0565]
	Flags: bus master, medium devsel, latency 0, IRQ 11
	I/O ports at 1840 [size=32] 

00:1d.2 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 [8086:265a] (rev 03) (prog-if 00 [UHCI])
	Subsystem: IBM Unknown device [1014:0565]
	Flags: bus master, medium devsel, latency 0, IRQ 11
	I/O ports at 1860 [size=32] 

00:1d.3 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 [8086:265b] (rev 03) (prog-if 00 [UHCI])
	 Subsystem: IBM Unknown device [1014:0565]
	 Flags: bus master, medium devsel, latency 0, IRQ 11
	 I/O ports at 1880 [size=32]

00:1d.7 USB Controller [0c03]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller [8086:265c] (rev 03) (prog-if 20 [EHCI])
	 Subsystem: IBM Unknown device [1014:0566]
	 Flags: bus master, medium devsel, latency 0, IRQ 11
	 Memory at a0004000 (32-bit, non-prefetchable) [size=1K]
	 Capabilities: [50] Power Management version 2
	 Capabilities: [58] Debug port 

00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev d3) (prog-if 01 [Subtractive decode])
	 Flags: bus master, fast devsel, latency 0
	 Bus: primary=00, secondary=14, subordinate=17, sec-latency=64
	 I/O behind bridge: 00008000-0000bfff
	 Memory behind bridge: a8000000-b00fffff
	 Prefetchable memory behind bridge: 00000000d8000000-00000000dfffffff
	 Capabilities: [50] Subsystem: Gammagraphx, Inc. Unknown device [0000:0000]

00:1f.0 ISA bridge [0601]: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge [8086:2641] (rev 03)
	Subsystem: IBM Unknown device [1014:0568]
	Flags: bus master, medium devsel, latency 0 
 
00:1f.2 IDE interface [0101]: Intel Corporation 82801FBM (ICH6M) SATA Controller [8086:2653] (rev 03) (prog-if 80 [Master])
	Subsystem: IBM Unknown device [1014:056a]
	Flags: bus master, 66MHz, medium devsel, latency 0
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at <unassigned>
	I/O ports at 1810 [size=16]
	Capabilities: [70] Power Management version 2 

00:1f.3 SMBus [0c05]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller [8086:266a] (rev 03)
	Subsystem: IBM Unknown device [1014:056b]
	Flags: medium devsel, IRQ 11
	I/O ports at 18a0 [size=32]

02:00.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express [14e4:167d] (rev 11)
	Subsystem: IBM Unknown device [1014:0577]
	Flags: bus master, fast devsel, latency 0, IRQ 11
	Memory at a0100000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Vital Product Data
	Capabilities: [58] Message Signalled Interrupts: Mask- 64bit+ Queue=0/3 Enable-
	Capabilities: [d0] Express Endpoint IRQ 0
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [13c] Virtual Channel

14:00.0 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev b3)
	Subsystem: IBM Unknown device [1014:056c]
	Flags: bus master, medium devsel, latency 64, IRQ 11
	Memory at b0000000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=14, secondary=15, subordinate=16, sec-latency=176
	Memory window 0: d8000000-d9fff000 (prefetchable)
	Memory window 1: a8000000-a9fff000 (prefetchable)
	I/O window 0: 00008000-000080ff
	I/O window 1: 00008400-000084ff
	16-bit legacy interface ports at 0001

14:00.1 FireWire (IEEE 1394) [0c00]: Ricoh Co Ltd R5C552 IEEE 1394 Controller [1180:0552] (rev 08) (prog-if 10 [OHCI])
	Subsystem: IBM ThinkPad A/T/X Series [1014:0511]
	Flags: bus master, medium devsel, latency 64, IRQ 11
	Memory at b0001000 (32-bit, non-prefetchable) [size=2K]
	Capabilities: [dc] Power Management version 2

14:00.2 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 17)
	Subsystem: IBM Thinkpad Z60m [1014:0598]
	Flags: bus master, medium devsel, latency 64, IRQ 11
	Memory at b0001800 (32-bit, non-prefetchable) [size=256]
	Capabilities: [80] Power Management version 2

14:00.3 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter [1180:0592] (rev 08)
	Subsystem: IBM Unknown device [1014:0596]
	Flags: medium devsel, IRQ 11
	Memory at b0001c00 (32-bit, non-prefetchable) [size=256]
	Capabilities: [80] Power Management version 2
 
14:02.0 Network controller [0280]: Intel Corporation PRO/Wireless 2915ABG Network Connection [8086:4224] (rev 05)
	Subsystem: Intel Corporation Unknown device [8086:1011]
	Flags: bus master, medium devsel, latency 64, IRQ 11
	Memory at b0002000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [dc] Power Management version 2

lsmod

Module                  Size  Used by
wacom                  15168  0 
i915                   17344  2 
drm                    61140  3 i915
binfmt_misc            10568  1 
ipv6                  221472  10 
ieee80211_crypt_ccmp     6784  3 
cpufreq_ondemand        5744  0 
speedstep_centrino      7120  1 
cpufreq_userspace       3860  1 
freq_table              4292  1 speedstep_centrino
ac                      5060  0 
battery                 9476  0 
ibm_acpi               24320  0 
hdaps                   8816  0 
sbp2                   20744  0 
ieee1394               86008  1 sbp2
loop                   14536  0 
tsdev                   7360  0 
joydev                  8960  0 
snd_hda_intel          16916  0 
snd_hda_codec         137728  1 snd_hda_intel
ipw2200                93568  0 
snd_pcm_oss            38112  0 
ieee80211              29064  1 ipw2200
ieee80211_crypt         5824  2 ieee80211_crypt_ccmp,ieee80211
snd_mixer_oss          15168  1 snd_pcm_oss
firmware_class          9536  1 ipw2200
snd_pcm                68616  3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_timer              20868  1 snd_pcm
sdhci                  16140  0 
mmc_core               22608  1 sdhci
i2c_i801                7308  0 
snd                    46564  6 snd_hda_intel,snd_hda_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore               9248  1 snd
i2c_core               19792  1 i2c_i801
psmouse                34568  0 
snd_page_alloc          9480  2 snd_hda_intel,snd_pcm
intel_agp              20892  1 
rtc                    12276  0 
evdev                   8896  1 
agpgart                29360  3 drm,intel_agp
sg                     31068  0 
sr_mod                 15716  0 
cdrom                  32416  1 sr_mod
ext3                  117640  3 
jbd                    51816  1 ext3
mbcache                 8260  1 ext3
sha256                 10944  0 
aes                    28032  5 
dm_crypt               10696  1 
dm_mirror              18704  0 
dm_snapshot            15324  0 
dm_mod                 49848  12 dm_crypt,dm_mirror,dm_snapshot
ide_generic             1280  0 [permanent]
sd_mod                 18896  3 
generic                 5316  0 [permanent]
ide_core              109040  2 ide_generic,generic
ata_piix               13384  2 
ahci                   17220  0 
libata                 90200  2 ata_piix,ahci
scsi_mod              125256  6 sbp2,sg,sr_mod,sd_mod,ahci,libata
tg3                    94020  0 
ehci_hcd               27848  0 
uhci_hcd               20876  0 
usbcore               111940  4 wacom,ehci_hcd,uhci_hcd
thermal                13384  0 
processor              23724  2 speedstep_centrino,thermal
fan                     4676  0 

/proc/cpuinfo

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 13
model name	: Intel(R) Pentium(R) M processor 1.86GHz
stepping	: 8
cpu MHz		: 800.000
cache size	: 2048 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 2
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx est tm2
bogomips	: 1597.51 


hdparm -I -tT /dev/sda

/dev/sda:

ATA device, with non-removable media
	Model Number:       HTS541080G9SA00                         
	Serial Number:      MPBDL0X6H9KRTM
	Firmware Revision:  MB4IC60H
Standards:
	Used: ATA/ATAPI-7 T13 1532D revision 1 
	Supported: 7 6 5 4 
Configuration:
	Logical		max	current
	cylinders	16383	16383
	heads		16	16
	sectors/track	63	63
	--
	CHS current addressable sectors:   16514064
	LBA    user addressable sectors:  156301488
	LBA48  user addressable sectors:  156301488
	device size with M = 1024*1024:       76319 MBytes
	device size with M = 1000*1000:       80026 MBytes (80 GB)
Capabilities:
	LBA, IORDY(can be disabled)
	Standby timer values: spec'd by Vendor, no device specific minimum
	R/W multiple sector transfer: Max = 16	Current = 16
	Advanced power management level: 128 (0x80)
	Recommended acoustic management value: 128, current value: 254
	DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 
	     Cycle time: min=120ns recommended=120ns
	PIO: pio0 pio1 pio2 pio3 pio4 
	     Cycle time: no flow control=240ns  IORDY flow control=120ns
Commands/features:
	Enabled	Supported:
	   *	SMART feature set
	    	Security Mode feature set
	   *	Power Management feature set
	   *	Write cache
	   *	Look-ahead
	   *	Host Protected Area feature set
	   *	WRITE_BUFFER command
	   *	READ_BUFFER command
	   *	NOP cmd
	   *	DOWNLOAD_MICROCODE
	   *	Advanced Power Management feature set
	    	Power-Up In Standby feature set
	   *	SET_FEATURES required to spinup after power up
	    	SET_MAX security extension
	    	Automatic Acoustic Management feature set
	   *	48-bit Address feature set
	   *	Device Configuration Overlay feature set
	   *	Mandatory FLUSH_CACHE
	   *	FLUSH_CACHE_EXT
	   *	SMART error logging
	   *	SMART self-test
	   *	General Purpose Logging feature set
	   *	WRITE_{DMA|MULTIPLE}_FUA_EXT
	   *	IDLE_IMMEDIATE with UNLOAD
	   *	SATA-I signaling speed (1.5Gb/s)
	   *	Host-initiated interface power management
	   *	Device-initiated interface power management
	   *	Software settings preservation
Security: 
	Master password revision code = 
		supported
	not	enabled
	not	locked
		frozen
	not	expired: security count
	not	supported: enhanced erase
	52min for SECURITY ERASE UNIT. 
Checksum: correct
 Timing cached reads:   1140 MB in  2.00 seconds = 569.77 MB/sec
 Timing buffered disk reads:   74 MB in  3.07 seconds =  24.13 MB/sec