HARDWARE HP Pavilion dv8000z

From Gentoo Linux Wiki

Jump to: navigation, search
This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related
It is requested that an image or additional image(s) be included in this article to improve its quality, if possible.

For more information, please refer to discussion on this page.

Wikipedia has an article on:

Contents

[edit] Introduction

The HP Pavilion dv8000z is a AMD Turion based desktop replacement notebook. It features a 17" WSXGA/WUXGA widescreen monitor, two 2.5" hard disk bays, and up to two Gigabyte memory. It's weight and measures are 3.7 kg and 28.2cm(L) x 39.7cm(W) x 3.8cm(min)/4.6cm(max).

[edit] Summary

Hardware Components Status under Linux Notes
AMD Turion(tm) 64 ML-44, 2.4GHz Works No special procedure required during installation.
17" WUXGA+ TFT Display Works No special procedure required during installation.
ATI XPRESS 200M Video Works Emerge ATI driver
2GB, DDR333, 2DIMMs Works No special procedure required during installation
RealTek RTL8139 network card Works Load module 8139too
Broadcom BCM4318 b/g Wifi card Works Broadcom 43xx
Alternate Wifi: Atheros AR5006X a/b/g Wifi card Works Needs MadWifi, See Atheros 5xxx
ATI IXP AC'97 Sound Works Supported in ALSA (snd-atiixp)
ATI IXP AC'97 Modem Doesn't Work See below
Texas Inst. PCIxx21/x515 Cardbus Controller Works Works Load module yenta_socket
Texas Inst. PCIxx21/x515 FlashMedia Controller Seems to work, but don't use Use SD Controller with modules sdhci (see below)
Texas Instruments PCI6xx1/7xx1 Secure Digital Controller Works Needs module sdhci and some tweaking (see below)
Fujitsu 80 GB 5400rpm hard drive Works No special procedure required during installation
LG GWA-4082N DVD +/- R/RW/DL Combo Drive Works No special procedure required during installation
SynPS/2 Synaptics TouchPad (mouse0) Works see related guide for configuration

[edit] Gentoo Configuration

File: cat /etc/make.conf
 
  # These settings were set by the catalyst build script that automatically 
  # built this stage
  # Please consult /etc/make.conf.example for a more detailed example
  CFLAGS="-march=k8 -Os -pipe"
  CHOST="x86_64-pc-linux-gnu"
  CXXFLAGS="${CFLAGS}"

  # Allow unstable packages
  ACCEPT_KEYWORDS="~amd64"

  # Use ramdisk as temporary dir (might not work for some package!)
  #PORTAGE_TMPDIR=/dev/shm
  PORTAGE_TMPDIR=/data/tmp

  # Own ebuilds
  PORTDIR_OVERLAY=/usr/src/gentoo/portage

  # Use flags
  USE="3dnow X Xaw3d aalib acl acpi alsa apache2 -apm arts 
  audiofile bash-completion bzip2 cups -doc dri encode emacs 
  exif flac gphoto2 gstreamer hal ieee1394 jpeg java kde 
  kdeenablefinal lesstif mmx mozilla mp3 motif nptl nptlonly
  nls nsplugin offensive ogg opengl oss pdf pic php png qt 
  samba sdl server speex spell sse sse2 tetex theora tiff 
  truetype vorbis win32codecs xinerama xml xml2 xmms zlib"

  # This is for xorg-x11 7
  INPUT_DEVICES="evdev keyboard mouse joystick synaptics"
  VIDEO_CARDS="ati vesa vga fglrx fbdev"

  # RSYNC mirror
  #SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"

  # Download mirrors
  GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/ 
    http://mirrors.acm.cs.rpi.edu/gentoo/ 
    http://mirror.datapipe.net/gentoo"
  
File: cat /proc/version
 
  Linux version 2.6.19-gentoo-custom (root@alsant) (gcc version 4.1.1
 (Gentoo 4.1.1-r3)) #2 Fri Dec 1 15:24:33 EST 2006
  

[edit] Hardware

The dv8000z used in the installation described here features the following:

[edit] Processor

File: cat /proc/cpuinfo
 
  processor       : 0
  vendor_id       : AuthenticAMD
  cpu family      : 15
  model           : 36
  model name      : AMD Turion(tm) 64 Mobile Technology ML-44
  stepping        : 2
  cpu MHz         : 2387.842
  cache size      : 1024 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        : 4785.05
  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
  

[edit] Graphics Card

Code: lspci
 
  01:05.0 VGA compatible controller: ATI Technologies Inc ATI Radeon XPRESS 200M 5955 (PCIE)
  

Apparently, the 200m is a card which is barely supported by the ATI closed source driver. There are a lot of threads in the gentoo forum, e.g., where people have tons of problems getting this card to work with certain versions of the ATI binary drivers. According to those sources, DRI only works

  • (driver version 8.24.8), if Sideport+UMA is selected in the BIOS. Make sure that the UMA memory is set to 128MB.
  • (all newer drivers), if Sideport is turned OFF, which unfortunately is not an option with the dv8000.

So I still use the 8.24.8 driver. I had to patch the driver so I could upgrade to kernel 2.6.19-gentoo-r1, but that worked fine. Currently, I am running xorg 7.0. I tried 7.1, but then I ran in all sorts of problems, so forthe time being I am sticking with 7.0.

For more infomation, check Ati Driver HOWTO

[edit] Ethernet

Code: lspci
 
  06:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
  
Linux Kernel Configuration:
Device Drivers  --->
  Network device support  --->
    [*] Network device support
    Ethernet (10 or 100Mbit)  --->
      [*] Ethernet (10 or 100Mbit)
      [*] EISA, VLB, PCI and on board controllers
      <M> RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support
  • modprobe 8139too
Code: dmesg
 
  8139too Fast Ethernet driver 0.9.27
  GSI 22 sharing vector 0x32 and IRQ 22
  ACPI: PCI Interrupt 0000:06:06.0[A] -> GSI 22 (level, low) -> IRQ 50
  eth0: RealTek RTL8139 at 0xffffc20000072400, 00:0f:b0:be:be:e7, IRQ 50
  eth0:  Identified 8139 chip type 'RTL-8100B/8139D'
  

[edit] Wifi

Code: lspci
 
  06:02.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)
  

See the Broadcom 43xx article.

[edit] Sound / Modem

Code: lspci
 
  00:14.5 Multimedia audio controller: ATI Technologies Inc IXP SB400 AC'97 Audio Controller (rev 02)
  00:14.6 Modem: ATI Technologies Inc ATI SB400 - AC'97 Modem Controller (rev 02)
  
  • Check ALSA for a description of installation and configuration procedures. The module needed is called snd-atiixp:
File: cat /etc/modules.d/alsa
 
  # Alsa 0.9.X kernel modules' configuration file.

  alias char-major-116* snd
  alias char-major-14* soundcore

  ### ATI IXP
  #  ALSA portion
  alias snd-card-0 snd-atiixp
  options snd-atiixp index=0

  # OSS/Free portion
  alias sound-slot-0 snd-atiixp
  alias sound-service-0-0 snd-mixer-oss
  alias sound-service-0-1 snd-seq-oss
  alias sound-service-0-3 snd-pcm-oss
  alias sound-service-0-8 snd-seq-oss
  alias sound-service-0-12 snd-pcm-oss
  
  • To determine which modem I have I downloaded the scanModem tool from [http:// here]:
File: cat /etc/modules.d/alsa
 
  --- SNIP ---
  PCIBUS=00:14.6
    
  Providing detail for device at  00:14.6
    with vendor-ID:device-ID
              ----:----
  Class 0703: 1002:4378   Modem: ATI Technologies Inc ATI SB400 - AC'97 Modem Controller (rev 02) (prog-if 00 [Generic])
    SubSystem 103c:309b  Hewlett-Packard Company Unknown device 309b
          Flags: bus master, 66MHz, slow devsel, latency 64, IRQ 209
  
                    -----PCI_IDs-------                    --CompilerVer- 
      Feature List:  Primary  Subsystem Distr  KernelVer   kernel default  CPU
   ./scanModem test 1002:4378 103c:309b gentoo 2.6.15-gentoo-custom  3.4.5 3.4.5    x86_64
     for this pair, -----PCI_IDs-------, a modem codec is not in the records.
       
   The controller: 1002:4378 ATI 
   is capable of supporting soft modem chips from AT LEAST manufacturers:
          Conexant

   Archive records show that 103c:???? Subsystems from HP with the exception of  103c:006b and 103c:3081
   have a Conexant chip.  Thus first test hsfmodem software from http://www.linuxant.com/drivers
   Should that support fail, the alternate route is described in Modem/Slmodem-ALSA.txt
 
  Extended modem ID: codec=0 LIN1
  Modem status     : GPIO

   The PCI IDs of your modem are not in the Records. PLEASE doe send the 
   ModemData.txt file to DISCUSS@linmodems.org, to enrich the Records and
   thereby help others.

   The modem has a Conexant codec: CXT30
   and there support for the modem controller: 1002:4378 ATI 
   Some Linux Distributions include the hsfmodem driver.
   Search your packages information for "hsfmodem" and "Conexant".
   If not found there, download a hsfmodem package from http://www.linuxant.com/drivers .

  --- SNIP ----
  
  • First I tried the hsfmodem package by emerging it and then running the config tool. However, for some reason the tool causes a kernel oops when loading the module. Since hsfmodem would only run with 14.4k without purchasing a license, I tried the alternate approach by loading the snd-atiixp-modem and emerging the lsmodem package. The module loads without complaint and slmodem starts up fine, however, when I try to dial out, I don't get a dialtone. I tried kppp, wvdial, and minicom. Here is my /etc/conf.d/slmodem:
File: cat /etc/conf.d/slmodem
 
  # Config file for /etc/init.d/slmodemd 

  DEV=/dev/ttySL0
  COUNTRY=USA
  GROUP=dialout
  # the group should be kept in sync with:
  # /etc/devfs.d/slmodem (devfs)
  # /etc/udev/rules.d/55-slmodem.rules (udev) 

  # The following symlink will be created if uncommented
  LN_DEV=/dev/modem

  # Raise priority to reduce modem dropouts
  NICE=-6

  # ALSA Options:

  # The following sets the ALSA (alsasound) init script to
  # be a dependency of the slmodem one. It does also provides
  # ALSA support.
  MODULE=alsa

  # The modem hardware slot
  # use "modem:0", "modem:1", etc.
  # usually modem:1 is used
  HW_SLOT=modem:1

  # Non-ALSA OPTIONS:

  # MODULE=slamr
  # or
  # MODULE=slusb
  

[edit] Flash Media / SD Card Reader

Code: lspci
 
  06:04.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller
  06:04.4 Class 0805: Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, 
          PCI7611, PCI7621 Secure Digital (SD) Controller
  

Newer kernels support the integrated Mediacard Controller! Of course, things are a bit more complicated than they seem, as usual. Since there are basically two devices showing up in the lspci, there are two ways to get the card reader to work. First, however, we shall configure the kernel to include both set of modules (it has to be a new kernel, I use 2.6.19-gentoo-r1):

Linux Kernel Configuration:
Device Drivers  --->
  Misc devices --->
    <M> TI Flash Media interface support (EXPERIMENTAL)                       tifm_core
    <M>   TI Flash Media PCI74xx/PCI76xx host adapter support (EXPERIMENTAL)  tifm_7xx1
  MMC/SD Card support  --->
    <M> MMC support                                                           mmc_core
    <M>   MMC block device driver                                             mmc_block
    <M>   Secure Digital Host Controller Interface support  (EXPERIMENTAL)    sdhci
    <M>   TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)             tifm_sd

[edit] Using the FlashMedia Controller

  • Load all the tifm_* and mmc_* modules
  • Insert SD card into reader, the LED should blink and dmesg will say:
Code: dmesg
 
[ 3798.294205] ACPI: PCI Interrupt 0000:06:04.3[B] -> GSI 23 (level, low) -> IRQ 23
[ 3798.309962] tifm_7xx1: sd card detected in socket 3
[ 3804.337670] mmcblk0: mmc0:b368 SMI   999936KiB 
[ 3804.337750]  mmcblk0: p1

  • mount card with mount /dev/mmcblk0p1 <target>
  • Though this seemed to work, I got a lot of error messages accessing the SD card, so I tried the other approach:

[edit] Using the generic SD Controller

  • First, you have to DISABLE the SD support in the FlashMedia Controller You can read all about that here: setpci -v -s 0000:06:04.3 4c=0x22. You can revert it back to its original state by changing the last argument to 4c=0x20.
  • Load the sdhci and mmc_* modules
  • Insert SD card into reader, the LED should blink and dmesg will say:
Code: dmesg
 
[ 3954.452732] sdhci: Secure Digital Host Controller Interface driver, 0.12
[ 3954.452736] sdhci: Copyright(c) Pierre Ossman
[ 3954.454561] sdhci: SDHCI controller found at 0000:06:04.4 [104c:8034] (rev 0)
[ 3954.454572] ACPI: PCI Interrupt 0000:06:04.4[A] -> GSI 20 (level, low) -> IRQ 20
[ 3954.454998] mmc0: SDHCI at 0xb020a000 irq 20 DMA
[ 3954.455429] mmc1: SDHCI at 0xb0209c00 irq 20 DMA
[ 3954.455866] mmc2: SDHCI at 0xb0209800 irq 20 DMA
[ 3804.337670] mmcblk0: mmc0:b368 SMI   999936KiB 
[ 3804.337750]  mmcblk0: p1

  • mount card with mount /dev/mmcblk0p1 <target>
  • No error messages, no problems. However, at this point, AFAIK only SD cards work...

[edit] Misc. Components

Code: lspci
 
  00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 01)
  00:01.0 PCI bridge: ATI Technologies Inc Unknown device 5a3f
  00:04.0 PCI bridge: ATI Technologies Inc Unknown device 5a36
  00:13.0 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller
  00:13.1 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller
  00:13.2 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller
  00:14.0 SMBus: ATI Technologies Inc IXP SB400 SMBus Controller (rev 11)
  00:14.1 IDE interface: ATI Technologies Inc Standard Dual Channel PCI IDE Controller ATI
  00:14.3 ISA bridge: ATI Technologies Inc IXP SB400 PCI-ISA Bridge
  00:14.4 PCI bridge: ATI Technologies Inc IXP SB400 PCI-PCI Bridge
  00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
  00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
  00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
  00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
  06:04.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
  06:04.2 FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller
  
  • All the above components work fine. This is an excerpt from my kernel configurarion file:
Linux Kernel Configuration: some configuration options
 Bus options (PCI etc.)  --->
   --- PCI support
   PCCARD (PCMCIA/CardBus) support  --->
     <M> PCCard (PCMCIA/CardBus) support
     <M>   CardBus yenta-compatible bridge support
 Device Drivers  --->
   ATA/ATAPI/MFM/RLL support  ---> 
     <*> ATA/ATAPI/MFM/RLL support
     [*]     PCI IDE chipset support
     [*]       Generic PCI bus-master DMA support
     <*>         ATI IXP chipset IDE support
   IEEE 1394 (FireWire) support  --->
     <M> IEEE 1394 (FireWire) support
     <M>   OHCI-1394 support
   USB support  --->
     <M> Support for Host-side USB
     <M>   EHCI HCD (USB 2.0) support
     <M>   OHCI HCD support
File: cat /etc/modules.autoload.d/kernel-2.6
 
  # /etc/modules.autoload.d/kernel-2.6:  kernel modules to load when system boots.  
  #
  # Note that this file is for 2.6 kernels.
  #
  # Add the names of modules that you'd like to load when the system
  # starts into this file, one per line.  Comments begin with # and
  # are ignored.  Read man modules.autoload for additional details.

  # usb / firewire
  ehci-hcd
  ohci-hcd
  usb-storage
  ohci1394
  sbp2

  # SD controller
  sdhci
  mmc_block

  # network
  8139too
  
  # I am still using ndiswrapper.....
  ndiswrapper

  # ide/scsi
  ide-cd

  # fglrx or drm / radeon
  fglrx
  # drm
  # radeon
  

[edit] ACPI / Power Management

  • ACPI seems to work:
Code: dmesg
 
  ACPI: AC Adapter [ACAD] (on-line)
  ACPI: Battery Slot [BAT1] (battery absent)
  ACPI: Power Button (FF) [PWRF]
  ACPI: Sleep Button (FF) [SLPF]
  ACPI: Lid Switch [LID]
  ACPI: Power Button (CM) [PWRB]
  ACPI: Video Device [VGA] (multi-head: yes  rom: no  post: no)
  Using specific hotkey driver
  ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3])
  ACPI: Processor [CPU0] (supports 8 throttling states)
  ACPI: Thermal Zone [THRM] (0 C)
  
  • CPU frequency scaling works, I am using cpufreq:
Code: dmesg
 
  powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.50.4)
  powernow-k8:    0 : fid 0x10 (2400 MHz), vid 0x4 (1450 mV)
  powernow-k8:    1 : fid 0xe (2200 MHz), vid 0x6 (1400 mV)
  powernow-k8:    2 : fid 0xc (2000 MHz), vid 0x8 (1350 mV)
  powernow-k8:    3 : fid 0xa (1800 MHz), vid 0xa (1300 mV)
  powernow-k8:    4 : fid 0x8 (1600 MHz), vid 0xc (1250 mV)
  powernow-k8:    5 : fid 0x0 (800 MHz), vid 0x16 (1000 mV)
  cpu_init done, current fid 0x10, vid 0x2
  powernow-k8: ph2 null fid transition 0x10
  
  • Both suspend (memory) and hibernate (disk) work. I use the hal scripts. As far as I can tell, on my system that means that either "mem" or "disk" is echoed into /sys/power/state. I haven't tried the suspend2 sources since they are masked for amd64.

[edit] Links

Personal tools