Lenovo ThinkPad T400s

From ArchWiki
Revision as of 10:50, 13 February 2012 by Thim0aer (Talk | contribs) (Added Touchpad.)

Jump to: navigation, search

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Lenovo ThinkPad T400s#)

Before reading, a good starting point for Arch Linux installation on notebooks is the main laptop article.

The article describes the installation of Arch Linux on a ThinkPad T400s. Since the machine supports 64bit I've installed the x86_64 version of Arch Linux.

System Specification

Model: 		Lenovo T400s 2815-W3F
Processor:	Intel® Core™ 2 Duo SP9400 (2.40 GHz), 1066 MHz Front Side Bus, 6 MB-L2-Cache
Chipset:	?
Memory:		PC3-8500 DDR3-SDRAM 1066 MHz, 1x2 GB (8 GB maximum)
Harddrive:	250 GB, 1.8", SATA interface
Screen:		14.1" WSXGA LED backlight, maximum 1440 x 900 bp
Graphic:	Intel Graphics Media Accelerator X4500MHD, up to 384 MB
Optical drive:	DVD-RAM/RW drive
Bluetooth:	ThinkPad Bluetooth with Enhanced Data Rate (BDC-2) v.2.0+EDR
Network:	Intel 82567LM Ethernet adapter (10/100/1000 Mbps)
WiFi:		Intel Wireless 5300 a/g/n
USB ports:	2 + 1 combined eSATA/USB port
Webcam:		Yes
Fingerprintr.:	Yes
Battery:	Lithium Ion in 6 cell (~3 hours)
Dimensions:	337 (width) x 241 (dept) x 21.1-25.9 (height) mm
Weight:		1.77 kg

The output of 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:03.0 Communication controller: Intel Corporation Mobile 4 Series Chipset MEI Controller (rev 07)
00:03.3 Serial controller: Intel Corporation Mobile 4 Series Chipset AMT SOL Redirection (rev 07)
00:19.0 Ethernet controller: Intel Corporation 82567LM Gigabit Network Connection (rev 03)
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.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-E LPC Interface Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
03:00.0 Network controller: Intel Corporation Wireless WiFi Link 5300
05:00.0 SD Host controller: Ricoh Co Ltd Device e822 (rev 01)
05:00.1 System peripheral: Ricoh Co Ltd Device e230 (rev 01)

The output of lsusb

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 0a5c:2145 Broadcom Corp. 
Bus 004 Device 002: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0bdb:1900 Ericsson Business Mobile Networks BV 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 17ef:480d Lenovo 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Graphics

In order to use the builtin intel graphics adapter you will have to install xf86-video-intel package.

See Intel.

Touchpad

Touchpad is SynPS/2 Synaptics TouchPad. 'evdev' input driver provides basic functionality, but for tapping, scrolling and other advanced functions xf86-input-synaptics should be installed.

See Touchpad Synaptics.

TrackPoint

To enable the scrolling with the middle button do the following steps:

  • Check if TrackPoint is recognized by HAL:
$ hal-find-by-property --key 'input.product' --string 'TPPS/2 IBM TrackPoint'
/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input
  • If the output is empty, i.e. the TrackPoint device is missing, check wiki.ubuntuusers.de (german), which states that either a kernel patch or disabling the Touchpad in the BIOS is required in order to get the scrolling work.
  • Edit /etc/hal/fdi/policy/mouse-wheel.fdi as root and place the following code:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
	<device>
		<match key="info.product" string="TPPS/2 IBM TrackPoint">
			<merge key="input.x11_options.EmulateWheel" type="string">true</merge>
			<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
			<merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
			<merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
			<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
			<merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
		</match>
	</device>
</deviceinfo>
  • Restart HAL or reboot.

Fingerprint Reader

The builtin fingerprint reader is a Upek Biometric Touchchip/Touchstrip Fingerprint Sensor.

Network

Bluetooth

