Installing Fedora Core 1 on IBM Thinkpad T41p - 2373geu


VaibhaV Sharma
(http://vsharma.net)


DISCLAIMER: This document is what I did on my laptop. If anything of this affects/damages anything for you, I will not be responsible. Please be careful.

Overview

Gone are my days to drool! Its time to Yum! :) The IBM T41p 2373geu is a nice and an expensive piece of machine. My first IBM laptop. I have used a sony VAIO a couple of years back with RedHat 6.1. Compared to that, installing linux (Fedora) on the T41p was an amazingly easy job. Installing as in installing + getting all the usual jing-bang on the machine to work.

The most work that I had to do was with the wireless connectivity. Even that was not that big a task. Just 15 mins, I swear.

OK! Enough chit-chat. Lets get right on the job to get all that jing-bang to work. Am listing only the relevant parts here. Relevant as in the ones which might need explicit configuration. The machine has the following configuration -
Click here to see the dmesg output.

Pre-Desktop Area and re-partitioning

The Pre-desktop area is a partition at the end of the hard disk space which is used by the "Access IBM" restore utility. One can safely delete this area and free up space. Before you do that, call up IBM thinkpad support and order the restore CDs. IBM ships it for free (atleast till now).

The pre-desktop area is not visible to the OS by default. One needs to go into bios setup and disable it so that it is shown as "free space" to be claimed by the OS. After the change is done in the BIOS, simply create a partition on the additional space. I used a utility called "bootit" to resize and repartition the hard disk. A google search should reveal the download site.

I decided to let the default Windows XP install as it is, resize the 60 GB space into three parts. 17 gb to winxp, 10 gb to Freebsd and the rest for linux. After resizing the winxp partition, I created a primary 10 gig partition for Freebsd, another 100 MB for /boot (yes after xp and freebsd partitions) and then / /home and linux swap as extended partitions.

Fedora install warned that the / partition might not be fit to boot, just ignore it.

After you install, before you configure anything

I recommend the use of apt-get. It makes installation of packages and dependencies painless. Installation of apt is as easy as -
# rpm -ivh apt-[version].rpm
# apt-get update

and you are all set.

ATi Mobility FireGL T2

Fedora Core install configured the video card as generic vesa. It works fine including GLX. I have not done much tinkering with X yet. I would most probably try the radeon or the ATI binary drivers for better performance. Currently, glxgears is topping off at 420 FPS. I think it can do better with different drivers.

More updates later.


CDRW/DVD-ROM Drive

The 2373geu came with the slim CDRW/DVD-ROM drive. Fedora install configured it with ide-scsi enabled (parameter passed to the kernel at boot). Have not tried burning any CDs yet, but DVDs read just fine.

More updates later.


Sound Card

Fedora install configured this with the i810_audio module. It seems to be working fine.


Internal Fax-modem

Not Tried this yet.


Infrared

Not Tried this yet.


Gigabit Ethernet

The e1000 module works just fine.


IBM 802.11a/b/g Wifi and Bluetooth

The 2373geu has the IBM 802.11a/b/g wifi / bluetooth card. Its actually a philips card with the Atheros chip. The MADWifi project provides drivers for card based on Atheros. Installation of the driver was pretty straight forward. The default install of fedora had a couple of things missing for the driver to be compiled. I had to install kernel-source package. Lets get the kernel source first. If you followed my advice and installed apt, you can just do -

# apt-get install kernel-source

This should give you a list of kernel source packages available in the format :kernel-source#". Just pick the version of the kernel that you have on your machine and install it like this -

 # apt-get install kernel-source#2.4.22-1.2115.nptl

After this is done, we need to pull down the latest cvs version of the MADWifi sources. Thats another minute's job. Do these -

# mkdir source-cvs
# cd source-cvs/
# cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi login
# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
You now have the source code, the driver source. I would recommend you to read the README file before making/installing the driver. One piece of good information I got from the README was to set this before making the driver -
# export COPTS="$COPTS -DSOFTLED"
Set this before running make. This would enable the Wifi LED on the front panel. You also need to be root to make. Without that, make will throw an error with "cannot create file, permission denied". Make will also check if the current kernel has loadable module support. It does so by checking the contents of the .config file in /usr/src/linux directory. In the default fedora installation, the .config file is missing. That can be copied from /boot as -
# cp /boot/config-`uname -r` /usr/src/linux-`uname -r`
You need to be root to do this. So, su into root and then copy the file / export this variable. Then run make.

Make should not take much time. After make is done, just skim through the messages so as to check if there were any errors. Once you are sure about that, run make install. This will install the driver modules in the kernel modules directory so that they can be loaded up automatically. The driver source generates three modules which need to be loaded in a particular order. Refer to the README file (I already told you so na?) for details about that.

Wokay! You are all set. Rest is easy. Go into /etc/sysconfig/network-scripts and copy ifcfg-eth0 to ifcfg-eth1 (or ath0). Modify it with the following -

DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
DHCP_HOSTNAME=pajama.vsharma.net
ESSID=Santa #Replace this with your ESSID
Reboot once. Kudzu should detect the "Unknown network card". Select configure and it will make the appropriate changes.

Try flood pinging your access point. ;)
# ping -f `/sbin/route -n | grep ^0 | tr -s " " | cut -d" " -f2`
DISCLAIMER: DO not blaim me for anything if you try this.

