Linux on Dell Inspiron laptop

Contents:

"->" means separate file (page).

Newest version of this page is at http://www.ps.uci.edu/~tomba/inspiron/.


Summary

Inspiron is a fine machine suitable for running Linux.
In short, here is how you can install Linux, details follow below. For Inspiron 7000 check Steve's page for better information.

Buying Inspiron

You can buy an Inspiron directly from Dell.

Mailing lists

There are two Inspiron mailing lists: inspiron-linux and inspiron-general. To subscribe send mail to inspiron-linux-subscribe@thot.net or inspiron-general-subscribe@thot.net.

When sending a question provide your Inspiron type (number), Linux distribution, and describe what you have done. Provide any additional potentially helpful information like hardware configuration, configuration files, BIOS settings etc.

Official archives

Mailing list history

Some archive.

Installation

I have installed Linux - Red Hat 5.0 distribution, from CD-ROM.
Another good distribution is Debian.
If you have Slackware, you may find Joel's Inspiron page useful.
Installation went smoothly, but there were some post-installation problems which are described below.

PCMCIA

PCMCIA was not recognized - even in "expert" installation mode.
Note: This means that one cannot easily install Red Hat over NFS or FTP using PCMCIA network card.
I had to activate PCMCIA by hand. I edited /etc/sysconfig/pcmcia:

PCMCIA=yes
PCIC=i82365
PCIC_OPTS=
CORE_OPTS=
Then command /etc/rc.d/init.d/pcmcia start activated PCMCIA correctly. (One could also reboot.)
Other people added some PCIC and CORE options - see mailing list archives.
You might also want to check /etc/pcmcia/network.opts.

Because of the PCMCIA problem I had to activate Ethernet networking through my PCMCIA Ethernet card by hand too (modem card initialized automatically).
I edited /etc/sysconfig/network:

NETWORKING=yes
FORWARD_IPV4=no
HOSTNAME=myhostname
DOMAINNAME=subdomain.domain
GATEWAY=XXX.XXX.XXX.XXX
GATEWAYDEV=eth0
and created /etc/sysconfig/network-scripts/ifcfg-eth0:
DEVICE=eth0
IPADDR=XXX.XXX.XXX.XXX
NETMASK=XXX.XXX.XXX.XXX
NETWORK=XXX.XXX.XXX.XXX
BROADCAST=XXX.XXX.XXX.XXX
ONBOOT=yes
BOOTPROTO=none
Of course you have to substitute your own data (if you are on real network contact your network administrator, if you connect to Internet by PPP and have your own mini-network see PPP HOWTO and IP-Subnetworking mini-HOWTO).
Then command /etc/rc.d/init.d/network start activated networking.
You will also have to edit files /etc/hosts and /etc/resolv.conf.

Additional information:

X-Windows

The graphics controller in Inspiron 3000 series is NeoMagic 2160 which up till recently was unsupported by XFree86 (because NeoMagic refused to release technical specifications).
Inspiron 7000 has ATI 3D Rage Pro controller, follow the link for more info.

Note: Right now it seems that Inspiron can work with newest standard XFree86. You can read the information below if you are curious anyway.

One can run in 640x480 with 16 colors using XF86_VGA16 server. However 16 colors is too little for many programs (including Red Hat system administration tools), they complain: can't find a usable depth.
One can also run in 320x200 resolution with 256 colors using XF86_SVGA server.
To see how to run in 800x600 16 color more go to Douglas'es Inspiron page (ntsj mirror, old location).

One can try Jeff Shorey's free X-server for NeoMagic chipset (unaccelerated).
It is supposed to run up to 1024x768 resolution and up to 64K colors.
Recently there were reports on the Inspiron mailing list of success with 64K colors and 800x600 resolution, also 1024x855 virtual resolution.

You can also try the free XBF_NeoMagic X server from Red Hat.
See announcement.
After installing the rpm you may have to do
cp /etc/X11/XF86Config.neomagic /etc/X11/XF86Config
Also you may have to delete the Subsection Display through EndSubsection
in order for it to come up in the right mode (1024x768 at 16 bpp instead of 320x200),
but I heard that this is not necessary as of version 1.1.0.
You might need to do
ln -s /usr/X11R6/bin/XBF_NeoMagic /etc/X11/X
or
ln -s /usr/X11R6/bin/XBF_NeoMagic /usr/X11R6/bin/X

Many people who wanted to run X-windows at full resolution and colors purchased "LX Laptop Accelerated-X for Linux" server for $200 (or now for $150?) from Xi Graphics (formerly known as Xinside) (it may be possible to get a student discount),
or from Linux Mall for $160.
"Minimal" installation is sufficient for running X11 programs.
Remember to select mouse type: PS/2 on /dev/mouse.
You have to install patches for Accelerated-X v.4.1.
I installed the following patches:

