HARDWARE Dell Latitude D630 / D830

From Gentoo Linux Wiki

Jump to: navigation, search
This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

Dell Latitude D630


Contents

[edit] Introduction

This notebook is based on the Intel's "Santa Rosa" technology. For specifications go to Dell.

[edit] Order hints / linux compatibility

When you order this model, some hints on some of the available components:

  • Graphic card:
    • Intel Graphics Media Accelerator X3100: It offers basic 3D acceleration. There is an opensource drivers integrated into Xorg: xf86-video-i810.
    • NVIDIA Quadro NVS 135M: This is a dedicated graphic card and offers advanced 3D acceleration. There is a proprietary driver available: nvidia-drivers.
  • Screen resolution: Both offered screen resolutions are supported by both graphics cards out of the box.
  • WLAN card:
    • Dell Wireless 1390 802.11g: This card is supported by the kernel driver bcm43xx.
    • Dell Wireless 1490 802.11a/g: This card is supported by the kernel driver bcm43xx.
    • Dell Wireless 1505 Draft 802.11n: There is basic support by ndiswrapper.
    • Intel 3945 802.11a/g: This card is supported by an opensource driver: iwlwifi or kernel driver iwlwifi.
    • Intel 4965 802.11a/g/n: This card is supported by an opensource driver: iwlwifi or kernel driver iwlwifi.
  • Fingerprint Reader: is supported by an opensource project: fprint.
  • Modem: is supported by a proprietary driver: hsfmodem.

All other hardware devices are fully supported.

Note: As I'm running this notebook in x86 mode and using testing (ACCEPT_KEYWORDS="~x86"), so this guide is describing the appropriate features.

[edit] Installation

The Gentoo LiveCD 2007.0 works out of the box, but only in console mode. In X11 support of the touchpad and keyboard is broken.

If you want to backup a existing restore partition, see this HowTo.

[edit] Hardware

[edit] Hardware Status Overview

Device Works? Note
CPU Yes
Harddisk Yes
Optical Drive Yes
Graphic Card Yes
USB Yes
Touchpad Yes
Ethernet Yes
WLAN Yes Intel 3945 802.11a/g and 4965a/g/n tested
Sound Yes
Bluetooth Yes
Firewire Yes driver loads
Hardware Sensors Yes
Fingerprint Reader Yes
PC Card Yes driver loads
SmartCard Reader Yes driver loads
Modem Yes Proprietary driver
ACPI Yes
BIOS Upgrade Yes
Docking Station Yes
Suspend To RAM Yes
Suspend To Disk Yes

[edit] Kernel Config

Download a kernel config: vanilla-sources-2.6.22.9

[edit] Generic stuff

lspci

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 02)
00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
Linux Kernel Configuration: General stuff
Bus options (PCI etc.)  --->
    [*] PCI support
    [*]   PCI Express support
    [*] Message Signaled Interrupts (MSI and MSI-X)
Device Drivers  --->
    Character devices  --->
        < > Enhanced Real Time Clock Support
        [*] HPET - High Precision Event Timer
        [*]   Allow mmap of HPET

Also change /etc/conf.d/clock:

File: /etc/conf.d/clock
 CLOCK_OPTS="--directisa"
 

[edit] CPU

See this HowTo.

[edit] Harddisk

lspci

00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 02)
Linux Kernel Configuration: SATA
Device Drivers  --->
    SCSI device support  --->
        <*> SCSI device support
        <*> SCSI disk support
    Serial ATA (prod) and Parallel ATA (experimental) drivers  --->
        <*>   AHCI SATA support

For more informations see this HowTo.

[edit] Optical Drive

lspci

00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 02)
Linux Kernel Configuration: PATA
Device Drivers  --->
    SCSI device support  --->
        <*> SCSI device support
        <*> SCSI CDROM support
        <*> SCSI generic support
    Serial ATA (prod) and Parallel ATA (experimental) drivers  --->
        <*>   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support

For more information see this HowTo.

[edit] Graphic Card

[edit] Intel Graphics Media Accelerator X3100

lspci

00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)

See this HowTo.

[edit] NVIDIA Quadro NVS 135M

lspci

01:00.0 VGA compatible controller: nVidia Corporation Unknown device 042b (rev a1)

