Ubuntu 9.10 Karmic Koala Netbook Remix on ThinkPad X60s

2009.10.29

Š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"

Not tested

Notes

Boot time is 23s (from Grub entry selection to GDM login screen).

Sound works as long as modem is not disabled in BIOS.

Due to bug(s) in network-manager-gnome (NM applet) it is not possible to connect to WPA2 Enterprise TLS secure wireless networks. NM applet fails to read user's certificate. Connection is still possible using wpa-supplicant from the command line. See bug no. 445487 in Launchpad.

Just after the install, running on fully charged (but quite old) battery, screen auto-dimmed and WiFi connected to access point with 80% signal strength, PowerTOP reports 14.6W:

# powertop --dump
PowerTOP 1.11   (C) 2007, 2008 Intel Corporation 

Collecting data for 15 seconds 


Cn	          Avg residency
C0 (cpu running)        ( 1.1%)
C0		  0.0ms ( 0.0%)
C1 halt		  0.0ms ( 0.0%)
C2		  0.1ms ( 0.0%)
C3		 12.4ms (98.9%)
P-states (frequencies)
  1500 Mhz     0.0%
  1000 Mhz   100.0%
Wakeups-from-idle per second : 79.7	interval: 15.0s
Power usage (ACPI estimate): 14.6W (1.7 hours) 
Top causes for wakeups:
  28.2% ( 27.0)        : iwl3945 
  16.4% ( 15.7)        : extra timer interrupt 
  11.4% ( 10.9)      : hrtimer_start_range_ns (tick_sched_timer) 
  10.3% (  9.9)   ubuntuone-clien : hrtimer_start_range_ns (hrtimer_wakeup) 
  10.3% (  9.9)   ubuntuone-syncd : hrtimer_start_range_ns (hrtimer_wakeup) 
   6.1% (  5.9)       : Rescheduling interrupts 
   4.2% (  4.0)      avahi-daemon : hrtimer_start_range_ns (hrtimer_wakeup) 
   3.2% (  3.1)      : hrtimer_start (tick_sched_timer) 
   2.2% (  2.1)    gnome-terminal : hrtimer_start_range_ns (hrtimer_wakeup) 
   1.3% (  1.3)          beam.smp : ep_poll (process_timeout) 
   1.0% (  1.0)        : ahci 
   0.8% (  0.8)              Xorg : queue_delayed_work (delayed_work_timer_fn) 
   0.6% (  0.5)        : eth0 
   0.6% (  0.5)      : neigh_periodic_timer (neigh_periodic_timer) 
   0.6% (  0.5)          events/0 : e1000_watchdog_task (e1000_watchdog) 
   0.6% (  0.5)              phy0 : ieee80211_associated (ieee80211_sta_timer) 
   0.4% (  0.4)   update-notifier : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.3% (  0.3)        : uhci_hcd:usb2, i915, yenta 
   0.3% (  0.3)       gnome-panel : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.2% (  0.2)           pdflush : wb_kupdate (wb_timer_fn) 
   0.2% (  0.2)   gnome-settings- : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)      : add_timer (sta_info_cleanup) 
   0.1% (  0.1)   netbook-launche : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)        : PS/2 keyboard/mouse/touchpad 
   0.1% (  0.1)              Xorg : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)        kjournald2 : blk_add_timer (blk_rq_timed_out_timer) 
   0.1% (  0.1)          rsyslogd : add_timer (commit_timeout) 
   0.1% (  0.1)    NetworkManager : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)              cron : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)        kerneloops : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)             heart : hrtimer_start_range_ns (hrtimer_wakeup) 

Suggestion: increase the VM dirty writeback time from 5.00 to 15 seconds with:
  echo 1500 > /proc/sys/vm/dirty_writeback_centisecs 
This wakes the disk up less frequently for background VM activity

Suggestion: Enable SATA ALPM link power management via: 
  echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
or press the S key.

Suggestion: Enable laptop-mode by executing the following command:
   echo 5 > /proc/sys/vm/laptop_mode 


Recent USB suspend statistics
Active  Device name
  0.0%	USB device usb5 : UHCI Host Controller (Linux 2.6.31-14-generic uhci_hcd)
  0.0%	USB device usb4 : UHCI Host Controller (Linux 2.6.31-14-generic uhci_hcd)
  0.0%	USB device usb3 : UHCI Host Controller (Linux 2.6.31-14-generic uhci_hcd)
  0.0%	USB device usb2 : UHCI Host Controller (Linux 2.6.31-14-generic uhci_hcd)
  0.0%	USB device usb1 : EHCI Host Controller (Linux 2.6.31-14-generic ehci_hcd)

After following the suggestions above, power usage doesn't drop significantly:

PowerTOP 1.11   (C) 2007, 2008 Intel Corporation 

Collecting data for 15 seconds 

Cn	          Avg residency
C0 (cpu running)        ( 1.1%)
C0		  0.0ms ( 0.0%)
C1 halt		  0.0ms ( 0.0%)
C2		  0.1ms ( 0.0%)
C3		 12.2ms (98.9%)
P-states (frequencies)
  1500 Mhz     0.0%
  1000 Mhz   100.0%
