Search:  
Gentoo Wiki

HP_Compaq_nx6325

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

This article is still a Stub. You can help Gentoo-Wiki by expanding it.

Contents

A guide to install Gentoo on the HP Compaq nx6325

Since I'm a wiki n00b, I shamelessly stole most of the formating from this HP Compaq nc6220 article. Which is a good source also, btw.

Note:

Author: CWache (chris at secondfoundation dot net). If you have any questions or suggestions drop me a mail. Beware: greylisting and spam filters ahead!


Introduction

The Compaq nx6325 series is HP's first AMD Turion X2 laptop. For it's features it's a great bargain, if you don't mind the integrated graphics of the ATI Radeon Xpress 200M (aka Xpress 1150) chipset wich comes in form of an integrated X300 Mobile. I purchased the currently available top model with Turion X2 -TL 60 (2x 2GHz) CPU, 1x 1024 MB RAM (yes, only ONE module and so a lot of computing power ist wasted because the AMD Turion has a two channel RAM interface. I'll add a second 1024 MB stick soon), 15" SXGA Display (1400x1050), 80 GB HDD and a Multi DVD burner with lightscribe. All that and more for less than € 1200,-.

(2007/04/11) There is no lightscribe!

On we go ...

Currently supported/working Hardware

Currently unverified Hardware

Output of lspci

Code: lspci
00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 10)
00:01.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:04.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:05.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:06.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:12.0 IDE interface: ATI Technologies Inc IXP SB400 Serial ATA Controller (rev 80)
00:13.0 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller (rev 80)
00:13.1 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller (rev 80)
00:13.2 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller (rev 80)
00:14.0 SMBus: ATI Technologies Inc IXP SB400 SMBus Controller (rev 81)
00:14.1 IDE interface: ATI Technologies Inc IXP SB400 IDE Controller (rev 80)
00:14.2 Audio device: ATI Technologies Inc IXP SB4x0 High Definition Audio Controller (rev 01)
00:14.3 ISA bridge: ATI Technologies Inc IXP SB400 PCI-ISA Bridge (rev 80)
00:14.4 PCI bridge: ATI Technologies Inc IXP SB400 PCI-PCI Bridge (rev 80)
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
01:05.0 VGA compatible controller: ATI Technologies Inc RS485 [Radeon Xpress 1100 IGP]
02:01.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5788 Gigabit Ethernet (rev 03)
02:04.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
02:04.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
02:04.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
02:04.3 SD Host controller: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller
30:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 01)

Configuration

The important first

Warning: Read this first!

The DSDT table and as a result the ACPI management seems to be badly broken with the original BIOS (Version F00). The latest Knoppix 5.01 won't even boot. Booting with Gentoo LiveCD works but you'll need the latest Kernel 2.6.17-r1 with two patches to get the temperature / battery readout and the fan control working. Without that, the CPU might overheat and get damaged during heavy load (such as compiling a Gentoo stage ...)!

Note: The above is not true as far as I can tell. Please refer to this post According to one of the AMD moderators, "Also note that all AMD 8th-Generation processors (both desktop and mobile) have a built-in, hardware-enforced thermal protection which is designed to shut down the core in order to prevent possible damage once its temperature exceeds the specified threshold." Furthermore, refer to the following post on the ACPI mailing list "The author is wrong. Recent HP laptops all have hardcoded support in the fan control hardware, which will force the fan on if the temperature rises above 80 degrees."

Note to the anonymous Note: First, while it is certainly true that the CPU switches off due to "hardware-enforced thermal protection ", the surrounding component boiling at maybe 90°C won't get any better .... Second, I don't give a sh#t what HP says about hardcoded fan control. They are supposed to have a error free, ACPI0compliant BIOS too, no? Fact is, I still can reproduce it any time I want. Just boot an unpatched kernel, compile a bigger package (gcc) and just wait until you burn your fingers on the Q key and X gets slow to the crawl (CPU built-in thermal throttling). Then do a cat /proc/acpi/thermal_zone/TZ*/* and plopp it goes and off it wents. If you're fast enough you'll notice the 110°C on your display... (Chris)

