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:
- for the internal touchpad the protocol ps/2, and not the imps2, and /dev/psaux as for device
- for graphics adapter choose radeon 9000, 64MB, 1600x1200, hsync 43-85, vsync 40-60
- for keyboard select the dell101 keyboard layout, which fits the keyboard on the notebook
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:
-
download the kernel patch (http://www.kernelnewbies.org/kernels/rh9/SOURCES/linux-2.4.20-agpupdate.patch)
-
pacht the kernel with patch -p1 < linux-2.4.20-agpupdate.patch (don't bother with the fact, that the patch
is against 2.4.20, if you are using 2.4.21, since it worked for me without problems)
-
make sure that agpgart is enabled in the kernel config, and compile your kernel with make dep bzImage modules modules_install
-
download the xfree86 source from their homepage (hint: you'll just need the 3rd package)
-
in the directory /xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel build the modules with
make -f Makefile.linux (don't worry about compilation errors of the g200 or g400 graphics card, the
radeon module is build before that one)
-
copy all radeon modules to your /lib/modules/2.4.X/kernel/driver/char/drm directory
(and overwrite the original radeon.o modul)
-
make sure, that glx, and dri are enabled in the XF86Config file, and restart the xserver.
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
- suspend ( hybernation - suspend to disk - by using swsuspend )
- speedstepping, frequenzy trooteling
- mouse wheel support on the usb mouse
- usb floppy
- pcmcia wireless
- cups - printing system
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