Difference between revisions of "Lenovo ThinkPad T400"
m |
Thestinger (talk | contribs) (→7-1 Media Card Reader: out of date) |
||
(26 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category:Lenovo | + | [[Category:Lenovo]] |
− | =System | + | {{Article summary start}} |
+ | {{Article summary text|Installation instructions for the Lenovo ThinkPad T400}} | ||
+ | {{Article summary heading|Related}} | ||
+ | {{Article summary wiki|Lenovo ThinkPad T400s}} | ||
+ | {{Article summary end}} | ||
+ | {{Poor writing|Numerous spelling, grammar, and style issues.}} | ||
+ | |||
+ | ==System Specification== | ||
+ | |||
+ | 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. | ||
+ | |||
+ | Below is an overview of the T400 specifications as originally used to start this article: | ||
+ | |||
*CPU : Intel® Core™2 Duo Processor T9400 (6M Cache, 2.53 GHz, 1066 MHz FSB) | *CPU : Intel® Core™2 Duo Processor T9400 (6M Cache, 2.53 GHz, 1066 MHz FSB) | ||
*Memory : 3GB PC3-8500 DDR3 | *Memory : 3GB PC3-8500 DDR3 | ||
Line 8: | Line 20: | ||
*Integrated Graphics : Intel 4500MHD | *Integrated Graphics : Intel 4500MHD | ||
*Discrete Graphics : AMD M82XT Hybrid 256 MB (ATI Mobility Radeon HD 3470) | *Discrete Graphics : AMD M82XT Hybrid 256 MB (ATI Mobility Radeon HD 3470) | ||
− | *Screen : 14.1" WXGA+ TFT with LED | + | *Screen : 14.1" WXGA+ TFT with LED Backlight |
*Gigabit Ethernet, Modem | *Gigabit Ethernet, Modem | ||
*Express Card & PC Card Slots | *Express Card & PC Card Slots | ||
Line 16: | Line 28: | ||
*No Intel Turbo Memory | *No Intel Turbo Memory | ||
− | =Network= | + | ==Network== |
− | ==Ethernet | + | ===Ethernet=== |
− | The kernel module to get the network card to work is | + | The [[kernel module]] to get the network card to work is {{ic|e1000e}}. |
− | ==Wireless== | + | ===Wireless=== |
− | Lenovo offers different options in | + | Lenovo offers different options in wireless hardware: |
− | ===Intel chipset=== | + | ====Intel chipset==== |
*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. | 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. | ||
− | ===Realtek chipset=== | + | ====Realtek chipset==== |
*Rtl8192SE | *Rtl8192SE | ||
Line 40: | Line 52: | ||
Finally came the expected driver (alpha? beta?), I think it's premature but it works perfectly. | Finally came the expected driver (alpha? beta?), I think it's premature but it works perfectly. | ||
− | + | Get the driver from Realtek's website (r8192se_pci): | |
− | 32 bits: http:// | + | 32 & 64 bits: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=21&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true |
− | + | ||
+ | untar; make; make install; reboot and enjoy it | ||
+ | |||
+ | I found it would not build unless I installed linux-headers and created a directory at /etc/acpi/events. | ||
− | + | The reboot step is also unnecessary, it is available for modprobing immediately. | |
I test it with: | I test it with: | ||
Line 55: | Line 70: | ||
dhcpcd wlan0 | dhcpcd wlan0 | ||
− | There is also a package available in the AUR: | + | There is also a package available in the AUR: https://aur.archlinux.org/packages.php?ID=34281 |
'''Ndiswrapper option:''' | '''Ndiswrapper option:''' | ||
Line 72: | Line 87: | ||
For more information, see http://ubuntuforums.org/showthread.php?t=1182457 and http://forums.lenovo.com/lnv/board/message?board.id=Special_Interest_Linux&message.id=1196 . | For more information, see http://ubuntuforums.org/showthread.php?t=1182457 and http://forums.lenovo.com/lnv/board/message?board.id=Special_Interest_Linux&message.id=1196 . | ||
− | ==Modem== | + | ===Modem=== |
There is a module "hsfmodem" provided by http://www.linuxant.com/. | There is a module "hsfmodem" provided by http://www.linuxant.com/. | ||
− | =Graphics/Xorg Configuration= | + | ===Bluetooth=== |
+ | |||
+ | If you have [http://www.thinkwiki.org/wiki/Thinkpad-acpi thinkpad-acpi] kernel module loaded, you can enable and disable Bluetooth from command line. To enable: | ||
+ | |||
+ | {{bc|# echo 1 > /sys/devices/platform/thinkpad_acpi/bluetooth_enable}} | ||
+ | |||
+ | To disable: | ||
+ | |||
+ | {{bc|# echo 0 > /sys/devices/platform/thinkpad_acpi/bluetooth_enable}} | ||
+ | |||
+ | To disable or enable Bluetooth at startup, add one of the above commands to {{ic|/etc/rc.local}}. | ||
+ | |||
+ | The bluetooth module requires {{ic|uhci_hcd}}. Make sure {{ic|/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. | 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. | ||
Line 87: | Line 118: | ||
*catalyst version 8.12 | *catalyst version 8.12 | ||
− | ==Integrated Graphics== | + | ===Integrated Graphics=== |
After installing [[Xorg#Installing_Xorg|xorg]], I installed the [[Intel|xf86-video-intel drivers]]. As root, I then ran '''X -configure'''. The generated xorg.conf worked fine. I did apply the [[Intel#2D|2D]] and [[Intel#3D|3D]] optimization, and performances in compositing window managers (like compiz or kwin) seem to have increased. I have not made any scientific measurements though. | After installing [[Xorg#Installing_Xorg|xorg]], I installed the [[Intel|xf86-video-intel drivers]]. As root, I then ran '''X -configure'''. The generated xorg.conf worked fine. I did apply the [[Intel#2D|2D]] and [[Intel#3D|3D]] optimization, and performances in compositing window managers (like compiz or kwin) seem to have increased. I have not made any scientific measurements though. | ||
Line 198: | Line 229: | ||
EndSection | EndSection | ||
− | ==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). | 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). | ||
Line 205: | Line 236: | ||
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. | 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 | + | 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. |
− | ==Hotplugging== | + | 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/. |
− | If you want to enable [[Xorg_input_hotplugging|hotplugging]] you probably | + | |
+ | ===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/" | Since all the mouse/keyboard configuration is taken care of by [[HAL]] you will need some config files in "/etc/hal/fdi/policy/" | ||
Line 227: | Line 260: | ||
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]]. | 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=== |
If you want to be able to use horizontal and vertical scroll with your touchpad add this lines to your xorg.conf | If you want to be able to use horizontal and vertical scroll with your touchpad add this lines to your xorg.conf | ||
Line 286: | Line 319: | ||
EndSection | EndSection | ||
− | + | ==Audio== | |
− | |||
− | |||
− | =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. | 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. | ||
Line 310: | Line 340: | ||
Additionally, there is a patch for the audio driver for conexant's chipsets provided by http://www.linuxant.com which can be downloaded at http://www.linuxant.com/alsa-driver/. | Additionally, there is a patch for the audio driver for conexant's chipsets provided by http://www.linuxant.com which can be downloaded at http://www.linuxant.com/alsa-driver/. | ||
− | + | ==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 : | 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 : | ||
Line 357: | Line 386: | ||
(xbindkey '("XF86AudioLowerVolume") "amixer set Master 2dB- unmute") | (xbindkey '("XF86AudioLowerVolume") "amixer set Master 2dB- unmute") | ||
− | + | Note, in more recent Arch (kernel 3.4.2, xorg-server 1.12.2, laptop-mode-tools 1.61), on the T400, related keys combinations binding seems to be: | |
+ | *Fn+2 → XF86ScreenSaver | ||
+ | *Fn+4 → XF86Sleep & XF86Wakeup | ||
+ | *Fn+12 → XF86Suspend | ||
+ | |||
+ | 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 [http://thread.gmane.org/gmane.linux.acpi.devel/37554 suspend / hibernate nomenclature] for in-depth explanation. | ||
+ | ===Mute=== | ||
To get the mute button to work, it is necessary to pass the string <code>acpi_osi="Linux"</code> to the kernel as a boot parameter. In GRUB2, add it to the "linux" line. See [http://www.thinkwiki.org/wiki/Mute_button here] for more details. | To get the mute button to work, it is necessary to pass the string <code>acpi_osi="Linux"</code> to the kernel as a boot parameter. In GRUB2, add it to the "linux" line. See [http://www.thinkwiki.org/wiki/Mute_button 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"). | 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= | + | ==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. | 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= | + | ==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... | 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... | ||
Line 394: | Line 430: | ||
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. | ||
− | =7-1 Media Card Reader= | + | ==7-1 Media Card Reader== |
− | Tested for SD cards only. Works after loading modules sdhci and ricoh_mmc in /etc/rc.conf. Sometimes there are problems initializing the SD card (check dmesg) after inserting it. In such cases, try re-inserting it again | + | {{out of date|reason=rc.conf}} |
− | + | Tested for SD cards only. Works after loading modules sdhci and ricoh_mmc in /etc/rc.conf. Sometimes there are problems initializing the SD card (check dmesg) after inserting it. In such cases, try re-inserting it again. | |
− | |||
− | |||
− | |||
− |
Revision as of 01:34, 6 January 2013
Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end
Contents
System Specification
Note, ThinkPad T400 is available in a few hardware variants. Check the ThinkWiki where details of hardware specification are discussed in the T400 category.
Below is an overview of the T400 specifications as originally used to start this article:
- CPU : Intel® Core™2 Duo Processor T9400 (6M Cache, 2.53 GHz, 1066 MHz FSB)
- Memory : 3GB PC3-8500 DDR3
- WiFi : Intel WiFi Link 5300
- Hard-Drive : 160GB, 7200rpm
- Optical Drive : DVD Recordable
- Integrated Graphics : Intel 4500MHD
- Discrete Graphics : AMD M82XT Hybrid 256 MB (ATI Mobility Radeon HD 3470)
- Screen : 14.1" WXGA+ TFT with LED Backlight
- Gigabit Ethernet, Modem
- Express Card & PC Card Slots
- Integrated Bluetooth PAN
- No camera
- No fingerprint reader
- No Intel Turbo Memory
Network
Ethernet
The kernel module to get the network card to work is e1000e
.
Wireless
Lenovo offers different options in wireless hardware:
Intel chipset
- 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 this section for more details.
Realtek chipset
- Rtl8192SE
11b/g/n Wireless Lan Mini-PCI Express Adapter II 03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8172 (rev 10)
See http://www.thinkwiki.org/wiki/ThinkPad_11b/g/n_Wireless_LAN_Mini-PCI_Express_Adapter_II for more details.
Realtek r8192se_pci Driver
Finally came the expected driver (alpha? beta?), I think it's premature but it works perfectly.
Get the driver from Realtek's website (r8192se_pci):
32 & 64 bits: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=21&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true
untar; make; make install; reboot and enjoy it
I found it would not build unless I installed linux-headers and created a directory at /etc/acpi/events.
The reboot step is also unnecessary, it is available for modprobing immediately.
I test it with:
- netcfg
- standar commands:
ifconfig wlan0 up iwlist wlan0 scan iwconfig wlan0 essid MySsid wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf dhcpcd wlan0
There is also a package available in the AUR: https://aur.archlinux.org/packages.php?ID=34281
Ndiswrapper option: If you have a 32-bit version of arch, it should be possible to get it working with ndiswrapper:
- Download this .exe file: http://www.station-drivers.com/telechargement/realtek/wifi/rtl-8191se_1080.7.0520%28www.station-drivers.com%29.exe
- Install the extra/p7zip package and use the included utility 7z to extract the contents of the .exe:
7z x rtl-8191se_1080.7.0520(www.station-drivers.com).exe
- Copy the files net8192se.inf and rtl8192se.sys from the 91_92_SE_Driver/Win2K directory to a location of your choosing.
- Proceed with the normal ndiswrapper installation procedure.
Unfortunately, if you are running a 64-bit version of arch then it seems you are out of luck currently; the WinX64 drivers included in the above package do not work.
For more information, see http://ubuntuforums.org/showthread.php?t=1182457 and http://forums.lenovo.com/lnv/board/message?board.id=Special_Interest_Linux&message.id=1196 .
Modem
There is a module "hsfmodem" provided by http://www.linuxant.com/.
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.
Note that I enabled the testing repository, which gave me access to :
- xorg-server version 1.5.3
- xf86-video-intel version 2.4.3
- xf86-video-ati version 6.10.0
- xf86-video-radeonhd 1.2.4
- catalyst version 8.12
Integrated Graphics
After installing xorg, I installed the xf86-video-intel drivers. As root, I then ran X -configure. The generated xorg.conf worked fine. I did apply the 2D and 3D optimization, and performances in compositing window managers (like compiz or kwin) seem to have increased. I have not made any scientific measurements though.
Note : Some people have encountered problems with 3D on 2.6.28 kernels and xf86-video-intel version 2.4.3.
The following xorg.conf file was tested on a T400 with an integrated card with the 1280x800 resolution provided by the default Intel Integrated Intel GMA 4500MHD (I included the Input devices for reference)
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "pc104" Option "XkbLayout" "us" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "SendCoreEvents" Option "Device" "/dev/input/mice" Option "Emulate3Buttons" "true" EndSection Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "CorePointer" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "Emulate3Buttons" "true" Option "HorizScrollDelta" "0" Option "Emulate3Buttons" "true" Option "LeftEdge" "1700" Option "RightEdge" "5300" Option "TopEdge" "1700" Option "BottomEdge" "4200" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "MinSpeed" "0.06" Option "MaxSpeed" "0.10" Option "AccelFactor" "0.0010" #Option "SHMConfig" "1" Option "UpDownScrolling" "1" Option "CircularScrolling" "0" Option "LockedDrags" "0" Option "TouchpadOff" "0" #Option "Repeater" "/dev/ps2mouse" EndSection Section "Monitor" Identifier "Configured Monitor" EndSection Section "Monitor" Identifier "HDMI-1" Option "Ignore" "True" EndSection Section "Monitor" Identifier "HDMI-2" Option "Ignore" "True" EndSection Section "Device" Identifier "Configured Video Device" Driver "intel" Option "monitor-HDMI-1" "HDMI-1" Option "monitor-HDMI-2" "HDMI-2" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" DefaultDepth 24 SubSection "Display" Modes "1280x800" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Synaptics Touchpad" InputDevice "Configured Mouse" EndSection
NB Installing extra/libdrm and forcing discrete graphics in the bios fixed hanging problems when X quit.
Here is a minimal xorg.conf in which the Virtual screen size is specified, so that one enables support for dual monitor.
Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" SubSection "Display" Virtual 2464 1500 EndSubSection EndSection Section "Device" Identifier "Configured Video Device" EndSection
Discrete Graphics
All 3 ATI drivers worked. That is both open-source drivers (xf86-video-ati
and xf86-video-radeonhd
) and fglrx (the catalyst
proprietary drivers).
I could not get the xf86-video-radeonhd
drivers to detect my external monitor, but xf86-video-ati
worked fine. Remember to remove catalyst
and catalyst-utils
and reboot before using an open source ATI drivers. ATI uses its own OpenGL library in its proprietary drivers, which is included in catalyst-utils
and conflicts with libgl. As it did with the integrated graphics, running X -configure generated a working xorg.conf.
To get the catalyst drivers working, you do have to 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
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 gentoo-wiki to keep up too date on the issue.
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 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-wiki.
Since all the mouse/keyboard configuration is taken care of by HAL you will need some config files in "/etc/hal/fdi/policy/" For instant "mouse-wheel.fdi" to enable TrackPoint-scrolling:
<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>
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 this to change your layout. If you have any more questions on hotplugging (like how to enable tapping), take a look at it's wiki page.
If you want to be able to use horizontal and vertical scroll with your touchpad add this lines to your xorg.conf
Section "Module" ...... Load "synaptics" EndSection Section "InputDevice" Identifier "Touchpad" Driver "synaptics" Option "AlwaysCore" Option "Device" "/dev/input/mouse1" Option "Protocol" "auto-dev" Option "SendCoreEvents" "true" Option "LeftEdge" "1632" Option "RightEdge" "5312" Option "TopEdge" "1575" Option "BottomEdge" "4281" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "MinSpeed" "0.06" Option "MaxSpeed" "0.12" Option "AccelFactor" "0.0010" Option "VertEdgeScroll" "on" Option "HorizEdgeScroll" "on" # Option HorizScrollDelta""0" Option "SHMConfig" "on" EndSection
for trakpoint with third button paste & scroll add this few lines to xorg.conf too
Section "InputDevice" Identifier "Trackpoint" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "Auto" Option "Emulate3Buttons" Option "Emulate3Timeout" "50" Option "EmulateWheel" "on" Option "EmulateWheelTimeout" "200" # adjust third button paste timeout. Option "EmulateWheelButton" "2" Option "YAxisMapping" "4 5" Option "XAxisMapping" "6 7" Option "YAxisMapping" "4 5" EndSection
finally update your layout
Section "ServerLayout" InputDevice "Trackpoint" "CorePointer" InputDevice "Touchpad" InputDevice "Keyboard0" "CoreKeyboard" EndSection
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.
Here's the modules I have loaded that are relevant to sound :
$ lsmod | grep snd snd_seq_oss 35584 0 snd_seq_midi_event 9344 1 snd_seq_oss snd_seq 58336 4 snd_seq_oss,snd_seq_midi_event snd_seq_device 9364 2 snd_seq_oss,snd_seq snd_hda_intel 474672 2 snd_hwdep 10632 1 snd_hda_intel snd_pcm_oss 45568 0 snd_pcm 82440 2 snd_hda_intel,snd_pcm_oss snd_timer 24720 2 snd_seq,snd_pcm snd_page_alloc 10640 2 snd_hda_intel,snd_pcm snd_mixer_oss 18944 1 snd_pcm_oss snd 64840 16 snd_seq_oss,snd_seq,snd_seq_device,snd_hda_intel,snd_hwdep,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss soundcore 9632 1 snd
Additionally, there is a patch for the audio driver for conexant's chipsets provided by http://www.linuxant.com which can be downloaded at http://www.linuxant.com/alsa-driver/.
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
KeyRelease event, serial 33, synthetic NO, window 0x3000001, root 0x86, subw 0x0, time 5537544, (76,110), root:(81,938), state 0x0, keycode 146 (keysym 0x0, NoSymbol), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
It basically says that keycode 146 is not bound (NoSymbol). Here are all the keycodes of all multimedia buttons:
Volume Down : keycode 174 Volume Up : keycode 176 Fn+F2 : keycode 146 Fn+F3 : keycode 241 Fn+F4 : keycode 223 Fn+F5 : Not responding to events ?? Fn+F7 : keycode 214 Fn+F8 : keycode 249 Fn+F9 : keycode 207 Fn+F12 : keycode 165 Fn+Up : keycode 164 Fn+Down : keycode 162 Fn+Left : keycode 144 Fn+Right : keycode 153 Fn+Home : keycode 212 Fn+End : keycode 101
- Type
xmodmap -pke > ~/.Xmodmap
in a terminal. This creates a file,.Xmodmap
, containing your current keyboard mapping. - Now open the file with a text editor and find the keycodes you're interested in. You can map any keycode with a symbol from this list.
- To get your new
.Xmodmap
loaded when you start X, just addxmodmap ~/.Xmodmap
to your .xinitrc. - To get your new
.Xmodmap
loaded immediately, typexmodmap ~/.Xmodmap
in a terminal.
You can now assign functions to your newly bound keys by using facilities provided by your window desktop environment or by using xbindkeys
.
To use xbindkeys
,
- Start by installing it
pacman -S xbindkeys
- Then add
xbindkeys &
to your .xinitrc. - And finally, in your home directory, create a file called
.xbindkeysrc.scm
with content that would look something like
(xbindkey '("XF86Standby") "sudo killall dhcpcd && sudo pm-suspend") (xbindkey '("XF86AudioRaiseVolume") "amixer set Master 2dB+ unmute") (xbindkey '("XF86AudioLowerVolume") "amixer set Master 2dB- unmute")
Note, in more recent Arch (kernel 3.4.2, xorg-server 1.12.2, laptop-mode-tools 1.61), on the T400, related keys combinations binding seems to be:
- Fn+2 → XF86ScreenSaver
- Fn+4 → XF86Sleep & XF86Wakeup
- Fn+12 → XF86Suspend
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
From http://ubuntu-virginia.ubuntuforums.org/showpost.php?p=6105510&postcount=12 petri4 on the ubuntu forums.
7-1 Media Card Reader
Tested for SD cards only. Works after loading modules sdhci and ricoh_mmc in /etc/rc.conf. Sometimes there are problems initializing the SD card (check dmesg) after inserting it. In such cases, try re-inserting it again.