See this HowTo.

[edit] USB

lspci

00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)
Linux Kernel Configuration: USB core support
Device Drivers  --->
    USB support  --->
        <*> Support for Host-side USB
        [*]   USB device filesystem
        [*]   USB selective suspend/resume and wakeup (EXPERIMENTAL)
        <*>   EHCI HCD (USB 2.0) support
        <*>   UHCI HCD (most Intel and VIA) support

To add support for USB mass storage devices (like flash sticks), see this HowTo.

[edit] Touchpad

See this HowTo.

Note: In many older laptops, the touchpad and finger pointer were seen by the operating system as a single PS/2 mouse device. That is not the case here. Instead, there are two separate mouse devices. The trackpad is configured in X to have the bottom and right edges act as horizontal and vertical scroll wheels respectively. Follow the above HowTo carefully, especially noting the APLS GlidePoint configuration.

[edit] Ethernet

lspci

09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5755M Gigabit Ethernet PCI Express (rev 02)

See this HowTo

[edit] WLAN

[edit] Dell Wireless 1390 802.11g

lspci

0c:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)

lspci -n

0c:00.0 0200: 14e4:4311 (rev 01)

There are kernel drivers for this device, but they are still in development. Most people report the best results with ndiswrapper. Step-by-step instructions are provided in this HowTo.

If you want to use the older BCM43xx drivers, see this HowTo.

The newer driver is the b43 driver, which is included in kernels starting with 2.6.24. For more information see http://linuxwireless.org/en/users/Drivers/b43.

You may find it necessary to use an older version of the FW extractor software. To use the b43-fwcutter-009 instead of the b43-fwcutter-011 firmware extractor mentioned in the article and the Dell Inspiron 1520 How-TO

Download, extract the b43-fwcutter-009 tarball and build it per the instructions at http://www.linuxwireless.org/en/users/Drivers/b43.

The tarball is locate here:

wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-009.tar.bz2

[edit] Dell Wireless 1490 802.11a/g

lspci

0c:00.0 Network controller: Broadcom Corporation BCM4310 UART (rev 01)

See this HowTo.

[edit] Dell Wireless 1505 Draft 802.11n

This device is not supported. But works straightforward with ndiswrapper. lspci

0c:00.0 Network controller: Broadcom Corporation Unknown device 4328 (rev 03)

See this HowTo.

[edit] Intel 3945 802.11a/g

lspci

0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

See this HowTo.

[edit] Intel 4965 802.11a/g/n

lspci

0c:00.0 Network controller: Intel Corporation Unknown device 4229 (rev 61)

See this HowTo.

[edit] Sound

lspci

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)

See the official Gentoo Linux ALSA Guide and choose at least following kernel options:

Linux Kernel Configuration: Sound
Device Drivers  --->
    Sound  --->
        <*> Sound card support
            Advanced Linux Sound Architecture  --->
              <*> Advanced Linux Sound Architecture
                  PCI devices  --->
                    <*> Intel HD Audio
                    [*]   Build IDT/Sigmatel HD-audio codec support

And for some power-savings add this (2.6.24 only):

Linux Kernel Configuration: Sound
Device Drivers  --->
    Sound  --->
        <*> Sound card support
            Advanced Linux Sound Architecture  --->
              <*> Advanced Linux Sound Architecture
                  PCI devices  --->
                    <*> Intel HD Audio
                    [*]   Aggressive power-saving on HD-audio
                    (30)    Default time-out for HD-audio power-save mode

To activate the microphone you have to enable all Capture and Mux channels (left and right) and also set Input Source to Front Mic.

[edit] Bluetooth

lsusb

Bus 003 Device 002: ID 413c:8140 Dell Computer Corp.
Linux Kernel Configuration: Bluetooth
Networking  --->
    [*] Networking support
    <M>   Bluetooth subsystem support  --->
        --- Bluetooth subsystem support
        Bluetooth device drivers  --->
            # Activate all protocols you need
            <M> HCI USB driver

Follow the official Gentoo Bluetooth guide.

[edit] Firewire

lspci

03:01.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)

See this HowTo.

[edit] Hardware Sensors

See this HowTo. Right now only the coretemp sensor (see HowTo) is supported.

