Lenovo Thinkpad X300

From ArchWiki

Jump to: navigation, search


Contents

Introduction

I bought a new Lenovo Thinkpad X300 with the vision to use just Arch Linux on it. First thing i did, was to boot up from my Arch CD and started the setup. The computer was preinstalled with Windows Vista Business and I didn't plan to keep it.

My system

Arch ver:	2.6.27-ARCH
Model: 	Lenovo X300 6478-14G
Processor:	Intel® Core™ 2 Duo processor LV7100 (1.2 GHz), 4-MB L2 cache
Chipset:	Intel Mobile 965GS Express
Memory:	DDR II SDRAM - 667MHz - PC2-5300 - 2x1GB (4GB maximun)
Harddrive:	SSD (solid state) 64 GB, 8 mm high, SATA interface
Screen:	13.3" WXGA+ LED backlight, maximun 1440 x 900 bp
Graphic:	Intel GS965/GMA X3100, up to 256 MB
Optical drive:	DVD-RAM/RW drive, 7 mm high
Bluetooth:	ThinkPad Bluetooth with Enhanced Data Rate (BDC-2) v.2.0+EDR
Network:	10/100/1000 Mbps
WiFi:		Intel Wireless WiFi Link 4965AGN 802.11a/g/n
USB ports:	3
Webbcam	Yes
Fingerprintr.	Yes
Battery:	Lithium Polymer in 3 cell or Lithium Ion in 6 cell configurations (~4 hours)
Dimensions:	318 (width) x 231 (dept) x 18.6-23.4 (height) mm
Weight:	1.51 kg