The bluetooth article gives an excellent introduction into the installation and usage of bluetooth on Arch Linux.

Ethernet

Ethernet works out of the box. The corresponding kernel module is e100e.

UMTS

The UMTS device is a Ericsson F3507g MiniPCIe WWAN/GPS card. The vendor identifier is 0bdb, while the device identifier is 1900 (both values are hexadecimal values). You can get more information about the card by using lsusb/usbview. In order to use the UTMS modem you will have to activate the device. You can edit and verify the settings of your UMTS modem by using minicom or another terminal emulation program like picocom or dterm. I've used tinycom which is inspired by the well known FreeBSD program 'tips'.

Activate the UMTS device

Open a connection to the device:

# ./com /dev/ttyACM1 [115200]

Check whenever the SIM is protected by PIN by sending

AT+CPIN?

If the answer is:

+CPIN: SIM PIN

you will have to unlock the device with your PIN:

AT+CPIN="YOUR-PIN-NUMBER"

The device can be activated now by sending:

AT+CFUN=1

The answer of the device should be:

+PACSP0

Restrict communication to GSM

Normally you do not want to restrict your communication to GSM only. If desired, you can send:

AT+CFUN=5

Restrict communication to WCDMA

As before, it is unusual to restrict your communication to WCDMA only. Type:

AT+CFUN=6

Deactivate the UMTS card

You can deactivate the card by typing

AT+CFUN=4

and if you want to remove all power from the card, type:

AT+CFUN=0

Setup the UMTS card as modem

There are two ways to use the UMTS card as modem. The first one just uses the card as GPRS modem, the second one uses the card as CDC ethernet interface.

Setup the UMTS card as GPRS modem

The GPRS modem settings are configured by wvdial. Please note that there are provider specific namings for access point names (APN). You can find an appropriate APN over here.

Setup the UMTS card as CDC ethernet interface

Setup the UMTS card as GPS receiver

While the UMTS card is activated, we can use it to get GPS info via NMEA protocol. In order to use the NMEA protocol, a few things have to be configured

AT*E2GPSCTL=X,Y,Z

The parameter x activates/deactivates the NMEA stream. Legal values are 0 (off) or 1 (on). The frequency how often the card emits the NMEA sentences is set by the Y parameter. Legal values are in a range between 1 upto 60. The last parameter sets DGPS off or on. The value 0 turns it off, the value 1 turns it on. If you want to activate the NMEA stream and DPGS and to update the position every 42 seconds you would type the following:

AT*E2GPSCTL=1,42,1

... TODO ...

Wireless LAN

In order to use the builtin Intel Wireless 5300 adapter you will have to add 'iwlagn' to the modules line in /etc/rc.conf:

MODULES=( iwlagn )

Also, you will have to install the wireless firmware for the Intel Wireless 5300 adapter:

# pacman -S iwlwifi-5000-ucode

The use of wpa_supplicant is straight forward. You will find more information on the corresponding wiki page over here.

Webcam

The webcam works out of the box. The functionality has been tested with the gnome application 'cheese'.

Power

Use the pm-utils package for suspend to disk and suspend to ram. Following the instructions in this section is enough for this notebook. The cpufrequtils packages provides support for dynamic CPU frequency scaling. The manual scaling featured has not been tested, yet the ondemand (automatic scaling) governor has been proven to work.

Sound

Sound works out of the box. The corresponding kernel module is snd-hda-intel.

As of September 2010 the module must be loaded with the option model=thinkpad in order to get the earphones work:

/etc/modprobe.d/alsa-base.conf
options snd-hda-intel model=thinkpad

This is due to the update to kernel 2.6.35. See [1] and [2]. This also enables muting of the internal speakers when a speaker is attached to the docking station.

5 in 1 Card Reader

Links

General

References

Linux on a ThinkPad T400s

There are a few installation guides for Linux on a Lenovo ThinkPad T400s.

Reviews