Bluetooth

I have a Sony Ericsson T610 which has bluetooth. I have very short bluetooth experience with my laptop and the phone, but here is what I did. After the driver is in place, try pressing the Fn+F5 combination. Interestingly, that enables/disables the Bluetooth subsystem, leaving the Wifi card/connection intact.

When this is done, you should see activity with BlueZ related activity in /var/log/messages.

Some more stuff needs to be installed before you can do anything with bluetooth. Do this -
apt-get install bluez-sdp bluez-pan bluez-bluefw bluez-hcidump bluez-utils 
then put this in /etc/modules.conf
# bluetooth stuff
alias net-pf-31 bluez
alias bt-proto-0 l2cap
alias bt-proto-2 sco
alias bt-proto-3 rfcomm

Now go and edit /etc/bluetooth/pin and put in your own pin there. Activate the bluetooth radio by pressing Fn+f5. After that start the bluetooth service -
# service bluetooth start

You should see something like this in /var/log/messages -
Apr 18 21:27:19 pajama kernel: hub.c: new USB device 00:1d.2-1, assigned address 4
Apr 18 21:27:22 pajama kernel: usb-uhci.c: ENXIO 80000480, flags 0, urb cb94af00, burb de484580
Apr 18 21:27:22 pajama kernel: usb-uhci.c: ENXIO 80000480, flags 0, urb cb94a400, burb cb94af00
Apr 18 21:27:23 pajama usb.agent[15550]: missing kernel or user mode driver hci_usb
Apr 18 21:27:23 pajama kernel: usb-uhci.c: ENXIO 80000480, flags 0, urb cb94af00, burb cb94ac80
Apr 18 21:27:23 pajama usb.agent[15553]: missing kernel or user mode driver hci_usb
Apr 18 21:27:23 pajama kernel: usb-uhci.c: ENXIO 80000480, flags 0, urb cb94ac80, burb cb94af00
Apr 18 21:27:23 pajama kernel: usb-uhci.c: ENXIO 80000480, flags 0, urb cb94af00, burb cb94ac80
Apr 18 21:27:23 pajama kernel: usb-uhci.c: ENXIO 80000480, flags 0, urb cb94af00, burb cb94ac80
Apr 18 21:27:23 pajama usb.agent[15555]: missing kernel or user mode driver hci_usb
Apr 18 21:27:23 pajama kernel: usb-uhci.c: ENXIO 80000480, flags 0, urb de484400, burb cb94a400
Apr 18 21:27:23 pajama kernel: usb-uhci.c: ENXIO 80000480, flags 0, urb de484400, burb cb94a400
Apr 18 21:27:25 pajama devlabel: devlabel service started/restarted
I see there are some errors there. I need some more time to figure out whats happening there. As of now, this works. After this, bring up the hci0 interface -

[root@pajama root]# hciconfig hci0 up
[root@pajama root]# hciconfig
hci0:   Type: USB
        BD Address: 00:20:E0:4A:B2:EB ACL MTU: 192:8  SCO MTU: 64:8
        UP RUNNING PSCAN ISCAN
        RX bytes:69 acl:0 sco:0 events:8 errors:0
        TX bytes:27 acl:0 sco:0 commands:7 errors:0
 
[root@pajama root]#
Now try scanning for your bluetooth devices -
[root@poo root]# hcitool scan
Scanning ...
        00:0A:D9:81:30:4D       TeliPhunwa
[root@poo root]#
If you get this, which is a listing of all the bluetooth enabled devices around you, bluetooth is working for you. There are a ton of other things you can do with bluetooth. That depends on what device you have.

[ COMPLETE PENDING BLUEtooth + GPRS ]

Hard Drive performance

[ FIXME ] I did not change any hdparm parameters of the default install. I get this -

[root@pajama root]# hdparm -tT /dev/hda1
 
/dev/hda1:
 Timing buffer-cache reads:   1740 MB in  2.00 seconds = 870.00 MB/sec
 Timing buffered disk reads:  104 MB in  3.00 seconds =  34.67 MB/sec
[root@pajama root]#
I dunno if I can do anything more with the hard drive performance.

Power Management, standby, shutdown, etc.

[ FIXME ] All I have tested till now is the close/open of the LID. Suspend works just fine. The battery meter in gnome works perfectly.

More later.

USB Devices

[ FIXME ] Havent seen any of my usb devices not working with the laptop. This includes the sandisk 6 in one card reader, Zire 71, Canon powershot A40, Logitech optical mouse. Everything was just plug and use.

Ultranav, USB mouse etc.

[ FIXME ] Everything including the touchpad, thingy and the USB mouse work fine. Zero configuration needed.

Overall

Well, I cant complain much as this is my first IBM laptop and infact I dont have any complains yet. The T41p is an excellent piece of equipment. Except the 512 mb ram, I have not seen any shortcoming. For that too, I can spend another $160 and solve all the jerking problems when I play UT2004.

I had expected more than a couple of problems configuring the laptop. But to my surprise, except the Wireless card, everything worked out of the box. As I spend more time with it, I will discover more ways to extract more out of this machine. I will try and update this document as and when I have something.

As of now, I am all happy happy, joy joy. :)
DISCLAIMER: This document is what I did on my laptop. If anything of this affects/damages anything for you, I will not be responsible. Please be careful.