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

From ThinkWiki
Jump to: navigation, search
(see also)
(see also: added external sources section)
 
(22 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Category:X41]]
+
Installing {{OpenSUSE}} 10.0 on your {{X41}} is straightforward.
[[Category:SUSE]]
 
 
 
(This is a braindump of sorts. I'm still trying to find out how to integrate it more nicely into this wiki. Feel free to rip this page apart and put the information into more appropriate sections.)
 
 
 
 
 
Installing '''OpenSuSE 10.0''' on your '''X41''' is straightforward. SuSE was my first ever distro back in 2.0.32, so I'm somewhat biased, but IMHO it's a very fine product for desktops, and even more so since they created OpenSuSE. Updating still sucks sometimes, but if you're prepared to nuke your box every once in a while and do a clean reinstall, SuSE really kicks ass in the "Works out of the box" department.
 
 
 
:''For users of other distros, SuSE uses a patched 2.6.13 kernel, so most of the things I'm describing 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.''
 
  
 +
OpenSUSE uses a patched 2.6.13 kernel, and 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==
 
==Installation==
I chose to shrink the existing Windows partition in case I would later have 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.
+
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.
 
 
The SuSE installation process is a no-brainer.
 
  
'''Be sure to check "Mobile Computing" in addition to your usual choice of packages.'''
+
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):==
 
==The following things Just Work(tm):==
 
* suspend to disk
 
* 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)
 
* mute, volume up and down buttons (but that's probably a hardware thing since it does not affect the ALSA mixer)
* Fn+PgUp switches on the light (again, probably done in hardware)
+
* {{key|Fn}}{{key|PgUp}} switches on the light (again, probably done in hardware)
* ACPId gets events from the lid, power button and Fn+F[1-12], some of which you can assign to suspend, poweroff etc. in the yast power management configurator (I set mine to suspend-to-disk upon lid close)
+
* [[acpid]] gets events from the lid, power button and {{key|Fn}}{{key|F1}} to {{key|Fn}}{{key|12}}, some of which you can assign to suspend, poweroff etc. in the yast power management configurator
 
* Battery and AC status
 
* Battery and AC status
* Bluetooth enable/disable by Fn+F5
+
* Bluetooth enable/disable via {{key|Fn}}{{key|F5}}
* Bluetooth (haven't tested anything real yet, but I can browse other people's cell phones in the subway :)
+
* Bluetooth modem (tested with UMTS cell phone Sony Ericsson K600i)
 
* WLAN  
 
* WLAN  
 
* Audio playback/recording.
 
* 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. I suspect it will severely reduce battery time, so I switched it off again.
+
* 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, I can't activate Xinerama, it stays greyed out. The external VGA on/off button (Fn+F7) does not do anything.
+
* 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 {{key|Fn}}{{key|F7}} does not do anything.
* [[UltraBase X4]] docking station (I have not tested the [[UltraBay|UltraBay Slim]] drive)
+
* [[UltraBase X4]] docking station ([[UltraBay|UltraBay Slim]] drive not tested)
  
 
==These things work, but require extra configuration==
 
==These things work, but require extra configuration==
 +
===Modem===
 
* Modem: the [[IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)|integrated modem]] works using the commercial driver [[Conexant HSF modem drivers|Conexant HSF]].
 
* Modem: the [[IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)|integrated modem]] works using the commercial driver [[Conexant HSF modem drivers|Conexant HSF]].
  
