Difference between revisions of "Installing OpenSUSE 10.0 on a ThinkPad X41"

From ThinkWiki
Jump to: navigation, search
(categorization)
(suspend-to-ram works with custom kernel)
Line 37: Line 37:
 
  keycode 234 = XF86Back
 
  keycode 234 = XF86Back
  
===Getting suspend-to-ram to work...===
+
===Getting suspend-to-RAM to work...===
  
 +
====Good news - it works in principle:====
 
I checked it only on Ubuntu Breezy Badger, but it seems, that if you compile kernel 2.6.15 with
 
I checked it only on Ubuntu Breezy Badger, but it seems, that if you compile kernel 2.6.15 with
 
SATA suspend patch http://linux.spiney.org/system/files?file=02_libata_passthru.fixed.patch and also add patch ata_idle_wait after Andrew Morton's advice at http://lkml.org/lkml/2005/11/16/403, then you should have working suspend-to-RAM.
 
SATA suspend patch http://linux.spiney.org/system/files?file=02_libata_passthru.fixed.patch and also add patch ata_idle_wait after Andrew Morton's advice at http://lkml.org/lkml/2005/11/16/403, then you should have working suspend-to-RAM.
Line 46: Line 47:
 
The first patch fixes problem with screen not being switched on, the second fixes cryptic error message:
 
The first patch fixes problem with screen not being switched on, the second fixes cryptic error message:
 
"ata: abnormal status 0x80 on port 0x1F7".
 
"ata: abnormal status 0x80 on port 0x1F7".
 +
 +
====Suspend-to-RAM on OpenSUSE====
 +
 +
Currently suspend-to-RAM will not work with the stock SUSE kernel. It can be made to work with a custom kernel package provided by  Jan Engelhardt of [[http://alphagate.hopto.org/AS_kernel/]]. You can download the RPM [[ftp://ftp4.gwdg.de/pub/linux/misc/suser-jengelh/SUSE-10.0/i586/kernel-default-2.6.16-AS24.i586.rpm here]].
 +
 +
Before you enable suspend-to-RAM, be sure to add the kernel parameter
 +
acpi_sleep=s3_bios
 +
to your /boot/grub/menu.lst, otherwise your screen will stay blank when the system resumes.
 +
 +
At first, this new kernel will break your WLAN support, but only because the kernel contains a newer (and better) [[ipw2200]] modules which requires an updated firmware package. You can download it [[http://ipw2200.sourceforge.net/firmware.php?fid=6 from the ipw2200.sourceforge.net project site]].
 +
Then do
 +
root@yourx41:~> cd /lib/firmware
 +
root@yourx41:/lib/firmware> tar xvzf /where/you/downloaded/ipw2200-fw-2.4.tar.gz
 +
 +
Now the firmware is in place, and the interface should work the next time you boot (or reload the module).
  
 
===Getting Dual head Xinerama to work on X41===
 
===Getting Dual head Xinerama to work on X41===

Revision as of 00:30, 24 February 2006


Installing OpenSUSE 10.0 on your X41 is straightforward.

SUSE uses a patched 2.6.13 kernel, so most of the things described here should also work on other distros if you're prepared to roll your own kernel, but the amount of integration the SUSE folks did (nice GUI tools, YaST configurator) is what makes it so painless and fun.

Installation

You might want to shrink the existing Windows partition in case you would later want to revert back to Windows in order to find out about hardware peculiarities and maybe get firmware installed, but since things just work under OpenSUSE 10.0, you might as well nuke it.

During the SUSE installation process, be sure to check "Mobile Computing" in addition to your usual choice of packages.

The following things Just Work(tm):

  • suspend to disk
  • suspend to RAM works with the current (Feb. 2006) SuSE kernel updates
  • mute, volume up and down buttons (but that's probably a hardware thing since it does not affect the ALSA mixer)
  • FnPgUp switches on the light (again, probably done in hardware)
  • acpid gets events from the lid, power button and FnF1 to Fn12, some of which you can assign to suspend, poweroff etc. in the yast power management configurator
  • Battery and AC status
  • Bluetooth enable/disable via FnF5
  • Bluetooth
  • WLAN
  • Audio playback/recording.
  • 3D graphics acceleration (enabled via YaST->Graphics Card and Monitor). Works, but causes the fan to stay on almost all the time, although at low rpm.
  • External VGA works in Clone mode after activating Dual Head support in YaST. For some reason, Xinerama didn't work so far, it stays greyed out. The external VGA on/off button FnF7 does not do anything.
  • UltraBase X4 docking station (UltraBay Slim drive not tested)

These things work, but require extra configuration

Modem

Numlock and Browse keys

To get numlock and browse keys to work, please add the following lines to $HOME/.Xmodmap:

keycode  77 = Num_Lock
keycode 233 = XF86Forward
keycode 234 = XF86Back

Getting suspend-to-RAM to work...

Good news - it works in principle:

I checked it only on Ubuntu Breezy Badger, but it seems, that if you compile kernel 2.6.15 with SATA suspend patch http://linux.spiney.org/system/files?file=02_libata_passthru.fixed.patch and also add patch ata_idle_wait after Andrew Morton's advice at http://lkml.org/lkml/2005/11/16/403, then you should have working suspend-to-RAM.

You may also want to use 2.6.15 because it has a driver to Harddisk Protection System built-in.

The first patch fixes problem with screen not being switched on, the second fixes cryptic error message: "ata: abnormal status 0x80 on port 0x1F7".

Suspend-to-RAM on OpenSUSE

Currently suspend-to-RAM will not work with the stock SUSE kernel. It can be made to work with a custom kernel package provided by Jan Engelhardt of [[1]]. You can download the RPM [here].

Before you enable suspend-to-RAM, be sure to add the kernel parameter

acpi_sleep=s3_bios

to your /boot/grub/menu.lst, otherwise your screen will stay blank when the system resumes.

At first, this new kernel will break your WLAN support, but only because the kernel contains a newer (and better) ipw2200 modules which requires an updated firmware package. You can download it [from the ipw2200.sourceforge.net project site]. Then do

root@yourx41:~> cd /lib/firmware
root@yourx41:/lib/firmware> tar xvzf /where/you/downloaded/ipw2200-fw-2.4.tar.gz

Now the firmware is in place, and the interface should work the next time you boot (or reload the module).

Getting Dual head Xinerama to work on X41

On Ubuntu, you can use advice from http://eko.one.pl/index.php?page=Xinerama to configure two devices and two screens and omit Option "Xinerama" "On" line to get xinerama working on X.org 6.8.

Question: Did anyone get 1280x1024 on external flat panel and 1024x768 on internal monitor on the same desktop with DRI? I happen to succeed with Xinerama, but not with cloning.

Switching the WLAN radio

There is no pre-defined function key to switch the WLAN radio transmitter on and off during runtime (unlike Bluetooth, which uses FnF5).

The Ipw2200 page has detailed instructions on how to do it via sysctl.

The following things don't work yet:

  • Dual Head in Xinerama mode.

Not tested yet:

  • serious bluetooth usage

Oddities:

  • In order to get into the BIOS, you can either hit F1 or press the weird blue Access IBM Button, and then choose "BIOS" in IBM's pre-boot environment. There is no message on bootup about the F1 option, but it works.

Open Issues:

see also

Additional hints about OpenSuSE 10 (although on different hardware) can be found here: Installing SUSE 10 on a ThinkPad TransNote