Note, [http://en.wikipedia.org/wiki/ThinkPad_T_Series ThinkPad T400] is available in a few hardware variants. Check the [http://www.thinkwiki.org ThinkWiki] where details of hardware specification are discussed in the [http://www.thinkwiki.org/wiki/Category:T400 T400] category.

+

Note, [[wikipedia:ThinkPad_T_Series|ThinkPad T400]] is available in a few hardware variants. Check the [http://www.thinkwiki.org ThinkWiki] where details of hardware specification are discussed in the [http://www.thinkwiki.org/wiki/Category:T400 T400] category.

Below is an overview of the T400 specifications as originally used to start this article:

Below is an overview of the T400 specifications as originally used to start this article:

Line 27:

Line 26:

*No fingerprint reader

*No fingerprint reader

*No Intel Turbo Memory

*No Intel Turbo Memory

+

+

==Installation==

+

Even with the latest BIOS update,T400 BIOS does not support EFI, but can handle GPT disk.

==Network==

==Network==

Line 38:

Line 40:

*Wifi link 5100 and 5300

*Wifi link 5100 and 5300

−

The drivers are included in the 2.6.27 kernel. However, it's important to make sure that you have the correct firmware. I installed the iwlwifi-5000-ucode. See [[Wireless#iwl3945.2C_iwl4965_and_iwl5000-series|this section]] for more details.

+

See [[Wireless network configuration#Intel]].

−

−

Since the 2.6.34 kernel update, the firmware files were moved to the {{ic|linux-firmware}} package. Manually installing other firmware packages is not required.

====Realtek chipset====

====Realtek chipset====

Line 49:

Line 49:

See http://www.thinkwiki.org/wiki/ThinkPad_11b/g/n_Wireless_LAN_Mini-PCI_Express_Adapter_II for more details.

See http://www.thinkwiki.org/wiki/ThinkPad_11b/g/n_Wireless_LAN_Mini-PCI_Express_Adapter_II for more details.

−

−

See [[Wireless Setup#rtl8192s]].

===Modem===

===Modem===

Line 77:

Line 75:

===Integrated Graphics===

===Integrated Graphics===

−

After installing [[Xorg#Installing_Xorg|xorg]], I installed the [[Intel|xf86-video-intel drivers]].

+

After installing [[Xorg#Installation|xorg]], I installed the [[Intel|xf86-video-intel drivers]].

===Discrete Graphics===

===Discrete Graphics===

−

All 3 ATI drivers worked. That is both [[ATI#Open-Source_ATI_Drivers|open-source drivers]] (<code>xf86-video-ati</code> and <code>xf86-video-radeonhd</code>) and [[ATI#ATI_Catalyst_proprietary_driver|fglrx]] (the <code>catalyst</code> proprietary drivers).

+

See [[ATI]] for the open-source driver or [[AMD Catalyst]] for the proprietary driver.

−

−

I could not get the <code>xf86-video-radeonhd</code> drivers to detect my external monitor, but <code>xf86-video-ati</code> worked fine. Remember to remove <code>catalyst</code> and <code>catalyst-utils</code> and reboot before using an [[ATI#Open-Source_ATI_Drivers|open source ATI drivers]]. ATI uses its own OpenGL library in its proprietary drivers, which is included in <code>catalyst-utils</code> and conflicts with libgl. As it did with the integrated graphics, running '''X -configure''' generated a working xorg.conf.

−

−

To get the [[ATI#ATI_Catalyst_proprietary_driver|catalyst drivers]] working, you do have to [[ATI#Configuration|configure]] your xorg.conf properly. I used '''aticonfig --initial''' to generate a working xorg.conf. I did encounter a problem that I have not been able to solve yet : resizing a window in a compositing window manager takes 1-2 seconds. This makes the drivers pretty much unusable.

===Switchable Graphics===

===Switchable Graphics===

−

Is currently not supported by the kernel. You can enable switchable-graphics in the BIOS and make Xorg do the switching, but then both cards will always use power and generate lots of heat. See the [http://en.gentoo-wiki.com/wiki/Lenovo_ThinkPad_T400#Getting_both_to_work| gentoo-wiki] to keep up too date on the issue.

+

[[ATI#Hybrid graphics/AMD Dynamic Switchable Graphics]]

−

−

You can also try David Arlile's patch to power off the unused card. See http://airlied.livejournal.com/71434.html and http://linux-hybrid-graphics.blogspot.com/.

−

−

===Hotplugging===

−

If you want to enable [[Xorg_input_hotplugging|hotplugging]] you probably do not need a xorg.conf. But if you are using xf86-video-ati you might temporarely need to disable [[KMS]], by adding "nomodeset" to your kernel-line in "/boot/grub/menu.lst". If you do not want to disable KMS you can probably install some radeon firmware, see the [[Ati#Kernel_mode-setting_.28KMS.29|Ati-wiki]].

−

−

Since all the mouse/keyboard configuration is taken care of by [[HAL]] you will need some config files in "/etc/hal/fdi/policy/"

More information in the TrackPoint can be found here: http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint.

−

The Keyboard layout is controlled by "/etc/hal/fdi/policy/10-keymap.fdi" Modify it like [[Xorg_input_hotplugging#Modifying_hal_configuration|this]] to

−

change your layout. If you have any more questions on hotplugging (like how to enable [[Touchpad_Synaptics#Configuration_via_HAL_policies_.28hotplugging_enabled.29|tapping]]), take a look at it's [[Xorg_input_hotplugging|wiki page]].

===Synaptic, UltraNav===

===Synaptic, UltraNav===

Line 145:

Line 118:

EndSection

EndSection

−

for trakpoint with third button paste & scroll add this few lines to xorg.conf too

+

for trackpoint with third button paste & scroll add these few lines to xorg.conf too

Section "InputDevice"

Section "InputDevice"

Line 193:

Line 166:

==Multimedia Keys==

==Multimedia Keys==

−

The screen brightness controls and the flashlight work without any tweaking. The other keys can be mapped using [[Extra_Keyboard_Keys#Using_xev|xev]] and xbindkeys. By following [http://wiki.linuxquestions.org/wiki/Configuring_keyboards#Enabling_Keyboard_Multimedia_Keys this guide] you should be able to get everything working, but here's summary :

+

{{Merge|Xmodmap|everything is covered in the main article, no need to duplicate}}

+

The screen brightness controls and the flashlight work without any tweaking. The other keys can be mapped using [[Extra keyboard keys#In_Xorg|xev]] and xbindkeys. By following [http://wiki.linuxquestions.org/wiki/Configuring_keyboards#Enabling_Keyboard_Multimedia_Keys this guide] you should be able to get everything working, but here's summary :

*First, open a terminal and type <code>xev</code>. This starts the "Event tester".

*First, open a terminal and type <code>xev</code>. This starts the "Event tester".

Line 227:

Line 201:

*To get your new <code>.Xmodmap</code> loaded immediately, type <code>xmodmap ~/.Xmodmap</code> in a terminal.

*To get your new <code>.Xmodmap</code> loaded immediately, type <code>xmodmap ~/.Xmodmap</code> in a terminal.

−

You can now assign functions to your newly bound keys by using [[Extra_Keyboard_Keys_in_Xorg#Using_your_Desktop_Environment_tools|facilities provided by your window desktop environment]] or by using <code>xbindkeys</code>.

+

You can now assign functions to your newly bound keys by using [[Extra keyboard keys in Xorg#Using_your_Desktop_Environment_tools|facilities provided by your window desktop environment]]{{Broken section link}} or by using <code>xbindkeys</code>.

To use <code>xbindkeys</code>,

To use <code>xbindkeys</code>,

Line 279:

Line 253:

esac

esac

+

== Dock ==

+

+

See [[dockd]].

From http://ubuntu-virginia.ubuntuforums.org/showpost.php?p=6105510&postcount=12 petri4 on the ubuntu forums.

From http://ubuntu-virginia.ubuntuforums.org/showpost.php?p=6105510&postcount=12 petri4 on the ubuntu forums.

Modem

Bluetooth

If you have thinkpad-acpi kernel module loaded, you can enable and disable Bluetooth from command line. To enable:

# echo 1 > /sys/devices/platform/thinkpad_acpi/bluetooth_enable

To disable:

# echo 0 > /sys/devices/platform/thinkpad_acpi/bluetooth_enable

To disable or enable Bluetooth at startup, add one of the above commands to /etc/rc.local.

The bluetooth module requires uhci_hcd. Make sure /etc/modprobe.d/modprobe.conf does not blacklist it.

For everything else related to Bluetooth, follow the procedure described in Bluetooth section of the Arch Wiki.

Graphics/Xorg Configuration

Note that it's possible to switch the graphics adapter by only restarting X, but It's quite useless since you can't power up/down a graphic-card without rebooting. So it's either both graphic-card on at all times, or do the switching in the BIOS.

So please press the ThinkVantag-button» during boot up and enable either the Integrated or the Discrete graphics cards in your BIOS's "Config->Display" menu.

Audio

Once you have ALSA installed, fire up alsamixer and make sure that sound is not muted. You might also want to press the Volume Up or Volume Down button. It seems than the Mute button mutes everything, even system beeps. Pressing the Volume Up or Volume Down button can unmute, but not pressing the Mute button again.

Multimedia Keys

The screen brightness controls and the flashlight work without any tweaking. The other keys can be mapped using xev and xbindkeys. By following this guide you should be able to get everything working, but here's summary :

First, open a terminal and type xev. This starts the "Event tester".

Place your cursor on the "Event tester" window.

When you press a key on your keyboard or move your mouse, it should get displayed in a terminal. For instance, this is what shows up if you press Fn+F2

Now, the actual action will performed on XF86Sleep or XF86Suspend is configurable in session policy, so it may vary (e.g. depending on desktop environment).
If nomenclature of XF86Standby, XF86Hibernate or XF86Sleep is confusing, check the thread suspend / hibernate nomenclature for in-depth explanation.

Mute

To get the mute button to work, it is necessary to pass the string acpi_osi="Linux" to the kernel as a boot parameter. In GRUB2, add it to the "linux" line. See here for more details.

With the 3.1 bios, it seems that the mute button works normally (set it up the same as the volume buttons with, for instance, "amixer set Master toggle").

ACPI

To enable the fan speed control, it's necessary to load the thinkpad_acpi with option fan_control=1. After the thinkpad_acpi module is loaded with this option, you can monitor and adjust the fan speed via /proc/acpi/ibm/fan.

SUSPEND-RESUME

People have been having issues with suspend resume with the current intel xf86-video-intel 2.4.3.1 drivers in combination with the 4500mhd chipset. This is apparently an issue with concurrency as adding the following script (with mod 755) in /etc/pm/sleep.d fixes things. to some extent...

#!/bin/sh
# Workaround for concurrency bug in xserver-xorg-video-intel 2:2.4.1-1ubuntu10.
# Save this as /etc/pm/sleep.d/00CPU
. "/usr/lib/pm-utils/functions"
case "$1" in
hibernate|suspend)
for i in /sys/devices/system/cpu/cpu*/online ; do
echo 0 >$i
done
;;
thaw|resume)
sleep 10 # run with one core for 10 secs
for i in /sys/devices/system/cpu/cpu*/online ; do
echo 1 >$i
done
;;
*)
;;
esac