[edit] Fingerprint Reader

lsusb

Bus 005 Device 004: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader

See the fprint project.

[edit] PC Card

lspci

03:01.0 CardBus bridge: O2 Micro, Inc. Cardbus bridge (rev 21)

See this HowTo.

[edit] SmartCard Reader

lsusb

Bus 007 Device 003: ID 0b97:7772 O2 Micro, Inc.
Bus 007 Device 002: ID 0b97:7761 O2 Micro, Inc.

See this HowTo.

[edit] Modem

The modem is supported by the hsfmodem. See this HowTo.

[edit] ACPI

Linux Kernel Configuration: ACPI
Power management options (ACPI, APM)  --->
    ACPI (Advanced Configuration and Power Interface) Support  --->
        [*] ACPI Support
        <*>   AC Adapter
        <*>   Battery
        <*>   Button
        <*>   Processor
        <*>     Thermal Zone

The ACPI DSDT table is broken. However, the stated goal of the Linux ACPI project today is that Linux should run on unmodified firmware. (see Linux/ACPI project). If you have problems you should report them upstream to get them fixed.


Alternatively you find a fixed (by dev_zero) dsdt.asl here.

To hardcompile your new DSDT into the kernel, follow these steps:

  • Download the dsdt and extract it:
# gunzip Dell-Latitude-D630-A03.asl.gz
  • Then install iasl.
# emerge -v iasl

You'll need iasl (Intel ASL compiler) to compile the ASL source you get from http://acpi.sourceforge.net .

  • Then to compile your newly aquired DSDT, do:
# iasl -ic Dell-Latitude-D630-A03.asl

And now, this isn't essential, but I copied the Dell-Latitude-D630-A03.h into the kernel source.

# cp Dell-Latitude-D630-A03.h /usr/src/linux/include/acpi/dsdt.h
  • Time for some kernel configuration:

Make sure you uncheck "Select only drivers that don't need compile-time external firmware", under "Device Drivers" -> "Generic Driver Options".

Linux Kernel Configuration: Custom DSDT
Device Drivers  --->
    Generic Driver Options  --->
        [ ] Select only drivers that don't need compile-time external firmware"

This makes the "Custom DSDT Table file to include" option appear under, "Power management options" -> "ACPI (Advanced Configuration and Power Interface) Support". Fill in the path to where you copied/compiled your DSDT's headerfile.

Linux Kernel Configuration: Custom DSDT
Power management options  --->
    ACPI (Advanced Configuration and Power Interface) Support  --->
        [*] Include Custom DSDT
        (/usr/src/linux/include/acpi/dsdt.h) Custom DSDT Table file to include

Only thing left now is to do some make-magic and copy the kernel image inplace and reboot.

NOTE: If while compiling the kernel you get and error about "amlcode" try to compile the asl file with -

# iasl -tc /path-to-.asl file/filename.asl

This will create a ".hex" file in the path you compiled it in I wrote the full path and file name of this hex file in the kernel and it worked for me.

[edit] BIOS Upgrade

See this HowTo.

[edit] Docking Station

See this HowTo.

[edit] Laptop Features

[edit] Powermanagment

See and follow this HowTo.

[edit] Suspend

[edit] Suspend To RAM

Linux Kernel Configuration: Suspend To Ram
Processor type and features  --->
    [*] Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)
Power management options (ACPI, APM)  --->
    [*] Power Management support
          ACPI (Advanced Configuration and Power Interface) Support  --->
              [*] ACPI Support
              [*]   Sleep States

To suspend, just write 'mem' to /sys/power/state:

# echo -n "mem" > /sys/power/state
Note: Suspend To Ram doesn't work from console, just X11

[edit] Suspend To Disk

See this HowTo.

If you have a kernel higher than 24-r8, you can simply enable suspend to disk in your kernel

[edit] Function and Multimedia Keys

To be able to control your backlight, add the USE flag 'dell' to your hal specific USE flags in /etc/portage/package.use:

File: /etc/portage/package.use
 ...
 sys-apps/hal dell
 ...
 
# emerge -uDNva hal

You need a hal version >= 0.5.10 to get the function keys working. Now you to assign the keycodes to some actions. See this HowTo.

Personal tools