Search:  
Gentoo Wiki

HP_Pavilion_DV1000

This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

Contents

Gentoo on an HP Pavilion dv1000

The dv1000 is a great laptop. Sporting an Intel Pentium M processor along with ultra-low-voltage Centrino Technology, a crisp 14.1" TFT Display, great battery life, excellent Harman/Kardon speakers, a built in Intel 2200 Pro/Wireless Lan card, a wireless remote, and DVD QuickPlay; this laptop is aesthically pleasing, light, and fast making it great for travelers, businessmen, and students.

Introduction to this Guide

This is not a guide on how to install Gentoo (for help with that see the Gentoo Handbook), but rather a report on the non-trivial steps used to take full advantage of the laptop's hardware. As this is a gentoo-wiki this guide will focus on installation in a Gentoo environment, but everything explained here should apply to other Linux distributions as well.

It is a bit of a hassle to make everything work correctly under Linux, but it is well worth it and this guide should make it much easier. Everything that works out of the box is more or less omitted (for obvious reasons). Everything else that requires some configuration I try to at least mention. Keep in mind these were only the steps I took in order to get things working. I am by no means an expert of hardware in Linux so you may find better solutions than the ones presented here. If you do please edit this guide so that other people may benefit as well.

Documentation

The only documentation you are going to find for the dv1000 is the (Maintenance and Service Guide) from Compaq's website. It has some useful information regarding hardware starting at page 173. Despite the fact that HP claims to support Linux, my experience with their tech support team and their (Linux Website) has suggested otherwise. This is a response I got from HP's "tech" support in regards to a simple question regarding their cpqhealth driver.


Thank you for contacting HP Total Care.

I like to inform you that the we here provide technical support through
email for all HP Pavilion Notebook models and HP does not support any
Operating system other than the preinstalled one.

Hardware

First of all, here's the output of lspci:

Code: #lspci
0000:00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
0000:00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
0000:00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
0000:00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
0000:00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
0000:00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)
0000:00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
0000:00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)
0000:00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
0000:00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
0000:02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
0000:02:06.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05) --OR--
0000:xx:xx.x Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03))
0000:02:09.0 CardBus bridge: Texas Instruments Texas Instruments PCIxx21/x515 Cardbus Controller
0000:02:09.2 FireWire (IEEE 1394): Texas Instruments Texas Instruments OHCI Compliant IEEE 1394 Host Controller
0000:02:09.3 Unknown mass storage controller: Texas Instruments Texas Instruments PCIxx21 Integrated FlashMedia Controller
0000:02:09.4 Class 0805: Texas Instruments Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621
 Secure Digital (SD)

Overview


Working


Not Tested

Partially

You need kernel 2.6.17, check [1] for detailed instructions


Not Working


USB Issues

Getting Started

Now before you get all gung ho and completely nuke the Windows partition, make sure to update your bios to the newest version.

As I said before this is not a guide on how to install Gentoo linux - for that just follow the Gentoo handbook - but we'll take a brief aside to configure the USE flags relevant to the Intel Pentium M Centrino CPU.

To find out some information regarding your CPU just do a:

Code: #cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Pentium(R) M processor 1.70GHz
stepping        : 6
cpu MHz         : 1695.804
cache size      : 2048 KB
physical id     : 0
siblings        : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe est tm2
bogomips        : 3366.91

and as you can see you will want to at least add acpi, mmx, and sse to your USE in make.conf.

On the subject of USE flags, I highly recommend using gcc 3.4.4 or better as it will compile your programs specifically for a Pentium M rather than treat it as a Pentium 3.

(For more information regarding USE flags try organized / sorted USE flags at Gentoo Forums)

Kernel Configuration

I used Gentoo-Source v2.6.11r11, although Vanilla 2.6.10 sources also work well. Whatever you do make sure you use a kernel >=2.6.9, since it deals much better with Pentium M CPUs. Throughout this guide, I'll assume you are using such a source.

A sample kernel configuration that includes pretty much everything. An entire .config file (2.6.14-gentoo-r5) can be found here.

Linux Kernel Configuration: HP Pavilion dv1067
Processor type and features  --->
   Processor family (Pentium M)  ---> (Choose Pentium M)
   High Memory Support (4GB)  ---> (If you have 1G+ of ram)

Power management options (ACPI, APM)  --->
  [*] Power Management support
      ACPI (Advanced Configuration and Power Interface) Support  --->
         [*] ACPI Support
         [*]   Sleep States (EXPERIMENTAL)
         <*>   AC Adapter
         <*>   Battery
         <*>   Button
         <*>   Video
         < >   Fan (No not supported)
         <*>   Processor
         <*>     Thermal Zone

  [*] CPU Frequency scaling
      <*>  CPU frequency translation statistics
      <*> 'powersave' governo
      <*> 'userspace' governor for userspace frequency scaling
      <*> 'ondemand' cpufreq policy governor
      <*>  CPU frequency table helpers
      <*> ACPI Processor P-States driver
      <*> Intel Enhanced SpeedStep
      [*]   Use ACPI tables to decode valid frequency/voltage pairs
      [*]   Built-in tables for Banias CPUs
      <*> Intel Speedstep on ICH-M chipsets (ioport interface)
      <*> Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)

Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->
  PCCARD (PCMCIA/CardBus) support  --->
      <*> PCCard (PCMCIA/CardBus) support (will turn on other options by default)

  PCI Hotplug Support  --->
      <*> Support for PCI Hotplug (EXPERIMENTAL)
      <*>   Fake PCI Hotplug driver
      <*>   Compaq PCI Hotplug driver
      [ ]     Save configuration into NVRAM on Compaq servers (No)
      <*>   ACPI PCI Hotplug driver

Device Drivers  --->
  Block devices  --->
      <*> Compaq SMART2 support
      < > Compaq Smart Array 5xxx support (No)
      <*> RAM disk support
      (16)  Default number of RAM disks
      (4096) Default RAM disk size (kbytes)
      [*]   Initial RAM disk (initrd) support

  Input device support  --->
     <*> Event interface
     [*] Mice
     <*> PS/2 mouse

  Character devices  --->
      <*>  Intel 440LX/BX/GX, I8xx and E7x05 chipset support
      <*>  Intel i865 chipset support
      <*>  Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
           <*>   Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver)  --->

  I2C support ---> (don't bother)

  Graphics support  --->
      [*] Support for frame buffer devices
      [*]   Enable Video Mode Handling Helpers
      < >   VGA 16-color graphics support (DO NOT ENABLE)
      <*>   VESA VGA graphics support
                 VESA driver type (vesafb)  --->
      < > Intel 830M/845G/852GM/855GM/865G support (EXPERIMENTAL) (No, this is for the Intelfb which doesn't work on LCDs)
      [*] Backlight & LCD device support  --->
          <M>   Lowlevel Backlight controls
          <M>   Lowlevel LCD controls
      [*] Support for the framebuffer splash

  Sound  --->
      <*> Sound card support
          Advanced Linux Sound Architecture  --->
            (I personally don't like compiling ALSA into my kernel, but the choice is yours.)
          Open Sound System  --->

  USB support  --->
      <*> EHCI HCD (USB 2.0) support
      <*> OHCI HCD support
      <*> UHCI HCD (most Intel and VIA) support

  Networking support  --->
      [*] Networking support
      Wireless LAN (non-hamradio)  --->
         [*] Wireless LAN drivers (non-hamradio) & Wireless Extension

(For wireless lan)
Cryptographic options  --->
   [*] Cryptographic API
       <*>   ARC4 cipher algorithm
       <*>   CRC32c CRC algorithm

LM Sensors

LM Sensors does not work, as Compaq/HP uses proprietary chips and will not release their data sheets. A driver does exist for their chips (cpqhealth) so that one can monitor the internal system, however Compaq/HP claims cpqhealth only runs on Compaq Proliant Servers with a 2.4 kernel. I would imagine, however, that it is possible to get cpqhealth running on any system with a 2.4 kernel as you could just download the rpm and use alien to convert the package.

Now if for some reason you are running a 2.4 kernel and get cpqhealth installed, it would technically be possible to use a wrapper and the binary to get it to work on a 2.6 kernel (you would have to port the wrapper). So IF you are running a 2.4 kernel, and IF you get cpqhealth installed, and IF you write and port the wrapper, the modules that need to be ported are the opt/compaq/cpqhealth/[cmhp,cqpasm,cpqevt].

If you do not want to do that it is still possible to get some data from the system (no fan information though)


To check the current CPU temperature:

Code: #cat /proc/acpi/thermal_zone/THRM/temperature
temperature:             61 C


To check the status of the battery:

Code: #cat /proc/acpi/battery/BAT0/state
present:                 yes
capacity state:          ok
charging state:          discharging
present rate:            0 mA
remaining capacity:      7424 mAh
present voltage:         12438 mV

Cpu Frequency scaling

Check than you have some files that start with cpuinfo_ and scaling_ in the direcory /sys/devices/system/cpu/cpu0/cpufreq;

If you don't then you probably need to mounted your /sys or don't have <sysfs> support in your kernel configuration. (Check if acpi-cpufreq module is loaded.) The next thing that needs to be done is to choose a daemon to dynamically control the CPU frequecy. cpufreqd is popular as it is simple to configure and changes frequency quickly. speedfreq is also very nice, however it is now masked in portage. So whatever you choose, just emerge and add it to the default runlevel.

emerge cpufreqd
rc-update add cpufreqd default

WLAN

Intel PRO/Wireless 2200BG

See this guide.

Broadcom Corporation BCM4306 802.11b/g Wireless card

See the Broadcom 43xx article.

Graphics

See this HowTo.

Sound Mixing with Alsa

The intel8x0 supports sound mixing. Depending on your window manager you may or may not have to setup sound mixing. I believe with KDE sound mixing is done automatically via arts but with other window managers such as fluxbox it is not. Alsa is the obvious choice for mixing but you could use dmix, ESD, arts, or OSS. I direct you to the sound mixing wiki for the complete details. Pretty much just follow #3 "Setting up alsa" on the table on contents and you are all set.

Function/Media Keys and Remote Control

The touchpad on/off button does not work with fluxbox. In fact I can not even get a valid keycode for it. It may work with a desktop environment such as Gnome/KDE or it may be part of the Synaptics touchpad driver but I am unsure. So if you are using Gnome/KDE and know the keycode please post it.

The media keys and remote control buttons currently don't have any operations associated with them. This is easy enough to change and I direct you to the HOWTO Use Multimedia Keys wiki for more information. For convenience I have listed all the unmapped keycodes below. Important note: pressing the tv button (lower right button on the remote) completely scrambles my display and the only way I have found to recover from this is via ctrl + alt + backspace. If anyone knows how to correct this please let us know. (You can also press ctrl + alt + f1 to get to a text mode and then ctrl + alt + f7 to get back to X)


File: Media Keycodes

keycode 144 - rewind
keycode 153 - fastforward
keycode 160 - mute
keycode 162 - play/pause
keycode 164 - stop
keycode 174 - sound down
keycode 176 - sound up


File: Remote Control Keycodes

keycode 22 - up arrow /w tail
keycode 37 - printer button
keycode 55 - fastforward / rewind
keycode 98 - up
keycode 100 - left
keycode 102 - right
keycode 104 - down
keycode 108 - Ok
keycode 144 - rewind
keycode 153 - fastforward
keycode 160 - mute
keycode 162 - play/pause
keycode 174 - sound down
keycode 176 - sound up
keycode 222 - power

e001 (remap to 129) - i button
e00b (remap to 139) - camera button
e008 (remap to 134) - film reel button


Alternately, you can download a very useful program called xbindkeys. It's fairly straight forward and a quick read of the man page is all you'll need, just be sure to load your configuration when you start X. For example you could edit your ~/.xinitrc and add a line that reads xbindkeys & before the line that executes your window manager:

File: Sample ~/.xinitrc

xterm &
xbindkeys &
exec startkde


Text Mode

If you don't use X you can still remap your keys, you just have to edit your keymap; first, lets work on the copy of the one you use (must be root):

# cp /usr/share/keymaps/i386/qwerty/<yours> ./newkeys.map.gz

Unpack it and run showkey to see the codes associated to the key(s) you want to bind; let's say you want to bind the code 155 to the command "amixer set Master 1+": you have to append two lines to newkeys.map like this:

keycode 155 = FXY
string FXY = "amixer set Master 1+"

When you're done adding bindings, you have to pack back the file and move it to /usr/share/keymaps/i386/qwerty/newkeys.map.gz

Code: Setting up newkeys.map
gzip newkeys.map
mv newkeys.map.gz /usr/share/keymaps/i386/qwerty/newkeys.map.gz
loadkeys newkeys

and see if it works. If it does, you can edit the KEYMAP variable in /etc/rc.conf to point to newkeys.

Framebuffer

Vesafb

This framebuffer is almost fully supported. Getting a framebuffer resolution of 1280x768 isn't possible (at least by default). It may be possible to edit the /etc/fb.modes to implement this, however.

There is a frame buffer programs for Gentoo: Fbsplash.

[Relevant grub.conf]

kernel /kernel.buffer root=/dev/hda6 CONSOLE=/dev/tty1 vmalloc=32m gentoo=udev devfs=nomount vga=791 splash=verbose,theme:emergence

The framebuffer also works fine on HP Pavilion ZE2010 (same card) with Kernel 2.6.12-gentoo-r4. Just unmerge and re-emerge splashutils, and then rebuilt the framebuffer file with splash_geninitramfs.

[Relevant grub.conf]

kernel /boot/kernel-2.6.12-gentoo-r4 root=/dev/hda1 video=vesafb:ywrap,mttr,1024x768-16@60 splash=silent,fadein,theme:livecd-2005.0 quiet CONSOLE=/dev/tty1

Vesafb-tng

The replacement for vesafb works just fine on a dv1266EA (pretty much the same hardware save for hard-drive and RAM). Just select vesafb from the kernel and then select vesafb-tng from the item just right under it. The default resolution can be set to "1280x768@60". It worked right out of the box.

Intelfb

Currently the Intelfb does not fully support Local Flat Panels (ie. LCD screens), only CRT output (ie. external monitors) so it cannot be used on a laptop. (Keep an eye on Sylvain Meyer and the progress he is making with the Intelfb though.)

Touchpad Configuration

The touchpad will work out of the box, but configuring it gave me a bit of trouble. I direct you to Synaptics Touchpad for the details, but here are the settings that worked for me:

File: /etc/X11/xorg.conf
Section "InputDevice" #touchpad
Identifier "Touchpad"
   Driver "synaptics"
   Option "SendCoreEvents"
   Option "Device" "/dev/input/event1" # eventX number may vary depending on the laptop model
   Option "Protocol" "Auto"
# Next line required only if you want to disable the mousepad while typing:
   Option "SHMConfig" "on"
# The rest of the options are NOT required, just a default similar to
# the Windows drivers with non of the extra features.
   Option "LeftEdge" "1900"
   Option "RightEdge" "5400"
   Option "TopEdge" "1400"
   Option "BottomEdge" "4500"
   Option "FingerLow" "25"
   Option "FingerHigh" "30"
   Option "MaxTapTime" "180"
   Option "MaxTapMove" "220"
   Option "VertScrollDelta" "45"
   Option "MinSpeed" "0.02"
   Option "MaxSpeed" "0.20"
   Option "AccelFactor" "0.0010"
EndSection

Section "InputDevice"

# Regular USB mouse

    Identifier	"Mouse1"
    Driver	"mouse"
    Option "Protocol"    "Auto"
    Option "Device"      "/dev/input/mice"
    Option "Buttons" "7"    InputDevice "Keyboard1" "CoreKeyboard"
    Option "ZAxisMapping" "6 7"
    Option "Resolution" "1000"

EndSection

Section "ServerLayout"
 
    InputDevice "Touchpad"  "SendCoreEvents"
    InputDevice "Mouse1"    "CorePointer"

EndSection

Authors

Please feel free to make contributions!

Links

Retrieved from "http://www.gentoo-wiki.info/HP_Pavilion_DV1000"

Last modified: Tue, 26 Aug 2008 21:45:00 +0000 Hits: 69,628