SuSE Linux 9.0 on the Dell Inspiron 8600

Date of information: 2004-11-23, page version 2.0 (update history on end of page)


Status overview

Subsystem Status Updated Info
Hard Disk (UDMA) 2003-10-28 Works well, throughput about 29 MByte/s
DVD+R/DVD+RW/CD-R/CD-RW 2003-10-28 Reading, writing, hotswap works. Some apps like k3b have problems, though.
Audio 2003-10-28 playback works, but no reaction on hardware keys yet. Microphone not tested.
Keyboard (special keys) 2004-11-23 Keycodes working for volume and xmms control.
ACPI (Power Management) 2003-12-23 SuSE standard kernel has ACPI backports, so battery status etc. works, but no suspend. Screen blanking with NVidia driver and workaround
X11 2004-11-23 2D works with opensource nv driver. Faster graphics, 3D and TwinView available with the new NVidia driver versions 5328-5336,6111!
IEEE 1394 (Firewire) 2003-10-28 External FW harddisk works fine and fast
Ethernet 2004-05-18 10/100 wired network works fine. Occasional device hangs fixed
Modem ? 2003-10-28 driver present, but no success during a few hours
USB 2003-10-28 both USB 1.0 and USB 2.0 working
Infrared 2003-10-28 works fine
Bluetooth 2004-01-15 Works great, nearly out of the box.
Wireless LAN 2003-10-29 Dell TrueMobile 1300 is working! Details below!
PCMCIA 2003-10-28 works fine
USB-Floppy ? 2003-10-28 not working, device configuration stuck somewhere (not yet examined).
Extra Battery 2003-10-28 Works fine, gets listed in acpi -v. Is hot swappable.
Port replicator 2003-10-28 Works well so far.


Summary

Well, the only hard issue is ACPI which does not allow suspending. Also, battery will not last as long as with Windows running. But that is all due to the lack of acpi support in the current Linux kernels. Most new laptops are built without apm and with acpi only, so this is not a Dell-only problem.
However, in my opinion, it would be helpful by Dell to leave apm in the BIOS for some more time, which would enable Linux users to use the essential power management features until the kernel is ready to support ACPI suspending.

Hardware

My machine has the following components:
Component Brand Model Info
CPU Intel Pentium M, 1.7 GHz
RAM ? 2 GByte DDR-2700, 333 MHz 2.5CL Both slots are occupied with a 1 GByte module each
Hard disk IBM/Hitachi 80 GByte ATA/100 UDMA5 4500rpm IC25N080ATMR04 on 82801DBM Ultra-ATA controller
Display ? 1680x1050 WSXGA+ TFT
Graphics nVidia GeForce FX 5650 Go, 128 MB DDR-RAM
Optical drive NEC ND-5100A DVD+R/DVD+RW/CD-R/CD-RW
Ethernet Broadcom BCM4401 10/100 MBit/s RJ45
Wireless LAN Broadcom BCM94306, aka Dell TrueMobile 1300 IEEE 802.11g/b, in mini-PCI slot
Bluetooth Broadcom BCM4110A
Modem Broadcom BCM9415M V.92
PCMCIA Texas Instruments PCI4510 1 cardbus slot, type II
IEEE1394 Texas Instruments PCI4510 1 firewire port, 400 MBit/s
USB ? ? Two 2.0 ports, 480 MBit/s
Audio Broadcom AC97 82801DB
Accessories Dell Second battery for media bay, port replicator (4 USB, PS/2 mouse and keyboard, VGA, DVI, Ethernet, Modem, External MediaBay, parallel, serial, SP/DIF, SVideo), floppy drive for media bay (can also be connected via USB)

Further, the following ports are provided:


Intended Software configuration