See these bug submissions for more information:

Update 08/19/2006: HP has released a new BIOS. Please see my rant further down for more information.

You can verify if the temperature and fan control is working by doing cat /proc/acpi/thermal_zone/TZ*/*

That should get you something like this :

enceladus linux # cat /proc/acpi/thermal_zone/TZ*/*
<setting not supported>
cooling mode:   active
<polling disabled>
state:                   ok
temperature:             34 C
critical (S5):           105 C
passive:                 95 C: tc1=1 tc2=2 tsp=100 devices=0xf7fcefe0 0xf7fce1e0
active[0]:               75 C: devices=0xf7f9a9c0
active[1]:               65 C: devices=0xf7f9c920
active[2]:               55 C: devices=0xf7f9c8a0
active[3]:               45 C: devices=0xf7f9c820
<setting not supported>
cooling mode:   passive
<polling disabled>
state:                   ok
temperature:             42 C
critical (S5):           100 C
passive:                 90 C: tc1=1 tc2=2 tsp=300 devices=0xf7fcefe0 0xf7fce1e0
<setting not supported>
cooling mode:   passive
<polling disabled>
state:                   ok
temperature:             35 C
critical (S5):           100 C
passive:                 60 C: tc1=1 tc2=2 tsp=300 devices=0xf7fcefe0 0xf7fce1e0

As you can see, there are three thermal zones with CPU, video and probably case from top to down. Here, the current CPU temperature is at 34°C with state ok. That means the fan is spinning at the lowest level. Pretty amazing for a Dual Core CPU (Powernowd is running and sets the CPU to low power mode. More later). The fan will change to higher rev at 45°C and state would change to active [3] . If you run something lightly CPU intensive or powernowd isn't yet running, you're probably at this state. This is still nearly unaudiable. Even active[2] is still low noise. Never managed to get active[0] so far even during summer and 25°C ambient. So cooling is no concern with this laptop under normal circumstances and working power management.

It's normal that those threshold temperatures will change once they are reached. For example, if you reach 45°C the fan spins faster and the threshold changes to 40°C. So it will slow down when the temperature drops down to 40°C. This is called hysteresis.

So now to see if it's working do a watch cat /proc/acpi/thermal_zone/TZ*/* in one console and in the other do something CPU intensive like openssl speed. You now should see the CPU temp rising and when a threshold is reached, the state should change and the fans should spin faster (or slower if the temp is going down again).

