Linux on a Dell Inspiron 4000

This machine was bought in July 2001. Its finally got too unreliable and I've replaced it with a nice new IBM T41. Lets hope that will prove more rugged..

The final straw was the display failed. After loads of trying to work out what was wrong, over an extended period, I discovered the display problems I'd had were down to a broken track in the PCB on the back of the LCD panel. Its under loads of tape and stuff and I've not tried to get under there to fix it. It doesn't look too 'servicable'.

I also had the problems with the mouse wandering off.

This page is now past its sell by date - its only approprate for people trying to dig up old systems. BTW It works on FC2 pretty much the same as old RedHat 7.1.

General stuff

Options include the DVD ROM unit for the modular bay and the internal NIC/Modem Combo. Its also got the 1400 x 1050 display.

The NIC/Modem combo seems te be made by Action Tec Electronics and combines an Intel 82577 Ethernet pro100 and a Lucent Winmodem (contrary to what Dell told me).

You can see what you have using the 'lspci' command (once you have Linux running).

> lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 03)
00:03.0 CardBus bridge: Texas Instruments PCI1420
00:03.1 CardBus bridge: Texas Instruments PCI1420
00:07.0 Bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 03)
00:08.0 Multimedia audio controller: ESS Technology ES1983S Maestro-3i PCI Audio Accelerator (rev 10)
00:10.0 PCI bridge: Action Tec Electronics Inc: Unknown device 0100 (rev 11)
01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility M3 AGP 2x (rev 02)
08:04.0 Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100] (rev 08)
08:08.0 Communication controller: Lucent Microelectronics WinModem 56k (rev 01)

I'm running RedHat 7.1 (seawolf)

It was a fairly standard install. The system came with MS-WindowsME. I used fips to squeeze it down. Interestingly there seems to be a spare chunk of space that the RedHat linux partition tools happily grabbed for a /boot partition below cyl 11.. This makes me nervous, since there was a suspend to disk option in MS-WindowsME and I wonder where that goes...


   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *        11       500   3935925    c  Win95 FAT32 (LBA)
/dev/hda2             1         5     40131   83  Linux
/dev/hda3           501      2432  15518790    5  Extended
/dev/hda5           501      1010   4096543+  83  Linux
/dev/hda6          1011      1043    265041   82  Linux swap

Another useful thought, if you want to boot to partitions high up on the disk, there is a new lilo option "lba32" that replaces the old "linear" option.

Oh yes, if that ghastly RedHat spash screen drives you insane, then remove the line "message=/boot/message" from your lilo.conf and re-run lilo.
Lilo doc is in /usr/share/doc/lilo-21.4.4/

Specific hardware issues

Ethernet Pro 100

Well basically it works. It needs a bit of fiddling with to get it right though.

In its standard configuration it does not come back after suspend, but there is a fix for that (see below).

Its also a pain at boot time - though there may also be a fix for that by changing the driver but I've still to test it... There seems to be no way to test for link connectivity using the eepro100 driver so if you have it configured for boot time DHCP it will take AGES to boot. You can improve this by going and tweakin all the timeouts but it still is not good. This is compounded because RedHat bundle 2 different DHCP clients and if one fails try the other.

This is brain-dead! Why RedHat see a need to make their own tool that works so badly (and it does work badly) that they have to run another one too freaks me..
Why can't they just get one and make it work... there are plenty available out there...

That said, you can improve the situation if you put

	retries 1
in /etc/pump.conf it will speed up pump's failure mode, and if you add
	"-t 15"
to DHCPCDARGS in /sbin/ifup you can reduce the delay to about 45seconds.

I now don't start it automatically, but bring it up when I need it.. Works better that way.

Alternative driver - with link state

Update: 14/Oct2001 (thanks to Jeff Squyres) It seems that there are 2 different drivers that for this card, the eepro100.o and e100.o. Apparently e100.o will generate a file

	/proc/net/PRO_LAN_Adapters/eth0/Link
that contains "up" or "down". A simple kludge is therefore possible in /etc/sysconfig/network-scripts/ifcfg-eth0..
I've not checked this since I found other workarounds..

Ethernet Resume after suspend..

There is a fix.. (well its working for me). On RedHat 7.1 you need to modify some of the apm config. In /etc/sysconfig/apmd find the line
	NET_RESTART="yes"
and change it to
	NET_RESTART="no"
