Linux 2.4.21 on a Dell Inspiron 5150

This guide may help you to install a basic linux operating system on your inspiron 5150. If it helps you, your welcome. Please note any experiance to me, in making some parts work, which I didn't mention here.This document is not a complete linux install guide, please refere to the installation guide of the distribution of your choice. As for me, I installed a Crux Linux operating system.

Table of Contents

1. Available Hardware

2. Graphics
  2.1 Hardware 3D acceleration

3. Network
  3.1 Ethernet
  3.2 TrueMobile wireless

4. IDE Harddisk

5. ACPI

6. Sound

7. Work in progress

8. About this document

1. Available Hardware

Hardware Description Status
CPU Intel Pentium IV Mobile, 3.06GHz  
Graphics ATI Radeon 9000 mobility, 64MB works with 3D
Network Broadcom ethernet, TrueMobile 1300 wireless no wireless
IDE ATA-100, IDE 60GB Harddisk works with UDMA5
ACPI Advanced Configuration and Power Interface no suspend
Sound Intel Corp. 82801DB AC'97 Audio wokrs

2. Graphics

This chapter just handels how to make the XServer runing, no hardware acceleration will work after this step. After installing the linux base system, ( Crux Linux in my case ) start the xf86config script, which will guide you through the creation of the necessary xfree86 config file XF86Config.I chose the following options:

After that, dont forget to put the created XF86Config file to its right place (/etc/X11/XF86Config in my case), and then just start the XServer by executing startx.
2.1 Hardware 3D acceleration
Hardware acceleration was a hard part. dmesg told me, that the kernel doesn't support the Intel (R) 852PM agp-chipset. But one has to get that working, in order to enable the acceleration. Then the kernel modul for the ati radeon graphics card is to outdated to load the gl extension (glx). What you have to do, in order to enable 3D acceleration for the ATI Radeon Graphics Card, is the following:

Do a glxinfo, and make sure, that direct rendering is enabled. If so, you are done and can check the speed with glxgears. I got this results:
6153 frames in 5.0 seconds = 1230.600 FPS
6917 frames in 5.0 seconds = 1383.400 FPS
6901 frames in 5.0 seconds = 1380.200 FPS
6917 frames in 5.0 seconds = 1383.400 FPS
6878 frames in 5.0 seconds = 1375.600 FPS
6918 frames in 5.0 seconds = 1383.600 FPS
6907 frames in 5.0 seconds = 1381.400 FPS
6921 frames in 5.0 seconds = 1384.200 FPS

3. Network

This section handles the networking hardware of the Dell Inspiron 5150. There are 2 main topics, the built in ethernet card, and the also build in wireless card.
3.1 Ethernet
As you can see in /proc/pci, its a Braodcom 4401 ethernet card, which is built into the machine. There is no support for that chip in the kernel, so you have to build your own module, and load it. You can find the source code of the corresponding module here:

http://www.ee.surrey.ac.uk/Personal/G.Wilford/Inspiron8500/files/bcm4400-2.0.0.tar.gz

Compile the module, and put it at the right place, in the kernel modules tree (/lib/modules/2.4.21/kernel/driver/net in my case). Then add the following line to your /etc/modules.conf:
alias eth0 bcm4400

Thus, the module gets loaded as you start the eth0 network interface ( use ifconfig )
3.2 TrueMobile Wireless
The internal wireless card is a Dell TrueMobile 1300, equiped with a Broadcom 4301 chip. Unfortunately, the company hasen't been releasing neither a technical spec, nor a driver for the mentioned chip. This means, the card will simply not work under linux. All you can do is to sign the this online petition, and hope the company will release something helpfull:

http://www.PetitionOnline.com/BCM4301/

The other way to go, in order to obtain a suitable driver would be to reverse engineer a windows driver, as done for other wireless card projects. So, let me know, if you start such a project.

4. IDE Harddisk


The harddisk worked out of the box, just to mention, that it is handled as drive /dev/hdc, and not as normal /dev/hda. Just think about that fact, when you are writing the /etc/lilo.conf, or similar bootloader config file.After the frist system start, all seamed to be very slow, during ide load. So I checked for the udma mode. With

hdparm -i /dev/hdc\emph default

you'll get all modes the drive supports. As for my machine, de udma5 mode was already set, and all I had to to was to enable dma mode, and 32bit adressing for IO_supports This can be done by using this parameters:

hdparm -c1d1 /dev/hdc > /dev/null

this command needs to be executed at every startup. rc.local is a good place for that.

5. ACPI


The Dell Inspiron 5150 comes with acpi support. I tried with the built in acpi support of kernel 2.4.20 and 2.4.21, but neither would work. The system just freezed, after unpacking the kernel at boot. So I applyed the acpi-patch found on acpi.sourceforge.net on kernel source 2.4.21, and enabled all acpi features, and completely disabled the api support:

patch -p1 < acpi-patch<version>.diff

Then copy the .config file from the previous kernel config to the patched one, and execute:
make oldconfig
make menuconfig
make dep bzImage modules modules_install

Create a seperate entry in the bootloader config file (/etc/lilo.conf for me), and do not overwrite your actual kernel in the /boot directory, because some kernels just hung on my machine, during tests with different versions, as mentioned before.
After booting the new kernel, and manualy loading all the acpi modules, I had a /proc/acpi directory, with a lot of information about the runign system. I put the following lines into /etc/modules.conf:
modprobe ac
modprobe battery
modprobe button
modprobe fan
modprobe processor
modprobe thermal\emph default

There is a very nice gkrellm2 plugin with acpi support available, which displays the battery status, and the cpu temperature.

6. Sound


The notebook comes with a Intel Corp. 82801DB AC'97 Audio sound card, according to /proc/pci. There is a kernel module available for this card, and by using the esound deamon, its almoust working out of the box.
But I wanted to try the ALSA project, since it is known to have very suitable sound drivers. In order to get your sound card working with the ALSA project you first have to install the alsa drivers, and the alsa utilities (for Crux Linux):
> prt-get intstall alsa-driver
> prt-get install alsa-utils\emph default

Next you have to add the following lines to your modules.conf:
# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-intel8x0

# module options should go here
# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0

# card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

In rc.local force the loading of the module snd-card-0, and sound-service-0-0 in order to have the /dev/sound/mixer device, and sound-service-0-3 to get a /dev/sound/dsp device (needed by some applications, i.e. mplayer):

modprobe snd-card-0
modprobe sound-service-0-0
modprobe sound-service-0-3

In my case, unfortunately, some chanels were muted, or set to 100% of volume. It did this ugly hack, in order to obtain suitable sound settings at startup (the values work for me, you will have to make some adjustments for your machine, and your needs):
amixer set PCM 15 unmute
amixer set Master 60 unmute
chmod 777 /dev/sound/mixer
chmod 777 /dev/sound/dsp

After that I can use /dev/sound/dsp as the sound device, for application that do not allow to choose alsa as ouput, as for example xmms does.

7. Work in progress

8. About this document


This document was writting while setting up a Dell Inspiron 5150 with a Crux Linux operating system, and is ment to be helpful, to others to aim to install linux on their notebook. All the describtion come with no warranty, this means, I cannot held guilty if any of the above causes damage to you or to your hardware..
In order to contact me, you can visit my homepage or you can write an email
Please visit the TuxMobil Archive to get more information about linux on mobil devices.


This document was created with the bluefish html - editor