Linux in the Dell Inspiron 8600 (I8600)


Introduction

When i bought the Inspiron 8600, it was fairly new and there where little information. Since I had a rather difficult installation process i decided to write down some hints and tips other may find useful. Consider this intro/guide a work-in-progress, all feedback/help are highly welcome.

ståle pedersen


Hardware spec

This is my I8600 hardware spec:

Updates

02 jan. 2004
Installed the new 5328 driver from NVIDIA. It works as promised and the small "jigger" problem when viewing fullscreen movies with the 4363 driver is gone. I did not see any fps improvements during a glxgears test.
- maybe a small slowdown, but not significant enough to go back to 4363.

03 dec. 2003
Installed the 2.6.0-test10/11 kernel and now Driverloader from Linuxant works perfectly. The only thing lacking atm is suspend to RAM, but I dont think it'll be supported in the near future.
Updated the links category with a few more links to other howtos on the I8600.
- and yes yes yes, the 4363 version of the NVIDIA driver DO actually work.

30 oct. 2003
NVIDIA driver works with the old 4363 driver!
There were some posts about the FX5650 card on nwnews that said that it worked with the 4363 driver and it really do. I patched the driver with the 2.6 patches from minion.de and it loaded without a glitch.
I've tested the latest version of DriverLoader (1.22) with my 2.6 kernel and a 2.4 kernel. It still hangs the keyboard on 2.6.0-test9, but works on my 2.4 kernel. Hopefully the Driverant guys get the 2.6 bugs sorted out.

29 oct. 2003
Some other howtos has popped up. Maik Musall has written a howto with the SuSe distro. He got the WLAN card up and going with the DriverLoader by Linuxant. I tested it on my 2100 LAN MiniPC adapter with no luck. The only result is a keyboard freeze.
Link to Maik Musalls howto can be found in the links section.
Jens Kuehnel also reported that he got his Firewire harddrive working with the I8600.


Remainig Issues

There are some issues with linux support on the Inspiron 8600 hardware. First, the wireless chipset (Intel PRO/Wireless 2100 LAN MiniPC Adapter) which is integrated with the processor. Linux support do not exist. More info on the subject is found here. Officially Intel is working on a Linux driver for the chipset, an eta is first half of 2004, but that is not official (as far as i know).

The current 4496 NVIDIA driver does not work with the GeForceFX Go5650 card. More info here.

Suspend to RAM do not work. Well, it suspends and it starts when I resume it, but the screen is black. I think this is something NVIDIA must support. NVIDIA has added APM support to the latest drivers, but they do not have ACPI support yet.
- hmm, first NVIDIA must support my graphics card, then I can complain on the lack of ACPI support :)


Installation

Preparing for installation

The laptop came with XP Home installed. Since this is my job computer there may be situations where I must use Windows so I have to keep XP on my harddrive (yep, no fun). The first thing i did was to boot into XP and used PartitionMagic to make some space on the disk. I also checked for bios upgrades the default installed bios was A00, current bios version on the net was A02. (I had some problems with the A02 bios, read more here.
The disk is partitioned with a small (vfat) partiton which is used by the laptop for diagnostics etc. The rule is; don't touch it! (or so i've heard :) The rest of the disk is a NTFS partition. I shrinked the NTFS partition to 10 GB and made the rest available for Linux.

Choosing a distro

I have used several different distros (Redhat, SuSE, Mandrake, Slackware and Debian), but lately I have been a Debian user (thanks to the apt/dpkg system). Earlier I have used the floppy install and installed using the net (info here). But I knew after some googling that the broadcom ethernet card is only supported from the 2.4.20+ and 2.6 kernels, and the floppy install use a 2.4.18 kernel.
With this in mind and after reading some info on the Knoppix distro I downloaded Knoppix 3.3 (with kernel 2.4.21) and burned it on a cd.