Note by JulianMorrison : the linked kernel bug reports above suggest that the ACPI heat events get lost causing the queue of ACPI events to wedge, making the fans not activate and the battery status stall. Running cat /proc/acpi/thermal_zone/TZ*/* or acpi -t will process the thermal event and unwedge the queue. As a workaround, putting this in your crontab might be advantageous.

make.conf

Read this: Safe Cflags#Turion64 (AMD)

File: /etc/make.conf
CFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

#ACCEPT_KEYWORDS="amd64 ~amd64"     # for having an unstable system :)
#MAKEOPTS="-j3"               # for using both CPU's when compiling

#VIDEO_CARDS="radeon vesa"    # if you want to use the oss kerneldriver and vesa as fallback
#VIDEO_CARDS="fglrx vesa"     # if you want to use the amd(ati) blob driver

#INPUT_DEVICES="evdev mouse keyboard synaptics"    # this might be enough input
#ALSA_PCM_PLUGINS             # might be usefull  Gentoo-Wiki's ALSA reference


## non hardwarespecific content goes here:
#LINGUAS="de en"              # for multilanguage-support
#...

Read this for USE="" or MAN make.conf 5 for further readings.

Kernel config

FIXME: add my kernel config here

I have build nearly all my modules into the kernel.

This is my kernel .config which applies to the recent 2.6.20-gentoo-r2.

Xorg and Configuration

For the basics, see the modular Xorg FAQ.

Note: New ATi drivers are XOrg 7.1 capable although a user comments that he had to upgrade to xorg-server-1.1.1 to remove some errors. Read ATI drivers

I use the latest ATI 8.26.18-r1 drivers. Since those drivers are still not xorg7.1 capable, you'll have to mask those along with the related ebuilds:

File: /etc/portage/packages.mask
>=x11-base/xorg-server-1.1.0-r1
>=x11-base/xorg-x11-7.1
>=x11-drivers/xf86-video-vesa-1.2.0
>=x11-drivers/xf86-input-keyboard-1.1.0
>=x11-drivers/xf86-video-ati-6.6.0
>=x11-drivers/xf86-input-mouse-1.1.0

You can compile the vesa and radeon framebuffer into your kernel. But no DRI please. See also the Gentoo ATI-Howto

To get a nice resolution console screen and to get rid of the mttr error (because the radeonfb and ATI drivers are fighting for it), try to add this to your kernel boot line in grub:

video=vesafb:nomtrr:3,ywrap,1400x1050-16@60

To get USB mouse AND touchpad to work:

File: /etc/X11/xorg.conf
###########################
Section "InputDevice"
###########################

 Driver       "mouse"
 Identifier   "Mouse[1]"
 Option       "ButtonNumber" "5"
 Option       "Buttons" "5"
 Option       "Device" "/dev/input/mice"
 Option       "Name" "Autodetection"
 Option       "Protocol" "auto"
 Option       "Vendor" "Sysp"
 Option       "ZAxisMapping" "4 5"

EndSection

############################
Section "InputDevice"
############################

 Driver       "mouse"
 Identifier   "Mouse[2]"
 Option       "Buttons" "5"
 Option       "Device" "/dev/input/mice"
 Option       "Name" "Autodetected"
 Option       "Protocol" "auto"
 Option       "Vendor" "AutoDetected"
 Option       "ZAxisMapping" "4 5"

EndSection


and add this to the ServerLayout section:

File: /etc/X11/xorg.conf
InputDevice    "Mouse[1]" "CorePointer"
InputDevice    "Mouse[2]" "SendCoreEvents"

A common problem is, that as user you get no DRI as user but as root it works fine. So add this:

File: /etc/X11/xorg.conf
Section "DRI"
   Group "video"
   Mode 0660
EndSection

And make sure you add your user to the video group.

To get the Display brightness buttons to work even under X, put this line (or uncommend it) in your /etc/X11/xorg.conf under Section "Device":

File: /etc/X11/xorg.conf
Option      "UseInternalAGPGART" "no"

PC Card

See this guide. The socket is yenta-compatible.

Onboard Gigabit Ethernet

See this guide.

Onboard Wireless (802.11)

See the Broadcom 43xx article.

Onboard Bluetooth

Not set up and not tested. But since the HW is not much different, this guide should work just fine.

Update 2006/08/12 - Bluetooth works 100% with kbluetoothd daemon. (Leon Lessing)

Update 2006/09/28 - If you want to use Bluetooth headset (i.e. Plantronics Voyager 510) read the article about using bluetooth headset and especially pay attention to troubleshooting section, because unfortunately the laptop has builtin Broadcom controller. After patching my kernel 2.6.17-gentoo-r8, headset started working, but the voice often disappers. (Tomasz Chilinski).

Update 2007/01/02 - If you use gentoo-sources 2.6.18 or later you should modify hci_usb.c file with adding the following code snippet to blacklist_ids[] table (Tomasz Chilinski):

Code: drivers/bluetooth/hci_usb.c
...
   /* HP nx6325 with Broadcom chip */
   { USB_DEVICE(0x03f0, 0x171d), .driver_info = HCI_WRONG_SCO_MTU },
...

Update 2007/03/27 - Modification above is not needed with kernel version 2.6.20 or later (Tomasz Chilinski).