Then place the following stuff in /etc/sysconfig/apm-scripts/apmcontinue
	#!/bin/sh
	case "$1" in
	suspend)
	    #do nothing
	;;
	resume)
	    SETPCI=/sbin/setpci
	    DEV=00:01.0
	    $SETPCI -s $DEV 1b.b=0x20
	
	    DEV=00:10.0
	    $SETPCI -s $DEV 3e.b=0x06
	
	    DEV=08:04.0
	
	    $SETPCI -s $DEV 4.w=0x0117
	    $SETPCI -s $DEV 10.w=0xf000
	    $SETPCI -s $DEV 12.w=0xfbff
	    $SETPCI -s $DEV 14.w=0xdcc1
	    $SETPCI -s $DEV 1c.w=0x2008
	    $SETPCI -s $DEV 1a.w=0xfbe0
	    $SETPCI -s $DEV 3c.w=0x010b
	
	    DEV=08:08.0
	    $SETPCI -s $DEV 3c.b=0x0b
	    ;;
	esac
This magic came from the yahoo dell-linux-laptop group. Don't know who found it originally, but it seems to be OK - so thanks anyway.

Note, I'm using an own-build 2.4.18 kernel at the moment configured for APM and not ACPI. On other systems this may need to go in /etc/apm/event.d

You need all that because the actiontec modem+ethernet card implements a PCI bridge. Aparently the resume does not restore those values on the other side of the bridge automatically.

I was going to switch to the e100 driver, but never got around to it.

VLANs

The other thing to be aware of is that the the actiontec card does not by default support full size VLAN packets. Either set your eth0 MTU to 1496 or patch the driver else the card just rejects the large packets and you just never see them.. (this is a standard problem with the silicon - same is true of most ethernet cards).

Winmodem

Seems fine but you need to get the ltmodem-6.00a1 tgz package from http://www.physcip.uni-stuttgart.de/heby/ltmodem/
I followed the instructions, it was dead easy and it seems fine. The ltmodem automatic build stuff does the business.

Trackpad

If you don't want taps.. get tpconfig-3.1.2 from http://www.compass.com/synaptics/
Install with
	# rpm -iv tpconfig-3.1.2-1.i386.rpm 
There doesn't seem to be a manual. You can't run tpconfig while gpm or X are running without a kernel patch. Note the tpconfig rpm will install a script in /etc/rc.d/init.d that attempts to turn off tapping.

DVD

Works - once you get the right bits.. (This is now out of date - not sure these packages are still available - As of feb 2003 I now use Xine)

You need the packages from http://www.linuxvideo.org/oms/rpm/ I used

	omi-0.1.0-0.20010303.rh62.i586.rpm
	oms-0.1.2-2.i386.rpm
	libcss-0.1.0-1.i386.rpm
and installed with
# rpm -Uvh omi-0.1.0-0.20010303.rh62.i586.rpm oms-0.1.2-2.i386.rpm libcss-0.1.0-1.i386.rpm
Preparing...                ########################################### [100%]
   1:oms                    ########################################### [ 33%]
   2:omi                    ########################################### [ 66%]
   3:libcss                 ########################################### [100%]

then as a normal user you run it with

	$ omi_gtk

Set the device to /dev/cdrom and it plays.. Seems a little cranky if you try stoping and re-starting but we get pictures and sound so it'll do for now... There may be an issue with aspect ratio - a widescreen movie played in a roughly 4x3 window, but I've not investigated very closely.

More info from http://linuxtv.org/ http://www.linuxvideo.org/oms/

Not worked out how to drive the TV out yet.. Under MS-WindowsME it will play the DVD onto a TV in full widescreen, PAL or NTSC. [Useful tip: You have to reduce the display resolution to 1024x768 else you end up with a virtual desktop effect..]

Display

Works OK. Be aware the config tool for XFree86 v4 is xf86cfg and (under RedHat at least - from package XFree86-xf86cfg-4.0.3-5 in "User interface/X") the config file seems to be /etc/X11/XF86Config-4

ie as root

	# xf86cfg -xf86config /etc/X11/XF86Config-4

Audio

Works fine. Only complaint is there is no "line-in". The "microphone" input is sadly mono... Anyone know of a Linux supported PCMCIA audio card? Something also generates a background twittering noise after a restore..

Battery

Under Linux (when new) I got a predicted 5 hours 51 from a single battery and about 11 hours from 2 when it was new.. Over the 12months of hard use its dropped to about 4-5hours per battery and one is misbehaving in that it drops the last 2 hours indicated like a stone - though its still making > 3 hours real use.

I have recently (Aug 2002) got around to making a dual battery patch to get the info into /proc/apm and then into xapm.

Misc

Only minor gripe is that something seems to make a nasty twittering noise after a suspend-resume cycle - and it won't go away.

Reliability