My plan initially was to have a native WinXP installation, a native SuSE9 installation, the ability to boot one or the other, while being able to run the WinXP also inside a VMware Workstation 4 with Linux as host operating system. This turns out to be difficult: VMware does not yet run on SuSE 9.0 (segfaults in vmmon module), and WinXP on raw disk is not supported. We will see whether this gets better with the next VMware build. In the worst case, I'd have to reinstall XP in a virtual disk while losing the dual boot option, or switch to w2k, I fear.

Coming from an IBM Thinkpad 600X (PIII-500, 576 MB, 48GB Harddisk, SuSE 7.2 and W2k, all hardware components running smoothly on Linux), I'm a little bit disappointed about the VMware issue and ACPI stuff, I admit.

Update 2003-12-23:  VMware now runs fine for months with the SuSE vmnet modules. Do not use those provided by VMware, they don't work. If you have the segfaults mentioned above, you most definitely have some of the VMware-delivered modules left anywhere.
Dual boot however doesn't work due to the lack of VMware's support for XP on raw disk. I'm now running a virtual XP session most of the time, that is completely separate from the native installation which I downsized to the minimum.

Update 2004-04-06:  VMware 4.5 fixes the module problems. It now runs fine with the modules that VMware comes with. That finally enables me to apply SuSE kernel updates.

Preparing for installation

My unit came with Windows XP Professional pre-installed which configured itself upon the first boot. I wasn't able to downsize the partition far enough as I wanted, so I threw it away and repartitioned the disk as follows:
/dev/hda1   43 MB   Dell Service parition, simply left untouched
/dev/hda2   14 GB   Windows XP
/dev/hda5   25 MB   /boot
/dev/hda6   2 GB   swap
/dev/hda7   60 GB   /
Then, I re-installed Windows from the CD that came with the Laptop and all the drivers for that world.


Installing SuSE 9.0

Afterwards I installed SuSE9. The basic installation went quite fine. Just choose a display resolution which does not exceed the physical one in either dimension.

Be prepared to have internet connection ready so that you can fetch update and supplementary packages for the nv display driver. Do not test the X11 configuration after setup because you won't be able to see anything after it switches back to the framebuffer-driven setup screen, which makes it difficult to finish the last install steps. You will however want to install another XF86Config to make things work (this one is for the NVidia driver but also includes comments for use with nv).

It's a good idea to set up normal vga mode for the boot process, otherwise you'll see nothing but funny bars when switching from nv-driven X11 to text console. I abandoned grub and switched to lilo for that, and included a vga = normal in lilo.conf. (Who needs grub? lilo works!)

By the way, create a directory /users and put all home directories there instead of /home, because otherwise things will get confused when using NIS with automounting. SuSE doesn't seem to care of that. yast2 also writes defective yp.conf files sometimes which do not work.