Onboard Sound

Once again, the kernel modules snd_intel_hda won't work. Try the alsa ebuild as described here. If it still won't work then try this.

Annotation 2006/11/28 - With 2.6.18-r3, you can use the snd-hda-intel module.

Even then, it wouldn't work for me. After searching back and forth, I had to add/change this:

File: /etc/modprobe.d/alsa
alias snd-card-0 snd-hda-intel
options snd-hda-intel model=hp position_fix=1 enable=yes

Afterwards run update-modules.

To make the keyboard keys for sound up/down and mute work, prepare the following file:

File: ~/.Xmodmap
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume

and then if you want to enable these keys in KDE create the following script in your home directory:

File: ~/.xprofile
/usr/bin/xmodmap ~/.Xmodmap

If you need more informations, read article about using multimedia keys.

Update 2006/11/26 - In KDE the keyboard keys for sound up/down and mute worked for me without the files .Xmodmap and .xprofile after I changed the keyboard layout to type "Hewlett-Packard Internet Keyboard" in Control Center -> Regional & Accessibility -> Keyboard Layout. (Oliver Löhr)

Modem

The modem is supported by the hsfmodem. See this HowTo.

Finger Print Sensor

After trying it in Windows XP, I found this toy to be extremly...cool. :)

I will try to set it up later, but already provide links down in the link section.

Update (07/09/2006): The link below contains an ebuild that doens't work with new gcc >= 4.x versions. This link contains a patch for this. I have modified the ebuild will make it available soon. Just let me do some more testing.

Update (07/11/2006): OK, now. This fingerprint sensor is diffferent from the Think Pads. It's no Upec but an AuthenTec AES 2501:

Code: lsusb -v
Bus 003 Device 002: ID 08ff:2580 AuthenTec, Inc.
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               1.10
 bDeviceClass          255 Vendor Specific Class
 bDeviceSubClass       255 Vendor Specific Subclass
 bDeviceProtocol       255 Vendor Specific Protocol
 bMaxPacketSize0         8
 idVendor           0x08ff AuthenTec, Inc.
 idProduct          0x2580
 bcdDevice            6.21
 iManufacturer           0
 iProduct                1 Fingerprint Sensor
 iSerial                 0
 bNumConfigurations      1
 Configuration Descriptor:
   bLength                 9
   bDescriptorType         2
   wTotalLength           32
   bNumInterfaces          1
   bConfigurationValue     1
   iConfiguration          0
   bmAttributes         0xa0
     Remote Wakeup
   MaxPower              100mA
   Interface Descriptor:
     bLength                 9
     bDescriptorType         4
     bInterfaceNumber        0
     bAlternateSetting       0
     bNumEndpoints           2
     bInterfaceClass       255 Vendor Specific Class
     bInterfaceSubClass    255 Vendor Specific Subclass
     bInterfaceProtocol    255 Vendor Specific Protocol
     iInterface              0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x81  EP 1 IN
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0020  1x 32 bytes
       bInterval               0
     Endpoint Descriptor:
       bLength                 7
       bDescriptorType         5
       bEndpointAddress     0x02  EP 2 OUT
       bmAttributes            2
         Transfer Type            Bulk
         Synch Type               None
         Usage Type               Data
       wMaxPacketSize     0x0008  1x 8 bytes
       bInterval               0

There's more info at Ubuntu and from this guy, who is also working an a GUI frontend based on SANE. To quote: "When Authentec was contacted in January of 2006, they also stated that they were working on a linux driver, to be released within six months." Hopefully, once the drivers are released, they can be used with the bioapi framework.

Update (09/03/2006): There's Linux mentioned as supported OS in the Authentec's AES 2501B product specification.

There is apparently a test suite for the Authentec sensors available. I've not tested it but it might be a good start - seems to include source for some driver? If not it could be reverse-engineered. [3]

