Installing GNU/Linux CentOS 5.0 (Final) on a Dell XPS M1710 Laptop

Revision history
Revision 1.5
2009-05-01
Add notes about wireless card
Revision 1.4
2008-05-01
Add HowTo update de BIOS under Linux
Updated the nVidia driver version
Revision 1.3
2007-09-17
Add multimedia keys information
Revision 1.2
2007-07-22
Add video information (Use LCD panel and external monitor)
Revision 1.1
2007-07-02
Add modem
DVD drive
Bluetooth information
Revision 1.0
2007-04-30
Initial publication

This document describes how to install and configure the GNU/Linux CentOS 5.0 on a Dell XPS M1710 Laptop


Dell XPS M1710

Specifications:
Type
Description
Status
Notes
Processor
Intel Pentium 4M Core2 Duo T7600 (2.33 GHz, 4 MB L2 cache, 667 MHz FSB)
Work
No special procedure required during installation
Main Memory
4096 MB (2x2048 SODIMM, 667 MHz DDR2 SDRAM)
Work
No special procedure required during installation
Storage
250 GB (SATA 5400 RPM)
Work
No special procedure required during installation
Optical
DVD+/-RW 8x Double Layer
Work
See dvdrom notes
Network
Broadcom NetXtreme BCM5752 Gigabit Ethernet
Work
No special procedure required during installation
Wireless
Intel Pro/Wireless 3945 802.11a/g (54 Mbps)
Work
See wireless notes
Screen
17" LCD Wide UXGA (WUXGA) 1920 x 1200 Work
No special procedure required during installation
Video
Nvidia GeForce Go 7900 GS, 256 MB (DVI connector, VGA connector, s-video connector)
Work
See video notes
Firewire
IEEE 1394 Ricoh (1 connector)
Work
No special procedure required during installation
USB
USB 2.0 Intel 82801G controller (6 connectors)
Work
No special procedure required during installation
Modem
Conexant HDA D110 MDC
Work
See modem notes
Memory reader
SD/MMC-MS/Pro/xD Adapter Ricoh
Work
No special procedure required during installation
Audio
Integrated High Definition Audio Controller Intel 82801G
Work
See audio notes
Battery
Dell Battery Module, type U4873, capacity 80 WH
Work
No special procedure required during installation
Bluetooth

Work
See bluetooth notes
Pcexpress slots

Unkown
Not Probe
Multimedia keys

Work
See multimedia keys notes
System BIOS
MXG061 A04
Work
See BIOS updated notes


Hardware information reported by lspci command
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 01)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation GeForce Go 7900 GS (rev a1)
03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832
03:01.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
03:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express (rev 02)
0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)


dvdrom notes
If you like to make your DVD drive burn faster.

Edit the /etc/modprobe.conf file and append the next line
options libata atapi_enabled=1

and edit the /etc/grub.conf file, at finel of the kernel line (vmlinuz)
combined_mode=libata

If your work was successful, your CD-ROM/DVD-ROM drive will no longer be accesible through /dev/hdc, but /dev/scd0.


Wireless notes
If you install a previous version of CentOS 5.3 then make procedure ipw3945, otherwise follow to the iwl3945 procedure

ipw3945 procedure
You need download the firmware and driver from Intel support page, or sourceforge page, or the DAG RPM (ipw3945-firmware, ipw3945-kmod, ipw3945d) or SRPM (ipw3945-firmware, ipw3945-kmod, ipw3945d). Note: if you are using the .tar.gz or SRPM file, you need install the kernel-devel package.

If you are using the .tar.gz file, then you make:
  1. uncompress or unpack the ipw3945-linux-1.2.0.tar.gz file
  2. copy the firmware (ipw3945-ucode-1.14.2/ipw3945.ucode) into /lib/firmware directory
  3. compile the source of ipw3945-1.2.0
    1. cd ipw3945-1.2.0
    2. make
    3. make install
  4. copy ipw3945d-1.7.22/x86/ipw3945d into /sbin directory
  5. Load the driver
    1. ./load
To verify the sucessfull loaded driver, execute "dmesg | grep ipw" and you get the next result
ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.2.0dmpr
ipw3945: Copyright(c) 2003-2006 Intel Corporation
ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection
ipw3945: Detected geography ABG (11 802.11bg channels, 13 802.11a channels)

If you like to load the driver at startup yo need add the next lines in the /etc/modprobe.conf file.
alias eth1 ipw3945
install ipw3945 /sbin/modprobe --ignore-install ipw3945 associate=1; sleep 0.5 ; /sbin/ipw3945d --quiet
remove ipw3945 /sbin/ipw3945d --kill ;/sbin/modprobe -r --ignore-remove ipw3945

and add the next line in the /etc/rc.local file
/sbin/ipw3945d --quiet



iwl3945 procedure
You only need download the firmware iwl3945-firmware in RPM-file or tar-file.

If you are using the .tar.gz file, then you make:
  1. uncompress or unpack the iwl3945-linux-1.2.0.tar.gz file
  2. copy the firmware (iwlwifi-3945*.ucode) into /lib/firmware directory
  3. Reload the kernel module iwl3945
To verify the sucessfull loaded driver, execute "dmesg | grep iwl" and you get the next result
iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, 1.2.26ks
iwl3945: Copyright(c) 2003-2008 Intel Corporation
iwl3945: Detected Intel Wireless WiFi Link 3945ABG
iwl3945: Tunable channels: 11 802.11bg, 13 802.11a channels
phy0: Selected rate control algorithm 'iwl-3945-rs'

If you like to load the driver at startup yo need add the next lines in the /etc/modprobe.conf file.
alias wlan0 iwl3945




Video
The Video driver (in CentOS distribution) work without problems, but if you like a 3D efects, run video some fast, or you like to use LCD panel and external monitor simultaneous, you need download the nVidia driver for Linux. Note: You need install the kernel-devel package.
To install the nVidia driver you need boot the laptop without X-Windows enviroment, and execute NVIDIA-Linux-x86-169.12-pkg1.run. If you like to modify the X-configuration fie by handle read this file. I change the /etc/X11/xorg.conf file,  I put only the add/modified sections.
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Synaptics" "CorePointer"
EndSection

Section "Files"
    RgbPath         "/usr/lib/X11/rgb"
    FontPath        "unix/:7100"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Dell"
    ModelName      "1920x1200 Laptop Display Panel"
    HorizSync       30.0 - 75.0
    VertRefresh     60.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Default Monitor"
    HorizSync       25.0 - 100.0
    VertRefresh     56.0 - 120.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce Go 7900 GS"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Videocard1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce Go 7900 GS"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "metamodes" "DFP: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
        Modes      "1920x1200" "1680x1050" "1600x1200" "1600x1024" "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Videocard1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "metamodes" "CRT: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
        Modes      "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

This configuration permit you to use two simultaneus and independient monitor (separete X screen), the laptop is a screen0 and the external monitor is a screen1.


Audio
The audio sound work perfect, but may be you hear a beep (it’s damn loud by default) and yo like to turn off, then remove or rename the speaker module (/lib/modules/`uname -r`/kernel/drivers/input/misc/pcspkr.ko)


Modem
Yo need download the Conexant driver from Linuxant home page (hsfmodem). Note: if you are using the .tar.gz or SRPM file, you need install the kernel-devel package.

If you are using the .tar.gz file, you meke:
  1. uncompress and unpack the hsfmodem-X.XX.XX.XXfull.tar.gz file
  2. compile and install driver
    1. cd hsfmodem-X.XX.XX.XXfull
    2. make install
  3. reboot
  4. run hsfconfig to configure the driver modem
  5. reboot
To verify the sucessfull loaded driver, execute "dmesg | grep HSF" and you get the next result
ttySHSF0 at MMIO 0x0 (irq = 1) is a Conexant HSF softmodem (HDA-14f12bfa:14f100c3-1)


Bluetooth notes
It's posible when you run the "hcitool scan" yue get the messages "Inquery failed: Conection time out". You only need reset the bluetooth device. I recommended put the next line in the "/etc/rc.d/rc.local" file. See also this forum post.
hciconfig hci0 reset


Multimedia Keys
The multimedia keys have the next keycodes.
Action
Keycode
Function Name
Volume mute
160
XF86AudioMute
Volume down
174
XF86AudioLowerVolume
Volume up
176
XF86AudioRaiseVolume
Play/pause
162
XF86AudioPlay
Previous track
144
XF86AudioPrev
Next track
153
XF86AudioNext
Stop
164
XF86AudioStop

Add the next lines in the /etc/X11/Xmodmap file
!  Multimedia keys.
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 162 = XF86AudioPlay
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 164 = XF86AudioStop

You could configure the multimedia keys using the Keyboard Shortcuts from Prefernce menu or run gnome-keybinding-properties whichever suits your fancy. Go to the Sound category in the Actions column is expanded, then click on the desired action. The entry in the Shortcut column will change to "New accelerator...." Press the desired key for the binding, and the shortcut is made.
Action
Shortcut
Volume mute
XF86AudioMute

Or add the next line in the ~/.gconf/apps/gnome_settings_daemon/keybindings/%gconf.xml file
<?xml version="1.0"?>
<gconf>
        <entry name="volume_up" mtime="1190054305" type="string">
                <stringvalue>XF86AudioRaiseVolume</stringvalue>
        </entry>
        <entry name="volume_down" mtime="1190054303" type="string">
                <stringvalue>XF86AudioLowerVolume</stringvalue>
        </entry>
        <entry name="volume_mute" mtime="1190054292" type="string">
                <stringvalue>XF86AudioMute</stringvalue>
        </entry>
</gconf>


Updated BIOS
For update the flash BIOS under GNU/Linux Operating System, follow the next steps.
  1. Download the latest BIOS version, i.e. A07MXG61.EXE (Dell XPS M1710 download page)
  2. Verify or install the syslinux package (come with CentOS)
  3. Install the biosdisk package (mirror)
  4. Create the floppy image from BIOS file, move the image file to /boot directory and copy /usr/lib/syslinux/memdisk file to /boot directory
    1. biosdisk mkimage A07MXG61.EXE
    2. mv /tmp/A07MXG61.img /boot
    3. cp /usr/lib/syslinux/memdisk /boot
  5. Add the next line to /etc/grub.conf file
    title BIOS Flash A07
            kernel /boot/memdisk
            initrd /boot/A07MXG61.img
  6. Reboot and select "BIOS Flash A07"
    1. Don't turn off the computer in this process



Linux On Laptops
Linux Counter