Obligatory Disclaimer!:
If you mess up your system, it's your own fault, no one here takes any responsibility for it!
I'm writing this mainly as a reference guide, my goal is to get as much information about linux related to the Inspiron 9400 crammed in here as I can
Also I imagine there arn't alot of linux users with a I9400 yet, so hopefully this will be usefull when you all start getting one :P
Also i'd appreciate any comments on misstakes or things I can add. thanks in advance
Install notes:
I installed debian/stable and later "updated" to debian/testing, the only install issue I had was that I had to specify linux26 on the install cd, because the 2.4 kernel on there had some issues which I don't care to bother with anyway, 2.6 is the way to go!
Also after I got it installed I did a quick apt-get install linux-image-2.6.15-1-686-smp to get a kernel that supports two processors.
Hardware:
T2400 (1.83 GHz, 2 MB L2 cache, 667 MHz FSB)
17 UltraSharp Wide Screen WUXGA (1920 x 1200) Display with TrueLife
1024MB 533MHz DDR2 SDRAM (2x512)
Primary 80 Watt/Hour, 9 CELL Battery
FUJITSU MHV2080B 80GB (5,400 rpm) SATA Hard Drive
SONY 8X DVD+/-RW DW-Q58A Drive
256MB NVIDIA GeForce7800 Go PCI-Express
SigmaTel STAC9200 Audio
Intel Pro WLAN 3945 Wireless
Broadcom BCM4401-B0 10/100Mbit Ethernet
Ricoh Co Ltd R5C822 Memory Card Reader
Conexant HDA d110 mdc 56K Modem
Kernel:
http://adoroar.kicks-ass.net/I9400/l....6.15.4-config
This config is mainly for the very minimalistic who think that only exactly what's needed is suppose to be in a kernel.
It's written for 2.6.15.4 but it should still save you alot of time no matter what 2.6 kernel your running, unless your just gona load it up and hit make which I don't recommend
Some kernel config notes:
USB Masse storage support as module.
USB HID Support for mouse and keyboard as module
And the only filesystems compiled into the kernel is EXT2 and EXT3, if you want to use something else you'll have to change that(obviously
There's also Samba support as a module.
And Native Language Support is, USA and Western Europe.
Under Block Devices I have loopback device(for mounting .ISO's) and Network block device(for VMware)
Under Kernel debugging, Magic SysRq key is enabled(read /usr/src/linux/Documentation/sysrq.txt) this is a really nice little feature to still give you controll over your system no matter what happens(except a hard lockup) like X locking up your display or your kernel oopsing and not letting you continue in any other way.
Under networking Options, I got all iptables(firewall) settings as modules, same with all QoS settings.
Important! see CD/DVD Rom section below on how to make the kernel detect your drive.
Networking:
Ethernet:
b44 kernel module works.
Wireless Card:
Because intel hasn't released any specs for this card, there is no native support yet, but i'm sure we'll see some soon at.
http://ipw3945.sourceforge.net/
Until then you can use the Ndiswrapper, this driver basically uses the windows driver(scary I know!!)
But it does work, not perfect but if you really need wireless it's worth a shot.
The install instructions are here:
http://ndiswrapper.sourceforge.net/m...p/Installation
Some notes:
This is the windows drive you'll need for use with the ndiswrapper, w39n51.inf is the file you need to point ndiswrapper to(in the install guide)
http://www.intel.com/support/wireles.../cs-010623.htm
You'll need to patch your kernel with this patch before you can use the driver,
http://www.linuxant.com/driverloader...ds-patches.php
just download the patch there that corresponds to your kernel version, then go to your kernel source directory and type
patch -p1 < /patch/to.patch
Then you can find the 16K Stack kernel option under "Kernel Hacking -> Kernel Debugging".
Also remember to enable CONFIG_NET_RADIO in the kernel
(in Device Drivers -> Network device support -> Wireless LAN),
or you'll get a symbol error when you try to load ndiswrapper.
X.ORG
Graphics card:
NVIDIA:
If you want direct-rendering you'll have to visit http://www.nvidia.com/object/linux_display_archive.html
and get the latest drivers from there.
S3:
Obviously I can't test this, but it should be straightforward to get direct-rendering with dri.
http://dri.freedesktop.org/wiki/
If anyone has tested this please post and let us know
Synaptics Touchpad:
The Synaptics config below works without any apparent problems for me.
http://web.telia.com/~u89404340/touchpad/ for further info.
Config:
I didn't have any problem letting debian set my resolution to 1920 x 1200 or 1440x900.
A few things I added:
Section "ServerFlags"
Option "DontVTSwitch" "on" # Can't switch to console terminal
Option "DontZap" "on" # Can't kill Xserver with ctrl+alt+backspace
Option "DontZoom" "on" # Can't change res with ctrl + alt + +/-
Option "BlankTime" "15"
Option "StandbyTime" "20"
Option "SuspendTime" "25"
Option "OffTime" "30"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection
Section "Device"
Identifier "Generic Video Card"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "NoLogo" "yes"
EndSection
CD/DVD:
The best way I found to get this working with DMA enabled was to use the scsi SATA drivers, if your using my kernel config above, you'll have to add libata.atapi_enabled=1 as a kernel parameter or the kernel won't find your DVD drive.
To do this edit your boot loaders config file, either /boot/grub/menu.list or /etc/lilo.conf and add libata.atapi_enabled=1 after the kernel line.
Example for grub:
Change:
title Linux-2.6.15.4
root (hd0,0)
kernel /boot/bzImage-2.6.15.4 root=/dev/sda1
savedefault
boot
To:
title Linux-2.6.15.4
root (hd0,0)
kernel /boot/bzImage-2.6.15.4 root=/dev/sda1 libata.atapi_enabled=1
savedefault
boot
HardDrive:
The harddrive works with the scsi SATA(libata) drivers, I don't have any issues with it.
I suggest installing the smartmontools package and setting up the smart daemon to montor your disk for errors, you can set it up to email you if there are any problems.
Check out this article: http://www.linuxjournal.com/article/6983
Sound:
I used the alsa snd_hda_intel driver, if I just load the module normally I get a crackling sound when I play sound, loading it with position_fix=1 fikses it for me, to do this:
first unload the module
rmmod snd_hda_intel
then load it like this
modprobe snd_hda_intel position_fix=1
You can also type modinfo snd_hda_intel to get other possible options for position_fix.
To make it do this at startup, add options snd_hda_intel position_fix=1 to your modprobe.conf
Example for debian:
echo "options snd_hda_intel position_fix=1" > /etc/modprobe.d/hda_intel
update-modules
now whenever you load that module it will add the paramter automagically.
There is a temporary patch available for 2.6.15.4 that will mute the internal speakers when you connect headphones.
https://bugtrack.alsa-project.org/al...ew.php?id=1786
I had to connect the headphones while sound was playing to get it to mute properly.
To apply the patch if /usr/src/linux is the root of your kernel source and you've extracted the patch to /tmp/unsol-patch
cd /usr/src/linux/sound/pci/hda
patch -p0 < /tmp/unsol-patch/unsol-2.6.15.4-2.patch
Memory Card drive:
Seems there are some cutting edge drivers on the way
http://mmc.drzeus.cx/wiki/Linux/Drivers/sdhci
I wouldn't recommend most user test these until they make it into the mainstream kernel.
But if you do, let us know!
USB:
Plug and Play baby!
Everything just works, got a mouse,keyboard and an external hard drive, works with no problems.
Firewire:
I don't have any firewire devices, if someone could test this and tell me what kernel drivers are needed, it would be nice
ExpressCard slot:
I don't have a ExpressCard so I can't test it, if anyone has one please post your experiences so I can add it.
Modem:
Havn't tested yet. feedback from someone with a analog phone line would be nice
Power Management/Monitoring
Sensors:
NVClock
http://www.linuxhardware.org/nvclock/
This little app will display the sensor info on alot of nvidia cards, it will also let you overclock your card.
ACPI
http://grahame.angrygoats.net/acpi.shtml
running acpi -V will display, Power Cable status, Thermal(not sure what sensor this is) and Battery Charge.
HDDTemp
http://www.guzu.net/linux/hddtemp.php
Hddtemp will display the sensor on your harddisk, type hddtemp /dev/sda
CPU Frequency:
This is a nice way to extend your battery life!
cpufrequtils
http://kernel.org/pub/linux/utils/ke...frequtils.html
cpufreq-info
Will display various settings, including the current cpu frequency for your two processors.
cpufreq-set
example if you wanted to set the frequency to 1000Mhz:
cpufreq -c 0 -g userspace
cpufreq -c 1 -g userspace
cpufreq -c 0 -d 1000 -u 1000
cpufreq -c 1 -d 1000 -u 1000
Fun isn't it?
Also check out the cpufreqd package for automatic handling of cpu frequences.
http://sourceforge.net/projects/cpufreqd/
Fans:
i8kutils
http://people.debian.org/~dz/i8k/
This utillitie doesn't really support 9400, but it seems to work just fine(famous last words?! :S)
To get it working you need to load the i8k module in the kernel(it comes with the stock kernel).
Since the hardware isn't supported you need to load it with force=1
modprobe i8k force=1
If you don't want to type force=1 everytime you load the module, for debian do
echo "options i8k force=1" > /etc/modprobe.d/i8k
update-modules
Examples of usage:
Setting both fans to high speed.
i8kctl fan 2 2
Setting one to slow and one to off.
i8kctl fan 1 0
More info is in the manual
man i8kctl
Hotkeys:
Lineak
http://lineak.sourceforge.net/
Run lineakd -c DELLI-9200 as a normal user and a ~/.lineak/lineakd.conf file will be created.
open that file in a editor
nano ~/.lineak/lineakd.conf
And change the following lines at the end of the file
Mute =
Next =
Play|Pause =
Previous =
Stop =
VolumeDown =
VolumeUp =
to
Mute =
Next =
Play|Pause = xmms --play-pause
Previous =
Stop = xmms --stop
VolumeDown = amixer -c 0 set Master 5%-
VolumeUp = amixer -c 0 set Master 5%+
If you mess up your system, it's your own fault, no one here takes any responsibility for it!
I'm writing this mainly as a reference guide, my goal is to get as much information about linux related to the Inspiron 9400 crammed in here as I can

Also I imagine there arn't alot of linux users with a I9400 yet, so hopefully this will be usefull when you all start getting one :P
Also i'd appreciate any comments on misstakes or things I can add. thanks in advance

Install notes:
I installed debian/stable and later "updated" to debian/testing, the only install issue I had was that I had to specify linux26 on the install cd, because the 2.4 kernel on there had some issues which I don't care to bother with anyway, 2.6 is the way to go!

Also after I got it installed I did a quick apt-get install linux-image-2.6.15-1-686-smp to get a kernel that supports two processors.
Hardware:
T2400 (1.83 GHz, 2 MB L2 cache, 667 MHz FSB)
17 UltraSharp Wide Screen WUXGA (1920 x 1200) Display with TrueLife
1024MB 533MHz DDR2 SDRAM (2x512)
Primary 80 Watt/Hour, 9 CELL Battery
FUJITSU MHV2080B 80GB (5,400 rpm) SATA Hard Drive
SONY 8X DVD+/-RW DW-Q58A Drive
256MB NVIDIA GeForce7800 Go PCI-Express
SigmaTel STAC9200 Audio
Intel Pro WLAN 3945 Wireless
Broadcom BCM4401-B0 10/100Mbit Ethernet
Ricoh Co Ltd R5C822 Memory Card Reader
Conexant HDA d110 mdc 56K Modem
Kernel:
http://adoroar.kicks-ass.net/I9400/l....6.15.4-config
This config is mainly for the very minimalistic who think that only exactly what's needed is suppose to be in a kernel.
It's written for 2.6.15.4 but it should still save you alot of time no matter what 2.6 kernel your running, unless your just gona load it up and hit make which I don't recommend

Some kernel config notes:
USB Masse storage support as module.
USB HID Support for mouse and keyboard as module
And the only filesystems compiled into the kernel is EXT2 and EXT3, if you want to use something else you'll have to change that(obviously

There's also Samba support as a module.
And Native Language Support is, USA and Western Europe.
Under Block Devices I have loopback device(for mounting .ISO's) and Network block device(for VMware)
Under Kernel debugging, Magic SysRq key is enabled(read /usr/src/linux/Documentation/sysrq.txt) this is a really nice little feature to still give you controll over your system no matter what happens(except a hard lockup) like X locking up your display or your kernel oopsing and not letting you continue in any other way.
Under networking Options, I got all iptables(firewall) settings as modules, same with all QoS settings.
Important! see CD/DVD Rom section below on how to make the kernel detect your drive.
Networking:
Ethernet:
b44 kernel module works.
Wireless Card:
Because intel hasn't released any specs for this card, there is no native support yet, but i'm sure we'll see some soon at.
http://ipw3945.sourceforge.net/
Until then you can use the Ndiswrapper, this driver basically uses the windows driver(scary I know!!)
But it does work, not perfect but if you really need wireless it's worth a shot.
The install instructions are here:
http://ndiswrapper.sourceforge.net/m...p/Installation
Some notes:
This is the windows drive you'll need for use with the ndiswrapper, w39n51.inf is the file you need to point ndiswrapper to(in the install guide)
http://www.intel.com/support/wireles.../cs-010623.htm
You'll need to patch your kernel with this patch before you can use the driver,
http://www.linuxant.com/driverloader...ds-patches.php
just download the patch there that corresponds to your kernel version, then go to your kernel source directory and type
patch -p1 < /patch/to.patch
Then you can find the 16K Stack kernel option under "Kernel Hacking -> Kernel Debugging".
Also remember to enable CONFIG_NET_RADIO in the kernel
(in Device Drivers -> Network device support -> Wireless LAN),
or you'll get a symbol error when you try to load ndiswrapper.
X.ORG
Graphics card:
NVIDIA:
If you want direct-rendering you'll have to visit http://www.nvidia.com/object/linux_display_archive.html
and get the latest drivers from there.
S3:
Obviously I can't test this, but it should be straightforward to get direct-rendering with dri.
http://dri.freedesktop.org/wiki/
If anyone has tested this please post and let us know

Synaptics Touchpad:
The Synaptics config below works without any apparent problems for me.
http://web.telia.com/~u89404340/touchpad/ for further info.
Config:
I didn't have any problem letting debian set my resolution to 1920 x 1200 or 1440x900.
A few things I added:
Section "ServerFlags"
Option "DontVTSwitch" "on" # Can't switch to console terminal
Option "DontZap" "on" # Can't kill Xserver with ctrl+alt+backspace
Option "DontZoom" "on" # Can't change res with ctrl + alt + +/-
Option "BlankTime" "15"
Option "StandbyTime" "20"
Option "SuspendTime" "25"
Option "OffTime" "30"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection
Section "Device"
Identifier "Generic Video Card"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "NoLogo" "yes"
EndSection
CD/DVD:
The best way I found to get this working with DMA enabled was to use the scsi SATA drivers, if your using my kernel config above, you'll have to add libata.atapi_enabled=1 as a kernel parameter or the kernel won't find your DVD drive.
To do this edit your boot loaders config file, either /boot/grub/menu.list or /etc/lilo.conf and add libata.atapi_enabled=1 after the kernel line.
Example for grub:
Change:
title Linux-2.6.15.4
root (hd0,0)
kernel /boot/bzImage-2.6.15.4 root=/dev/sda1
savedefault
boot
To:
title Linux-2.6.15.4
root (hd0,0)
kernel /boot/bzImage-2.6.15.4 root=/dev/sda1 libata.atapi_enabled=1
savedefault
boot
HardDrive:
The harddrive works with the scsi SATA(libata) drivers, I don't have any issues with it.
I suggest installing the smartmontools package and setting up the smart daemon to montor your disk for errors, you can set it up to email you if there are any problems.
Check out this article: http://www.linuxjournal.com/article/6983
Sound:
I used the alsa snd_hda_intel driver, if I just load the module normally I get a crackling sound when I play sound, loading it with position_fix=1 fikses it for me, to do this:
first unload the module
rmmod snd_hda_intel
then load it like this
modprobe snd_hda_intel position_fix=1
You can also type modinfo snd_hda_intel to get other possible options for position_fix.
To make it do this at startup, add options snd_hda_intel position_fix=1 to your modprobe.conf
Example for debian:
echo "options snd_hda_intel position_fix=1" > /etc/modprobe.d/hda_intel
update-modules
now whenever you load that module it will add the paramter automagically.
There is a temporary patch available for 2.6.15.4 that will mute the internal speakers when you connect headphones.
https://bugtrack.alsa-project.org/al...ew.php?id=1786
I had to connect the headphones while sound was playing to get it to mute properly.
To apply the patch if /usr/src/linux is the root of your kernel source and you've extracted the patch to /tmp/unsol-patch
cd /usr/src/linux/sound/pci/hda
patch -p0 < /tmp/unsol-patch/unsol-2.6.15.4-2.patch
Memory Card drive:
Seems there are some cutting edge drivers on the way

http://mmc.drzeus.cx/wiki/Linux/Drivers/sdhci
I wouldn't recommend most user test these until they make it into the mainstream kernel.
But if you do, let us know!

USB:
Plug and Play baby!
Everything just works, got a mouse,keyboard and an external hard drive, works with no problems.
Firewire:
I don't have any firewire devices, if someone could test this and tell me what kernel drivers are needed, it would be nice

ExpressCard slot:
I don't have a ExpressCard so I can't test it, if anyone has one please post your experiences so I can add it.
Modem:
Havn't tested yet. feedback from someone with a analog phone line would be nice

Power Management/Monitoring
Sensors:
NVClock
http://www.linuxhardware.org/nvclock/
This little app will display the sensor info on alot of nvidia cards, it will also let you overclock your card.
ACPI
http://grahame.angrygoats.net/acpi.shtml
running acpi -V will display, Power Cable status, Thermal(not sure what sensor this is) and Battery Charge.
HDDTemp
http://www.guzu.net/linux/hddtemp.php
Hddtemp will display the sensor on your harddisk, type hddtemp /dev/sda
CPU Frequency:
This is a nice way to extend your battery life!
cpufrequtils
http://kernel.org/pub/linux/utils/ke...frequtils.html
cpufreq-info
Will display various settings, including the current cpu frequency for your two processors.
cpufreq-set
example if you wanted to set the frequency to 1000Mhz:
cpufreq -c 0 -g userspace
cpufreq -c 1 -g userspace
cpufreq -c 0 -d 1000 -u 1000
cpufreq -c 1 -d 1000 -u 1000
Fun isn't it?

Also check out the cpufreqd package for automatic handling of cpu frequences.
http://sourceforge.net/projects/cpufreqd/
Fans:
i8kutils
http://people.debian.org/~dz/i8k/
This utillitie doesn't really support 9400, but it seems to work just fine(famous last words?! :S)
To get it working you need to load the i8k module in the kernel(it comes with the stock kernel).
Since the hardware isn't supported you need to load it with force=1
modprobe i8k force=1
If you don't want to type force=1 everytime you load the module, for debian do
echo "options i8k force=1" > /etc/modprobe.d/i8k
update-modules
Examples of usage:
Setting both fans to high speed.
i8kctl fan 2 2
Setting one to slow and one to off.
i8kctl fan 1 0
More info is in the manual
man i8kctl
Hotkeys:
Lineak
http://lineak.sourceforge.net/
Run lineakd -c DELLI-9200 as a normal user and a ~/.lineak/lineakd.conf file will be created.
open that file in a editor
nano ~/.lineak/lineakd.conf
And change the following lines at the end of the file
Mute =
Next =
Play|Pause =
Previous =
Stop =
VolumeDown =
VolumeUp =
to
Mute =
Next =
Play|Pause = xmms --play-pause
Previous =
Stop = xmms --stop
VolumeDown = amixer -c 0 set Master 5%-
VolumeUp = amixer -c 0 set Master 5%+







.



It rocks. 