update_4100.002.tar.gz
update_4100.002.txt
update_4100.008.tar.gz
update_4100.008.txt
update_4100.010.Xsetup-axlx-linux.tar.gz
update_4100.010.Xsetup.txt
update_4100.012.tar.gz
update_4100.012.txt
update_4100.021.tar.gz
update_4100.021.txt
Only 2, 12 and 21 are NeoMagic specific.
If you cannot find patch 21 on XiG web site, go directly to XiG FTP site.
Read the *.txt files for instructions how to install them.
For version 4.1.2 on Inspiron 7000 install patches 1,3,4 (see mailing list).

After installing Accelerated-X you may find several problems.

To see what undesirable changes did installation of Accelerated-X you can check permissions, owners, MD5 checksum etc. of all files before and after installation and compare results.
tripwire is a good tool to do this.
On Red Hat Linux you can use the following command (you can direct the output to a file and later diff the files): rpm -Va. It takes a few minutes to execute. It checks only files which belong to packages, which usually is enough.
I re-installed the following Red Hat packages: XFree86-libs, XFree86, filesystem, aout-libs, X11R6-contrib, XFree86-devel, xpm-devel. I could have re-installed more (in particular xdm) but I got tired of it (and I don't use xdm).
Warning: If you run Accelerated-X uninstall program you will find that it removes many files which belong to other packages. Don't run Accelerated-X uninstall.

You can find here instructions from XiG about how to install Accelerated-X on Red Hat 5.0. This is especially useful if you want to run xdm.

Possible solution to some of the problems would be to choose custom installation and install the X server only.

Another way would be to not to install XFree86 at all and install Accelerated-X instead. This could cause some problems with package dependencies though.

You can look at my file /etc/Xaccel.ini - this is the 1024x768 64K colors TrueColor setup, to get 256 colors PseudoColor setup remove the line:
Depth = 16;

See also information about running XFree in 1024x768/16bit mode with BSD (should be applicable to Linux too).

Printer - parallel port

If your parallel port does not seem to work (e.g. printtool complains that there is no parallel port) you can fix it as follows. Reboot the computer and at the boot screen press F2 to enter the setup screen. Find parallel port settings in System Devices page and change it from [PnP OS] (plug and play operating system) to [Auto].
You should be able to use the printer via /dev/lp1.

Serial port

In order to make the serial port work you should make changes analogous to those for the parallel port.
In BIOS SETUP change serial port settings from [PnP OS] to [Auto].
You should be able to access the serial port via /dev/ttyS0 and /dev/cua0.
Note that the modem PCMCIA card (which is always accessible by symbolic link /dev/modem) is now at /dev/cua1 and /dev/ttyS1 instead of /dev/cua0 and /dev/ttyS0.

I use the serial port to NFS mount my Psion 3a palmtop by p3nfs (available at original site or as Red Hat or Debian packages).

The internal "modem" in Inspiron 7000 is is just a so-called "winmodem" and therefore it will not work under Linux.

Sound

Initially sound did not work.

Inspiron 3000 series has Crystal CS 4237B Audio controller, and as the manual says it has Sound Blaster Pro-compatible voice and music functions.
Inspiron 7000 has ESS Maestro-2 wavetable sound system, follow the link for more info.

Sound can be enabled by following steps described below, but there may be still some problems.
I have created the following /etc/conf.modules file:

alias sound cs4232
options -k cs4232 io=0x530 irq=5 dma=1,0
alias midi opl3
options -k opl3 io=0x388
Then I rebooted (e.g. Ctrl-Alt-Del) and pressed F2 to go to BIOS SETUP menu.
There in System Devices page I have set-up audio system as follows:
Audio:               [Enabled]
  SB I/O address:    [220h]
  WSS I/O address:   [530h]
  AdLib I/O address: [388h]
  Interrupt:         [IRQ5]
  1st DMA channel:   [DMA1]
  2nd DMA channel:   [DMA0]
Then save the setup (press F10) and reboot to Linux.
Note: you can use different settings, see details.
To verify that the sound works do cat /usr/share/sndconfig/sample.au > /dev/audio (the file is found in sndconfig package).
In fact you can 'cat' any file (even executable or text) to /dev/audio or /dev/dsp - you will hear noise which sounds somewhat like sound of modem.
Of course you can run some program which makes sound, like xboing, doom or quake for example.
This is what cat /dev/sndstat gives on my system now:
Sound Driver:3.5.4-960630
Kernel: Linux host.subdomain.domain 2.0.32 #1 Wed Nov 19 00:46:45 EST 1997 i586
Config options: 0

Installed drivers: 

Card config: 

Audio devices:
0: CS4232 (82C930) (DUPLEX)

Synth devices:
0: Yamaha OPL-3

Midi devices:

Timers:
0: System clock
1: CS4232 (82C930)

Mixers:
0: CS4232 (82C930)
These are the relevant boot messages, as reported by dmesg:
ad1848/cs4248 codec driver Copyright (C) by Hannu Savolainen 1993-1996


mpu401.c: I/O port 530 already in use

YM3812 and OPL-3 driver Copyright (C) by Hannu Savolainen, Rob Hooft 1993-1996
As you can see there are still some problems.

Other configurations also seem to work (i.e. you can hear sound).

If program xgal complains: xgal.sndsrv: Couldn't open DSP /dev/dsp then you can change permissions on the device: chmod o+r /dev/dsp, but this makes your system less secure since anyone who logs into your machine, even from other continent, can hear everything you say through the built-in microphone.

I was told that OSS/Free driver works. I have not tested it. It seems to require kernel re-compilation.
I was also told that OSS/Free is basically what is already included with Linux.

There may ba a final solution to the sound problem.
Check those e-mails by Ben Brown and Tudor Hulubei to learn how to get native Crystal sound card support.
I am going to post an update when I test it.

There is one more hint about sound configuration.

There is a page about making OSS/Free work with the CS4237B sound chip.

SVGAlib

Original SVGAlib configuration didn't work. You can use the following /etc/vga/libvga.config file to use SVGAlib. However only standard VGA resolutions are available. No high resolution SVGA modes work due to unsupported NeoMagic video controller. You can test SVGAlib with programs like doom or quake (with this configuration it runs only up to 360x480).

Power management

Originally when I tried to suspend the system, it crashed and hanged.
It can be fixed by configuring the kernel to enable APM and re-compiling it.
On Red Hat get package kernel-source.
Read the Kernel HOWTO and README in kernel source directory.
Run make menuconfig or make xconfig.
In section character devices enable APM. You can check the relevant part of my kernel .config file.
Compile, install, configure lilo and reboot.
With this configuration the system will power off on shutdown or init 0.

Suspend still does not work if Accelerated-X is running (unless you switch to text mode before suspend e.g. by pressing Ctrl-Alt-1); keyboard and mouse do not work right after that and one has to press the power button.

If you accidentally suspend in X-windows you may still be able to avoid pressing power button and having unclean filesystem after that.
Try not to press any keyboard key and shut down the X session using mouse only (choose exit from menu or close the last application window - in my case it is xterm called LOGIN).
It may be difficult to do if you are running xdm.
Then you can either restart X or reboot for safety.

After suspend and resume keyboard speed resets to default.
It can be restored using kbdrate, for example to have the fastest setting you can execute kbdrate -r 30 -d 250.

Hint: If you cannot turn off the power and you think that you have to take out the battery then try to hold the power button for 10 seconds.

Updates (info I was told):

Touchpad and external mouse

The Synaptics touchpad is seen by software as a PS/2 mouse.
You can configure it in Linux using program tpconfig.

If you want to use external PS/2 mouse you have to have it plugged in at the boot time or at the time of resuming after suspend.
It automatically disables the touchpad.
If you want to switch back to touchpad, disconnect the mouse and reboot or suspend and resume.
You can also use serial mouse and the touchpad simultaneously, see the mailing list archives for more information.

PPP

See how to setup PPP on Red Hat 5.1.
This is not Inspiron-specific, but I put it here for convenience.
I have done it differently, without using any Red Hat utilities, completely manually.
See PPP HOWTO.

Zip drive

To use an external ZIP drive just do insmod ppa.
It comes up as /dev/zip and can be mounted as a normal filesystem.
See Zip Drive Mini-HOWTO.
If you still have trouble read this e-mail from Paul Feehan.

Memory upgrade

See how to upgrade memory on the Inspiron.

If you have more than 64 MB of RAM then you need to give kernel a special option in order for it to be recognized,
e.g. if you have 96 MB you would use
mem=96M
You can type it at the boot prompt but it is more convenient to add it to lilo.conf .

BIOS upgrade

You can find instructions and necessary files at DELL file library.
Request flash.txt for instructions.
You can also find there drivers, diagnostics, utilities, etc.
See advice whether to update BIOS.

Unsolved Problems

Note: Many (all?) of them have been solved by using latest software versions.

Suspend does not work with Accelerated-X (see above).
Note: people reported that it works fine with Red Hat 5.1 (kernel 2.0.34).

Sound still has some problems (see above).
Note: people reported that it works fine with Red Hat 5.1 (kernel 2.0.34).

Keyboard rate resets to default after suspend/resume (see above).
Note: people reported that it can be fixed with A05 flash BIOS upgrade.

SVGAlib works only in standard VGA modes (see above).

quake.x11 sometimes causes disk problems.

My configuration

Originally my hard disk was divided into 2MB and 1MB DOS FAT16 partitions. I used FIPS version 1.5c (fips15c.zip or fips15c.tar.gz, it can shrink FAT32 partitions) to shrink DOS partition to 1.5MB and use the rest for Linux (of course Linux can use the DOS partition too).

Related links

Acknowledgments

I would like to thank the following people:

Major change log


Tomasz Barszczak