Generally its was only "fair" but from June 2003 till now (Jul 2004) its got a good deal worse. It developed problems with the touchpad and now has a real problem with the display. After a lot of poking around over the last year, I finally worked out what the problem was. There is an intermittent connection in the display PCB behind the top left quadrant of the display.

Generally, I've had a few niggles. Note that it is used heavilly, every day, and carried around a fair bit.

The hinge on the lid gradually tightens up.. I've managed to oil it a little but its a real fiddle to do.

I've replaced the batteries. One battery was indicating 2 hours too much life, and dropped from 02:30 life to less that 00:30 life in 5 minutes and then like a stone after that! Great care was required to not get caught out. Presuamably a bios bug. And the battery life takes no account of the actual drain - so double the memory and it still shows 5 hours, but gives 3-4..

I've also seen some display problems over an extended period. The display goes all flickery and it looks like a signal over-driving or termination problem. It doesn't look quite right on an external monitor either, so I did wonder if its the graphics controller thats the problem. It was intermittent and moving stuff always made it go away. For a long time, I thought it was a connector problem. I tried re-seating connectors in the main unit. To do this I lifted off the keyboard and pushed the display connector on the PCB firmly home. This connector and cable gets "twitched" every time you open the lid so may have worked loose. But after a while it was clear that I'd not fixed it. So I also popped out the processor and re-seated that.. That magically seemed to fix things, but again it didn't really.. Then I stripped the screen apart and pressed home the connections there. That fixed it for a while too. Eventually it got worse and I finally trackjed it down to the PCB stuch to the back of the screen (the big one that covers the top third of the panel. I can't see any way to remove this.. but squeezing it fixes the problem for a while..

SO the root cause - the top cover is too flimsy and didn't provide enough protection I guess. It would just take a very slight knock in transit to do damage.

I also note there are a couple of small (<10mm dia) defects in the screen. They just dont quite look right - but basically still work.

For the record, in case it helps anyone, to get to the CPU, you have to remove the screws on the bottom of the case marked 'K'. Then really carefully lift up the keyboard taking care not to damage the cable (note the keyboard clips in at both sides too). Slacken the 4 captive screws on the CPU heatsink and lift off the heatsink. On the CPU socket, turn the lock screw 180 degrees and the CPU lifts off. Re-seat CPU, re-lock the socket, carefully replace the heatsink and keyboard..
To get to the screen, remove the 4 rubber pads in the display corners, they are just stuck in. Under each is a screw. Remove the 4 screws. The top bezel is then just clipped in. Prise apart carefully, releasing each clip in turn. The scren is then held by 2 screws into each side.

The hard disc gradually got loud enough to really annoy me. This happened on one of my previous Dells too. This one has a very wobbly disk going by the way it feels when you jyst turn it over in your hand; I can't believe it would have lasted much linger. I replaced it with a 40G one and its now fine. For what its worth there is a media bay hdd module - makes doing the drive to drive transfer really easy - even managed to copy the original Dell installed windows ME partition without it noticing.

The lid seems to now sit 1-2mm open. I guess something in the catch has worn.

Dell

Pretty unhelpful really! Never return a call, don't respond to emails even when they are enquiries for part numbers so I can order more kit. Their shipping people can't follow simple instructions either and their couriers can't tell the time. They certainly don't get a gold star as a direct sales organisation!
Only time they ever contact me is to send junk mail (Dell, in my experience, seem to be one of the most irresponsible companies on the block for this - their mail lists don't seem to time out for at least 4 years) and their contracted out sales force call to try to sell insurance from time to time but have no idea what they are talking about so don't bother to ask then any "technical" questions (like what does the insurance cover and are there other packages ;-).

Would I buy another? This is my 3rd dell laptop (2 company ones then this ones personal) but its at best 50:50 at the moment. I need to buy a load of kit for work and I doubt it will be Dell.. The battery life and screen are the best features (when they work), the inspiron/lattitude thing just confuses me and the inability to buy power packs, batteries and accessories from the normal places (or easilly from Dell) is a real bummer.

A while ago (Jan 2003) I did find a 3rd party Dell source. They seemed to be doing OK for a while but then I tried to order new batteries and memory. The bateries they shiped were old model and used! On test they were worse than mine. They also had 3 attempts to get the memory right and finally gave in and gave me my money back (1st 2 attempts it didn't fit, then when it did fit, it just didn't work). I later went to a kingston memory supplier, got the right part first time and it worked... So at the moment they are off my christmas list.

Other useful links/information

I8KUTILS is an interesting looking set of dell bios tools that seems to give access to all sorts of stuff including fan speed, CPU temperature, serial number, power status etc. Not tried them yet.

DualBattery support, patches to give access to status of both batteries.


Last modified: Feb 2005
Feedback, email: