Installing Debian 4.0 (Etch) on a ThinkPad X300
Installing from the Debian Netinstall-CDROM worked without any problems. The SSD is recognized as an S-ATA drive using the ahci-driver. The Gigabit-Ethernet-Port works out-of-the-box.
The Kernel shipped with Debian stable (2.6.18 at the time of writing this) doesn't support many of the features. I manually upgraded it to 2.6.25. The .config can be found here. Alternatively you can use more recent snapshots as described here http://wiki.debian.org/DebianKernel .
WLAN (Intel 4965AGN)
The driver for the wireless lan interface (iwl4965) is included in the Kernel sources. You only need to install the binary firmware from here:  (you can install it in stable without problems).
I had problems with WPA-EAP/TTLS using the 2.6.25 drivers, these could be fixed with a fresh driver snapshot from http://wireless.kernel.org/en/users/Download (I used compat-wireless-2008-04-25).
Graphics (Intel GMA965 / X3100)
For graphics you'll need the intel_agp module from a recent kernel as well as xserver-xorg-video-intel (not in stable at the time of writing, get it from testing).
Nothing special in xorg.conf:
Section "Device" Identifier "Generic Video Card" Driver "intel" EndSection
If you want 3D-acceleration and DRI I suggest to use testing instead of stable, because many of the xserver and mesa-packages in stable are not ready, yet.
If you want to activate CRT output use `xrandr --output VGA --mode 1440x900`. If your data projector is not able to display wide screen try `xrandr --output VGA --mode 1280x1024`. For more detailed info see: Installing Ubuntu on a ThinkPad R60e.
You'll need the thinkpad_acpi module. I had to tweak some settings to make the backlight work:
modprobe thinkpad_acpi brightness_enable=1 brightness_mode=0 fan_control=1
To make this change permanent execute
echo "options thinkpad_acpi fan_control=1 brightness_enable=1 brightness_mode=0" \ > /etc/modprobe.d/thinkpad
After inserting the module that way, backlight can be controlled using
echo XX > /sys/class/backlight/thinkpad_screen/brightness
Where XX is a number between 0 and 15.
A short test with Thinkfinger showed no problems.
Seems to work only with Protocol auto-dev and /dev/psaux:
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "HorizScrollDelta" "20" EndSection
Unfortunately the fan is spinning almost all the time, haven't found a way around this, yet.
[2008-4-27] The fan's controller turns off or at a low enough speed to be silent (~1800 rpm) when the CPU temp gets below 108 F. It goes back to full speed at around 111 F. At least my system sits around 108-115 F under normal usage. I don't think there's any problem with the fan staying on all the time. It's a tiny fan and air duct and is bound to make noise trying to push any reasonable amount of air. --fritz
[2008-5-13] First off, the fan shouldn't be on at all unless the CPU is being used. When I run Windows the fan is almost never on. I've worked a bit on this and have had no success. I shutdown all processes including X and the fan still runs. Therefore, this seems to be an issue with the kernel and possibly Linux not leveraging speedstep or something else on the chip correctly. I'll do a bit more digging, but this is pretty annoying and would be nice to fix because it would also mean longer battery life (heat = power). --bpontarelli
[2008-6-11] If fan_control=1 is added to thinkpad_acpi then fan speed can be controlled by `echo level 0-7 > /proc/acpi/ibm/fan`. 1 gives speed about 2000, the fan is really silent but its cooling ability is low. When I set 2, then speed is 5100 - same speed as if it's left on auto. :( For more info see: How to control fan speed. --semik
[2008-7-07] You can use the fancontrol daemon which comes with the lm-sensors package to regulate the fan from userspace. With 1800 rpm the temperature stays around 50 C when idle and the fan is barely noticable.
HDAPS-Fun (Motion sensor)
The X300 has a motion sensor, but it is not yet recognized by the standard hdaps-module, but if you install Tp smapi (which i suggest, because it provides a lot of information about your battery) it works fine.
You need to do:
echo enable > /proc/acpi/ibm/bluetooth
or (as the proc interface to acpi gets deprecated)
echo -n 1 > /sys/devices/platform/thinkpad_acpi/bluetooth_enable
And magically, the Bluetooth-Daughterboard appears as an USB device:
Bus 003 Device 003: ID 0a5c:2110 Broadcom Corp.
If you like to use the ThinkPad Bluetooth Laser Mouse see the article on how to set it up.
Sound works if you build alsa modules yourself:
- Download latest alsa snapshot from here.
- Unpack and run:
./configure --with-debug=detect make make install /etc/init.d/alsasound stop /etc/init.d/alsasound start
- [2008-12-01] With hardy-heron 2.6.24-22-generic and alsa-driver-1.0.18a, a straight make ran into header problems. But by limiting the cards that were actually being compiled (in particular removing the hrtimer card) by reconfiguring before making, the compile worked and the sound worked. I used the following command
./configure --with-debug=basic --with-sequencer=yes --with-cards=ens1371,es1938,es1968,fm801,hda-intel,hdsp,hdspm,hifier,ice1712,ice1724,intel8x0,intel8x0m,korg1212 --with-card-options=all
but the following simplification should work also
./configure --with-debug=basic --with-sequencer=yes --with-cards=hda-intel --with-card-options=all
- You may need to modify the last two lines for your distro (or just restart if you're lazy...)
- If you're using ubuntu hardy, you probably need to create a softlink:
ln -s /lib/modules/<your kernel>/kernel/sound/ /lib/modules/<your kernel>/ubuntu/sound/alsa-driver
The alsa-driver directory may already exist, and you should either remove or rename it.
This patch is in the git kernel and won't be committed until 2.6.26, so this is your only option for a good while.
The sound works out of the box using kernel 2.6.26-rc9.
[2008-07-10] Sound works nearly out of the box with the last FC9 18.104.22.168-76 kernel (the audio codec has to be recognized exactly as "Analog Devices AD1984A", one can check it in /proc/asound/card0/codec#0) : give the module snd-hda-intel the option "model=thinkpad" -- Ptyx
If you build the Linux UVC drivers from SVN, the cam gets recognized:
Linux video capture interface: v2.00 uvcvideo: Found UVC 1.00 device <unnamed> (17ef:4807) input: UVC Camera (17ef:4807) as /class/input/input9 usbcore: registered new interface driver uvcvideo USB Video Class driver (SVN r205)
In order to build latest uvc driver:
svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk cd trunk make make install rmmod uvcvideo modprobe uvcvideo
You can display the video-stream using mplayer:
mplayer -fps 25 tv://
You'll want to use a newer version of gstreamer as well ( > 0.10.15).
The camera works out of the box starting from kernel 2.6.26-rc9.
[2008-07-10] Camera works out of the box with the last FC9 22.214.171.124-76 kernel. -- Ptyx
Suspend & Hibernate
Hibernation works on Lenny out of box with uswsusp package. It's pretty fast comparing to my old DELL D410, I guess thanks to SSD drive.
Suspending fails because of the e1000 driver. I must remove eth0 driver to keep notebook sleeping. If the driver is present then notebook resumes 1-2 seconds after suspending. Newer kernels (at least 2.6.26-rc9 upwards) use the e1000e driver to control the network interface, but suspending still fails. Just add a file in /etc/pm/config.d/ and add one line
Now suspend works.
[2008-07-23] To fix an issue with rebooting instead of powering off after suspending to disk, set this option in /etc/uswsusp.conf --Timo
shutdown method = shutdown
Some interesting facts
# lspci 00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 0c) 00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c) 00:02.1 Display controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c) 00:19.0 Ethernet controller: Intel Corporation Unknown device 1049 (rev 03) 00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #4 (rev 03) 00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #5 (rev 03) 00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #2 (rev 03) 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03) 00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03) 00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03) 00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #3 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #1 (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3) 00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03) 00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03) 00:1f.2 SATA controller: Intel Corporation Mobile SATA AHCI Controller (rev 03) 00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03) 03:00.0 Network controller: Intel Corporation Unknown device 4230 (rev 61)
# lsusb Bus 007 Device 001: ID 1d6b:0001 Bus 006 Device 001: ID 1d6b:0001 Bus 005 Device 001: ID 1d6b:0001 Bus 004 Device 001: ID 1d6b:0001 Bus 003 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader Bus 003 Device 001: ID 1d6b:0001 Bus 002 Device 002: ID 17ef:4807 Bus 002 Device 001: ID 1d6b:0002 Bus 001 Device 001: ID 1d6b:0002
# cat /proc/cpuinfo (at 800 Mhz) processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Duo CPU L7100 @ 1.20GHz stepping : 11 cpu MHz : 800.000 cache size : 4096 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no 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 nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm ida bogomips : 2421.98 clflush size : 64
processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Duo CPU L7100 @ 1.20GHz stepping : 11 cpu MHz : 800.000 cache size : 4096 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no 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 nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm ida bogomips : 2394.01 clflush size : 64
# cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: SAMSUNG MCCOE64G Rev: PS10 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi3 Channel: 00 Id: 00 Lun: 00 Vendor: MATSHITA Model: DVD-RAM UJ-844 Rev: RC02 Type: CD-ROM ANSI SCSI revision: 05
# hdparm -t /dev/sda /dev/sda: Timing buffered disk reads: 270 MB in 3.01 seconds = 89.74 MB/sec
- This guide is listed at the TuxMobil Linux laptop and notebook installation guides survey (IBM/Lenovo).