Linux on the Compaq Presario V2000

Last updated Jun 15, 2005

Hardware Components

Status

Notes

Pentium M Processor, 1.4 GHz (dothan)

Works

2.6.9 kernel required for speedstep

14.1 WXGA TFT (1280x768) Display

Works

Add 1280x768 modline to XF86Config

Intel 855 Video

Works

No special procedure required

Integrated Realtek Network Card

Works

No special procedure required

Internal 56k Modem

Not testsed

Not used

Internal miniPCI Intel Pro 2200 Wireless

Works

ipw2200 driver

Intel 82801DB Sound Card

Works

No special procedure required

Marketing specs:

Intel Pentium M Processor 710 (1.4GHz)
14" WXGA High-Definition BrightView Widescreen Display (1280x768)
60GB (4200RPM) Hard Drive
512MB DDR SDRAM
Intel 64MB Video (shared)
Intel PRO/Wireless 2200 802.11BG
DVD+RW/R and CD-RW Combo Drive
6-in-1 Memory Reader
Realtek 10/100/100 NIC
Modem
3 USB ports
FireWire

The hardware as shown by lspci:


0000:00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02)
0000:00:00.1 System peripheral: Intel Corp.: Unknown device 3584 (rev 02)
0000:00:00.3 System peripheral: Intel Corp.: Unknown device 3585 (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graph
ics Device (rev 02)
0000:00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Dev
ice (rev 02)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 03)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 03)
0000:00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 03)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB USB2 (rev 03)
0000:00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 83)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
0000:00:1f.1 IDE interface: Intel Corp. 82801DBM Ultra ATA Storage Controller (r
ev 03)
0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBM SMBus Controller (rev 03)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio Contro
ller (rev 03)
0000:00:1f.6 Modem: Intel Corp. 82801DB 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 Corp.: Unknown device 4220 (rev 05)
0000:02:09.0 CardBus bridge: Texas Instruments: Unknown device 8031
0000:02:09.2 FireWire (IEEE 1394): Texas Instruments: Unknown device 8032
0000:02:09.3 Unknown mass storage controller: Texas Instruments: Unknown device 
8033
0000:02:09.4 Class 0805: Texas Instruments: Unknown device 8034

Installation

First, I reinstalled Windows XP on the first 20GB of the disk. I occasionally need to use Windows and it would also come in handy if I ever need to call HP for support.

SuSE 9.1 Personal installed quite effortlessly on the remaining 40GB. The Personal edition CD does not include development utilities, but they are all availablefrom the SuSE ftp server.

X configuration

Screen Resolution

1280x768 did not appear as an option during the install, so I chose 1024x768 and continued, after selecting synaptics touchpad as the input device.

Add a modeline to XF86Config for 1280x768:

Section "Modes"
  Identifier   "Modes[0]"
  Modeline "1280x768" 80.14 1280 1344 1480 1680 768 769 772 795
EndSection
Set the mode to 1280x768 for the desired color depth:
SubSection "Display"
    Depth      16
    Modes      "1280x768"
  EndSubSection
Some applications, most notably OpenOffice/StarOffice will not display correctly unless the correct DisplaySize is set:
Section "Monitor"
  Option       "CalcAlgorithm" "CheckDesktopGeometry"
##  DisplaySize  320 240
  DisplaySize  400 240
  HorizSync    30-82
  Identifier   "Monitor[0]"
  ModelName    "1280X768@60HZ"
  Option       "DPMS"
  VendorName   "--> LCD"
  VertRefresh  40-60
  UseModes     "Modes[0]"
EndSection

Mouse

Wanting quick access to 3 buttons, I added an additional InputDevice for the USB mouse while editing XF86Config.

Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[3]"
  Option       "Device" "/dev/input/mice"
  Option       "InputFashion" "Mouse"
  Option       "Name" "USB-Mouse;PS/2"
  Option       "Protocol" "PS/2"
EndSection

Synaptics Touchpad

I found the default tap-to-click behavior annoying, but found the solution (MaxTapMove=0) on the TouchPad driver home page, which had the added bonus of providing for a two-finger-tap middle button click.

With the vertical/horizontal scrolling and a middle button, I no longer use the USB mouse.

Section "InputDevice"
  Driver       "synaptics"
  Identifier   "Mouse[1]"
  Option       "AccelFactor" "0.0010"
  Option       "BottomEdge" "4000"
  Option       "Device" "/dev/psaux"
  Option       "Edges" "1900 5400 1800 3900"
  Option       "Emulate3Buttons" "on"
  Option       "Finger" "25 30"
  Option       "FingerHigh" "30"
  Option       "FingerLow" "25"
  Option       "InputFashion" "Mouse"
  Option       "LeftEdge" "1900"
  Option       "MaxSpeed" "0.18"
  Option       "MaxTapMove" "0"
  Option       "MaxTapTime" "380"
  Option       "MinSpeed" "0.02"
  Option       "Name" "Synaptics;Touchpad"
  Option       "RightEdge" "5400"
  Option       "SHMConfig" "on"
  Option       "TopEdge" "1900"
  Option       "VertScrollDelta" "100"
  Option       "ZAxisMapping" "4 5"
EndSection

HotKeys

The V2000 has volume up/down/mute keys in addition to the usual laptop Fn+ keys on the top row. These all happen to be XF86* function keys, so mapping them to something useful is quite easy with no special drivers required. Just make sure the keyboard entry in XF86Config is set to "microsoftpro"

Option       "XkbModel" "microsoftpro"
Option       "XkbRules" "xfree86"

I used xev to discover the name and then mapped each key to the appropriate action in my window manager key file. ~/.icewm/keys for icewm, ~/.fluxbox/keys for fluxbox, or ~/.enlightenment/keybindings.cfg for enlightenment. I suspect Gnome,KDE, etc. have similar options.

To get a particular key name, type xev in a terminal window and watch the output as the various keys are pressed.

prompt:~> xev

KeyRelease event, serial 30, synthetic NO, window 0x1200001,
    root 0x3b, subw 0x0, time 43667579, (80,-292), root:(865,114),
    state 0x0, keycode 174 (keysym 0x1008ff11, XF86AudioLowerVolume), same_screen YES,
    XLookupString gives 0 bytes:

Here's an example from my ~/.icewm/keys file:

key "XF86AudioLowerVolume"      amixer -q set Master 2- unmute
key "XF86AudioRaiseVolume"      amixer -q set Master 2+ unmute
key "XF86AudioMute"             amixer -q set Master toggle
key "XF86AudioPlay"             xmms -t
key "XF86AudioStop"             xmms -s
key "XF86AudioPrev"             xmms -r
key "XF86AudioNext"             xmms -f
key "XF86HomePage"              firefox
For a nice on-screen-display for the volume level, I installed OSDsh

HotKey Issues

Muting the sound has no effect on the mute LED which remains off unless the sound modules are unloaded.

Wireless

The Intel Pro 2200 was not detected, so I plugged in the Realtek and visited ipw2200.sourceforge.net for the drivers and instructions. The ipw2200 modules loaded without issues and with a few edits to /etc/sysconfig/network/ifcfg-eth1, I connected to my access point with 'ifup eth1'.
#/etc/sysconfig/network/ifcfg-eth1
DEVICE='eth1'
STARTMODE='onboot'
BOOTPROTO='dhcp'
WIRELESS_ESSID='XXX'
WIRELESS_CHANNEL='X'
TYPE='Wireless'
IPV6INIT='no'
WIRELESS_KEY='XXXXXXXXXXXX'

Wireless Issues

The boot process hangs if the specfied access point is not available. I change 'onboot' to 'manual' when travelling and bring up the eth1 after making the necessary changes to ifcfg-eth1 for a new access point.

Need to get LEAP working. open1x seems to be the right answer, but I only have limited opportunity for testing.

The wireless on/off switch works, but not the LED.

SpeedStep

The processor was running at a constant 1400Mhz (cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq) whether on battery or ac power. The V2000 comes with a "dothan" M chip which is not supported in the SuSE 9.1 default 2.6.4 kernel. I got 2.6.9 source from kernel.org and after several attempts produced a kernel I was happy with. The key entries in .config are:
CONFIG_X86_SPEEDSTEP_CENTRINO=m
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y

The default setting of POWERSAVE_CPUFREQUENCY="dynamic" in /etc/sysconfig/powersave/scheme_performance was exactly what I wanted.

After booting to the new kernel, I have a very convenient on-demand throttle from 600 to 1400Mhz.

I wanted some way to display the current CPU speed on my desktop, so I modified bbdate from B-B tools and gkx86info for a GKrellM2 plugin.

Screenshots and downloads:

gkfreq (plugin for gkrellm2)
bbfreq (stand-alone or dockable app to display the current CPU speed)

Powersave

Running on battery power, disk access was a bit too slow for my taste. I changed POWERSAVE_BATTERY_SCHEME= from "powersave" to "performance" in /etc/sysconfig/powersave/common, and turned POWERSAVE_DISK_STANDBY_MODE off in /etc/sysconfig/powersave/scheme_performance.

Miscellaneous

Splash screen

I really didn't care for the default SuSE splash screen, so I commented out the gfxmenu line in /boot/grub/menu.lst.

Console font

I added vga=0x317 as a kernel option in /boot/grub/menu.lst to get a smaller console font.

External VGA

Fn+F4 switches between laptop display, external display, or both without any special configuration. However, you probably want to change the resolution to 1024x768 before using an external monitor.
TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones