ZoneO-tips for Mandriva Linux

Mandriva (Mandrake) Linux 10.1 with the IBM X40

IBM X40 I just got a new x40, it's a great machine, tiny, and powerful. First thing I did obviously, was to install Linux. Lucky enough, it turned out to be quite easy.
 
 

The machine

Well, it's an x40, and you may better go straight to IBM for detailed info. My model number is 2372G4U, with a Pentium Mobile 738LV (up to 1.4Ghz), 512MB RAM, a 40GB hard drive, 12.1" XGA TFT LCD, a modem, gigabit internet, and the Centrino 2200BG wireless adapter.

I immediately upgraded the RAM to 1GB. This was straightforward: just stick the memory in, and it works.

It was now time to install Linux. I went for linux Mandrake 10.1, the distribution I use for my everyday job. For this, I used an external USB CDROM drive.

Summary
Component Status Comment
Pentium Mobile 738LV Works
Sound Works
12.1" XGA TFT LCD Works 1024x768, 16 millions color
Modem Not tested
Gigabit internet Works Tested on a 10/100 network
Centrino 2200BG wireless Works See section 4
Power management Partially works See section 5
Thinkpad keys Works See section 6
External display Works at 1024x768 pixels See section 8

 

Step 1: Remove the windows sticker

Remove the windows XP sticker, and place it carefully on your toilet flush. Be careful, this operation is extremely risky and may compromise your whole computer.

Step 2: Boot into windows and create recovery disks

I decided to be careful: I booted into windows, and created recovery Cd's with the Access IBM program. There are two functions: one creates a boot disk, and the other the 5 recovery Cd's. This may not be necessary, but I guess I'll be happy to have them if my hard disk dies in the next 5 years. Before starting the linux install, I defragmented the disk in windows, but this may not be necessary. Finally, restart your computer and boot on your mandrake Cd's.

By the way, windows converted my whole disk to NTFS upon first boot. I do not really care since Mandrake knows how to resize with those partitions.

Step 3: Linux install

The Mandrake install went fine. I manually chose the size of my partitions to

  • 10 gigs for windows, in /mnt/windows
  • 8 gigs for the root partition, in /
  • 1 gig for the swap
  • 10 gigs for my personal files, in /home/
  • 6 gigs for the programs I'll install by hand, in /usr/local/

and I left the recovery sector provided by IBM. I could have removed it, since I had the recovery Cd's but I decided not to.

There was no other trouble with the install. After the install two (expected) problems arose: the wireless card, and power management.

Step 4: Post install configuration: Centrino 2200BG wireless adapter

The driver provided in mandrake 10.1 did not work properly. I went straight to the homepage of the driver, http://ipw2200.sourceforge.net/ and got the latest version of the driver and firmware (ipw2200-1.0.2). I installed the wireless driver following the instructions in the INSTALL file, I did not have to recompile my kernel.

Following the recommendations on this page, I turned off the system management of the wireless interface, by commenting out the call to ifup-wireless at around line 178 of /etc/sysconfig/network-scripts/ifup:

# is the device wireless? If so, configure wireless device specifics
IS_WIRELESS=
if is_wireless_device ${DEVICE}; then
# Disable wireless configuration to allow ipw2200 WEP with iwconfig
# . ./ifup-wireless
IS_WIRELESS=1
fi

To managed my wireless card, I could have used the command line interfaces, but I do not like to dig into the terminal window too often, so I installed the excellent wlan-ui to easily find and connect to access points. To get wlan-ui to work, I had to install two additional perl modules, Getopt-ArgvFile and Gtk2-GladeXML that I got from CPAN.

Configuration of wlan-ui was easy, just follow the instructions in the documentation. My configuration file /etc/wlan-uirc is

# Example system configuration file
# Edit and save as /etc/wlan-uirc

# Wireless driver module to load
$MODULE = 'ipw2200';

# Wireless network device - e.g. 'wlan0'.
# If not defined we use /proc/net/wireless to find the device
$DEVICE = eth1;

# Commands for manipulating wlan module etc
# We will find unspecified commands from the path
$CMDS = {'lsmod', '/sbin/lsmod',
'modprobe', '/sbin/modprobe',
'load', undef, # modprobe used by default
'unload', /usr/local/soft/ipw2200-1.0.2/unload, # modprobe -r used by default
'iwconfig', '/sbin/iwconfig',
'iwlist', '/sbin/iwlist',
'ifconfig', '/sbin/ifconfig',
'ps', undef,
'dhcpcd', '/sbin/dhclient'};

Finally, I configured sudo in order to be able to use the interface as a user, as described in the wlan-ui documentation.

It worked! I was on the net.

Step 5: Post install configuration: power management

I didn't played too hard with the power management, but I did get my CPU to go from 500Mhz to 1.4Ghz depending on load. I know nothing about this stuff, so I just followed instructions on this page. This is a copy and paste version of the site

Speed-Step - Speed-step allows the system to dynamically change the frequency of the Pentium-M cpu in the X31 (from 1.4ghz down to 600mhz) to save power when the system is essentially idle. (How many Mhz do you really need to type an email?) Mandrake is nice and already provides the correct (speedstep-centrino) kernel module and a CPU frequency monitoring and control daemon (powernowd) which we just have to configure and enable. Add a line "speedstep-centrino" to your /etc/modprobe.preload file so it will be loaded automatically on reboot, and then load it manually the first time by typing "modprobe speedstep-centrino".

A urpmi powernowd should find and install the powernowd rpm. If not, search for powernowd on google and install the RPM manually. Edit the /etc/sysconfig/powernowd and add "-vv -p 50" to the OPTIONS line. This will show a bit more information in the /var/log/messages file upon startup, as well as make the frequency changes happen faster than the default (1000ms or every second) to keep your system responsive. If you use -vvv instead of -vv you will get a new line in /var/log/messages every time the frequency changes, which is good for debugging, but bad for daily operation.

Note that the Pentium-M in the X31 can only go down to 600mhz, so 42% is the slowest the CPU will ever get down to.

My only comment is: do not forget to start the powernowd deamon! It's in the control center, under services. After that, everything works great and my CPU speed is adjusting nicely. If you click on the battery monitor under KDE, it tells you at what speed the CPU is actually running.

Step 6: Post install tweaking: the thinkpad keys

The x40 comes with a couple of extra keys, for sound, brightness, and an "Access IBM" key. The tpb - ThinkPad button package will get them to work nicely with linux, and it is included somewhere in Mandrake. It uses the xosd (X on screen display) to display on-screen the status of audio volume and screen brightness when you press the ThinkPad buttons. But the really nice feature is the ability to bind the blue "Access IBM" button to start a command of your choice.

Install the tbp and xosd packages. Then, make the /dev/nvram device as follows:

mknod /dev/nvram c 10 144
Add the nvram module to /etc/modprobe.preload and load it manually the first time with modprobe nvram. Now, you can add an entry at the very end of /etc/rc.d/rc.local to start the program at boot: tpb -d. This will get the default on screen display working.

The configuration file for this package is /etc/tpbrc and I just changed one line

THINKPAD /usr/bin/sudo /usr/local/bin/wlan-ui.pl

Now, when I press the "Access IBM" key, I get the wlan-ui interface to change my wireless network. Cool!

Step 7: Last thought: no ethernet on boot

Most of the time, I use my laptop with wireless internet. Therefore, I disabled the eth0 and eth1 at boot: my computer does not try to get online straight away. There are two reasons for that: it can slow the boot process if you are not plugged in, and I like to choose my wireless access point. This can be done in the Mandrake Control Center, under network and internet options.

Add-in: external display

After I wrote this page, I realized there was a problem when trying to export the display on an external monitor or projector. If you simply use the Fn-F7 key, there is a band on top of the screen and everything is shifted down. I could not find a way to work around this.

The solution I found is based on i855crt, a userspace driver for linux that can enable the crt out (port for external monitor) on i855GM based laptop. I downloaded and compiled the latest package, and used the following commands:

./i855crt swcursor overlaycrt on 1024x768@85
to start the external display with a resolution of 1024x768 pixels and
./i855crt off
to stop it.

To allow the use of this script by a user, I configured sudo to allow users to use the i855crt command as root and installed the following scripts on my desktop:

  • Desktop/displayON.sh:
    #!/bin/sh
    cd /usr/local/soft/i855crt-0.4/
    sudo ./i855crt swcursor overlaycrt on 1024x768@85
    exit
  • and Desktop/displayOFF.sh:
    #!/bin/sh
    cd /usr/local/soft/i855crt-0.4/
    sudo ./i855crt off
    exit
This worked on my external monitor and with a LCD projector.

The last problem is to use a external display with a better resolution than 1024x768. I haven't solved it yet.

Links

 
 
04/2005
Changed links to Mandriva addresses, 04/2005
Added add-in on external display at 1024x768 pixels, 05/2005
 
 

Werner Heuser, 26 October 2006

This guide is listed at the TuxMobil: Linux Laptop and Notebook Installation Guide Survey ( http://tuxmobil.org/ibm.html ).

Marius, 28 November 2006

dear,

i have read the above instructions but i still couldnt yet config my ipw2200 on my notebk, could you pls offer some help?

i got a ipw2200 driver 1.2.0 from ipw2200.sf.net and i am using Mandriva 2007.0 coz i am new to Linux

i think i have successfully installed the driver as well as the firmware 3.0 as described in ipw2200.sf.net, but while i see the dmesg, it said that it cannot load the firmware. i just couldnt figure out whts happening.......

however, i am trying out on your method that use wlan-ui to manage the wireless, but i just didnt know how to make it installed...though i have DL those three files required.....

PLSPLSPLS offer me some help..... :)

THX in advance

Butchu, 28 November 2006

If you use the full version of Mandriva 2007, it recognizes the ipw2200 card with no special installation.

Go into the control center (Menu System -> Configuration -> Configure your computer). In the control center, go into "Network and Internet", choose "Set up a new network interface", "Wireless", and keep going with this tool.

You should get you ipw2200 up and running. That's how I did it.

Cheap Dell Tower, 01 July 2009

IBM thinkpad X40 is a wonderful machine ..! its look great its work great .! i have also X40 and i put some stickers on it and its looks of good ..! i love my X40 thinkPad..!!

Add a comment

Name:
Email or URL: (optional)
Security code
Code shown above:
 
 
© ZoneO-soft - Contact us - Start page