Debian on DELL Inspiron 9300

fluffi

Release 1.2


1. the hardware

Table 1. hardware

componenttypestatusconfiguration
CPUPentium M 750 (800MHz - 1,87GHz)o.k..config
RAM533MHz DDR2 SDRAM (2x1GB)o.k..config
HD80GB IDE SATAo.k..config
internal ethernetBroadcom Corporation BCM4401-B0

o.k.

.config
NVidiaNVidia GeForce 6800o.k.XF86Config-4
DisplayDELL Panel WUXGAo.k.XF86Config-4
KeyboardMultimedia Keyso.k.lineakd.conf
TouchpadAlps PS/2 ALPS Touchpado.k..config, XF86Config-4
internal wirelessIntel PRO/Wireless 2915 a/b/go.k..config
internal modemIntel AC'97 Modem Controller??
internal audioIntel AC'97 Audio Controllero.k..config
internal DVDNEC DVD+/-RW ND-6500A:| 
ACPIacpi-cpufreq, batteryo.k..config
PCMCIAYentao.k..config
USBIntel (ICH6 Family) USB(2) UHCI(EHCI)o.k..config
firewireRicoh Co Ltd R5C552?.config
bluetoothDELL Wireless 350?.config
Card ReaderRicoh Co Ltd RL5c476??

2. Thanks

Most information on this page is based on information out there in the internet. Thanks to all the people writing linux software/drivers/documentation. Hopefully this page is of use to somebody else but me. Feel free to contact me at fluffi (d_o_t) info.

3. Compiling your own custom kernel-2.6.15-4

Compiling a custom kernel-2.6.15-4 the debian way is not scope of this HowTo. I used this .config for my Inspiron 9300. Once created this kernel can be installed with:

root@shrek:~> dpkg -i kernel-your-custom-9300-kernel.deb

I had to enable PATA in linux/include/linux/libata.h manually to enable the CD/DVD-Rom. Change:

#undef ATA_ENABLE_PATA /* define to enable PATA support in some */

to

#define ATA_ENABLE_PATA /* define to enable PATA support in some */ 

Additionally this kernel feature has to be enabled via kernel parameters in your lilo.conf or if using grub in menu.list:

libata.atapi_enabled=1 ide1=noprobe 

4. The internal ethernet card

Drivers for the Broadcom Corporation BCM4401-B0 are included in the kernel-2.6.15-4.

To configure the ethernet interface automagically on system startup - if you have a DHCP server running ;) - edit /etc/network/interfaces e.g.:

auto eth0
iface eth0 inet dhcp

5. Installing the nvidia drivers - using a custom kernel

fluff@shrek:~> sudo apt-get install nvidia-kernel-source

Compile nvidia drivers - not done in this HowTo - then install and load the driver and additional tools

root@shrek:~> dpkg -i nvidia-kernel-custom
root@shrek:~> depmod 
root@shrek:~> modprobe nvidia 
fluffi@shrek:~> sudo apt-get install nvidia-settings nvidia-glx 

The NVidia and the ipw2200 kernel modules can be installed more comfortable using the module-assistant

fluff@shrek:~> sudo apt-get install module-assistant
root@shrek:~> module-assistant

A /etc/X11/XF86Config-4 Device section:

Section "Device"
	Identifier	"NVIDIA GeForce 6800"
	Driver		"nvidia"
#	BusID		"PCI:1:0:0"
#	Option		"UseFBDev"		"true"
	Option		"NoLogo"		"true"
	Option		"FlatPanelProperties"	"aspect-scaled"
	Option		"UseEdidFreqs"		"on"
EndSection

6. DELL Panel WUXGA and XFree86

A /etc/X11/XF86Config-4 Monitor section:

Section "Monitor"
	Identifier	"DELL Panel WUXGA"
	DisplaySize	330	210
#	DisplaySize	344.5 222.5
	HorizSync	28-110
	VertRefresh	43-90
	Option		"DPMS"
	Modeline "1920x1200" 162 1920 1984 2176 2480 1200 1201 1204 1250 +hsync +vsync
#	Modeline "1680x1050" 147.1 1680 1784 1968 2256 1050 1051 1054 1087
EndSection

A /etc/X11/XF86Config-4 Screen section:

Section "Screen"
        Identifier      "Panel"
        Device          "NVidia GeForce 6800"
        Monitor         "DELL Panel WUXGA"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes           "1920x1200"
        EndSubSection
EndSection

7. Alps PS/2 ALPS Touchpad

Due to license issues the synaptic driver is not included in xfree86 and has to be install separately. Kernel 2.6.11 with the modules evdev and psmouse works for me.

fluffi@shrek:~> sudo apt-get install xfree86-driver-synaptic

Add synaptics module to /etc/X11/XF86Config-4 Module section:

Section "Module"
    ...
	Load    "synaptics"
EndSection

A /etc/X11/XF86Config-4 InputDevice section:

Section "InputDevice"
  Driver  	"synaptics"
  Identifier  	"ALPS Touchpad"
  Option	"Device"  		"/dev/input/event1"
  Option	"Protocol"		"auto-dev"
  Option	"LeftEdge"		"120"
  Option	"RightEdge"		"830"
  Option	"TopEdge"		"120"
  Option	"BottomEdge"		"650"
  Option	"FingerLow"		"14"
  Option	"FingerHigh"		"15"
  Option	"MaxTapTime"		"180"
  Option	"MaxTapMove"		"110"
  Option	"EmulateMidButtonTime"	"75"
  Option	"VertScrollDelta"	"20"
  Option	"HorizScrollDelta"	"20"
  Option	"MinSpeed"		"0.3"
  Option	"MaxSpeed"		"0.75"
  Option	"AccelFactor"		"0.015"
  Option	"EdgeMotionMinSpeed"	"200"
  Option	"EdgeMotionMaxSpeed"	"200"
  Option	"UpDownScrolling"	"1"
  Option	"CircularScrolling"	"1"
  Option	"CircScrollDelta"	"0.1"
  Option	"CircScrollTrigger"	"2"
  Option	"SHMConfig"		"On"
  Option	"CorePointer"
EndSection

The option SHMConfig (shared memory) should be omitted on multiuser workstations. If in doubt check the type of the touchpad using:

fluffi@shrek:~> cat /proc/bus/input/devices|grep ALPS
N: Name="AlpsPS/2 ALPS TouchPad"

The current settings of the touchpad reveals the tpconfig tool:

fluffi@shrek:~> sudo apt-get install tpconfig
root@shrek:~> tpconfig -i
Found Synaptics Touchpad.
Firmware: 8.96 (multiple-byte mode).
Sensor type: unknown (0).
Geometry: rectangular/landscape/up.
Packets: absolute, 80 packets per second.
Corner taps disabled;           no tap gestures.
Edge motion: none.
Z threshold: 6 of 7.
2 button mode; corner tap is right button click.

An addidtional USB mouse can be attached to the laptop at any time when adding the following section:

Section "InputDevice"
        Identifier      "USB Mouse"
        Driver          "mouse"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "ImPS/2"
        Option          "Emulate3Buttons"       "true"
        Option          "ZAxisMapping"          "4 5"
EndSection

Both input devices need to be enabled in the server layout. A /etc/X11/XF86Config-4 ServerLayout section:

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Panel"
        InputDevice     "Generic Keyboard"
        InputDevice     "ALPS Touchpad"
        InputDevice     "USB Mouse"
EndSection

8. Intel AC'97 Audio Controller (rev 3)

Install the ALSA tools. Afterwards run the configure scripts.

fluffi@shrek:~> sudo apt-get install alsa-utils
root@shrek:~> alsaconf
[Note]Note

Keep in mind that there are two separate output levels to take care of. The one for the internal speakers (Master) and the external one (Headphone).

9. Keyboard

Install lineakd and the OSD plugin then create a default configuration using the DELLI-9200

[Note]Note

The template DELLI-9200 is available in release testing only.

fluffi@shrek:~> sudo apt-get --default-release=testing install lineak-xosdplugin
fluffi@shrek:~> lineakd -c DELLI-9200

Configuration can be adjusted manually: .lineak/lineakd.conf e.g.:

AudioLowerVolume = amixer set Master 2- && amixer set Headphone 2-
AudioMute = amixer set Master toggle && amixer set Headphone toggle
AudioNext = beep-media-player --fwd
AudioPlay|Pause = beep-media-player --play-pause
AudioPrev = beep-media-player --rew
AudioStop = beep-media-player --stop
AusioRaiseVolume = amixer set Master 2+ unmute && amixer set Headphone 2+ unmute

I added lineakd to the startup programs of my default (gnome) session.

10. ACPI

fluffi@shrek:~> sudo apt-get install acpid
fluffi@shrek:~> sudo apt-get install cpufrequtils cpufreqd gnome-cpufreq-applet
fluffi@shrek:~> sudo apt-get install i8kutils

All but the acpi_cpufreq and i8k module are loaded automatically. So i added them to /etc/modules:

# cpufreq
acpi_cpufreq

# i8k DELL fans
i8k

The Inspiron 9300 is not known to the module i8k and has to be loaded by force. :( Thus i added this file /etc/modprobe.d/i8k and update the update-module.modutils and load the module the first and hopefully last time by hand.

# i8k
options i8k force=1
root@shrek:~> update-module.modutils
root@shrek:~> modprobe i8k

11. Intel PRO/Wireless 2915 a/b/g

fluffi@shrek:~> sudo apt-get install ipw2200-source module-assistant
root@shrek:~> module-assistant

The NVidia and the ipw2200 kernel modules can be installed more comfortable using the module-assistant

root@shrek:~> tar xvfz ipw2200-fw-2.4.tgz 
root@shrek:~> cp *fw /usr/lib/hotplug/firmware 
root@shrek:~> modprobe ipw2200 led=1 

Additionally you need to install the firmware driver. Download ipw2200-fw-2.4.tgz from ipw2200.sourceforge.net/firmware.php and install the files in /usr/lib/hotplug/firmware and load the kernel modules.

To configure the wireless interface automagically on system startup - if you have a DHCP server running ;) - edit /etc/network/interfaces e.g.:

iface eth1 inet dhcp
   wireless_mode managed
   wireless_rate 54M auto
   wireless_channel 9
   wireless_essid ESSID
   wireless_key s:THE_KEY

Some basic wireless tools:

fluffi@shrek:~> sudo apt-get install wireless-tools wavemon

12. The internal modem

Not needed till now, sorry.

13. The DVD+/-RW drive

Additionally you can download libdvdcss2_2.1.8-1_i386.deb from VideoLAN (pub/libdvdcss/version)

fluffi@shrek:~> sudo apt-get install libdvdread3
fluffi@shrek:~> sh /usr/share/doc/libread3/examples/install-css.sh
fluffi@shrek:~> wget http://download.videolan.org/pub/libdvdcss/1.2.8/deb/libdvdcss2_1.2.8-1_i386.deb
root@shrek:~> dpkg -i libdvdcss2_1.2.8-1_i386.deb 

Then run your DVDs with a player software, e.g. totem-xine:

fluffi@shrek:~> totem

Tuning the DVD device with hdparm does currently not work for me. Anyhow video playback works fine and consumes about 10% of CPU usage in full screen mode.

root@shrek:~> hdparm -c 1 -X udma2 /dev/scd0
root@shrek:~> hdparm -d 1 /dev/scd0
/dev/hdc:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)

The second command shows an error. Due to this error the device ist currently _not_ using any DMA mode :(

The hdparm options currently set can be seen using the -v and -i options e.g.:

root@shrek:~> hdparm -v /dev/scd0
/dev/hdc:
 IO_support   =  1 (32-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)

Burning/Erasure of data CD-RW/DVD+R worked fine using Gnome's nautilus.

14. The PCMCIA subsystem

Yenta socket correctly finds a PCMCIA ethernet card.

15. The USB subsystem

USB-Sticks work fine.

16. Firewire

Kernel modules seem to work.

17. Bluetooth

Kernel modules seem to work.

PDF Version of this document.