Debian 5.0 Lenny on ThinkPad X60s

2009.03

Šarūnas Burdulis

Department of Mathematics
Dartmouth College

IBM/Lenovo ThinkPad X60s (model 1705-24U)

Intel Core Duo low voltage processor L2300 (1.50GHz, 2MB L2, 667MHz FSB)
1GB RAM (2 NonParity DDR2 SDRAM SoDIMM PC2-5300)
Intel Graphics Media Accelerator 950
12.1 inch XGA (1024x768) (Lenovo LTN121XJ-L07)
40GB 5400rpm Serial ATA (Toshiba MK4032GSX)
USB 2.0 CD-RW/DVD-ROM Combo Drive
Intel PRO/1000 Gigabit Ethernet
Intel PRO/Wireless 3945ABG
Firewire
SD Card Reader
56K V.92 Modem

$ lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b4)
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 09)
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 18)

What works out of the box

What does not work

Not tested

Wireless

Debian installer detected Intel PRO/Wireless and offered to install required packages from non-free, but apparently it failed to install all that is needed. To enable wireless, add non-free to /etc/apt/sources.list:

deb http://ftp.us.debian.org/debian/ lenny main non-free

Then install binary firmware:

# apt-get update
# apt-get install firmware-iwlwifi

PowerTOP

PowerTOP output with fully charged battery and wireless on. All other settings are at install defaults. The battery is quite old and is reported to last 2:07 hours under similar conditions in other OS.

# powertop -d
PowerTOP 1.10    (C) 2007, 2008 Intel Corporation 

Collecting data for 15 seconds 

Cn	          Avg residency
C0 (cpu running)        ( 1.0%)
C0		  0.0ms ( 0.0%)
C1 halt		  0.0ms ( 0.0%)
C2		  0.0ms ( 0.0%)
C3		 11.2ms (99.0%)
P-states (frequencies)
  1500 Mhz     0.0%
  1000 Mhz   100.0%
Wakeups-from-idle per second : 88.7	interval: 15.0s
Power usage (ACPI estimate): 14.8W (2.0 hours) 
Top causes for wakeups:
  50.1% ( 32.7)       interrupt : iwl3945 
   9.0% (  5.9)    avahi-daemon : schedule_timeout (process_timeout) 
   8.0% (  5.2)      kernel IPI : Rescheduling interrupts 
   6.1% (  4.0)   kernel module : usb_hcd_poll_rh_status (rh_timer_func) 
   3.3% (  2.1)   kernel module : neigh_table_init_no_netlink (neigh_periodic_timer) 
   3.1% (  2.0)     kernel core : clocksource_register (clocksource_watchdog) 
   ... ... ...

Following PowerTOP suggestions, i.e. adding kernel option usbcore.autosuspend=1 to Grub and setting

# echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
# echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
# echo 5 > /sys/bus/pci/drivers/iwl3945/0000:03:00.0/power_level 
# echo 5 > /proc/sys/vm/laptop_mode

results in slightly better efficiency:

Wakeups-from-idle per second : 68.7	interval: 15.0s
Power usage (ACPI estimate): 12.8W (2.3 hours)

Kernel modules

$ uname -a
Linux gimli 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686 GNU/Linux

Kernel modules as loaded after the default install:

$ lsmod
Module                  Size  Used by
i915                   25280  2 
drm                    65256  3 i915
rfcomm                 28272  0 
l2cap                  17248  5 rfcomm
bluetooth              44900  4 rfcomm,l2cap
ppdev                   6468  0 
parport_pc             22500  0 
lp                      8164  0 
parport                30988  3 ppdev,parport_pc,lp
ipv6                  235300  16 
acpi_cpufreq            6796  0 
cpufreq_stats           3776  0 
cpufreq_userspace       3172  0 
cpufreq_conservative     5960  0 
cpufreq_ondemand        6476  2 
freq_table              4224  3 acpi_cpufreq,cpufreq_stats,cpufreq_ondemand
cpufreq_powersave       1856  0 
sbp2                   18572  0 
loop                   12748  0 
irtty_sir               4480  0 
arc4                    1824  2 
sir_dev                10724  1 irtty_sir
ecb                     2624  2 
crypto_blkcipher       15236  1 ecb
pcmcia                 29548  0 
iwl3945                78772  0 
serio_raw               4740  0 
irda                   95480  1 sir_dev
firmware_class          6816  2 pcmcia,iwl3945
crc_ccitt               2080  1 irda
yenta_socket           20620  1 
rsrc_nonstatic          9504  1 yenta_socket
pcmcia_core            31892  3 pcmcia,yenta_socket,rsrc_nonstatic
mac80211              139680  1 iwl3945
iTCO_wdt                9508  0 
psmouse                32336  0 
i2c_i801                7920  0 
bay                     4160  0 
pcspkr                  2432  0 
rng_core                3940  0 
i2c_core               19828  1 i2c_i801
cfg80211               21576  2 iwl3945,mac80211
video                  16432  0 
output                  2912  1 video
battery                10180  0 
ac                      4196  0 
snd_hda_intel         324248  1 
snd_pcm                62596  1 snd_hda_intel
snd_seq                41456  0 
snd_timer              17800  2 snd_pcm,snd_seq
snd_seq_device          6380  1 snd_seq
snd                    45604  7 snd_hda_intel,snd_pcm,snd_seq,snd_timer,snd_seq_device
thinkpad_acpi          49632  0 
soundcore               6368  1 snd
intel_agp              22332  1 
led_class               3908  2 iwl3945,thinkpad_acpi
button                  6096  0 
agpgart                28776  3 drm,intel_agp
snd_page_alloc          7816  2 snd_hda_intel,snd_pcm
nvram                   7116  1 thinkpad_acpi
evdev                   8000  7 
ext3                  105512  1 
jbd                    39444  1 ext3
mbcache                 7108  1 ext3
ide_pci_generic         3908  0 [permanent]
sd_mod                 22200  2 
piix                    6568  0 [permanent]
ide_core               96168  2 ide_pci_generic,piix
usbhid                 35904  0 
hid                    33184  1 usbhid
ff_memless              4392  1 usbhid
ata_generic             4676  0 
ohci1394               24944  0 
sdhci                  13060  0 
ahci                   23596  1 
ieee1394               75800  2 sbp2,ohci1394
mmc_core               39932  1 sdhci
libata                140384  2 ata_generic,ahci
scsi_mod              129356  3 sbp2,sd_mod,libata
ehci_hcd               28428  0 
uhci_hcd               18672  0 
usbcore               118160  4 usbhid,ehci_hcd,uhci_hcd
e1000e                 84612  0 
dock                    8304  2 bay,libata
thermal                15228  0 
processor              32576  4 acpi_cpufreq,thermal
fan                     4164  0 
thermal_sys            10856  4 video,thermal,processor,fan

/~sarunas