==The following things don't work for me yet:==
+
===Numlock and Browse keys===
* suspend to RAM. In order to play with it, Google told me I have to add a kernel parameter "acpi_sleep=s3_bios" to /boot/grub/menu.lst ([http://www.mail-archive.com/debian-user-german@lists.debian.org/msg132653.html cf. this debian posting (in German)]), otherwise my display would stay black after resume. It does work ok when I'm on the text console, but it sometimes crashes the machine when I invoke suspend while in X. People using Ubuntu have reported complete success with suspend-to-RAM, so it *is* possible.
+
To get numlock and browse keys to work, please add the following lines to {{path|$HOME/.Xmodmap}}:
* NumLock. When enabled, the keys that comprise the numerical pad simply stop working. After disabling, the keyboard works normal again. Should be easy with some xmodmap tweaks.
+
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 [http://alphagate.hopto.org/AS_kernel/ alphagate.hopto.org]. 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.
 +
 
 +
{{WARN|This new kernel will temporarily break your WLAN support.}}
 +
 
 +
The 2.6.16 kernel contains a newer (and better) [[ipw2200]] module 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 drop it into the directory where the hotplug firmware loader is expecting it (may be different on other distros):
 +
 
 +
{{cmdroot|cd /lib/firmware}}
 +
 
 +
{{cmdroot|tar xvzf /where/you/downloaded/ipw2200-fw-2.4.tar.gz}}
 +
 
 +
Now that the firmware is in place, 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 {{key|Fn}}{{key|F5}}).
 +
 
 +
The [[Ipw2200]] page has detailed instructions on [[Ipw2200#Power Management | how to do it via sysctl]].  
 +
 
 +
==The following things don't work yet:==
 
* Dual Head in Xinerama mode.
 
* Dual Head in Xinerama mode.
  
==Not tested yet:==
+
 
* serious bluetooth usage
 
  
 
==Oddities:==
 
==Oddities:==
* In order to get into the BIOS, you have to press the weird blue "Access IBM" (or whatever they're naming it this week) button, and the choose "BIOS" in IBM's pre-boot environment.
+
* In order to get into the BIOS, you can either hit {{key|F1}} or press the weird blue [[ThinkPad Button|Access IBM Button]], and then choose "BIOS" in IBM's pre-boot environment. There is no message on bootup about the {{key|F1}} option, but it works.
  
 
==Open Issues:==
 
==Open Issues:==
* How can I disable the WLAN hardware in order to save battery power? For now, I'm setting the WLAN interface to "Radio Off" in the BIOS, but that sucks since you need a reboot in order to use WLAN. Bluetooth can be switched on and off at runtime by using Fn+F5, I'm looking for something similar for the WLAN radio transmitter.
+
 
 
* Try manual X11 config to enable Xinerama.
 
* Try manual X11 config to enable Xinerama.
 
* Try making use of the [[How to get special keys to work | special keys]].
 
* Try making use of the [[How to get special keys to work | special keys]].
 
* Try to understand [[How to configure the TrackPoint | TrackPoint configuration]].
 
* Try to understand [[How to configure the TrackPoint | TrackPoint configuration]].
 
==Accessory recommendation==
 
 
I decided against ordering the IBM DVD+CDRW USB drive, since it's way overpriced IMHO. I bought a [http://www.freecom.com/ecProduct_detail.asp?ID=2226&nr=25219&prodn=FS%2D50+DVD%2B%2F%2DRW+8x+DL+LightScribe Freecom FS-50] instead, it was more than 100 Euros cheaper than the IBM and is also very slim and bus-powered. It will use two USB ports (which is unfortunate, since the X41 only has two, and it can't work with the extra power outlet for the IBM drive, so it's a tad less elegant).
 
Since the two ports are on opposite sides of the notebook, you will have to split one end of the double-USB cable of the FS-50 a little bit.
 
 
You can also run the FS-50 with an external power supply, which comes included, in which case you need only one USB port. So far, it has worked for me.
 
  
 
==see also==
 
==see also==
Line 62: Line 91:
 
[[Installing SUSE 10 on a ThinkPad TransNote]]
 
[[Installing SUSE 10 on a ThinkPad TransNote]]
  
==Getting suspend-to-ram to work...==
+
=External Sources=
I checked it only on Ubuntu Breezy Badger, but it seems, that if you compile kernel 2.6.15 with
+
*This guide is listed at the [http://tuxmobil.org/ibm.html TuxMobil Linux laptop and notebook installation survey (IBM/Lenovo)].
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".
 

Latest revision as of 12:04, 26 October 2006

Installing OpenSUSE 10.0 on your X41 is straightforward.

OpenSUSE uses a patched 2.6.13 kernel, and 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 modem (tested with UMTS cell phone Sony Ericsson K600i)
  • 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 alphagate.hopto.org. 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.

ATTENTION!
This new kernel will temporarily break your WLAN support.

The 2.6.16 kernel contains a newer (and better) ipw2200 module which requires an updated firmware package. You can download it from the ipw2200.sourceforge.net project site.

Then drop it into the directory where the hotplug firmware loader is expecting it (may be different on other distros):

# cd /lib/firmware

# tar xvzf /where/you/downloaded/ipw2200-fw-2.4.tar.gz

Now that the firmware is in place, 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.


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

External Sources