HARDWARE HP Pavilion dv5000z series
From Gentoo Linux Wiki
Please format this article according to the guidelines and Wikification suggestions, then remove this notice {{Wikify}} from the article
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
[edit] Gentoo on an HP Pavilion dv5000 and dv5000z series notebook
The dv5000 is a great laptop. Sporting a 64bit AMD Turion processor, a crisp 15.4" LCD Widescreen Display, great battery life, excellent Altec Lansing speakers, with an optional built in Wireless Lan card, and DVD+/-RW; this laptop is aesthically pleasing, and fast making it great for travelers, businessmen, and students.
[edit] Introduction to this Guide
This is a hardware guide and kernel configuration of Gentoo AMD64 bit for HP pavillion dv5000. This is not a HOWTO installation for Gentoo Linux. What this guide does is to help cut down the compilation times of the Gentoo kernel by users. In doing so it gives readers an idea of what hardware features of the HP dv5000 is compatible and supported to the given kernel.
This guide also includes sections that cover additional package installation guidelines so that other hardware features can be used. It is important to note that the additional package installation is assumes that you either have partially installed Gentoo in the laptop and and a good knowledge about Gentoo portage. The Gentoo portage guidelines can be found here.
Finally this guide tackles kernel problems and limitations found in given Gentoo kernels and the HP dv5000 like APIC errors, cpu errors, Clock skew problems. Such problems are discussed in the final sections of this guidelines. As a counterpart of this section solutions for the problems are discussed as well.
[edit] Documentation
The documentation available for dv5000 is found on (Manuals) from HP's website. Gentoo Linux installation documentation can be found at Gentoo.Handbook.Networkless.Installation. Gentoo systems documentation can be found at Gentoo Docs. Gentoo Portage Package documentation which is very important to read to know how to install packages in Gentoo linux can be found at A Portage Introduction.
[edit] Hardware
The Gentoo Kernel recognizes the following hardware included in the HP zv6000 notebook. The kernel used recognizes the generic device association but not the specific device name.
[edit] Output of lspci
lspci output (externalised in sub-article to reduce size)
Detailed lspci log can be found in HARDWARE Gentoo AMD64 on HP Pavilion dv5000
[edit] /proc/cpuinfo
The processor info of the dv5000 notebook obviously depends on the version you purchased.
| Code: #cat /proc/cpuinfo on Turion64 |
processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 36 model name : AMD Turion(tm) 64 Mobile Technology ML-32 stepping : 2 cpu MHz : 1790.933 cache size : 512 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm bogomips : 3589.12 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp tm stc |
The AMD Turion 64bit cpu has versions with different cache sizes, while the Sempron only has 256kb. Both support the following linux flags fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow. These flags should be taken note of since when installing a Gentoo package or making a Gentoo package you would know that the cpu features are already included even if the flags are not called.
[edit] Overview
- This laptop can be purchased with the following processors
- AMD Sempron 3100+
- AMD Sempron 3300+
- AMD Turion 64 ML-34
- AMD Turion 64 ML-37
- AMD Turion 64 ML-40
- ATI 200m Xpress, 128 MB of dedicated RAM memory, which can be turned up/down via bios.
- Broadcom Wireless Lan card
- (the zv6000 can optionally be equipped with a Broadcom 54g Wireless card.
If so, you'll see this line in lspci instead:Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03))
- Realtek Ethernet Card
- PCMCIA
- Conexant AC-link sound card
- This laptop can be purchased with the following hard disk drive
- 4200rpm 40GB
- 4200rpm 60GB
- 5400rpm 60GB
- 4200rpm 80GB
- 5400rpm 80GB
- 4200rpm 100GB
- 5400rpm 120GB
- These memory configurations are available:
- 256MB 1x256
- 512MB 2x256
- 1024M 2x512
- 2048 2x1024
- 2 or 3 USB ports
[edit] Working
- Cpu Frequency Scaling (AMD drivers and speedfreqd)
- Video Card: ATI Xpress 200m (1280x800, with xorg, and with dri enabled)
- Broadcom Wireless Ethernet Card
- (If you got the Broadcom card you can use ndiswrapper with the windows driver.
The Windows driver (bcmwl5) should come with your laptop or can be downloaded from HP)
- Soundcard Conexant AC-link audio(alsa)
- Modem HSP Conexant 56k modem
- Function Keys (most work, others can be configured)
- Touchpad (requires some configuration)
- Quickplay buttons (requires some configuration)
- USB (default)
- PCMCIA (default)
- (CD/RW, DVD+/-RW) (default)
- Ethernet Card Realtek i8139(default)
- Remote Control (works out of the box, even in text mode)
- Battery Status (cat /proc/acpi/battery/BAT0/info)
- External Monitor Port
- FireWire (odd SBP-2 errors with some drives but works with others, prehaps general kernel/AMD64 bug)
- TV-Out (Difficulties changing TV resolution with fglrx driver but I haven't tried everything yet)
[edit] Mostly working
- ACPI suspend (doesn't work with DRI or framebuffer enabled and requires some kernel command line options. See zv6000 forum thread) *This link is dead*
[edit] Not working (yet)
- Card reader
(dmesg doesn't even register it as connected. It's not recognized by anything I've tried yet. I haven't tried everything, because I'd never use it anyway, but I haven't gotten it to work yet.)
[edit] Not tested
- Modem
[edit] CFLAGS Settings and make.conf
Starting Gentoo installation process the cflags settings should be set so that gentoo would know the type of cpu that will be used to compile the programs and the kernel. (For more information regarding USE flags try here) To do this the make.conf must be edited. make.conf location is found in /etc/make.conf. For the zv6000 the CFLAGS should be set to CFLAGS="-march=k8 -pipe -O2.
[edit] Kernel Configuration
Gentoo LiveCD 2005.0 comes with Gentoo-Source v2.6.11-r1 and the new Gentoo LiveCD 2005.1 comes with Gentoo-Sources v.2.6.12-r6 which is an all around kernel capable of utilizing every hardware feature included in the zv6000 notebook, although Vanilla 2.6.10 sources also work well. Whatever you do make sure you use a kernel >=2.6.11-r1, since it deals much better with AMD 64bit CPUs.
Setting the kernel configuration described from the displays below ensures all the hardware features on the zv6000 notebook to work.
To set the kernel do the following commands:
# cd /usr/src/linux # make menuconfig
[edit] RTC Interupt
[*] Provide RTC interrupt
[edit] Code maturity level options
[*] Prompt for development and/or incomplete code/drivers [*] Select only drivers expected to compile cleanly
[edit] General Setup
Use Default settings
[edit] Loadable Module Support
Enable All
[edit] Processor Type and Features
| Linux Kernel Configuration: Processor Type and Features |
Processor type and features --->
Processor family (Generic-x86-64) --->
<*> /dev/cpu/*/msr - Model-specific register support
<*> /dev/cpu/*/cpuid - CPU information support
[*] MTRR (Memory Type Range Register) support
[ ] Symmetric multi-processing support
[ ] Preemptible Kernel
[ ] SMT (Hyperthreading) scheduler support
[ ] K8 NUMA support
[ ] NUMA emulation support
( ) Maximum number of CPUs (2-256)
[*] PM timer
[*] Provide RTC interrupt
[ ] IOMMU support
[*] Machine check support
[*] Enable seccomp to safely compute untrusted bytecode
|
[edit] Power management options
| Linux Kernel Configuration: Power management options |
Power management options (ACPI, APM) --->
[*] Power Management supportusted bytecode
[*] Software Suspend (EXPERIMENTAL)
ACPI (Advanced Configuration and Power Interface) Support --->
[*] ACPI Support
[*] Sleep States (EXPERIMENTAL)
<*> AC Adapter
<*> Battery
<*> Button
<*> Video
<*> Fan
<*> Processor
<*> Thermal Zone
[*] NUMA support
|
[edit] CPU Frequency Scaling
| Linux Kernel Configuration: CPU Frequency Scaling |
[*] CPU Frequency scaling
<*> CPU frequency translation statistics
<*> 'powersave' governo
<*> 'userspace' governor for userspace frequency scaling
<*> 'ondemand' cpufreq policy governor
<*> AMD Opteron/Athlon64 PowerNow!
< > ACPI Processor P-States driver
|
[edit] Bus options
| Linux Kernel Configuration: Bus options |
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCCARD (PCMCIA/CardBus) support --->
<*> PCCard (PCMCIA/CardBus) support (will turn on other options by default)
[*] PCI Express support
<*> PCI Express Hotplug driver
PCI Hotplug Support --->
<*> Support for PCI Hotplug (EXPERIMENTAL)
<*> Fake PCI Hotplug driver
<*> Compact PCI Hotplug driver
[ ] Save configuration into NVRAM on Compaq servers (Not sure about this)
<*> ACPI PCI Hotplug driver
|
[edit] Device Drivers
| Linux Kernel Configuration: Device Drivers |
Device Drivers --->
Block devices --->
< > Normal floppy disk support
<*> Loopback device support
< > Low Performance USB Block driver # Note: this can cripple usb_storage (butane note: I have this disabled and everything works fine)
<*> RAM disk support
(16) Default number of RAM disks
(4096) Default RAM disk size (kbytes)
[*] Initial RAM disk (initrd) support
[*] Support for Large Block Devices
<*> Packet writing on CD/DVD media
[*] Enable write caching
|
[edit] Generic Options
Enable all
[edit] MTD Support
| Linux Kernel Configuration: MTD Support |
<M> Memory Technology Device (MTD) support
<M> MTD concatenating support
<M> Direct char device access to MTD devices
<M> FTL (Flash Translation Layer) support
<M> INFTL (Inverse NAND Flash Translation Layer) support
NAND Flash Device Drivers --->
<M> NAND Device Support
<M> DiskOnChip 2000, Millennium and Millennium Plus
|
[edit] Parallel Port Support
| Linux Kernel Configuration: Parallel Port Support |
< > Parallel port support < > PC-style hardware < > Multi-IO cards (parallel and serial) < > Support for PCMCIA management for PC-style ports [ ] Support foreign hardware [ ] IEEE 1284 transfer modes |
[edit] PnP
| Linux Kernel Configuration: Plug and Play support |
Plug and Play support [*] Plug and Play support [*] PnP Debug Messages [*] Plug and Play ACPI support (EXPERIMENTAL) |
[edit] ATA IDE Support
| Linux Kernel Configuration: ATA IDE Support |
ATA/ATAPI/MFM/RLL support <*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support <*> Include IDE/ATA-2 DISK support [*] Use multi-mode by default <*> PCMCIA IDE support <*> Include IDE/ATAPI CDROM support <*> Include IDE/ATAPI FLOPPY support < > SCSI emulation support [*] IDE Taskfile Access <*> generic/default IDE chipset support [*] PCI IDE chipset support [*] Sharing PCI IDE interrupts support [ ] Boot off-board chipsets first support <*> Generic PCI IDE Chipset Support [*] Generic PCI bus-master DMA support [*] Force enable legacy 2.0.X HOSTS to use DMA [*] Use PCI DMA by default when available [ ] Enable DMA only for disks <*> ATI IXP chipset IDE support |
[edit] Block Devices
| Linux Kernel Configuration: Block Devices |
< > Normal floppy disk support <*> Parallel port IDE device support <*> Loopback device support < > Low Performance USB Block driver <*> RAM disk support (16) Default number of RAM disks (4096) Default RAM disk size (kbytes) [*] Initial RAM disk (initrd) support [*] Support for Large Block Devices < > ATA over Ethernet support |
[edit] SCSI Support
use default settings.
[edit] Multi-Device Support
dv5000 doesn't have any RAID or LVM devices
[edit] FUSION MPT Support
dv5000 doesn't have any of these device
[edit] IEEE 1394 Support
| Linux Kernel Configuration: IEEE 1394 (FireWire) support |
<*> IEEE 1394 (FireWire) support [*] Excessive debugging output [*] OUI Database built-in <*> Texas Instruments PCILynx support <*> OHCI-1394 support <*> OHCI-1394 Video support <*> SBP-2 support (Harddisks etc.) [*] Enable Phys DMA support for SBP2 (Debug) <*> Ethernet over 1394 <*> OHCI-DV I/O support <*> Raw IEEE1394 I/O support |
[edit] I20 Device Support
dv5000 doesn't support any I20 devices.
[edit] Networking support
| Linux Kernel Configuration: Networking support |
[*] Networking support <*> IrDA (infrared) subsystem support --> Enable if your notebook comes with this feature. <*> Bluetooth subsystem support ---> Enable if your notebook comes with this feature. [*] Network device support Ethernet (10 or 100Mbit) ---> [*] Ethernet (10 or 100Mbit) [*] EISA, VLB, PCI and on board controllers <*> RealTek RTL-8139 PCI Fast Ethernet Adapter support <*> RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support Wireless LAN (non-hamradio) ---> [*] Wireless LAN drivers (non-hamradio) & Wireless Extensions <*> Network console logging support (EXPERIMENTAL) |
[edit] ISDN Support
Haven't played with these devices.
[edit] Telephony Support
Haven't played with these devices.
[edit] Input device support
| Linux Kernel Configuration: Input device support |
Input device support ---> <*> Mouse interface [*] Provide legacy /dev/psaux device (1024) Horizontal screen resolution --> Resolution would be compiled and changed after the video drivers have been setupped. (768) Vertical screen resolution <*> Touchscreen interface <*> Joystick --> Build this in if you have one. (240) Horizontal screen resolution (320) Vertical screen resolution <*> Event interface --- Serial i/o support <*> i8042 PC Keyboard controller <*> PCI PS/2 keyboard and PS/2 mouse controller --- Input Device Drivers [*] Keyboards <*> AT keyboard suppor [*] Mice <*> PS/2 mouse [ ] Joysticks --> Build this in if you have one. [*] Misc <*> PC Speaker support --> onboard speaker support <*> User level driver support |
[edit] Character Devices
| Linux Kernel Configuration: Character devices |
Character devices ---> [*] Virtual terminal [*] Support for console on virtual terminal [*] Inotify file change notification support [*] Unix98 PTY support [*] Legacy (BSD) PTY support (256) Maximum number of legacy PTY in use <*> Parallel printer support [*] Support for console on line printer <*> Texas Instruments parallel link cable support <*> Intel/AMD/VIA HW Random Number Generator support <*> /dev/agpgart (AGP Support) <*> AMD Opteron/Athlon64 on-CPU GART support < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) <*> RAW driver (/dev/raw/rawN) (OBSOLETE) [*] HPET - High Precision Event Timer [*] Allow mmap of HPET (256) Maximum number of RAW devices to support (1-8192) <*> Hangcheck timer |
The ATI Proprietary Drivers require Direct Rendering Manager to be off in-kernel. The proprietary drivers contain their own DRM support.
[edit] I2C support
I2C support ---> Search for compatible ati chipset. Currently no ATIIXP chipset Support. Which means there is no lm sensors thus no hardware temp monitoring. Hello Wiki Bug
[edit] Graphics Support
| Linux Kernel Configuration: Graphics support |
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) --->
<*> ATI Radeon display support
Console display driver support ---> (enable all)
Logo configuration ---> (enable all)
[ ] Backlight & LCD device support --->
[*] Support for the framebuffer splash
|
[edit] Sound Card Support
| Linux Kernel Configuration: Sound Card Support |
Sound --->
<*> Sound card support
Advanced Linux Sound Architecture --->
<*> Advanced Linux Sound Architecture
<*> Sequencer support
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
[*] OSS Sequencer API
<*> Emulation for 32-bit applications
<*> Generic MPU-401 UART driver
PCI devices
<*> ATI IXP AC97 Controller
<*> ATI IXP Modem
|
[edit] USB support
| Linux Kernel Configuration: USB support |
USB support --->
<*> Support for Host-side USB
[*] USB verbose debug messages
[*] USB device filesystem
[*] Enforce USB bandwidth allocation (EXPERIMENTAL)
[*] Dynamic USB minor allocation (EXPERIMENTAL)
[*] USB suspend/resume (EXPERIMENTAL)
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD support
<*> UHCI HCD (most Intel and VIA) support
<*> USB Printer support
<*> USB Mass Storage support
[ ] USB Mass Storage Write-Protected Media Detection (EXPERIMENTAL)
[ ] SanDisk SDDR-09 (and other SmartMedia) support (EXPERIMENTAL) (not sure)
[ ] SanDisk SDDR-55 SmartMedia support (EXPERIMENTAL) (not sure)
[ ] Lexar Jumpshot Compact Flash Reader (EXPERIMENTAL) (not sure)
<*> USB Human Interface Device (full HID) support
[*] HID input layer support
[ ] Force feedback support (EXPERIMENTAL)
[*] /dev/hiddev raw HID device support
|
[edit] Firmware Drivers
use default settings
[edit] File Systems
Use default settings. Build in all Dos/Fat/NTFS Filesystem.
[edit] Profiling Support
Use default settings for now
[edit] Kernel Hacking
Use default settings for now
[edit] Security Options
Use default settings for now
[edit] Cryptographic Options
Use default settings for now
[edit] Library Routines
Use default settings for now
Once the kernel configuration is setup properly the next steps are to compile the kernel and reboot the notebook.
[edit] Hardware Package and Software Dependencies
The section discusses the installation of several packages and softwares that will utilize the hardware features from the zv6000 notebook.
[edit] Ethernet Card Configuration
[edit] Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+:
The kernel that comes with the Gentoo Live CD 2005.0 and Gentoo Live CD 2005.1, gentoo-sources-2.6.11-r1 and 2.6.12-r7 specifically have a driver ready module that can be installed in the kernel
[edit] Broadcom Corporation BCM4306 802.11b/g Wireless card
See the Broadcom 43xx article.
[edit] Alternate option
I have a dv5030us that had a BCM4318 model wireless card in it. No matter what I did I could not get it to work on x86-64, whether it was bcm43xx-fwcutter with native drivers or ndiswrapper. I was changing settings on my router to see if it would connect even then.
[edit] Using other Wireless Devices
Ultimately, I decided to get a new wireless card, an Atheros brand of course. I checked with MadWifi's site to make sure the one I got would be compatible (I have an AR5212).
The problem is that HP (for a reason I cannot figure out) does block all cards that are not Broadcom 43xx series. When I put in the new card, the BIOS told me it was 'unsupported' and to remove it. I did however find out that BIOS could be modified, and then the card would work.
Again, this is very risky and people have ended up with bricked laptops, most likely because they did the editing wrong. I took the risk, even without warranty, but another time around I would want to have the warranty for sure, such as when I get my next laptop. Every model laptop has a different BIOS and a different BIOS set of files, so you need to check you get the right one. As well, you cannot follow these instructions verbatim because every BIOS has the hardware IDs at a different offset.
BIOS modification instructions
Unfortunately, you need to do the flashing in Windows. Again, this is very risky and you may end up bricking your laptop. But it was absolutely worth it for me since it worked and now I have fully working wireless here, even with WPA (using wpa_supplicant of course).
[edit] Video Card Configuration
[edit] Direct Rendering
The ati drivers have direct rendering support, however, the support does not work on the zv6000 series out of the box. Most notably, the ati drivers do not like the on-board video memory. This means that to get such support, you must configure, in BIOS, the ATI card to use shared video memory (thus stealing from your RAM). The ati drivers also do not like the in-kernel DRM (Direct Rendering Manager), so this must not be included in the kernel (previous versions of this document suggested the in-kernel DRM, however, this has now been changed).
To use shared memory:
- Reboot your computer and press F10 to enter BIOS
- Go to the 'Advanced' tab
- Select 'Video Graphic Mode'
- Change to 'UMA'
- Set 'Shared Video Memory' to preferred memory size (Optional)
Now proceed to set-up the ati drivers. After setting up the drivers, make sure that the dri and glx modules are being loaded in /etc/X11/xorg.conf:
Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx" # We want OpenGL
Load "dri" # We want Direct Rendering
EndSection
And set DRI to have the correct permissions:
Section "dri"
Mode 0666
EndSection
[Not from the original author] I just could make my Compaq R4146EA ATI Radeon XPRESS 200M work. Problem was each time I started with the NoDRI option off the X process got 99% CPU utilization and the whole box didn't respond (not even consoles were operative). I found the problem to be lspci -v *always* shows 256M for the video memory regardless of the actual values one configure in BIOS. So configuring the BIOS to use the 128M video memory plus another 128M taken from the system seems to work for me... as a workaround at least. Good thing good be someone to check why lspci always states 256M since it may be a bug either in the BIOS or in the lspci code. Hope this helps those of you suffering this too, Rolando Zappacosta
[edit] ATI Driver Setup
The ATI 200m Xpress works with Xorg by default, however, the resolution will be set at 1024x768 and not the native 1280x800 widescreen resolution. In order to get the latter some configuration is required. ATI drivers are needed to be installed.
To install these drivers, do the following:
# emerge ati-drivers
Once the drivers are installed, Xorg needs to be configured. Just change your device section in /etc/X11/xorg.conf to:
Section "Device"
Identifier "Radeon Xpress 200M"
Driver "fglrx"
Option "mtrr" "off"
Option "DesktopSetup" "(null)" # this is used for dual monitor setups
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "CenterMode" "off"
Option "PseudoColorVisuals" "off"
EndSection
[edit] Advanced ATI Driver Setup
The ati drivers provide many more advanced options, such as dual monitor support. To find out the options you may want to try the xorg generator that comes with the ati-drivers. However, note that this will overwrite your /etc/X11/xorg.conf so back it up before you run the configurator. The command is:
# /opt/ati/bin/fglrxconfig
[edit] Resolution Configuration
To get the 16:10 resolutions (e.g., 1280x800), add a new section to /etc/X11/xorg.conf as follows:
Section "Modes"
Identifier "16:10"
# 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
Modeline "1280x800" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync -Vsync
# 1152x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 67.32 MHz
Modeline "1152x720" 67.32 1152 1208 1328 1504 720 721 724 746 -HSync -Vsync
# 1024x640 @ 60.00 Hz (GTF) hsync: 39.78 kHz; pclk: 52.83 MHz
Modeline "1024x640" 52.83 1024 1072 1176 1328 640 641 644 663 -HSync -Vsync
# 800x500 @ 60.00 Hz (GTF) hsync: 31.08 kHz; pclk: 31.33 MHz
Modeline "800x500" 31.33 800 824 904 1008 500 501 504 518 -HSync -Vsync
EndSection
Then, edit your monitor section to allow the use of the 16:10 modes as follows:
Section "Monitor"
Identifier "DFP"
UseModes "16:10" # Monitor accepts modes we gave earlier
DisplaySize 323 215 # Size of 15.4 in screen used for calculating dpi
Option "dpms"
EndSection
Then actually enable the modes in the screen section:
Section "Screen"
Identifier "DFP Screen"
Device "Radeon Xpress 200M"
Monitor "DFP"
DefaultDepth 24
SubSection "Display"
Modes "1280x800" "1152x720" "1024x640" "800x500" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Then just make sure that your server layout is using the correct screen:
Section "ServerLayout"
Identifier "default"
Screen "DFP Screen"
InputDevice "Mice" "CorePointer"
InputDevice "Keyboard" "CoreKeyboard"
EndSection
[edit] 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 probably either don't have /sys mounted or you are missing <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. I strongly suggest to use speedfreq, as it changes frequency faster than others and it's very simple to configure. Simply emerge it and add it to your default run level.
emerge speedfreq rc-update add speedfreq default
Or, as speedfreq is masked in the portagetree; emerge cpufreqd and add it to the default runlevel
[edit] Function Keys and Remote Control
The kernel reacts at the remote buttons as the corrispondent function keys were hit. Thus binding a function key means binding ALSO the corrispondent remote key. Obviously, you can bind a key either in text mode or under X (or both).
[edit] Unknown Scan Codes
On many models of the zv6000 you will have to define a scancode for the kernel and X to be able to recognize some of your special keys. You can quickly find out which keys are unknown to the kernel by simply trying them all out. When you tap a key that the kernel doesn't know, the output from dmesg will look something like this:
| Code: #dmesg |
|
atkbd.c: Unknown key pressed (translated set 2, code 0xd5 on isa0060/serio0). atkbd.c: Use 'setkeycodes e055 <keycode>' to make it known. |
Gather up all the unknowns and assign them keycodes. A simple solution is to put them all in /etc/conf.d/local.start like so:
| File: My /etc/conf.d/local.start |
setkeycodes e031 235 #fn+f1 setkeycodes e00e 236 #DVD Button setkeycodes e00c 237 #Music Button setkeycodes e00a 238 #fn+f6 |
These keys are now recognized by the kernel and any other program that reads /dev/console (everything).
[edit] Extra X configuration
All our unknown keys are now identified and assigned a scancode. Still, if we dont have the right Xkb layout, the events generated by keypresses will get tossed by programs that conform to the Xkb standard(KDE, others). The solution would be to find a keyboard layout that has all your keys included. Since I couldn't find one that did, I made my own. This is a diff against the xorg-x11-6.8.2-r6 ebuild. This directory usually doesn't change much so you should be ok using it.
| File: xorg-x11-6.8.2-r6-xkb.patch |
diff -Naur old/rules/xfree86 new/rules/xfree86
--- old/rules/xfree86 2006-02-16 10:32:42.000000000 +0000
+++ new/rules/xfree86 2006-02-22 05:03:35.000000000 +0000
@@ -123,7 +123,8 @@
qtronix \
samsung4500 samsung4510 \
sk1300 sk2500 sk6200 sk7100 \
- sven symplon toshiba_s3000 trust trustda yahoo
+ sven symplon toshiba_s3000 trust trustda yahoo \
+ zv6000
! $specialkbds = ibm_space_saver
diff -Naur old/rules/xfree86.lst new/rules/xfree86.lst
--- old/rules/xfree86.lst 2006-02-16 10:32:42.000000000 +0000
+++ new/rules/xfree86.lst 2006-02-22 05:04:29.000000000 +0000
@@ -101,6 +101,7 @@
trust Trust Wireless Keyboard Classic
trustda Trust Direct Access Keyboard
yahoo Yahoo! Internet Keyboard
+ zv6000 HP Pavilion zv6000 Keyboard
ibm_space_saver IBM Space Saver
diff -Naur old/rules/xfree86.xml new/rules/xfree86.xml
--- old/rules/xfree86.xml 2006-02-16 10:32:42.000000000 +0000
+++ new/rules/xfree86.xml 2006-02-22 05:05:57.000000000 +0000
@@ -1021,6 +1021,12 @@
</model>
<model>
<configItem>
+ <name>zv6000</name>
+ <description>HP Pavilion zv6000 Keyboard</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
<name>macintosh</name>
<description>Macintosh</description>
<description xml:lang="sr">Ð~\екинÑ~BоÑ~H</description>
diff -Naur old/rules/xorg new/rules/xorg
--- old/rules/xorg 2006-02-16 10:32:42.000000000 +0000
+++ new/rules/xorg 2006-02-22 05:03:35.000000000 +0000
@@ -123,7 +123,8 @@
qtronix \
samsung4500 samsung4510 \
sk1300 sk2500 sk6200 sk7100 \
- sven symplon toshiba_s3000 trust trustda yahoo
+ sven symplon toshiba_s3000 trust trustda yahoo \
+ zv6000
! $specialkbds = ibm_space_saver
diff -Naur old/rules/xorg.lst new/rules/xorg.lst
--- old/rules/xorg.lst 2006-02-16 10:32:42.000000000 +0000
+++ new/rules/xorg.lst 2006-02-22 05:04:29.000000000 +0000
@@ -101,6 +101,7 @@
trust Trust Wireless Keyboard Classic
trustda Trust Direct Access Keyboard
yahoo Yahoo! Internet Keyboard
+ zv6000 HP Pavilion zv6000 Keyboard
ibm_space_saver IBM Space Saver
diff -Naur old/rules/xorg.xml new/rules/xorg.xml
--- old/rules/xorg.xml 2006-02-16 10:32:42.000000000 +0000
+++ new/rules/xorg.xml 2006-02-22 05:05:57.000000000 +0000
@@ -1021,6 +1021,12 @@
</model>
<model>
<configItem>
+ <name>zv6000</name>
+ <description>HP Pavilion zv6000 Keyboard</description>
+ </configItem>
+ </model>
+ <model>
+ <configItem>
<name>macintosh</name>
<description>Macintosh</description>
<description xml:lang="sr">Ð~\екинÑ~BоÑ~H</description>
diff -Naur old/symbols/inet new/symbols/inet
--- old/symbols/inet 2006-02-16 10:32:42.000000000 +0000
+++ new/symbols/inet 2006-02-22 05:17:55.000000000 +0000
@@ -2097,3 +2097,23 @@
key <I5F> { [ XF86Standby ] };
key <I63> { [ XF86WakeUp ] };
};
+
+partial alphanumeric_keys
+xkb_symbols "zv6000" {
+ name[Group1]= "HP Pavilion zv6000 Keyboard";
+
+ key <I10> { [ XF86AudioPrev ] };
+ key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I24> { [ XF86AudioStop ] };
+ key <I19> { [ XF86AudioNext ] };
+ key <I2E> { [ XF86AudioLowerVolume ] };
+ key <I30> { [ XF86AudioRaiseVolume ] };
+ key <I20> { [ XF86AudioMute ] };
+ key <I70> { [ Help ] };
+ key <I32> { [ XF86WWW ] };
+ key <I63> { [ XF86Standby ] };
+ key <I5F> { [ XF86Sleep ] };
+ key <I72> { [ XF86AudioMedia ] }; // Musical Note button
+ key <I71> { [ XF86Launch1 ] }; // DVD Button
+ key <I73> { [ XF86Launch2 ] }; // fn+f6 (lock button)
+};
diff -Naur old/symbols.dir new/symbols.dir
--- old/symbols.dir 2006-02-16 10:32:42.000000000 +0000
+++ new/symbols.dir 2006-02-22 05:15:06.000000000 +0000
@@ -496,6 +496,7 @@
--p----- a------- inet(trust)
--p----- a------- inet(trustda)
--p----- a------- inet(yahoo)
+--p----- a------- inet(zv6000)
h-p----- am------ us_group3(basic)
-------- -------- us_group3(generic101)
-d------ -------- us_group3(pc101)
|
Use the following commands to apply this patch:
#cd /etc/X11/xkb #patch -Np1 < xorg-x11-6.8.2-r6-xkb.patch
If all goes well you should now be able to add the following line to your xorg.conf:
Option "XkbModel" "zv6000"
Restart X and you will be fully Xkb compliant.
- NOTE: I patched xorg-x11-6.8 with the patch described before this, it seems to work find except for the keys XF86AudioLowerVolume and XF86AudioRaiseVolume, when i configure them with xbindkeys, they work but the whole kweyboard blocks after one of these two keys is pressed and none of the other keys respond. Any suggestion?
[edit] X Bind Keys
Under X, you can download a very useful program called xbindkeys. Read man page for it, and find out how to configure your shortcuts. It's very simple. Be sure to load it when you start X, editing the file ~/.xinitrc and adding a line that reads xbindkeys & 'before' the line that exec your window manager:
| File: Sample ~/.xinitrc |
xterm & xbindkeys & exec startkde |
[edit] 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 Wiki for the details, but here are the settings that worked for me:
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" "100"
Option "MinSpeed" "0.02"
Option "MaxSpeed" "0.18"
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"
Option "ZAxisMapping" "6 7"
Option "Resolution" "1000"
EndSection
Section "ServerLayout"
InputDevice "Touchpad" "SendCoreEvents"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
EndSection
Note that Touchpad is NOT the corepointer. When I had an external mouse hooked up, and it wasn't set to the "CorePointer", X failed to load. Also note that the "Device" for the touchpad is /dev/input/event1. Using these settings, if an external mouse is hooked up at boot, dmesg reports no synaptics touchpad being loaded, but everything works correctly. Alternately if no external mouse is hooked up dmesg reports the touchpad driver is loaded. If someone has a fix for this feel free to post.
[edit] USB Support Revisited
Following the kernel configuration above should enable the usb features on the laptop. The configuration enables support for USB flash drives and USB Hard Drives as well as other usb devices. For an official Gentoo USB support configuration as well as the installation of HOTPLUG and COLDPLUG programs that will load usb devices automatically the following reading is hear: Gentoo Linux USB Guide
[edit] Boot Framebuffer
Framebuffers are supported in Gentoo Linux and HP zv6000 notebook. There is a frame buffer program for Gentoo: Fbsplash.
[edit] Troubleshooting
gentoo-sources-2.6.11-r1 is a stable kernel that is very much compatible with the zv6000. There are problems however after the success of fully installing a Gentoo system on this notebook. Known problems encountered with these laptops are:
APIC CPU error,
Hangcheck Timer Tick Errors,
clock skew problems,
Weird system clock rate,....
[edit] APIC CPU ERROR
This error usually post a system log line as: APIC error on CPU0: 00(40). which means that There is an APIC error on CPU0 at a reference number given.
Solution The Apic CPU error does not affect system performance and can be safely ignored.
[edit] Hangcheck Timer Tick Errors
This error usually post a system log line as: Losing some ticks... checking if CPU frequency changed. warning: many lost ticks which means that the System event timer and cpu frequency varies rapidly during its performance.
Sometimes the error posts a log line as: Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds). Losing some ticks... checking if CPU frequency changed.
Solution See Weird system clock rate Solution.
[edit] clock skew problems
This error usually is encountered when building a kernel and post an error similar to: a time stamp of x.xex seconds are blah blah in the config files. This error is caused by either hangcheck timer bug or APIC cpu error.
Solution See Weird system clock rate Solution.
[edit] Weird system clock rate
This error is noticable by looking at how fast the clock watch ticks. Some linux users have reported that their clock becomes unsynchronized after a few seconds, minutes or hours. Some clocks ticks slow while others ticks very fast. The causes of the problem lies on PM_TIMER to be disabled, HPET disable, RTC features disabled and Hangcheck Timer bug.
Solution 1 Enabling those features could resolve the problem.
Solution 2 Pass a noapic option in the boot parameter of the bootloader. This would definitely fix the problem but at the same time it would cause other problems like failure of the network cards to work properly.
Solution 3 Pass a no_timer_check option in the boot parameter of the bootloader.
Solution 4 Specifically for zv6000, if the steps above has been taken and encounter the problem it is best to upgrade the kernel to gentoo-sources-2.6.12-r5.
Upgrade the kernel by:
# emerge =gentoo-sources-2.6.12-r5
If your portage tree doesnt have this ebuild or it is impossible to install this version do the following steps. download the gentoo-sources-2.6.12-r5 ebuild on this link ebuild link. And do the following code as super user.
# cp location-of-ebuild-downloads/gentoo-sources-2.6.12-r5.ebuild /usr/portage/sys-kernel/gentoo-sources/gentoo-sources-2.6.12-r5.ebuild
#ebuild gentoo-sources-2.6.12-r5.ebuild digest
#emerge =gentoo-sources-2.6.12-r5
Then compile the kernel.
Solution 5 Updated: Upgrade the kernel to gentoo-sources-2.6.12-r7. New ebuilds for gentoo-sources has been uploaded in Gentoo repository.
21:17, 28 November 2005 (GMT)
NEW FIX FROM HP Go to the HP site and upgrade your bios to version F.41A, which fixes the bug at its source.HP Site Link
[edit] Authors
- Gentoothreefour
Some information was directly quoted from HARDWARE Gentoo Linux 64bit on HP Pavilion zv6000 series notebook
[edit] Additional resources
- Acer Ferrari 4005WLMi - similar system, similar problems. Page has additional info on many issues.
