This howto page documents my linux installations (Redhat, Mandrake and Debian) on the Inspiron 1100. All hardware is at least minimally supported.
Note: Since late 2005, if you have the latest BIOS you should be able to install any new linux distribution and not have to worry about most of the information on this page. Networking, display, etc all 'just work' these days. Even power management is working well.
Some of the instructions given are relevant to the Inspiron 5100, which has some identical hardware.
This is the configuration that mine arrived in, customised via Dell's online store. Yours may differ slightly, eg you may have have ordered a wireless card with yours or have a different modem. Otherwise everything else should be similar.
(If you know how to interpret the lspci output, you can check out my lspci -v here.)
Component | Details | Notes & 2.4 kernel modules |
Display Card | Intel Corp. 82845G/GL (shared memory). |
Different instructions depending
on BIOS version. Requires XFree86 4.3.0 or higher. OpenGL drivers
also available. Modules: agpgart, i810 and i830 |
LCD | 14.1 or 15.1 inch |
|
Audio | Intel 82801DB AC'97 Audio |
Works with OSS or ALSA drivers. Modules: i810_audio |
Modem | Intel Corp. 82801DB AC'97 Modem (yours may be different). | Non-free drivers from linuxant.com |
Network | Broadcom Corporation BCM4401 100Base-T | In-kernel module is b44. Only available in 2.4.23 and 2.6.0 or later kernels (earlier kernels require download of free GPL driver from broadcom.com. |
HDD | 30GB, 1.7MB cache. |
UDMA 5 compatible. |
CPU | Celeron 2.0GHz | |
RAM | DDR | |
Power Management | ACPI only. |
Incomplete (sleep modes not working).
Modules: battery, thermal, ac, button, fan, processor. |
USB |
2x USB 2 ports. |
Modules: usb-uhci and/or usb-ehci. |
CDRW |
24x burn |
/dev/scd0. Also available as CDRW/DVD combodrive,
or just DVD. Modules: ide-cd and ide-scsi. |
In order for XFree86 (and also ACPI) to work correctly you must update your BIOS to version A29 or later. Take note of your current BIOS version displayed while booting.
You cannot upgrade directly A06->A30+, you must go via a supported upgrade, ie A06 -> A22 then up to the latest version. First upgrade to A22 using the A22 update (which is a bootable autoinstall CD image), then to the latest BIOS using instructions in next section.
Update: if you are using A06, please read some important points about updating (thanks to Robert Sanders).
If you have MS Windows: I recommend updating to at least the A32 BIOS to avoid using the borked A20-A28 BIOSes.
Update 2005-10-15:Micah Cochran has graciously supplied an A32 BIOS image.
Linux/BSD users: If you no longer have MS Windows on your laptop, then you can create and use a CD Image to update (thanks to Jeff LeFebvre, Danilo Segan and Micah Cochran). Instructions are as follows:
cdrecord --dev=/dev/hda /path/to/image/bootcd_A32_1100.isoOr like this for a 2.4 kernel:
cdrecord --dev=0,0,0 /path/to/image/bootcd_A32_1100.iso
I1100A32The BIOS update will start and do the work for you.
If you would like to create a BIOS upgrade yourself, please try these instructions from Micah Cochran.
Update: The 2.4.23 and 2.6.0 kernels include a working driver for the built-in Broadcom card. It is the "b44" module. This driver works well and is included in all recent linux distributions.
If you have a 2.4.22 or older kernel (eg in Redhat 9, Mandrake 9.1) then you can either update to a more recent release (Fedora Core or Mandrake 9.2) or compile the Broadcom driver yourself.
If you want to compile the Broadcom drivers as follows. Grab the linux driver from broadcom.com.
You must have first installed the kernel sources to /usr/src/linux/.
Unzip the downloaded .zip file. It contains a tar.gz package. Have a read of the readme.txt file. Open a terminal, su into root mode and run these commands:
cd /pathtodownload/directory/Now the driver is up, time to configure the network interface, for RH do:
tar -zxf bcm4400-*.tar.gz
cd src
make install
modprobe bcm4400
redhat-config-network
Perusal of Dell's 1100 modem drivers shows that they are actually distributing three different branded winmodems with the 1100s. The chipsets involved seem to be a Conexant, Smartlink, and a PCTel(/Broadcom).
To check your modem, run (as root):
lspci -v
Look for one of the following modem descriptions in the output. The output will help determine the chipset for the modem and hence the driver to be used.
00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem Controller (rev 02) (prog-if 00 [Generic])
Subsystem: Conexant: Unknown device 5422
Flags: medium devsel, IRQ 11
I/O ports at c400 [size=256]
I/O ports at c080 [size=128]
Capabilities: [50] Power Management version 2
This is the modem I received and it is a built-in Conexant chipset 56Kbs controllerless (HSF) modem. It works perfectly with the linuxant.com driver. Linuxant has started charging a 'modest fee' for download of their modem drivers (a fee equivalent to the value of the modem). I can only advise that you try out the free (limited) version of the drivers, and buy them if you require them.
02:0c.0 Modem: ALi Corporation SmartLink SmartPCI561 56K Modem
I have been informed that this modem works with the Smartlink driver. Grab the latest version from Smartlink's site.
00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem (rev 02) (prog-if 00 [Generic])
Subsystem: Broadcom Corporation: Unknown device 4d64
Flags: bus master, medium devsel, latency 0, IRQ 11
I/O ports at c400 [size=256]
I/O ports at c080 [size=128]
Capabilities: [50] Power Management version 2
Richard Morency has supplied the following info for getting this modem running:
PCTelcompdb has the drivers and info. Browsing the PCTel modem database on the site, this 'Broadcom' modem in the 1100 is number 144 in the list: "Intel 82801DB AC'97 Modem". To install this modem in Redhat 9.0 do as follows:
Get the driver source.
./configure --with-hal=i8xx
Then change line 312 of /src/ptserial/ptserial-2.4.7.c from
#define PCI_DEVICE_ID_I845 0x2486
to
#define PCI_DEVICE_ID_I845 0x24c6
Then compile the driver with:
maketo load the drivers:
make install
insmod -f pctel
insmod -f ptserial
This should do the trick. I am running kernel 2.4.20-8 at the moment (though I am currently in the process of upgrading to 2.6.2).
As always, the best reference site for internal modems is linmodems.org.
Update 2004-06-25: With the new A29 BIOS it is possible to use a higher colour depth than described in this section, if you require it.
To make the console fill the entire screen you must add the kernel argument "vga=773" to your boot loader's config file. This gives you a resolution of 1024x768 and colour depth of 256 colours on the console.
For GRUB, edit /boot/grub/grub.confkernel /vmlinuz-2.4.26 ro root=/dev/hdc3 hda=ide-scsi vga=773For an equivalent LILO configuration, edit /etc/lilo.conf section:
image=/boot/vmlinuz-2.4.26Then run /sbin/lilo as root! If it spits errors at you, you need to fix them before continuing.
label=linux
read-only
append="root=/dev/hdc3 hda=ide-scsi vga=773"
The touchpad works as a PS/2 mouse without any need for configuration. However, you can get extra functionality from your touchpad if you use the synaptics driver. This enables horizontal and vertical scrolling, button events and gives more control over sensitivity settings and so on. You need to download an external driver and make modifications to your XF86Config file. Instructions and download are at Peter Österlund's page. (Speedy hint: download a version pre 12.0. Just copy the pre-compiled synaptics_drv.o to /usr/X11R6/lib/modules/input/, make the changes to your XF86Config file then restart X). [Simpler under debian].
Instructions for video, modem and ethernet setup in this section require 'gcc', 'make' and the 'kernel-source' packages to be installed in order to compile drivers and patches.
The following instructions work for both Redhat 9 and Mandrake 9.1. Substitute any Redhat-specific commands for Mandrake equivalents (eg use the Mandrake Control Center instead of "redhat-config-" tools). I install any drivers from their source ".tar.gz" files, which avoids use of distribution-specific kernel modules. Just make sure that GCC and kernel sources for the running kernel are installed correctly.
I chose to keep the OEM windows installation that came with the computer. In order to do this I shrank the NTFS partition and created an ext3 partition for linux. You might choose to delete all partitions and lose the windows installation.
Note that there is a small (40MB) partition at the start of the disk. This is used by Dell only during setup of the computer, and is not necessary to keep. I reformatted it with ext3 and it now serves as my /boot partition.
An example procedure to shrink the MS Windows partition:
If you have already upgraded to BIOS A29 (or newer), then you won't have any trouble Redhat 9's XFree86 hardware autodetection. Just remember to specify the monitor type when asked, or run redhat-config-xfree86 after installation has completed. The monitor is a "Dell 1024X notebook display" and you must specify it.
If you are having trouble getting going, and don't want to use redhat-config-xfree86 you can try using my Redhat 9 XF86Config. Save it to /etc/X11/XF86Config and restart X.
auto eth0
iface eth0 inet dhcp
hostname serenity
apt-get install xfree86-driver-synapticsAnd use this XF86Config-4 file (already modified for scrolling, middle click and right click).
The following notes were submitted by Mark Stosberg, and I've edited only lightly.
A Machine note: I believe our laptop came with BIOS "A20" [outdated BIOS that requires patches to work with xfree86. Please upgrade to the A29 BIOS (or later) to fix video issues)].
Partitioning
Partitioning was a breeze with Mandrake 9.2. As part of the installation process a graphical partition tool appeared. The XP partition was easily reduced in size, resulting in a functional dual-boot system. No preparation or "clean-up" was done for this task. It Just Worked.
Display
Worked with the recommended 845patch (note: obsolete info, please upgrade to the A29 BIOS to fix video issues).
Network
Just Worked. [MDK 9.2 comes with the 2.4.22 kernel, so includes a faulty b44 driver for the ethernet card. Upgrade to at least kernel 2.4.23 (possibly using an RPM from the Mandrake Cooker) or upgrade to MDK 10.]
Modem
Haven't done much with this yet. Mandrake appeared to recognize the modem, OK though. It appears that tinkering may not be needed here. (See modem notes).
Synaptic Touchpad Driver
Works wonderfully. I hadn't seen a touchpad this functional /ever/ so I was very impressed. :)
Power Management and ACPI
I recall that I may have needed to install the "acpi" and "acpid" packages. They Just Worked once installed, at least in the sense that "acpi -V" reports a sensible result.
KDE's laptop utility worked correctly with the battery power. The Standby/Suspend/Hibernate functions did not seem to work at all, though. I tried the "Software Suspend" (swsusp.sf.net) program, and it nearly worked. By that I meant it would claim to work, suspend to disk, and wake up to be a functioning system again. The catch was that something was wrong with the way the X session was handled. Instead of being restored where I left it, X would start up to the default desktop.
I also couldn't get it to take any action when the lid was closed.
I noticed that Mandrake had pre-configured a detail for me which would reduce disk access. The "noatime" option was set for the disks in fstab. I recall reading that this option has very little negative consequence on modern systems, and increases the potential of the drive being able to sleep.
I did make one change to attempt to conserve some power and quiet things down a bit more. I added this to the bottom of:
/etc/sysconfig/harddisks
EXTRA_PARAMS= -S 240
I believe that sets the hard drive to spindown after 20 minutes of inactivity. See "man hdparm" for details. I can't say I've used the laptop enough to confirm how much difference this would make.
Fedora Core 1 installation was very straightforward. This is the first in the Redhat line to have both ACPI and the Broadcom ethernet driver included.
Ubuntu installs and mostly just works on the Inspiron 1100 (networking, hibernate, synaptics, sound etc). However, the xserver installation isn't configured correctly. Use this xorg.conf file instead. Copy it to /etc/X11/xorg.conf and reboot. Thanks to Micah Cochran for supplying this fixed xorg.conf
Before you try to install a custom kernel, you should be aware of the correct procedure. The linux kernel-HOWTO is currently unavailable (you may find a mirror where it still exists, YMMV) but there are plenty of distribution specific pages available on the web (think Google.com).
Get started by grabbing my kernel 2.4.25 .config from here (copy it to /usr/src/linux/.config and run "make oldconfig" then "make xconfig"). Note that the 2.4.24 and later kernels contains both the ACPI patches and a working driver for the broadcom network card. I have included the relevant drivers to be included in the kernel image (not as modules), so that you don't have to specify to load individual drivers anywhere (eg b44, video and sound; you may want to deselect sound support (OSS) if you plan to patch and use the superior ALSA drivers).
Note that I've disabled devfs support (and devfs has been deprecated in the kernel sources).
The 2.6 kernel offers significant performance advantages for this laptop. However, there is some REQUIRED READING for a safe and uneventful flight:
Note also that you are to use my config file (below) to build the kernel, or expect some trouble. :-)
Get started with my 2.6.10 .config from here. Save this text file to
/usr/src/linux-2.6.10/.config
Do not manually edit this file. It is modified by the "make xconfig" or "make menuconfig" commands.
Important Points:psmouse_noext=1
For example, my GRUB entry (/boot/grub/grub.conf) looks like this (with /boot on hd(0,0)):
title Debian, kernel 2.6.10
root (hd0,0)
kernel /vmlinuz-2.6.10 ro psmouse_noext=1 vga=773 root=/dev/hdc3
cd /usr/src
tar -xjf /pathtodownload/linux-2.6.10.tar.bz2
cp /pathtodownload/config-2.6.10.txt /usr/src/linux-2.6.10/.config
cd /usr/src/linux-2.6.10
make oldconfig
make xconfig
cd /usr/src/linux-2.6.10
make oldconfig;make && make modules_install && make install
title Linux kernel 2.6.10
root (hd0,2)
kernel /boot/vmlinuz-2.6.10 ro root=/dev/hdc3 vga=773
You most likely need to change the "root (hd0,2)" line to suit the location of your /boot partition and "root=/dev/hdc3" to suit location of your / partition.
Reboot and enjoy.
Update 2004-02-09: I have decided to not use modules for the device drivers for this laptop, so as to avoid complicated loading steps. If you use my .config files from above then you do not need to read this section.
To ensure that all the modules get loaded at startup, I add their names as a simple list to the /etc/modules file. The appropriate names are important to ensure that your gear all functions after startup. Most would be automatically loaded by the operating system, but I still get the occasional problem (mostly when compiling custom kernels) - and it can't hurt to 'double up' with modules (don't worry, they won't get loaded twice!). My /etc/modules file is as follows:
#I810 stuff:
i810
i830
agpgart
#USB: different module names for 2.4 and 2.6 kernels; include both so that one gets loaded: uhci-hcd
usb-uhci
#Alsa:
snd-intel8x0
snd
snd-pcm-oss
#for OSS compatibility
snd-seq
snd-seq-oss
snd-ac97-codec
snd_mpu401_uart
#alternatively, use the OSS:
i810_audio
#acpi gear:
processor
thermal
battery
ac
button
fan
#input: I usually compile these directly into the kernel, rather than as modules.
mousedev
keybdev
psmouse
usbmouse
#USB:
#Printer:
printer
usb-storage
#ethernet: use Broadcom driver, if available. Otherwise uses kernel b44 driver.
bcm4400
b44
ide-scsi
#Event interface:
evdev
#PCMCIA modules:
pcmcia_core
ds
yenta_socket
UPDATE 2006-03-17: I recently tested kernel 2.6.15 under Debian and found power management to work quite well. Run the following commands as root to test.
To suspend to RAM ('quick suspend'):
echo mem > /sys/power/state
To 'hibernate' the computer ('suspend to disk'):
echo disk > /sys/power/state
That should be all you need to read! Continue if you want to try 'Suspend2'
The Inspiron 1100 does not support the older APM standard, only the newer ACPI. As with video support, there have been some changes between BIOS versions. I recommend you update to at least BIOS version A29.
HOWTO: SWSUSP2
This is only for users capable of compiling a kernel. If this scares you please try Ubuntu Breezy where SWSUSP works out-of-the-box.
First, download the three items: kernel, config file and swsusp2 file to your home directory. Then just do the following in a shell:
#Untar the swsusp2 package:
cd /usr/src/
tar -xjf ~/software-suspend-2.1.5-for-2.6.9.tar.bz2
tar -xjf ~/linux-2.6.9.tar.bz2
cd linux-2.6.9
cp ~/config-2.6.9.swsusp2.txt .config
../software-suspend-2.1.5-for-2.6.9/apply
make oldconfig;make;make install;make modules_install
Finally, add the new kernel (/boot/vmlinuz-2.6.9) to your bootloader (GRUB or lilo) and reboot. You will now have swsusp2 support. Note that you will need to use your swap partition to suspend, as outlined in the swsusp2 howto, as well as adding a "resume2=" line to your bootloader (mine is "resume2=swap:/dev/hdc4").
Battery 1: charging, 74%, 00:30:52 until charged
Thermal 1: ok, 57.0 degrees C
AC Adapter 1: on-line
hdparm -tT /dev/hdcOn Redhat-like systems, edit: /etc/sysconfig/harddisks
echo -n "Configuring network interfaces..."becomes
ifup -a
echo -n "Configuring network interfaces..."
ifup -a &
cat /proc/acpi/processor/CPU0/throttlingIt should (if ACPI is enabled) look like this:
state count: 8To change the active state, do (as root) this exact command (including the spaces):
active state: T0
states:
*T0: 00%
T1: 12%
T2: 25%
T3: 37%
T4: 50%
T5: 62%
T6: 75%
T7: 87%
echo 5 > /proc/acpi/processor/CPU0/throttlingWhich will drop the speed to 62% (T5). cat the file again, and the asterisk will be beside the T5 (ie, *T5). To return to full speed, do:
echo 0 > /proc/acpi/processor/CPU0/throttlingYou can even add the command to a script and call it with sudo to allow quick switching using a keyboard or desktop shortcut.
echo 1 > /proc/sys/vm/laptop_mode
touch /etc/init.d/PAUSE-SERVICESNow copy the text from my PAUSE-SERVICES into your new /etc/init.d/PAUSE-SERVICES. Thus any service numbered after S10 will be delayed in starting by 60 seconds (simply change their Start number to greater than 10). Good candidates for delayed startup are samba, apache, ssh, acpid, vmware and cron.
chmod +x /etc/init.d/PAUSE-SERVICES
ln -s /etc/init.d/PAUSE-SERVICES /etc/rc2.d/S10PAUSE-SERVICES
Some questions get asked repeatedly on the linux-dell-laptops mailling list. I will add these here.
A: This can occur a) after removing the AC power while the lid is closed, or b) when switching to an external display using Function + F8 key shortcut. I do not know the cause or a permanent fix. However, the screen is easily 'refreshed' by switching from X to a console then back. To refresh, use this key combo:
CTRL + ALT + F1
then
CTRL + ALT + F7
A: For easy configuration of X you must be using BIOS A29 or later and have XFree86 version 4.3 or later. So firstly upgrade your BIOS. Secondly, make sure your linux distribution is one of the following:
A: 3D XFree86 (DRI): This works out-of-the box on Mandrake 9.2, Redhat Fedora and Debian Sarge. If you are using an earlier release (MDK9.1 or RH9) you need to download and install the DRI (dri.sf.net) drivers and use an updated kernel.
A: Please use the .config files I supply as the starting point for a new kernel compile. I have been through and made sure that essential items are included directly in the kernel to minimise hassle for you.
A: Firstly make sure that your kernel supports ACPI. You need at least version 2.4.22 or later (or a 2.6 kernel). Use Redhat Fedora Core 1 or later, Mandrake 9.2 or later, etc. Make sure your kernel boot line includes "acpi=on".
If you have the A06 BIOS then you must upgrade to a more recent BIOS for ACPI to work.
If you use ALSA (default sound in the 2.6 kernels, optional patch to 2.4) to run your soundcard then you might like to be able to use multiple sound applications simultaneously. ALSA can handle this without use of a sound server (eg artsd or esd). The configuration file is /etc/asound.conf. This file should contain the following:
#/etc/asound.conf start:
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dsp0 {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 8192
rate 44100
}
bindings {
0 0
1 1
}
}
ctl.dmixer {
type hw
card 0
}
#end.
Then tell your sound applications to output to ALSA's 'default' device and you will be able to play multiple sound apps without tying up the sound device.
Update 2004-05-19: The 2.6 version of Gnome has integrated the acme code, so you do not need to install acme separately. Use the "Keyboard Shortcuts" application (in "Desktop Preferences") to set your volume controls.
The 'function' keys can be enabled using various programs. I use the lightweight "acme" to map the volume controls. It is useable under GNOME, KDE, XFCE4 or any desktop with a notification area. Download the RPM for your distro from rpmfind.net, or the Debian DEB from any testing or unstable source.
The console size and colour depth is determined by a kernel option passed at boot time. This laptop, by default, only has 1 MB Video RAM available at boot time for the console to use. Thus it can be started with the kernel option "vga=773", which will give you a 1024x768 resolution and 8 bit colour (256 colours). The kernel option is added to your boot-loader's config file as described previously.
Charles Pence pointed out that the A29 BIOS has an option to increase the startup Video RAM to 8MB. This allows higher colour depths to be used. Thus you can use the kernel option "vga=791" to get 16 bit colour (>16,000 colours). This can be useful in setting up a pretty bootsplash screen.
echo 3 > /proc/acpi/sleep
Will successfully send the laptop into suspend-to-ram and turn off the monitor. However, it will not power up correctly from this state. The monitor stays blanked out, but the machine is still contactable via network (can ssh into it). Update: Jeff Shantz informs me that this problem also occurs under Windows XP, even with the A32 BIOS.
UPDATE 2006-03-17: I recently tested kernel 2.6.15 under Debian and found power management to work quite well. Run the following commands as root to test.
To suspend to RAM ('quick suspend'):
echo mem > /sys/power/state
To 'hibernate' the computer ('suspend to disk'):
echo disk > /sys/power/state
Update 2005-11-03: Bret Steinhauser has informed me that Suspend-to-Ram works on Mandriva 2006.0 and the latest PCLinuxOS!
The best way to get help with for this laptop is to post to the linux-dell-laptops mailing list. If you include "Inspiron 1100" in the subject line I'll read your message AND you'll maximise the probability of getting your questions answered. I will not reply to emails asking for help, unless they go through the list.
Comments and corrections for this website can go directly to me. However, I won't provide 1-to-1 tech support for you (contact the linux-dell-laptops list).
Copyright notice: you are free to redistribute and modify this information in any medium with attribution.
Updated 2008-02-28.
Random links:
Ovens and Kiewa Veterinary Centre
Lonsdale Street Cyclery Cycles
Fundraising