Gentoo on Lenovo ThinkPad SL400-NRH4MPB

Last update: 2009 Mar 11.

This document describes what needs to be done to get Gentoo running on Lenovo ThinkPad SL400-NRH4MPB notebook. All information here could be also used with other Linux distributions, but I'm "Gentoo centric" ;)

First the specs for my machine:

nelchael ~ # cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     T5670  @ 1.80GHz
stepping        : 13
cpu MHz         : 1801.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida
bogomips        : 3590.36
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     T5670  @ 1.80GHz
stepping        : 13
cpu MHz         : 1801.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida
bogomips        : 3590.98
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

nelchael@nelchael ~$ cat /proc/meminfo | grep 'MemTotal'
MemTotal:        2022796 kB
nelchael@nelchael ~$ lspci
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
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.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (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 LPC Interface Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
02:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection
0c:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
0d:00.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
0d:00.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
0d:00.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
0d:00.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
0d:00.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
nelchael ~ #

What works & what doesn't:

Video: Ok
Works out-of-box.
Sound: Ok
Requires kernel >=2.6.29.
USB: Ok
EHCI and UHCI.
Firewire: Not tested yet
Express Card: Not tested yet
Touchpad: Ok
Needs fine tuning with synaptic options:
Option    "BottomEdge" "4500"
Option    "HorizEdgeScroll" "1"
Option    "HorizTwoFingerScroll" "0"
Option    "LeftEdge" "1090"
Option    "RBCornerButton" "3"
Option    "RTCornerButton" "2"
Option    "RightEdge" "5400"
Option    "TapButton1" "1"
Option    "TopEdge" "1400"
Option    "VertEdgeScroll" "1"
Option    "VertTwoFingerScroll" "0"
Power management: Ok
Hotkeys: Ok
app-laptop/lenovo-sl-laptop module & xmodmap:
keycode 101 = XF86KbdBrightnessDown
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 160 = XF86AudioMute
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 212 = XF86KbdBrightnessDown
keycode 222 = XF86PowerOff
keycode 223 = XF86Sleep
keycode 233 = XF86ApplicationRight
keycode 234 = XF86ApplicationLeft
! Fn + F2:
keycode 146 = XF86Launch0
! Fn + F3:
keycode 241 = XF86Launch1
! Fn + F5 (hardware supported):
keycode 243 = XF86Launch2
! Fn + F8:
keycode 159 = XF86Launch3
! Fn + F9:
keycode 204 = XF86Launch4
! Fn + F12:
keycode 165 = XF86Launch5
SD/MMC Card reader: Ok
sdhci_pci kernel module.
Ethernet: Ok
Wireless: Ok
Bluetooth: Ok
Requires app-laptop/lenovo-sl-laptop (tested with 2.6.28.5).
CD/DVD Recorder: Ok
Builtin webcam: Ok
Works with uvcvideo module.