Update (09/03/2006): This test suite has size only 500 kB. There is NO source code for any Authentec in this suite. AES 4000 is only supported in this. All capabilities of this suite are linked in one executable.

For now: - may be working -

Update (09/05/2006): There exist description of the data format used in authentec devices at this site as you can see. Thanks for Andreas Grotz. I hope it takes not so long to release working linux driver.

Update (09/13/2006): First USB userspace driver was released.


Update (10/18/2007): here is some more info: http://www.qbik.ch/usb/devices/showdev.php?id=3444 still some work to do :/ http://home.gna.org/aes2501/index_en.html

Update (11/17/2007): Recently was released project fprint which should have support for fingerprint sensor AuthenTec AES 2501. This sensor is found in this laptop and in other HP laptops. See [4] for list of supported devices. There is mentioned laptop HP nx6125 but nx6325 has the same sensor. I don't have time to test it now but I think it could finally works. :)

Update (12/28/2007): The fprint solution works well. Setup is really straight forward all the info you need is on fprint site. It only works for logging into your laptop and unlocking a locked screen right now, so dont expect it to integrate with KWallet or Keyring. (RadKingZ)

Onboard cardreader

Apparently it works when using a >= 2.6.17 kernel and running setpci -s 02:04.2 4c=0x22 to enable it. "02:04.2" is the pci address ( use /sbin/lspci | grep "Multimedia Card Reader" or similar to find it). Add this command to the /etc/conf.d/local.start. [5]

For the support of SD and MMC card you need to enable sdhci and tifm7xx1 modules.

Under 2.6.24.2 I don't have to use setpci to enable device. I just compile kernel as described below, and insert modules:
Linux Kernel Configuration: At least 2.6.19 kernel
Code maturity level options  --->
     [*] Prompt for development and/or incomplete code/drivers
Device Drivers  --->
     Misc devices  --->
          < > Device driver for IBM RSA service processor
          < > SGI IOC4 Base IO support
          <M> TI Flash Media interface support (EXPERIMENTAL)
          <M>   TI Flash Media PCI74xx/PCI76xx host adapter support (EXPERIMENTAL)
          < > MSI Laptop Extras
     MMC/SD Card support  -->
          <*> MMC support
          [ ]   MMC debugging
          <M>   MMC block device driver         
          [*]     Use bounce buffer for simple hosts
          <M>   Secure Digital Host Controller Interface support  (EXPERIMENTAL)
          < >   Winbond W83L51xD SD/MMC Card Interface support
          <M> TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)
     File systems --->
          <*> DOS FAT fs support
          <*> MSDOS fs support
          < > UMSDOS: Unix-like file system on top of standard MSDOS fs
          <*> VFAT (Windows-95) fs support

After compiling kernel and inserting SD card you should see:

ensima-hp linux # cat /proc/partitions
major minor  #blocks  name
  8     0   97685784 sda
  ...
  8     8    4173088 sda8
179     0      14560 mmcblk0
179     1      14531 mmcblk0p1

Now you can mount it by doing mount /dev/mmcblk0p1 /mnt/sd

For the further configuration follow SD and MMC card readers and Multicard reader.

Suspend-to-Disk

Not tried. But see this guide from above. He has done a good job.

Update 2007/04/03 - It works great with kernel 2.6.21-rc5 without any special tweaking!

Suspend-to-RAM

Update 2007/04/03 - It works great with kernel 2.6.21-rc5 without any special tweaking!

Question 05/05/2007: Anybody using the 2.6.21 gentoo sources and got suspend working? If so, could you post your config or give hints? I followed the gentoo Powermanagment guide, but since 2.6.21 suspend is broken for me. trilexx

Answer 08/05/2007: With kernel 2.6.21rc5 suspend was working. I don't know why but with final release 2.6.21 ( maybe 2.6.21rc7 too ) suspend isn't working anymore for me. So I tried kernel suspend2-sources-2.6.21 and it works. Here are my hibernate configs: Matysek

