Author: Bryan
Moffit
My Main Webpage
Last modified: Tue Feb 27 20:20:25 EST 2007
Mid-June of 2003, I became the proud receiver of a Dell Inspiron 5100 Laptop. It was the second laptop I'd ever had the experience of enjoying (the first was a Zenith Z-Note 433Ln+), and the Nth (forgot exactly how many) machine for which I've had the privledge of installing Linux. Because this laptop will eventually be shared with other members of my group, I left the installation of Windows XP on its own hard drive partition, and created a FAT32 partition and Linux Partition (ext2) using Partition Magic. The details of this process will not be presented here... because I felt there was a bit of Voodoo involved in creating the finished product. What will be shown here is a breakdown on the components that I was able to make work in Linux, and a bit on how I did it. I'm primarily a Debian user, but ended up installing RedHat 9 (which uses a 2.4.20 kernel). This document was/is originally meant to provide myself with a means of retracing my steps in the event of a disaster. If it helps you... great. Redhat 9 InstallationRedhat has really made installation a snap. One added feature that proved useful was the method of checking the Installation Media before the actual installation. Turns out one of my CD-RWs was bad! The graphical installation had no problems detecting the correct video card (Mobility Radeon 7500). The only specific information that is required, regarding the Inspiron 5100 (with 14.1 XGA) is that the Display should be set as "Dell 1024x768 Laptop Display Panel". Other than that... make sure to include the Kernel Development packages.Fedora Core 3 InstallationFedora was even easier than the Redhat 9 Installation. Mostly because there was much less to twiddle with ACPI to make sure interrupts are received correctly by the acpid (see the Fedora Core 3 update in the ACPI section below). Instead of going through an upgrade process... I decided to go with the evil "Wipe and Load" operation (copying my /home directory to another machine, and doing a complete and clean Install).When I first set this machine up... I was using BootMagic, which required it's own partition. The FC3 install overwrote this bootloader in favor of GRUB. Took my a bit to find out how to get my WinXP partition to be loaded correctly. Here's my grub.conf, to give you an idea on how I hid that old BootMagic partition so WinXP wouldn't be confused. Multi-MonitorGot an extra monitor lying around and you want some more desktop space? Try using that monitor and the LCD on the laptop! I have a spare Leo ComfortView 17cx from a few years ago... and am able to use this configuration to have separate/xinerama desktops (with different resolutions!). Use this XF86Config as a guide. My XFree86 version (using Redhat) is 4.3.0-2.90.43 (rpm). There may be problems using this in earlier versions. Also see this link. Depending on your tastes/needs... you may opt to change this line:
to: Option "Xinerama" "on" TVout (attempted only with FC3)I have had a small amount of success with the SVideo-Out. It works great with Windows XP, but there is some hacks to get it to work in Linux. First item, is to get ahold of the atitvout utility (available as a package for several different Distributions...e.g. RPM for Fedora/Redhat... or from source). For me, this utility doesn't seem to work well with the XOrg 6.8.* radeon driver. It works fine using the vesa driver (this is the Driver line in the Section "Device" of xorg.conf).Unfortunately, the SVideo out Linux support is not hot-swappable (as it is, in Windows XP). This just means that the SVideo cable must be plugged into the computer and TV when the laptop is booted up. To cure the headache of having to change the Driver line so many times I decided to make runlevel 4 as the TVout runlevel (vesa driver), and keep runlevel 5 as the normal runlevel (radeon driver). Here's what I did:
Network CardThe Integrated Network Card in this laptop is a Broadcom 4401. Support for this card is not found in the Linux kernel and must be found elsewhere. Why not from Broadcom itself? (http://www.broadcom.com/docs/driver-download.html). Make sure to grab the BCM4401 Driver for Linux. What now? Follow the directions (or just read the README.TXT):
rpm -ivh bcmCD_4401_v{vers.num}/Drivers/linux/bcm4400-{version}.src.rpm cd /usr/src/redhat rpmbuild -bb SPECS/bcm4400.spec rpm -ivh RPMS/i386/bcm4400-{version}.i386.rpm modprobe bcm4400 Update - for Kernel 2.4.24... with BIOS updates (from A06 to A23) I've compiled in support for the EXPERIMENTAL Broadcom driver b44 into my new 2.4.24 kernel, and have removed the bcm4400 module completely using rpm -e bcm4400. It seems stable so far... i.e. I haven't noticed any problems. Audio CardThe audio was actually configured during the Redhat 9 and Fedora Core 3 Install. But for good reference, the kernel modules used:
ac97_codec.o
CONFIG_SOUND_ICH=y ACPIThis was actually the toughest thing about this laptop. It's quite useful to have some sort of way to determine much Battery life is left. APM will not work, and the ACPI support in 2.4.20 will not cut it. Don't give up. You can make it work. Here's what I did:
Note: Using these instructions leads to a kernel that is not entirely stable. I've noticed that my laptop will freeze up after some amount of time (between 30 minutes and 4 hours or so) with the lid closed. Update - for Kernel 2.4.22 Using kernel 2.4.22 (as downloaded from ftp.kernel.org) allows one to skip the fourth item above (skip the download and install of the acpi kernel patch). One does however have to use a modifed version of my dsdt.patch. Make sure to follow all of the rest of the instructions. Update - for Kernel 2.4.24... with BIOS updates (from A06 to A23) Using kernel 2.4.24 with the A23 BIOS allows one to forget about all of these pesky ACPI patches. Just follow these steps. Unfortunately (with this BIOS) one seems to lose ACPI interrupts, rendering the acpid useless.
I was not receiving events from acpid, and this caused the LID event to not turn off the backlight when the lid was down. Here's what I did to cure it. Here's what my interrupt table looked like originally (cat /proc/interrupts): CPU0 0: 99259 XT-PIC timer 1: 154 XT-PIC i8042 2: 0 XT-PIC cascade 7: 788 XT-PIC Intel 82801DB-ICH4, eth0 8: 1 XT-PIC rtc 9: 0 XT-PIC acpi 11: 1620 XT-PIC ehci_hcd, uhci_hcd, uhci_hcd, uhci_hcd, yenta, ohci1394, radeon@pci:0000:01:00.0 12: 77 XT-PIC i8042 14: 386 XT-PIC ide0 15: 6805 XT-PIC ide1 NMI: 0 ERR: 0Adding this to my bootloader (as an option on the kernel commandline.. see grub.conf)
CPU0 0: 812341 XT-PIC timer 1: 117 XT-PIC i8042 2: 0 XT-PIC cascade 7: 26732 XT-PIC Intel 82801DB-ICH4, eth0 8: 1 XT-PIC rtc 9: 45374 XT-PIC acpi, radeon@pci:0000:01:00.0 10: 0 XT-PIC ehci_hcd, uhci_hcd 11: 3 XT-PIC uhci_hcd, uhci_hcd, yenta, ohci1394 12: 77 XT-PIC i8042 14: 6794 XT-PIC ide0 15: 13549 XT-PIC ide1 NMI: 0 ERR: 0Making sure that you have DRI working with XOrg (FC3 comes with v6.8.1), also seems to be important. Check out my xorg.conf. Both of these appear to have helped to restore acpi interrupts. Now one doesn't need to watch the file
SoftwareBelow is a list of software that I use (as well as where to find it).
Disclaimer: Total Visits since June 20th,2003: |