HP Compaq nx6325
From Gentoo Linux Wiki
| 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 |
[edit] 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.
- This information is also likely to be useful for some other HP nx and nc laptops that share similar/identical components.
- This is no step-by-step guide to install Gentoo. For that, go to the Gentoo website. They have done a great job. This guide is meant to be a hint what to look for during install. And of course for those who are interested in this laptop and want to know if it can be used with Gentoo or other Linux distributions.
Author: CWache (chris at secondfoundation dot net). If you have any questions or suggestions drop me a mail. Beware: greylisting and spam filters ahead!
[edit] 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!
[edit] On we go ...
[edit] Currently supported/working Hardware
- ATI integrated Graphics ATI X300. Full DRI/DRM Working! Update 05/06/2007: Working(not yet stable) 3D support is in latest development version of OSS driver. With glxgears I got more than 1000 fps. NOTE: You will need MESA and DRM from GIT, otherwise it won't work. There have also been made changes to xf86-video-ati beyond 6.6.192, which might not be included in the version, which is in portage right now. So, you better wait for MESA 7.0 hitting portage. trilexx
- Synaptics Touchpad
- HP's Integrated Bluetooth Broadcom Chipset (Leon Lessing has reported success)
- Broadcom BCM4310 Wireless 802.11 a/b/g
- Broadcom NetXtreme BCM5788 Gigabit Ethernet
- Texas Instruments Cardbus (PCMCIA) Bridge
- ATI Technologies Inc SB450 HDA Audio (recording is not fully supported, see [1] and [2]). Recording works with linux 2.6.26.
- Texas Instruments 5-in-1 Multimedia Card Reader
- Finger Print Reader (not yet stable)
[edit] Currently unverified Hardware
- Integrated Modem (no need for it anyway)
- Bluetooth (I just can't find a decent, full-size bluetooth mouse. Drop me a note, if you know one !)
- FireWire (Modules load fine, so I guess it should work. I just don't have a device to try it.)
[edit] 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) |
[edit] Configuration
[edit] The important 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:
- ThermalZone: Kernel Bug 5543 : Patch
- AC/Battery: Kernel Bug 6455 : Patch
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.
[edit] 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.
[edit] 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.
[edit] Xorg and Configuration
For the basics, see the modular Xorg FAQ.
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" |
[edit] PC Card
See this guide. The socket is yenta-compatible.
[edit] Onboard Gigabit Ethernet
See this guide.
[edit] Onboard Wireless (802.11)
See the Broadcom 43xx article.
[edit] 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).
[edit] 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)
[edit] Modem
The modem is supported by the hsfmodem. See this HowTo.
[edit] 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)
[edit] 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:
- tifm_core
- tifm_7xx1
- tifm_sd
- mmc_block
| 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.
[edit] 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!
[edit] 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.
[edit] 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:
- Thermal and Fan Control (only patches/workarounds)
- AC/Battery Status (only patches/workarounds)
- Sometimes it just won't boot (Read this, and for a solution go here.
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:
- fans spinning, DVD seeking, black screen (backlight completely off)> nothing
- fans spinning, DVD seeking, black screen but backlight on and a blinking cursor > nothing
- the system eventually boots, but the the HP logo stays for much longer, the F9 / F10 Options disappear like in slow motion, Gentoo boots but stops two times for a second at the kernel messages and shows strange behaviour after that (for example, the AC/Battery status won't be updated anymore despite the patch)
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:
- The ACPI error during boot (Found unknown opcode ) is gone
- The ACPI error during boot (Unknown GPE method) is still there
- Thermal readings and fan control is working without patch
- "noapci" on the kernel boot line is not neccessary anymore. The APIC errors in the dmesg output are gone.
- Battery/AC Updates is still not working out-of-the-box. The old patch I linked above is not working anymore. I've attached a new one:
| 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:
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/*/*
|
[edit] 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.
[edit] Links
In addition to the already provide links above, I find these to be very useful:
