Dell Inspiron 9400

Linux (gentoo) on the Notebook Dell Inspiron 9400 Royal - HOWTO

Hardware overview
* Intel DUAL Core PIV CPU (works) * Intel SATA Controler (works) * Intel AGP Bridge (works) * NVidia GeForce Go 7800 PCI express 16X - 256MB (works) * Intel Centrino 3945 WIFI device for WLAN (works) * Ethernet: Broadcom BCM4401-B0 (100Base-TX) (works) * Intel High Definition Audio (HDA) Controller - (chip SigmaTel STAC9200) (works in parts) * mini or Express Card bus (now work!) * infra red remote control (shipped with my device - unknown model) (no work!) * memory cards adapter (no work) * internal modem (no work!) * DirectMedia! Buuton function (not tested / used)

compiler flags and make.conf
If you are using GCC => 4.2, safest choice (and still using all capabilities of CPU) is:

ALSA_CARDS="hda-intel" VIDEO_CARDS="nvidia nv"

I've set the following modified optimization flags in my /etc/make.conf to get the compiled code fitted to the Dell 94k cpu hardware at most my knowledge allow that: This config should a stable in any case. A second working one with more optimization flags on could be (replace CFLAGS line) :

basic drivers and modules
system and CPU

To get the SMP functionality under the Intel Duo core up 2 run be shure to use or compile your linux kernel with SMP and HyperThreading support as a i386 / PIV family processor. Because the CPU provides the speedstep tech. for power saving you can compile in this options into your kernel too.

SATA hard disk subsystem
In order to get the linux system properly booting you have to compile in the SCSI support and the pii-sata drivers (SCSI -> low level drivers -> SATA -> Intel PIIX/IHC SATA support) into your kernel or - in the case of module - you have to load it into you ramdisk at bootup. I prefer - even when i use ramdisks at boot - the compiled in driver to prevent problems during the boot process. get external needed software Wireless Intel Centrino drivers

WiFi
Now out of the box from ipw3946 / iw3945 modules - with older kernels (< 2.6.30) you may need

net-wireless/ipw3945 ~x86 net-wireless/ipw3945d ~x86 net-wireless/ipw3945-ucode ~x86

installed to get a properly WiFi driver stack.

Intel HDA sound
Unti the 1.11 ALSA version i got different problems with the driver and sound system. Sometimes it hangs and most it didn't gives any sound out. So i have contacted to the ALSA devel lists and fiddeled with some patches on the CVS sources to get the SigmaTel up to work. After the next ALSA update this problem was fixed (see CHANGES of ALSA 1.0.10 to 1.0.11) - there was a bunch of several works on snd_hda_intel driver. While other notebook user have to set different extra module options on the Dell 94k intel_hda (SigmaTel) are no module options needed anymore. To save time by (re)emerging the alsa drivers you can bring in ALSA_CARDS="hda-intel" to your make.conf.

After installing the drivers you have to configure

your sound devices. Don't forget to unmute the mixer levels because the newer ALSA drivers load the sound system in muted state (i.e. use alsamixer). To store your mixel levels permamently use

Then add it to boot (RC)

CD- and DVD burner drive
Cdrecord shows it as a ATAPI device at 0,0,0. So you have to configure it in /etc/defaults/cdrecord or /etc/cdrecord.conf as

load the kernel modules
Load the kernel modules first time by hand (if not compiled in) with

modprobe

* pii-sata - the SATA contr. drivers * bcm4400 - the ethernet card drivers * ipw3945 - the wireless drivers from Intel * snd_hda_intel - sound hardware driver (plus other ALSA subsys. modules)

This is my /etc/modules.autoload.d/kernel-2.6:

bcm4400 nvidia autofs parport button processor thermal fan ipw3945 snd-seq-midi-event The others would be loaded from other init (like ALSA) scripts or the coldplug / hotplug mech. byself. For further kernel rebuilds or updates i prefer the gentoo tool module-rebuild wich take care of automatic rebuild / update of all emerged kernel modules by portage in case of kernel rebuilds or updates.

XOrg
NVIDIA GeForce 7800 Go Graphics adapter

The nvidia adapter runs with the kernel drivers as well - but things like hardware acceleration and some other nice things works only with the original nvidia drivers from http://www.nvidia.com (download area). You can use this original nvidia drivers by the portage system with the ebuilds nvidia-kernel and nvidia-glx wich installs alle the driver stuff and configure your xorg.conf plus the openGL config automatically. If you install the drivers from the origs you have to change the 'driver' in your /etc/X11/xorg.conf as follows:

Section "Device" Identifier    "NVIDIA7800Go" Driver        "nvidia" EndSection

and in

... Section "Module" load "glx"

to get the glx accelerator driver up.

The LCD resolution of 1920x1200 have to set up like:

Section "Monitor" Identifier    "Standardbildschirm" HorizSync      28.0 - 96.0 VertRefresh    43.0 - 60.0 Option        "DPMS" EndSection

Section "Screen" Identifier    "Default Screen" Device        "NVIDIA7800Go" Monitor       "Standardbildschirm" DefaultDepth   16 SubSection    "Display" Depth      1 Modes     "1920x1200" EndSubSection SubSection    "Display" Depth      4 Modes     "1920x1200" EndSubSection SubSection    "Display" Depth      8 Modes     "1920x1200" EndSubSection SubSection    "Display" Depth      15 Modes     "1920x1200" EndSubSection SubSection    "Display" Depth      16 Modes     "1920x1200" EndSubSection SubSection    "Display" Depth      24 Modes     "1920x1200" EndSubSection SubSection    "Display" Depth      22 Modes     "1920x1200" EndSubSection EndSection

The mouse pointer device works on me for the touchpad and external USB mouse as well with. I can plug off or in while X11 is running and both pointer devices could be used (kernel module "usbmouse" must be loaded).

Section "InputDevice"


 * 1) Identifier and driver

Identifier "Mouse1" Driver     "mouse" Option     "Protocol"    "PS/2" Option     "Device"      "/dev/psaux"

Be shure have placed this somewhere (at the end?) of your xorg,conf to give all users access to DRI:

Section "DRI" Mode 0666 EndSection

To configure your opengl subsys to your NVIDIA card make a:

eselect opengl set nvidia

so your X11 sould work as needed.

TODO
There are several things to do to bring the full notebook hardware up 2 run under Linux. If you have some ideas or own better or newer experiences on the Dell 9k4 royal please send me your tips and informations to help me to fullfill this HOWTO for the Linux user community. Thank you!

* the mini Card bus support * How to get use of the VM (virtual machine / virtualisation) functions of the new Intel CPU * The card reader could get worked until now. * I have now experience with notebook suspend functions under Linux - any help or hints is welcome. * The Intel sound system seems not work at all under ALSA - here is some works to do from the snd_hda_intel driver team. * Bring up the Dell Media Direct button / system works like Dells own system (in original the buttons let's switch to a second MS windows system partition with a MS windows media center edition). If someone has ideas how to get a suspended "standby linux" for media uses up with this button please let me know... * Media player buttons on the front panel * internal Modem * Wikify * There's one command emerging all the drivers (wifi, graphic,alsa etc) under Nvidia section, this should've been either split up to sections or section should be named emerge necessary drivers.

Author(s)

 * from Niels Dettenbach (http://www.syndicat.com)