I changed the boot squence to boot from cdrom first and put in the Knoppix cd.
1. Boot the Knoppix CD
2. When the boot prompt came up, I chose language English (Im a Norwegian, but Knoppix don't support Norwegian yet): knoppix lang=en
3. After the system is launched (it found the ethernet card, audio and cdrom), it was time for a hd install: sudo knx-hdinstall
4. Then I followed the guided installation menus, in short:


Post Install

When you've rebooted Knoppix from the harddrive it has found the ethernet card and you are hopefully connected to the internet. The first thing I did was to edit the /etc/apt/sources.list file so that it use the unstable tree and fetch the files from my local mirror (ftp.no.debian.org). Then I did apt-get update; apt-get dist-upgrade to get the latest files.
Now we have a fully uptodate Debian Linux installed desktop.
Further tings I did: Now we are getting somewhere, but there are still a some things that do not work. Highest resolution with X is atm 1280x1024 and we have no ACPI support. On howto get 1680x1050 resolution in X take a look at the Xserver section.
ACPI is another story, the current kernel 2.4.20 do not support ACPI very well, but it can ble easily patched with ACPI code from the ACPI project. I decided that it was time to look at the 2.6 kernels (still in test)

Install of 2.6 Kernel

I've been using some of the 2.5.* dev kernels for some time without problems. So since I had to either patch a 2.4.21 with ACPI etc. or install a 2.6.0-test kernel... I tried the 2.6 kernel. I downloaded the latest kernel (2.6.0-test8) and compiled it. I won't go through the compilation process, but to make it more easy, here is my .config file.
NOTE: This .config works for me, it may not work for you. Edit it to fit your needs, and if you do not have the swap partition at /dev/hda5, you must edit param CONFIG_PM_DISK_PARTITION.

I have not had any stability problems with the 2.6.0-test8 kernel (knock on wood) yet, except for the audio. I had some issues when I was streaming music with xmms, the audio module would sometimes lock up. I switched from the OSS module to ALSA and I there has not been any lockups since.

ACPI works partly. I got the temperature and battery status working:

$ acpi -V
     Thermal 1: ok, 45.0 degrees C
  AC Adapter 1: on-line
And I can change the processor speed:
$ more /proc/acpi/processor/CPU0/throttling 
state count:             8
active state:            T0
states:
   *T0:                  00%
    T1:                  12%
    T2:                  25%
    T3:                  37%
    T4:                  50%
    T5:                  62%
    T6:                  75%
    T7:                  87%
- but sleep do not work...

To suspend to RAM do a:

echo 3 > /proc/acpi/sleep
it suspends, but when I try to resume it, the screen is blank. The keyboard receives input, and I can ssh to the machine, but no screen.
To suspend to disk:
echo 4 > /proc/acpi/sleep
Do not work at all since i have the highmem module enabled to get all the RAM available. I have not tested with the highmem module disabled yet.
NOTE: I have tested this with the highmem module disabled and it works from both shell and X.. yay!

Lilo
I added the following append options to the lilo.conf file:

append="resume=/dev/hda5 acpi=yes hdc=ide-scsi idebus=66"
/dev/hda5 is the swap partition which is used for suspend to disk. If your swap partition is on another partition, edit it. Read above section for more info.

BIOS

The Inspiron 8600 was shipped with bios version A00, when I got it and checked for updates a A02 version was available. I installed it, and booted into Linux. During boot the fan started (not on max, but close), and after I had X started the fan was on max and stayed like that most of the time. It was not like this when I had the A00 bios... so I downloaded the A00 bios and the fan behaves normally again.
Morale: If its not a must, don't upgrade the BIOS... - not to A02 anyways.

Xserver

Knoppix set up X with the vesa driver and a 1280x1024 resolution. Since NVIDIA do not yet support the FX 5650 card for Linux we are stuck with the open source driver nv (or vesa). With the Knoppix installed XFree86 4.3 version i had no luck in getting ha higher resolution than 1280x1024. After some googling i found this thread on nvnews.net. In short you have to download the XFree86 binary and nv driver from current cvs. Info about binaries/compatibilty is found here. Step-by-step guide:
My XF86Config-4 file is here. With the new XFree86 binary and nv module I get the desired 1680x1050 resolution. The drawback is that when I quit X the screen is fscked. Look like it do not resume to the old resolution.

Update:

With the older 4363 driver the NVIDIA driver works without any problems. If you use a 2.6 kernel I suggest you download the patch from minion.de. My XF86Config-4 with nvidia options can be found here.

Xkblayout

There are several "extra" buttons on the 8600 (play/pause, stop, next, prev, vol up, vol down and mute). All the buttons work, the just need to be "connected" to a key-command. I have created a special xmodmap file which is run each time I start X. The xmodmap can be found here.
NOTE: I'm a VI/VIM user and I map the Caps Lock key to Esc for easy editing. Just comment it out if you want to use Caps Lock.
With this xmodmap it's just to map the keys to the preferred application with your preferred windowmanager.

Hibernation/Suspend to RAM

Have not tested it more than the initial ACPI testing. With the highmem module disabled suspend to disk work.

USB Support

The I8600 come with two USB 2.0 compliant 4-pin connectors. I have only tested with a USB mouse and with the uhci-hcd and hid modules installed ut works without any problems.

IRDA support

I have not tested this properly, only installed the modules (irda, ircomm-tty). They installs without problems. I have a T610 and will test it when I have the time.

IEEE 1394 (Firewire)

I do not have any Firewire device, but if you send me one I can test it :)
But I have installed the required modules (ohci1394, raw1394), and installed necessary software:
root@lappers:/# dpkg -l *libraw* | grep ii
ii  libraw1394-5   0.10.1-1       library for direct access to IEEE 1394 bus (
ii  libraw1394-dev 0.10.1-1       library for direct access to IEEE 1394 bus -
Then tested it with the program (testlibraw).
# testlibraw 
successfully got handle
current generation number: 1
1 card(s) found
  nodes on bus:  1, card name: ohci1394
using first card found: 1 nodes on bus, local ID is 0, IRM is 0

doing transactions with custom tag handler
trying to send read request to node 0... completed with value 0x79b1f61c

using standard tag handler and synchronous calls
trying to read from node 0... completed with value 0x07b3f61c

testing FCP monitoring on local node
got fcp command from node 0 of 8 bytes: 01 23 45 67 89 ab cd ef
got fcp response from node 0 of 8 bytes: 01 23 45 67 89 ab cd ef
testing config rom stuff
get_config_rom returned 0, romsize 64, rom_version 2
here are the first 10 quadlets:
0. quadlet: 0x271e0404
1. quadlet: 0x34393331
2. quadlet: 0x02a000e0
3. quadlet: 0x00c04f39
4. quadlet: 0x10e8c914
5. quadlet: 0x760f0300
6. quadlet: 0x28000803
7. quadlet: 0x02000081
8. quadlet: 0xc083000c
9. quadlet: 0xab030600
update_config_rom returned 0

polling for leftover messages

Links