Wakeups-from-idle per second : 81.0	interval: 15.0s
Power usage (ACPI estimate): 14.0W (1.7 hours) 
Top causes for wakeups:
  31.0% ( 30.5)        : iwl3945 
  15.1% ( 14.9)        : extra timer interrupt 
  10.1% (  9.9)   ubuntuone-syncd : hrtimer_start_range_ns (hrtimer_wakeup) 
  10.1% (  9.9)      : hrtimer_start_range_ns (tick_sched_timer) 
  10.1% (  9.9)   ubuntuone-clien : hrtimer_start_range_ns (hrtimer_wakeup) 
   4.8% (  4.7)       : Rescheduling interrupts 
   4.8% (  4.7)      avahi-daemon : hrtimer_start_range_ns (hrtimer_wakeup) 
   3.5% (  3.4)      : hrtimer_start (tick_sched_timer) 
   2.2% (  2.1)        : ahci 
   2.0% (  2.0)    gnome-terminal : hrtimer_start_range_ns (hrtimer_wakeup) 
   1.2% (  1.2)          beam.smp : ep_poll (process_timeout) 
   0.8% (  0.8)              Xorg : queue_delayed_work (delayed_work_timer_fn) 
   0.5% (  0.5)              phy0 : ieee80211_associated (ieee80211_sta_timer) 
   0.5% (  0.5)      : neigh_periodic_timer (neigh_periodic_timer) 
   0.5% (  0.5)        : eth0 
   0.5% (  0.5)          events/0 : e1000_watchdog_task (e1000_watchdog) 
   0.4% (  0.4)   update-notifier : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.3% (  0.3)        : uhci_hcd:usb2, i915, yenta 
   0.3% (  0.3)       gnome-panel : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.2% (  0.2)   gnome-settings- : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)              Xorg : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)      : add_timer (sta_info_cleanup) 
   0.1% (  0.1)        kerneloops : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)    NetworkManager : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)   netbook-launche : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)        : PS/2 keyboard/mouse/touchpad 
   0.1% (  0.1)           pdflush : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)           pdflush : wb_kupdate (wb_timer_fn) 
   0.1% (  0.1)             heart : hrtimer_start_range_ns (hrtimer_wakeup) 
   0.1% (  0.1)          rsyslogd : add_timer (commit_timeout) 

Recent USB suspend statistics
Active  Device name
  0.0%	USB device usb5 : UHCI Host Controller (Linux 2.6.31-14-generic uhci_hcd)
  0.0%	USB device usb4 : UHCI Host Controller (Linux 2.6.31-14-generic uhci_hcd)
  0.0%	USB device usb3 : UHCI Host Controller (Linux 2.6.31-14-generic uhci_hcd)
  0.0%	USB device usb2 : UHCI Host Controller (Linux 2.6.31-14-generic uhci_hcd)
  0.0%	USB device usb1 : EHCI Host Controller (Linux 2.6.31-14-generic ehci_hcd)
 

Kernel modules as loaded after the install:

$ lsmod
Module                  Size  Used by
cbc                     3516  162 
aes_i586                8124  163 
aes_generic            27484  1 aes_i586
binfmt_misc             8356  1 
ppdev                   6688  0 
snd_hda_codec_analog    59292  1 
lp                      8964  0 
parport                35340  2 ppdev,lp
snd_hda_intel          26920  2 
snd_hda_codec          75708  2 snd_hda_codec_analog,snd_hda_intel
snd_hwdep               7200  1 snd_hda_codec
snd_pcm_oss            37920  0 
snd_mixer_oss          16028  1 snd_pcm_oss
snd_pcm                75296  3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_seq_dummy           2656  0 
snd_seq_oss            28576  0 
pcmcia                 36808  0 
arc4                    1660  2 
snd_seq_midi            6432  0 
snd_rawmidi            22208  1 snd_seq_midi
ecb                     2524  3 
yenta_socket           24200  1 
snd_seq_midi_event      6940  2 snd_seq_oss,snd_seq_midi
iwl3945                77212  0 
rsrc_nonstatic         11644  1 yenta_socket
psmouse                56180  0 
sdhci_pci               7100  0 
snd_seq                50224  6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
iwlcore               112508  1 iwl3945
pcmcia_core            35792  3 pcmcia,yenta_socket,rsrc_nonstatic
mac80211              181236  2 iwl3945,iwlcore
thinkpad_acpi          67108  0 
nvram                   7528  1 thinkpad_acpi
serio_raw               5280  0 
snd_timer              22276  2 snd_pcm,snd_seq
snd_seq_device          6920  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
sdhci                  17472  1 sdhci_pci
dm_crypt               12928  0 
led_class               4096  4 iwl3945,iwlcore,thinkpad_acpi,sdhci
snd                    59204  16 snd_hda_codec_analog,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
iptable_filter          3100  0 
soundcore               7264  1 snd
cfg80211               93052  3 iwl3945,iwlcore,mac80211
snd_page_alloc          9156  2 snd_hda_intel,snd_pcm
ip_tables              11692  1 iptable_filter
x_tables               16544  1 ip_tables
fbcon                  36640  72 
tileblit                2460  1 fbcon
font                    8124  1 fbcon
bitblit                 5372  1 fbcon
softcursor              1756  1 bitblit
ohci1394               29900  0 
ieee1394               86596  1 ohci1394
e1000e                122124  0 
i915                  221064  4 
drm                   159584  4 i915
i2c_algo_bit            5760  1 i915
intel_agp              27484  2 i915
agpgart                34988  2 drm,intel_agp
video                  19380  1 i915
output                  2780  1 video

/~sarunas