File: /etc/hibernate/ram.conf
EnableVbetool yes
VbetoolPost yes
File: /etc/hibernate/common.conf
UnloadBlacklistedModules yes 
LoadModules auto

DownInterfaces eth0
UpInterfaces auto
MuteAudio yes

EnableVbetool yes
VbetoolPost yes

Reply 17/05/2007: This won't do it for me at all. If I call hibernate-ram it will suspend but never wake up anymore. Could you post a more detailed procedure of how you got it working? Your kernel config would be great... Maybe we can put some infos online, so everybody can get it working. I had it working fine before, but with the new kernel 2.6.21-suspend I'm running out of ideas...

Update 24/05/2007: I didn't mention that i use BIOS version F.06 and Gentoo in 64-bit mode. I hope my kernel config can someone help. Don't forget to change settings in section Native Language Support to fit your local needs. Here is my kernel config with working suspend to ram: see this subpage

File: /etc/hibernate/common.conf
LockXLock 0
FullSpeedCPU yes
Verbosity 1
LogFile /var/log/hibernate.log
LogVerbosity 4
Distribution gentoo
UnmountFSTypes nfs4
UnloadModules ppp_generic bcm43xx mmc_block mmc_core sdhci tifm_7xx1 tifm_core tifm_sd ohci1394 ieee1394
UnloadBlacklistedModules 1
#UnloadAllModules 1
RestartServices alsasound
LoadModules auto
GentooModulesAutoload 1
DownInterfaces wlan0 eth0 ppp0
UpInterfaces wlan0 eth0
MuteAudio 1
PauseAudio 1
EjectCards 1
File: /etc/hibernate/ram.conf
# This file is used when suspending to RAM. Add any configuration options
# specific to suspend-to-RAM to this file. Ordering is not crucial, and options
# are not case-sensitive.
# 
# See hibernate.conf(5) for help on the configuration items.

USuspendMethod ram

# The following vbetool settings help with > 50% of laptops.
USuspendRamForce yes
EnableVbetool yes
VbetoolPost yes
#RestoreVCSAData yes

# Users with a Radeon graphics card may need to enable this line for
# suspend-to-ram, and install the radeontool program available from
# http://fdd.com/software/radeon/ or your distribution's package.
# 
#RadeonTool yes

Include common.conf

trilexx@30/06/2007: Similar settings work for me too, using gentoo-sources-2.6.21-r3 in 32 Bit mode. Be sure to DISABLE the High-resolution-Timer in the kernel, otherwise resume will hang.

ACPI Configuration

As I already mentioned, the DSDT / ACPI tables of this laptop and BIOS F00 seems to be badly broken. If you're not interrested, skip this section entirely.

I extracted the DSDT table and tried to recompile it with iasl so it spits out the errors. I fixed them and only left the warnings (to which I had no solutions anyway) and patched my kernel and initramfs to load the custom DSDT instead. Well, it works but didn't fix anything.

Things that are broken/need patching:

The latter is a rather strange issue. I noticed this after the initial Windows XP setup. The system did a reboot but hung with a black screen. I had to stay on the power switch for 5 seconds to turn it off. But after turning on again, still black screen. Fans are spinning, DVD is seeking but nothing else. I took out AC and battery, put them back in and still nothing. I got pissed. But the fourth try surpsingly went through.I thought what the hell and moved on with my repartition and install (Gentoo of course).I had to reboot a few times and got the same behaviour again. Only that sometimes it worked the first try, sometimes I needed a couple of power off/on cycles. And there are three versions of "not booting" as strange as it sounds:

If the system comes up, and the HP logo and boot options disappear in about 5 seconds, then it's all fine. No "stop" during boot, AC/Battery status works as intended.

Just for information, here are the acpi errors (only the errors):