Update 2003-11-03: I had occasional complete freezes of the whole system (didn't have Sysreq enabled to try at that times). Seemed that the probability of a freeze to occur increased with I/O load, such as "netcatting" a few gigs from disk over 100 Mbit network. I realized that very many devices share IRQ 11, so I tried the kernel parameter pci=noacpi. Since then, no freeze occurred any more - we will see.


X11

whole section updated 2004-01-05
The GeForce FX 5650 Go is a rather new chip. nVidia has finally managed Dec 22, 2003 to release a proper driver. Before that date, the only choice was the open-source nv driver that comes with XFree86 4.3. The bad news is that DPMS does not work with that one, so you cannot suspend the screen which is bad for battery and screen lifetime. Some other fellows posted here and there that the older 4363 driver would work for them, but for me it produced ugly patterns on the screen. The new driver, however, works fine now, supports OpenGL and TwinView, is much faster than nv, takes very little CPU time with mplayer and supports DPMS screen blanking.

MPlayer finally works with rpm packages from packman, my self-compiled one didn't, and it's not included with SuSE 9. Only operable video output filter that supports fullscreen with the nv driver was x11 which unfortunately needs 100% cpu all the time. With NVidia drivers, also xv, sdl, gl and gl2 do work. xv is the one I chose for my videos since it's the optimum regarding cpu time and getting aspect ratios right.

If you wonder why the X process grows to 170 or 189 MB at runtime: this is the combined amount of process memory, shared memory and mapped graphics memory, which of course is already 128 MB. Use pmap to show the real memory usage.

Here is my XF86Config running the 1680x1050 screen, now updated to use the NVidia driver. I also included a 1024x768 mode for the use with external beamer, but that was not working with these timings and the nv driver: screen is shown small with native resolution, no visible image on beamer. With the new NVidia driver, I created a TwinView configuration (contained in above XF86Config file) that brings a 1024x768 screen with 1024x1050 virtual size to the external VGA connector that sits on the right of my LCD. Unfortunately the NVidia driver considers the external monitor the primary one, so the login dialog of kdm is there. You can however login blindly, of course, if the beamer or external monitor is not yet in place at that moment.

With that configuration, I have a virtual 2704x1050 screen on which I can move windows around. I can display a presentation on the beamer while working privately on the internal display. A positive side of the primary display issue is that when I play a movie with mplayer (use -fs -screenh 768), the movie is shown full screen on the beamer while I can just normally work on the LCD with other applications (for which are 95% CPU left thanks to the NVidia driver).

One drawback with the NVidia driver is that it's apparently not possible to switch to text consoles while X is running. However, text display is at least left clear after exiting X completely - with nv, the text was not really readable once X had been running. Another problem is that after I changed TwinView configuration on/off, the machine occasionally froze completely at restarting the X server.

2004-08-03: Beware of NVidia driver version 6106 when using TwinView: the signal on the external VGA connector is unusable, at least for beamers! (5336 works fine.) Update 2004-11-23: Versions 6111 and 6629 are out. 6111 works fine but with no noticable enhancements over 5336, while 6629 has starting problems and sometimes freezes the machine when starting X. So far, 6111 seems to be the one to use with this machine.

There are reports with burnin-effects on Dell notebooks, especially Inspiron 8500 and Latitude D800. I did not yet experience any burnin effects, but watch out for it when using the brightest backlight setting.

My display makes noises when dimmed. Looks like not normal: when I twist the panel a bit, the noise disappears.


Ethernet


I had occasional hangs on the built-in 10/100 interface, mostly when heavy traffic was going on. It turned out to be a bug in the 1.0.1 version of the bcm4400 driver in the Linux kernel that comes with SuSE 9.0.

I found some useful information at RedHat with a hint that that could have been fixed in 1.0.2. So I downloaded the 1.0.2 sources and recompiled the module. The fix works well, no more hangs since then, even with constant 100 MBit traffic over hours. Here's my recommended chain of action to do this:
  1. Install package kernel-source matching your current kernel version (rpm -qa|grep -e ^k_ -e ^kernel)
  2. Go to /usr/src/linux/drivers/net
  3. mv bcm4400 bcm4400_101
  4. tar xzf /path/to/downloaded/bcm4400_102.tar.gz
  5. ln -s bcm4400_102 bcm4400
  6. cd /usr/src/linux; make dep && make && make modules
  7. cd /lib/modules/`uname -r`/kernel/drivers/net/bcm4400
  8. mv bcm4400.o bcm4400_suse.o; cp /usr/src/linux/drivers/net/bcm4400/bcm4400.o .
  9. ifconfig eth0 down; rmmod bcm4400; depmod -a; modprobe bcm4400
Note that the sources above are to apply to the 215 version of the kernel-source package (check your installed version with uname -r). Other subversions may require slight changes. If you are afraid of doing the compile work on you own, you can try just substituting the bcm4400.o module in your /lib/modules directory against the one contained in the tar archive provided above.


Optical Drive: CD-R/CD-RW/DVD+R/DVD+RW

Two topics are here to solve: hotswapping the drive unit (to exchange it against the floppy drive or the secondary battery pack), and burning all the different media.

Writing DVD+R and DVD+RW is somewhat more complicated than CD-R or CD-RW. My first attempt with the KDE program k3b to write a DVD+R resulted in a destroyed media while k3b reported success. So I went back to my old principles and use own scripts to burn something.

You should definitely read Andy Polyakovs DVD+R/DVD+RW on Linux introduction before just invoking my scripts. It is very well written (text quality, layout, content and HTML code quality!) and was my guide to create the dvd writing scripts. These scripts expect just a directory name as argument and that directory will become the root directory of the burned media. There is one script cd_master that should be hardlinked to cdrw_master, dvd_master and dvdrw_master. It will set the correct options according to the own name for all of the different media CD-R, CD-RW, DVD+R and DVD+RW. Another script named cd_writeimage writes an ISO9660 image to CD or DVD. Same renaming conventions. To create an image from an existing DVD media, use the following command:   dd if=/dev/hdc of=file.iso

To enable hotswap, you need the idectl script that normally belongs to the hdparm package but is not included in SuSE 9. Do a  idectl 1 off  to take the drive out and put the battery in, and  idectl 1 on  after inserting the drive again. The battery will become recognized in acpi subsystem after a few seconds.

Update 2004-04-06:  I've gotten some problems with that procedure recently. Kernel crashes when pulling out the drive even after doing idectl 1 off. No clue yet what's in the way.

The floppy drive does not yet work for me, neither inside the media bay nor via the usb cable. The kernel tries to wrap a ide-scsi device around it and fails somehow.


Wireless LAN 802.11b/g Dell TrueMobile 1300 is working! thanks to the genious Linuxant DriverLoader that loads the original Broadcom Windows XP drivers into the Linux kernel. It's commercial, but a fine solution.
Update 2003-10-29:  Alexander Bokovoy corrected me that "there are plenty of 11a/b/g cards based on Atheros chipsets which work under Linux very well since this July with madwifi drivers which are available for FreeBSD as well -- Atheros sponsors their development. In particular, I have D-Link AG650 (802.11a/b/g) PCMCIA card working without any problems and in .11g mode have 2.5MiB/s (~20-24 Mbit/s throughput) which is very close to achievable limit for .11g." Thanks, Alexander!

Performance of the device with my Orinoco AP is not as well as with my Orinoco PCMCIA card in my old IBM: only about 450 kB/s in short distance, and even only 50 kB/s in the next room where the IBM has full 550 kB/s throughput. I have to test that with Windows to discover whether it's a hardware or software issue. iwconfig is showing a clean 11 MBit/s connection all the time.


Audio

Audio playback and recording is working reasonably well out of the box. Speaker quality is well, but could be better. At high volume levels there is some rattling noise, but that's probably a case issue; Dell laptops simply don't have the case quality as those from IBM...


Keyboard - special keys

The Fn-key combinations work partly: dimming the screen works, dimming volume doesn't. Switching the wireless devices off with Fn-F2 seems to work, while ejecting and CRT/LCD and, of course, suspending doesn't.

The additional hardware keys (increase/decrease volume, audio off, play/pause, stop, next, previous) don't work out of the box but the produce scancodes. You can make them do what you want by modifying your .xmodmap file and configure the window manager to pick up those keybindings and do something when they occur. The drawback is that this doesn't work any more when changing window manager. If you are happy with the actions it offers, the gnome-tool acme might be your solution. I set it up in 2 minutes and it just works fine for the volume buttons.

Update 2004-11-23: I did the following to make the Play/Stop/Next/Previous buttons do the right thing in a running xmms with Enlightenment 0.15:

ACPI

Reading all the states works, including battery status and lid closing flag. Processor speed is managed by cpufreqd which works fine.

The screen blanking works by issueing xset dpms force off. To get the thing switch the screen off when I close the lid, I added the following functions in /usr/sbin/acpid_proxy near line 261:
xoff() {
    /usr/X11R6/bin/xset dpms force off
}

xon() {
    /usr/X11R6/bin/xset dpms force on
}
and changed the ACPI_BUTTON_LID_OPEN setting in /etc/sysconfig/powermanagement to xon and the ACPI_BUTTON_LID_CLOSE to xoff and restarted acpid.

Update 2004-01-05: Currently I'm entering rcacpid restart after starting X in a root shell. Setting an at event in /etc/init.d/xdm to get this done automatically did not work. Anyone an idea on that?

The fan is not represented in /proc/acpi/fan. I have a little more than 3 hours of continuous use with the internal battery alone and about 5 hours together with the extra bay battery (and the nv video driver which didn't support screen blanking, should be even more now).

SuSE did some work to include acpi support in their special 2.4.21 kernel. I don't know how much it equals the -rc2-ac3 kernel which is reported to support acpi best currently.

The i8k module loads with force=1 and shows some correct and some irrational values (fan speed 141000 rpm?).

Infrared

Works fine. Just make sure the device is activated in BIOS and assigned to COM2. I successfully use the IR port with gscmxx to read/write my gsm phone phonebook.

Bluetooth

Works great, nearly out of the box. With a little help from Toms technote, Internet via GPRS and bluetooth works flawlessly.

If you also have a dual boot installation and use bluetooth with both platforms, be aware that the bluetooth device id is the same, but everything else differs. So if you make your phone trust the connection, you won't be able to connect with the other platform because signatures differ. You have to delete the device from the trusted devices list in the phone and have it created newly.

Update 2004-01-11: In the meantime, I have Internet via GPRS/Bluetooth, an IP connection to my girlfriend's Inspiron 8600 (modprobe bnep; pand -s -r GN -E; ifconfig bnep0 ...) and a Logitech MX900 Bluetooth mouse running. The latter one was some more work. I fetched bthid-0.8.tar.gz from Peter Klausler's website on that topic. His page is about the MS mouse however, which I never would have bought (simply wrong manufacturer ;-), so the key mappings did not work correctly. With some experimenting and some help from Charles Bueche, who has a fine Site about the MX900 with kernel 2.6, I managed to patch the bthid code, and with my modified bthid code I finally have all buttons working. The forward/back buttons and the app-change button are however not yet assigned to do something useful, but left/right, middle, wheel and up/down do work fine.

Bluetooth mousing is nice. No more cable fiddling. I start to like that bluetooth stuff :-)

Update 2004-01-15: I updated the bthid code to send simulated alt+left or alt+right keystrokes for the forward/back buttons so that Mozilla will do a back or forward.

USB

USB works. I recently bought an external hard disk from LaCie for temporary storage and backups (80 GB). Unfortunately the disk doesn't reach it's full possible speed as it does under Windows, as the SuSE 2.4 kernel obviously doesn't have the new 2.6 USB 2.0 queueing code, so throughput is only at about 15 MByte/s while it should be at least double that.

But that's not a Dell problem...

Other Resources

There are several other sites around. Some of those are specific to single technical topics. I linked those directly inside the corresponding sections in this page.


Page update history

2003-10-29   Added a users's comment in WLAN section and some more links
2003-11-03   Info about system freezes in install section
2003-11-04   USB section added
2003-12-23   Updated after NVidia released their new driver; added some experiences here and there
2004-01-05   Added comments on TwinView in X11 section, as well as a comment in ACPI section
2004-01-11   Added experiences with a Logitech MX900 Bluetooth mouse in Bluetooth section
2004-01-15   Modified the linked source code for MX900 driver in Bluetooth section
2004-04-06   Added comments in DVD section and regarding VMware
2004-05-18   Added information about how to fix the occasionally hanging eth0
2004-08-03   Added warning about NVidia driver 6106
2004-11-23   Info about new NVidia driver versions; new keybinding help for remaining audio keys

Maik Musall (when mailing me, please give an expressive, wordy subject so I don't overlook your mail among all that spam...)