Installing GNU/Linux Mandriva 2007 on a HP Pavilion dv9000 Laptop

Revision history
Revision 1.2
2007-09-17
Add multimedia keys and Internet keys information
Revision 1.1
2007-09-13
Add Video information (Use LCD panel and external monitor)
Revision 1.0
2007-09-05
Initial publication

This document describes how to install and configure the GNU/Linux Mandriva 2007 on a HP Pavilion dv9000 Laptop


HP Pavilion dv9000

Specifications:
Type
Description
Status
Notes
Processor
Intel Pentium 4M Core2 Duo T5200 (1.6 GHz, 2 MB L2 cache, 667 MHz FSB)
Work
No special procedure required during installation
Main Memory
1024 MB (1x1024 SODIMM, 667 MHz DDR2 SDRAM)
Work
No special procedure required during installation
Storage
240 GB (2 * 120 GB, SATA 5400 RPM)
Work
No special procedure required during installation
Optical
DVD+/-RW 8x Double Layer
Work
No special procedure required during installation
Network
Intel 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 XGA (WXGA+) 1440 x 900 Work
No special procedure required during installation
Video
Nvidia GeForce Go 7600, 256 MB (HDMI connector, VGA connector, s-video connector)
Work
See video notes
Firewire
IEEE 1394 (1 connector)
Work
No special procedure required during installation
USB
USB 2.0  controller (4 connectors)
Work
No special procedure required during installation
Modem
HDAUDIO Soft Data Fax Modem with SmartCP
Unkown
Not Probe
Memory reader
SD/SDIO/MMC/MS/MSPro/xD Adapter Ricoh
Work
No special procedure required during installation
Audio
Integrated High Definition Audio Controller Sound laster
Work
No special procedure required during installation
WebCam
Ricoh Integrated WebCam (HP Pavilion Webcam)

See webcam notes
Battery

Work
No special procedure required during installation
Multimedia keys

Work
See multimedia keys notes
Internet keys

Work
See Internet keys 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 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce Go 7600] (rev a1)
02:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
05:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
07:05.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832
07:05.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
07:05.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
07:05.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
07:05.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)


Wireless notes
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 eth4 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 nest line in the /etc/rc.local file
/sbin/ipw3945d --quiet


Video
The Video driver (in Mandriva 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-1.0-XXXX-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 here the complete file configuration.
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "SynapticsMouse1" "AlwaysCore"
EndSection

Section "InputDevice"
    Identifier "SynapticsMouse1"
    Driver "synaptics"
    Option "SHMConfig" "on"
EndSection

Section "Files"
    RgbPath "/usr/X11R6/lib/X11/rgb"  
    FontPath "unix/:-1"
    FontPath "/usr/share/fonts/misc:unscaled"
EndSection

Section "Extensions"
    Option "Composite"
EndSection

Section "Module"
    Load "dbe"
    Load "v4l"       # Video for Linux
    Load "extmod"
    Load "type1"
    Load "freetype"
    Load "glx"
EndSection

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

Section "InputDevice"
    # generated from default
    Identifier "Keyboard0"
    Driver "kbd"
EndSection

Section "Monitor"
    Identifier "Monitor0"
    VendorName "HP"
    ModelName "LPL"
    HorizSync 31.5 - 90
    VertRefresh 60
    ModeLine "768x576"     50.00  768  832  846 1000   576  590  595  630
    ModeLine "768x576"     63.07  768  800  960 1024   576  578  590  616
    ModeLine "1440x900_120"  229.75  1440 1552 1712 1984  900 901 904 965  -HSync +Vsync
    ModeLine "1440x900_100"  187.55  1440 1544 1704 1968  900 901 904 953  -HSync +Vsync
    ModeLine "1440x900_85"  156.79  1440 1536 1696 1952  900 901 904 945  -HSync +Vsync
    ModeLine "1440x900_75"  136.49  1440 1536 1688 1936  900 901 904 940  -HSync +Vsync
    ModeLine "1440x900_60"  106.47  1440 1520 1672 1904  900 901 904 932  -HSync +Vsync
    ModeLine "1440x900_50"  87.41  1440 1512 1664 1888  900 901 904 926  -HSync +Vsync
    ModeLine "1280x800_120"  181.21  1280 1376 1520 1760  800 801 804 858  -HSync +Vsync
    ModeLine "1280x800_100"  147.89  1280 1376 1512 1744  800 801 804 848  -HSync +Vsync
    ModeLine "1280x800_85"  123.38  1280 1368 1504 1728  800 801 804 840  -HSync +Vsync
    ModeLine "1280x800_75"  107.21  1280 1360 1496 1712  800 801 804 835  -HSync +Vsync
    ModeLine "1280x800_60"  83.46  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync
    ModeLine "1280x800_50"  68.56  1280 1336 1472 1664  800 801 804 824  -HSync +Vsync
EndSection

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

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

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

Section "Screen"
    Identifier "Screen0"
    Device "Videocard0"
    Monitor "Monitor0"
    DefaultDepth 24
    # Option         "metamodes" "1440x900 +0+0"
    Option         "metamodes" "DFP: nvidia-auto-select +0+0"
    Subsection "Display"
        Depth 24
        Modes "1600x1200" "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.


WebCam
You need download the Ricoh WebCam driver from here (r5u870-0.10.0.tgz)
  1. uncompress and unpack the r5u870-0.10.0.tgz file
  2. compile and install driver
    1. cd r5u870-0.10.0
    2. make
    3. make install
  3. To load the driver
    1. modprobe videodev
    2. modprobe video-buf
    3. modprobe v4l1-compat
    4. modprobe v4l2-common
    5. insmod /lib/modules/`uname -r`/extra/r5u870.ko
To verify the sucessfull loaded driver, execute "dmesg | grep r5u870" and you get the next result
usbcam: registering driver r5u870 0.10.0
r5u870-0: Detected HP Pavilion Webcam
usbcore: registered new driver r5u870

If you like to load the driver at startup yo need add the next lines in the /etc/rc.local file
modprobe videodev
modprobe video-buf
modprobe v4l1-compat
modprobe v4l2-common
insmod /lib/modules/`uname -r`/extra/r5u870.ko


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 ~/.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>


Internet keys
The multimedia keys have the next keycodes.
Action
Keycode
Function Name
Launch web browser
178
XF86WWW

Add the next lines in the ~/.Xmodmap file
!  Internet keys.
keycode 178 = XF86WWW

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
Launch web browser
XF86WWW

Or add the next line in the ~/.gconf/apps/gnome_settings_daemon/keybindings/%gconf.xml file
<?xml version="1.0"?>
<gconf>
        <entry name="www" mtime="1190054305" type="string">
                <stringvalue>XF86WWW</stringvalue>
        </entry>
</gconf>




Linux On Laptops