Code: dmesg output
...
ACPI Error (psloop-0193): Found unknown opcode FD at AML address f8802706 offset E8, ignoring [20060127]
ACPI Error (psloop-0193): Found unknown opcode FD at AML address f88027f7 offset 1D9, ignoring [20060127]
ACPI Error (psloop-0193): Found unknown opcode FD at AML address f8802706 offset E8, ignoring [20060127]
ACPI Error (psloop-0193): Found unknown opcode FD at AML address f88027f7 offset 1D9, ignoring [20060127]
...
ACPI Error (evgpeblk-0284): Unknown GPE method type: C34E (name not of form _Lxx or _Exx) [20060127]
ACPI Error (evgpeblk-0284): Unknown GPE method type: C253 (name not of form _Lxx or _Exx) [20060127]
ACPI Error (evgpeblk-0284): Unknown GPE method type: C34F (name not of form _Lxx or _Exx) [20060127]
ACPI Error (evgpeblk-0284): Unknown GPE method type: C350 (name not of form _Lxx or _Exx) [20060127]
ACPI Error (evgpeblk-0284): Unknown GPE method type: C21D (name not of form _Lxx or _Exx) [20060127]
ACPI Error (evgpeblk-0284): Unknown GPE method type: C351 (name not of form _Lxx or _Exx) [20060127]
ACPI Error (evgpeblk-0284): Unknown GPE method type: C352 (name not of form _Lxx or _Exx) [20060127]
...

I search Google for those errors but couldn't find anything useful.

Also I get dozens and dozens of those (it's APIC and not ACPI but related):

Code: dmesg output
APIC error on CPU0: 40(40)

Update 13. May 2008: http://bugzilla.kernel.org/show_bug.cgi?id=9753

Searching Google, the common opinion on this is: mostly harmless. My feeling says bullsh*t. They say disable it with noapic on the kernel options. But with this, I'd probably disable the SMP code also and would lose my second CPU core. I'd really, really like to know what's going on. So if someone with more ACPI knowledge could look into this? I can provide the DSDT with my fixes and all. At this point, I even can't rule out faulty hardware. I've got three years on-site NBD support, so maybe I'll give it a try.

Update 07/17/06: After running into even more problems (VMWare won't run), I just tried it. I added

noapic

to my kernel boot line. Now the APIC errors shown in dmesg are gone. And VMware works just fine. I'll report if any problems occur. Just for reference, here's my complete boot line:

kernel (hd0,2)/kernel-2.6.17-gentoo-r2 pci=assign-busses noapic root=/dev/sda6 video=vesafb:nomtrr:3,ywrap,1400x1050-16@60

Update07/23/2006: I found time to fix the DSDT Table. You can get it here. This is the ready compiled version to include in your initramfs or kernel. If you want the source, drop me a mail.

Update 08/12/2006: Starting my notebook from 'cold' on batteries causes thermal run-a-way, but I have downlaoded 2.6.17.8 and applied the 2.6.17 acpi patch, now at least the temperatures updates and it shows the run-a-way, but the fans statys 'off'. I have not found a way to manually start the fans. (Leon Lessing) New edit updating my BIOS to F.02 has fixed the run-away hassle.

Update 08/19/2006: My notebook died last week. It simply wouldn't turn on anymore or shut down after a few seconds. I got the systemboard replaced. My problems with "not booting" are now gone. I also noticed that HP finally published a new BIOS F.02. I immediately flashed it and upgrade to gentoo-sources 2.6.17-r5. Results:

File:
--- linux-2.6.17-gentoo-r5/drivers/acpi/ec.c    2006-08-19 09:12:19.000000000 +0200
+++ /root/temp/linux-2.6.17-gentoo-r5/drivers/acpi/ec.c 2006-08-19 08:43:39.000000000 +0200
@@ -243,6 +243,7 @@

       case ACPI_EC_EVENT_IBE:
               if (~acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF)
+                    ec->intr.expect_event = 0;
                       return_VALUE(0);
               break;
       }

@@ -787,19 +787,22 @@
       case ACPI_EC_EVENT_OBF:
               if (!(value & ACPI_EC_FLAG_OBF))
                       break;
+               ec->intr.expect_event = 0;
+               wake_up(&ec->intr.wait);
+               break;
       case ACPI_EC_EVENT_IBE:
               if ((value & ACPI_EC_FLAG_IBF))
                       break;
               ec->intr.expect_event = 0;
               wake_up(&ec->intr.wait);
-               return ACPI_INTERRUPT_HANDLED;
+               break;
       default:
               break;
       }