Output of lspci:

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
00:19.0 Ethernet controller: Intel Corporation 82566MM Gigabit Network Connection (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #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 Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HBM (ICH8M-E) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) 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 PRO/Wireless 4965 AG or AGN Network Connection (rev 61)

First boot

Installation

The installation went smoothly and no problems occurred. I used the auto-partitioning tool to partiton my harddrive. This was my setup:

32MB	ext2	/boot
512MB	swap	swap
~20GB	xfs	/
~40GB	xfs	/home

And then I used the FTP installation to get the needed packages. Both my network cards were detected (as eth0 and wlan0).

Things that do work

Things that don't work

Untested/unknown

Fixes

Graphic card

Model: Intel Corporation Mobile GM965

Driver used: xf86-video-intel 2.3.2-1

Problem: VESA-driver is used as standard driver for X.

To install driver:

pacman -S xf86-video-intel

Set driver for X, change the driver from "VESA" to "intel" in /etc/X11/xorg.conf:

Driver "intel"

Then reboot your laptop.

Reference: Video Cards

WiFi

Model: Intel Wireless 4965 AG

Driver used: iwlwifi-4965-ucode 228.57.2.21-1

Problem: wlan0 exists on startup but cannot be activated = no networks found.

To install driver:

pacman -S iwlwifi-4965-ucode

To activate and scan for wireless networks I used:

ifconfig wlan0 up
iwlist wlan0 scan

And for connecting to WEP/WPA secured networks I am using wireless tools and netcfg which works flawless.

pacman -S wireless_tools
pacman -S netcfg

Reference: Wireless Setup

Sound

Model: Intel Corporation 82801H

Drivers used: alsa-lib 1.0.18-1 / alsa-utils 1.0.18-1

Problem: Sound doesn't work.

To install driver:

pacman -Sy alsa-lib alsa-utils

To disable muting of the output:

gpasswd -a USERNAME audio	(doesn't know if this had any effect)
alsaconf
alsamixer			(00 on master and pcm)
alsactl store			(to create '/etc/asound.state')

And for storing the last setting used, put "alsa" into MODULES() in /etc/rc.conf

After this is done, the volume controls (volume up/down/mute) also works!

Reference: ALSA

Touchpad

Model: AlpsPS/2 ALPS DualPoint TouchPad

Driver used: synaptics 0.14.6.99-2 / xf86-input-synaptics 0.99.1-1 (since xorg-server 1.5.3-2, see xorg)

The touchpad works from scratch in xorg, but if you would like to install the drivers to enable more options, this will work (with both scrolling and tap):

pacman -S synaptics

or (depending on the xorg-server version)...

pacman -S xf86-input-synaptics

And then add following to /etx/X11/xorg.conf (note that this is for xf86-input-synaptics(!) and I have removed everything not related to the touchpad):

Section "ServerLayout"
	InputDevice	"Touchpad" "SendCoreEvents"
EndSection

Section "Module"
	Load	"synaptics"
EndSection

Section "InputDevice"
	Identifier	"Touchpad"
	Driver		"synaptics"
	Option		"Device" "/dev/input/event10"
	Option		"Protocol" "auto-dev"
	Option		"AlwaysCore" "true"
#	Option		"TouchpadOff" "1"
	Option		"SHMConfig" "on"
	Option		"LeftEdge" "130"
	Option		"RightEdge" "840"
	Option		"TopEdge" "130"
	Option		"BottomEdge" "640"
	Option		"FingerLow" "7"
	Option		"FingerHigh" "8"
	Option		"MaxTapTime" "180"
	Option		"MaxTapMove" "110"
	Option		"EmulateMidButtonTime" "75"
	Option		"VertEdgeScroll" "true"
	Option		"HorizEdgeScroll" "true"
	Option		"CornerCoasting" "true"
	Option		"CoastingSpeed" "0.30"
	Option		"VertScrollDelta" "20"
	Option		"HorizScrollDelta" "20"
	Option		"MinSpeed" "0.80"
	Option		"MaxSpeed" "1.0"
	Option		"AccelFactor" "0.0010"
#	Option		"VertTwoFingerScroll" "true"
#	Option		"HorizTwoFingerScroll" "true"
	Option		"EdgeMotionMinSpeed" "200"
	Option		"EdgeMotionMaxSpeed" "200"
	Option		"UpDownScrolling" "1"
	Option		"CircularScrolling" "1"
	Option		"CircScrollDelta" "0.1"
	Option		"CircScrollTrigger" "2"
	Option		"Emulate3Buttons" "on"
	Option		"TapButton1" "1"
	Option		"TapButton2" "2"
	Option		"TapButton3" "3"
EndSection

Reference: Synaptics

Backlight

Brightness control (Fn+Home/End) works fine.

To change the brightness manually of the LCD you can either:

echo 100 > /proc/acpi/video/VID1/LCD0/brightness	to set 100%
echo 80 > /proc/acpi/video/VID1/LCD0/brightness	to set 80%

or

xbacklight -inc 10%		to increase with 10%
xbacklight -dec 10%		to decrease with 10%
xbacklight -set 100		to set 100%
xbacklight =100		to set 100%

Webcam

Works.

Here is the output of "dmesg | grep Camera":

input: UVC Camera (17ef:4807) as /class/input/input12

Output of "lsusb":

Bus 007 Device 002: ID 17ef:4807 ChipsBnk 

You can test the webcam with mplayer:

mplayer -fps 25 tv://

Bluetooth

Not tested yet, but here is the output of "dmesg | grep Bluetooth":

Bluetooth: Core ver 2.13
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: HCI USB driver ver 2.10

To control the bluetooth device I can run this:

echo enable > /proc/acpi/ibm/bluetooth		To enable
echo disable > /proc/acpi/ibm/bluetooth	To disable

And when the bluetooth device is enabled, it will appear as a usb device. Output of "lsusb":

Bus 001 Device 006: ID 0a5c:2110 Broadcom Corp. 

So, it seems that the device is recognized by the system and hopefully works.

Fingerprint Reader

Works without any problems, Use ThinkFinger

Output of "lsusb":

Bus 001 Device 005: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader

Suspend / Hibernate

First install uswsusp and then test suspending to RAM... this should work.

sudo pacman uswsusp
sudo /usr/sbin/s2ram -f

Then install acpid

sudo pacman -S acpid

Then add it to rc.conf DAEMONS before hal (you did install hal, right ;)

Then edit /etc/acpi/default.sh to use /usr/sbin/s2ram -f when the button/lid closes... make it look like the following:

button/lid)
  /usr/sbin/s2ram -f
  #echo "LID switched!">/dev/tty5
  ;;

Configuration

Language

I changed my language (swedish/sv_SE) and keyboardlayout in the following files:

/etc/environment
/etc/X11/xorg.conf
/etc/rc.conf
/etc/locale.gen

And after that I ran this as root to update my locales:

locale-gen

xorg

This installation of xorg went well, just needed a reboot:

pacman -S xorg

xorg.conf

This one works for me:

Section "ServerLayout"
	Identifier	"X.org Configured"
	Screen 0	"Screen0" 0 0
	InputDevice	"Mouse0" "CorePointer"
	InputDevice	"Keyboard0" "CoreKeyboard"
	InputDevice	"Touchpad" "SendCoreEvents"
	Option		"AIGLX" "true"
EndSection

Section "Files"
	RgbPath		"/usr/share/X11/rgb"
	ModulePath	"/usr/lib/xorg/modules"
	FontPath	"/usr/share/fonts/misc"
	FontPath	"/usr/share/fonts/100dpi:unscaled"
	FontPath	"/usr/share/fonts/75dpi:unscaled"
	FontPath	"/usr/share/fonts/TTF"
	FontPath	"/usr/share/fonts/Type1"
EndSection

Section "Module"
	Load	"record"
	Load	"dri"
	Load	"extmod"
	Load	"xtrap"
	Load	"dbe"
	Load	"freetype"
	Load	"synaptics"
EndSection

Section "InputDevice"
	Identifier	"Keyboard0"
	Driver		"kbd"
	Option		"XkbLayout" "se"
EndSection

Section "InputDevice"
	Identifier	"Mouse0"
	Driver		"mouse"
	Option		"Protocol" "auto"
	Option		"Device" "/dev/input/mice"
	Option		"ZAxisMapping" "4 5 6 7"
EndSection

Section "InputDevice"
	Identifier	"Touchpad"
	Driver		"synaptics"
	Option		"Device" "/dev/input/event10"
	Option		"Protocol" "auto-dev"
	Option		"AlwaysCore" "true"
#	Option		"TouchpadOff" "1"
	Option		"SHMConfig" "on"
	Option		"LeftEdge" "130"
	Option		"RightEdge" "840"
	Option		"TopEdge" "130"
	Option		"BottomEdge" "640"
	Option		"FingerLow" "7"
	Option		"FingerHigh" "8"
	Option		"MaxTapTime" "180"
	Option		"MaxTapMove" "110"
	Option		"EmulateMidButtonTime" "75"
	Option		"VertEdgeScroll" "true"
	Option		"HorizEdgeScroll" "true"
	Option		"CornerCoasting" "true"
	Option		"CoastingSpeed" "0.30"
	Option		"VertScrollDelta" "20"
	Option		"HorizScrollDelta" "20"
	Option		"MinSpeed" "0.80"
	Option		"MaxSpeed" "1.0"
	Option		"AccelFactor" "0.0010"
#	Option		"VertTwoFingerScroll" "true"
#	Option		"HorizTwoFingerScroll" "true"
	Option		"EdgeMotionMinSpeed" "200"
	Option		"EdgeMotionMaxSpeed" "200"
	Option		"UpDownScrolling" "1"
	Option		"CircularScrolling" "1"
	Option		"CircScrollDelta" "0.1"
	Option		"CircScrollTrigger" "2"
	Option		"Emulate3Buttons" "on"
	Option		"TapButton1" "1"
	Option		"TapButton2" "2"
	Option		"TapButton3" "3"
EndSection

Section "Monitor"
	Identifier	"Monitor0"
	VendorName	"Monitor Vendor"
	ModelName	"Monitor Model"
	DisplaySize	380 238 # 96 DPI @ 1440x900
EndSection

Section "Device"
	Identifier	"Card0"
	Driver		"intel"
	VendorName	"Intel Corporation"
	BoardName	"Mobile GM965/GL960 Integrated Graphics Controller"
	BusID		"PCI:0:2:0"
EndSection

Section "Screen"
	Identifier	"Screen0"
	Device		"Card0"
	Monitor		"Monitor0"
	DefaultDepth	24
	SubSection "Display"
		Viewport	0 0
		Depth		4
		Modes		"1440x900" "1280x800" "1280x768" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport	0 0
		Depth		8
		Modes		"1440x900" "1280x800" "1280x768" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport	0 0
		Depth		15
		Modes		"1440x900" "1280x800" "1280x768" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport	0 0
		Depth		16
		Modes		"1440x900" "1280x800" "1280x768" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport	0 0
		Depth		24
		Modes		"1440x900" "1280x800" "1280x768" "1024x768" "800x600" "640x480"
	EndSubSection
EndSection

After upgrading to xorg-server 1.5.3-2 I got problems with starting X, and when it finally was running, my USB mouse and keyboard didn't work. I had to change the following in /etc/X11/xorg.conf to fix the problems:

Section "ServerLayout"
	Option		"AllowEmptyInput" "false"	# Fixed the problem with USB mouse and keyboard
EndSection

Section "Files"
#	RgbPath		"/usr/share/X11/rgb"	# Comment out to get the X server up running
EndSection

Section "Module"
#	Load	"record"	# The logfile complains about loading this module
EndSection

I don't know if it helped me, but firstly I ran:

pacman -S xf86-input-evdev

FluxBox

I also installed FluxBox as window manager. This is done by following:

pacman -S fluxbox

And to load fluxbox with xorg, I created ~/.xinitrc and putted this into it:

#!/bin/bash
exec startfluxbox

This is the output of "xrandr" after I installed the Intel graphical driver:

Screen 0: minimum 320 x 200, current 1440 x 900, maximum 1440 x 1440
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected 1440x900+0+0 (normal left inverted right x axis y axis) 287mm x 180mm
  1440x900       60.0*+   50.0  
  1280x800       60.0  
  1280x768       60.0  
  1024x768       60.0  
  800x600        60.3  
  640x480        59.9  

It tells me that I am using the correct screen resolution (1440x900), but there is still one problem. My characters in fluxbox is still extremely large! This is a problem bound to the print resolution (dpi, dots per inch). And to get rid of this, you can add the following in /etc/X11/xinit/xserverrc:

exec /usr/bin/X -nolisten tcp -dpi 96

or this into /etx/X11/xorg.conf:

Section "Monitor"
	DisplaySize	380 238 # 96 DPI @ 1440x900
EndSection

Mounting USB memory

My USB memory is recognized as /dev/sdb1 and to mount it I added this into /etc/fstab:

/dev/sdb1 /media/usb vfat users,auto,rw 0 0

Note that you need to create /media/usb first! After editing the fstab I use:

mount /media/usb		to mount my memory
umount /media/usb		to unmount my memory

Packages

Here are some of the packages I have tried with success:

sudo
xorg
fluxbox
openoffice-base
gedit
jdk
firefox (flashplugin / ttf-ms-fonts for Flash)
gimp
svn
zip/unzip
feh
dia
evince

Edited files

/etc/rc.conf
/etc/environment
/etc/locale.gen
/etc/fstab
/etc/X11/xorg.conf
/etc/X11/xinit/xserverrc
~/.xinitrc

//RiJo 05:02, 15 November 2008 (EST)
//patrickhaller 2009 April 25

Personal tools