Install Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad T400

From ThinkWiki
Revision as of 17:51, 3 November 2008 by Fstonedahl (Talk | contribs) (ThinkPad 11b/g Wireless LAN mini PCI Express Adapter III (Atheros AR5007EG/AR2425 Chipset))
Jump to: navigation, search

T400 Site under construction. You are invited building an useful guidance!

Before Installation

Before you can start Ubuntu from CD or USB you have to change two BIOS settings:

  • Change to Internal or ATI Graphics with Config --> Display --> Graphics Device --> [Integrated graphics] or [Discrete Graphics]
  • Disable OS Detection for Switchable Graphics. Otherwise it will mysteriously switch back to Switchable Graphics.

Now you can boot your Live-CD, connect to Wireless Lan, and install the OS.

What works out of the box?

$ sudo dpkg-reconfigure -phigh xserver-xorg
  • ATI fglrx driver for Discrete Graphics (ATI Mobility Radeon 3470 graphics)
    • To enjoy 3D acceleration, you have to install the proprietary fglrx Driver. (for example with the jockey-gtk tool)
  • Touchpoint and Trackpad
    • Including scroll at the right side of the pad by default. (for scrolling with the middle mouse button, see below!)
  • Optical drive
    • Not tested burning yet
  • Sound card
    • To use your internal microphone you have to change to "HDA Intel CONEXANT Analog (ALSA)" in audio-settings.
  • built-in webcam with Skype
  • 7-in-1 card reader from Ricoh (MMC, Memory Stick, Mem Stick Pro, SD, SDHC, XD, XD Type H Memory)
    • Only tested SD cards.
  • Control buttons/Hotkeys
    • Volume control buttons
    • Screen brightness control (but changing brightness is a little bit diffuse. It's getting brighter but on maximum it changes to nearly lowest and get brighter again.)
    • Thinklight control
    • WLAN/BT/OFF toggle (Fn+F5 and mechanical toggle)
    • Media player control
  • Some ACPI features
    • Battery status, power graphs and history (tested with an single 6-Cell battery)
    • Lid states and events

What needs some Tweaks?

ThinkVantage Button ThinkVantage

Edit the file /usr/share/hotkey-setup/ibm.hk with adding this line:

setkeycodes e017 148 #thinkpad button

You have to restart, then you refer a program with the "System -> Preferences -> Keyboard Shortcuts"-Menu (eg. Terminal, Firefox,...).

Internal LCD Resolution Fix

The native screen resolution of 1440x900 is not detected automatically. The problem is that a secondary cloned display is set to 1152x864, and is being displayed on the integrated screen. Disable screen cloning, and disable the secondary display to fix the problem. For a complete fix, a restart of X is required (CTRL+ALT+BACKSPACE) is required, and when logging in again, you may need to fix your dock icon positions.

However, GDM still displays 1152x864, but it isn't a problem after logging in. If you want to change this add the folling lines to you xorg.conf:

SubSection "Display"
       Modes   "1440x900"
EndSubSection

and other modes of your choice.

Shutdown freezes sometimes

It seems that ALSA has problems to shut down if network devices are still active. You can force ALSA during its unloading to disable the networking first (remember to backup your files!):

sudo gedit /etc/init.d/alsa_utils

Search for "stop)" and add immediately below:

ifconfig eth0 down
ifconfig wlan0 down

Now your shutdown should go smoothly.

VGA Output Resolution Fix

To enable 1600x1200 resolution to show up, run

$ sudo dpkg-reconfigure -phigh xserver-xorg

ThinkPad 11b/g Wireless LAN mini PCI Express Adapter III (Atheros AR5007EG/AR2425 Chipset)

There are two options for drivers here, the ath5k project, or older Madwifi drivers. The Madwifi drivers are based on the older, closed source HAL by Atheros, and the ath5k driver are based on the newer open source HAL by Atheros. Note that you should not enable more than one Atheros driver, or they will conflict with each other (this includes ath5k, ath9k, and Madwifi). If you need both BG & N support, do not use ath5k & ath9k, use Madwifi instead (only applicable if you are running multiple wireless cards).

NOTE: One user (with the a B/G card) reports that wireless performance was awful with the FOSS ath5k driver, but smooth and nice with Madwifi. YMMV

Installing the ath5k drivers from the compat-wireless package

Original discussion thread: [1]

1. Become the super user of the system:

$ sudo su
*NOTE: Becareful here, as you have complete access to the system, and can do damage if careless.  Optionally, you can work as a normal user, and preface each command with sudo.

Disable any currently running Madwifi drivers by running this in the terminal:

# rmmod ath_pci; rmmod ath_hal

3. These drivers require source compilitation, so the build-essential package is required:

# apt-get install build-essential

4. Enter the /usr/src directory, and download the source package:

# cd /usr/src; wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2008-10-31.tar.bz2

5. Extract the source and enter the directory:

# tar xjvf compat-wireless-2008-10-31.tar.bz2; cd compat-wireless-2008-10-31

6. Take a quick look at the README:

# less README

7. Begin the compiliation process

# make

8. Next, disable any active wireless connections, and run a script to make sure all wireless drivers that are going to be replaced are unloaded:

# make unload

9. Install the drivers:

# make install

10. If everything completed without errors, load the ath5k module:

# modprobe ath5k

11. Check to make sure the new drivers detected the wireless card (you may need to adjust the interface name if you have several wireless cards):

# ifconfig wlan0 up; iwconfig
 NOTE: When I first installed these drivers, they were unable to bring the MAC chip up, and needed a restart.

12. Clean the src directory

Template:Cd /usr/src; rm compat-wireless-2008-10-31
 NOTE: You can also delete the compat-wireless-2008-10-31/ folder if you need to recover the space, but it is useful to keep because the Makefile has a 'make uninstall' switch.

13. Last, blacklist any other drivers that may interfere with the new ath5k drivers:

{{echo "blacklist ath_pci" >> /etc/modprobe.d/blacklist; echo "blacklist ath_hal" >> /etc/modprobe.d/blacklist}}

Installing the Madwifi drivers:

The following instructions were originally found here [2]:

1. Under System/Administration/HarwareDrivers disable "Support for Atheros 802.11 wireless LAN cards

2. Reboot

3. The kernel headers and the compiler are needed to build this driver so install build-essential. In a terminal window (Applications/Accessories/Terminal) enter:

$ sudo apt-get install build-essential

4. Install Subversion

$ sudo apt-get install subversion

5. Checkout the Madwifi drivers to a directory on your local disk

$ cd~
$ mkdir madwifi
$ cd madwifi
$ svn co https://svn.madwifi.org/madwifi/branches/madwifi-hal-0.10.5.6

6. Build the drivers

$ cd madwifi-hal-0.10.5.6
$ make

7. Install the drivers

$ make install

8. Add the Atheros kernel module to the list of modules to be automatically loaded at boot by adding "ath_pci" (without the quotes) to the end of the /etc/modules file and save the file

$ sudo gedit /etc/modules

9. Now you can reboot and it should work. To get it working without a reboot you need to load the module manually you can use

$ sudo modprobe ath_pci

Scrolling with Trackpoint

Create a new file called /etc/hal/fdi/policy/mouse-wheel.fdi typing:

$ sudo gedit /etc/hal/fdi/policy/mouse-wheel.fdi

And fill it with this code:

<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.XAxisMapping" type="string">6 7</merge>
 <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
</match>

Source: [3]

(Based on code from Michael Vogt and adapted to support both vertical and horizontal scrolling.)

What doesn't work at the moment?

Integrated Fingerprint Reader

Theres a new chipset build in, the "AuthenTec AES2810". So neither the thinkfinger nor the fprint Project support this Device at the moment.

lsusb:
Bus 002 Device 004: ID 08ff:2810 AuthenTec, Inc.

Switchable Graphics

I installed Ubuntu 8.10 with the on-board Intel Graphic chip. So 3D acceleration works out-of-the-box.

Then I booted with the ATI Graphics, which was no problem, because the radeon driver works very well, but only in 2D.

After installing fglrx packages, jockey also found out, that proprietary drivers are available. So i let him configure my xorg.conf:

Section "Monitor"
	Identifier	"Configured Monitor"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
	Device		"Configured Video Device"
	DefaultDepth	24
EndSection

Section "Module"
	Load	"glx"
EndSection

Section "Device"
	Identifier	"Configured Video Device"
EndSection

Section "Device"
	Identifier  	"ATI Technologies Inc Mobility Radeon HD 3400 Series"
	BusID       	"PCI:01:00.0"
	Driver	        "fglrx"
EndSection

After reboot also Compiz works (but not so smooth as with Intel, i allege)

Problem: Strating up with integrated graphic again, no 3D desktop works. After removing all fglrx packages, Compiz normally works.

So i changed my xorg.conf using the radeon driver, succeeding to have 3D on onboard Graphics and 2D on ATI Graphics.

I also tried radeonhd driver, which does not work.

Note 1: I got tired of going in to BIOS to switch chipsets, so I explicitly set the BusID in xorg.conf. The problem with this approach is that power consumption doubles, even when you are not using the discrete graphics card. I had 28W consumption when in switchable graphics mode, and 16W consumption when I configured "Integrated graphics" in BIOS.

Note 2: fglrx diverts libGL.so.1.2 that is installed by mesa. This means that you can't simply swap xorg.conf files and kernel modules, you need to replace libGL.so.1.2 with the proper one if you want restart X with a certain chipset.

TODO
Maybe anybody can get both working!

Suspend/Hibernate

Neither Suspend nor Hibernate work for me. They fall asleep, but when waking up only the mousepointer is on the screen, put neither keyboard, nor mouse showing response.

But sometimes it works without any problems. I tested it out about 15 times... two suspends and one hibernate worked.

I don't know what's going wrong.

TODO
Anybody an idea?

Menu-Key

I changed keyboard modell to "IBM Thinkpad R60/T60/R61/T61" using the "German Dead acute" Layout.

But also with these settings my menu-key does not work. I tried to refer it with Firefox using the keyborad shortcuts-tool. It writes: "XF86WakeUp"

Problem: The FN-Key also writes "XF86WakeUp", which is not so practical, so I removed allocation!

TODO
Is ist possible to have an real menu-key?

Not tested yet

Active Protection System

There is no patch for Kernel 2.6.27-7 at the moment to use HDAPS. See also How to protect the harddisk through APS.

VGA/HDMI

  • NEC MultiSync LCD 2190UX - VGA tested and working in mirrored and extended desktop modes (had to run $ sudo dpkg-reconfigure -phigh xserver-xorg to get 1600x1200 resolution to show up)
TODO
please test other external monitors!