Update 08/19/2006:

I'm now playing with the 2.6.18-suspend2 kernel. As suspected, ACPI thermals and fans didn't work. For solutions please see my Bugzilla entry.


Update 11/12/2006:

For me were issues with Fan/Thermal fixed using updated BIOS and 2.6.18-suspend2 kernel with options noapic and nolapic together with these three patches:

[6], [7], [8]

The noapic and nolapic options should be AFAIK used only on the Sempron versions of the nx6325 (such as mine is) because on dulacore Turion64 based boxes it is necessary to have APIC enabled because of SMP. (Question: does the noapic question really disable or interfere with dual core? trilexx) But without these options passed to the kernel my suspend-to-disk hangs.

So now I have even suspend-to-disk (haven't tried RAM) working and correct ACPI behavior... (Ctibor Brančík)

Update 11/23/2006:

A few corrections. The following patches fix thermal and fan control problems if you don't need to use S4 state: [9], [10].

Otherwise you have to apply those patches too: [11], [12].

More details about mentioned patches at [13] and [14] respectively.

Afterwards both S3 and S4 (swsusp) states work. There are some minor problems, but aren't critical. No need for kernel parameters noapic and nolapic. Remember to change DPMS mode of display (use vbetool) and to unload a few nasty modules (rfcomm, hidp, l2cap, ohci1394, bluetooth, button, sdhci, ohci_hcd, uhci_hcd) before changing your box state. In short make some scripts that handle this or use ready-to-go tools like pm-utils.

Don't use F.04 BIOS as it screws S3 and S4 up totally. Although you might find it useful just to enable TPM module (and then go back to F.02). All my comments apply to 2.6.18.2 kernel and Turion X2 box. (user who doesn't quite understand why HP - ironically co-founder of the standard - is unable to provide fully compliant ACPI implementation)

ATTENTION: There is a thread in the official forums of HP containing a request for a bios with a fixed dsdt table and full linux acpi support. Please post there. I know that this did help in the case of the nx7400, HP answered with a fixed BIOS. Click here to check out the Thread and make some noise! :) trilexx

Update 2/24/2007: With linux prepatch release 2.6.21-rc1 the acpi problems are gone :-)

Update 3/24/2007: Use a kernel greater than 2.6.21-rc4-git7 to be able to boot on battery. There was a local APIC timer problem with earlier versions.

Update 4/18/2007: I experienced that sometimes the fans, wich ran before suspend, don't come up again on newer kernels, no matter what bios-version i am using. This makes them work then again:

File:
#!/bin/bash

# public domain 2007 - Markus Brechtel (chaotika) <markus@b-r-e-c-h-t-e-l.net>

# This script makes the fans wich ran before suspend come up after resume again on HP nx6325.

acpi -t
cat /proc/acpi/fan/*/*

for fanstate in $( ls /proc/acpi/fan/*/state ); do
        echo 0 > $fanstate;
done

cat /proc/acpi/fan/*/*

PowerNow

Intels equivalent is SpeedStep. Basicly, it means that the CPU is clocked down and the voltage is reduced to save power during low or no processing demand. Good idea to use it. Look at the kernel config section for the options and emerge powernowd. Add it to the default boot scripts. It works fine out of the box but of course you can tweak it through config files.

In KDE I just used KLaptop for the Battery/AC status and some more useful settings.

Links

In addition to the already provide links above, I find these to be very useful:

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

Last modified: Mon, 22 Sep 2008 13:52:00 +0000 Hits: 30,962