HARDWARE HP Compaq nx9420

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

Contents

[edit] /etc/make.conf

CFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"
...

[edit] Kernel

I would recommend to always use the latest ~x86 kernel-source available, since linux support for nx9420 is getting better with every kernel version.

[edit] The "Bad State" ACPI problem

Note: Since the latest BIOS Release (F.19), this problem seems to be fixed, but another one was introduced (probably it already existed in F.17/F.18): The special keys aren't recognized any more. They're just dead.
Note: Actually, looks like the bad state problem is not only still there, but it's even worse. I have the F.19 BIOS and get into the "Bad State" ACPI problem after I put my ATI radeon card into powerstate 1 (to save energy). After that, no matter what I do with psmouse, I get into "Bad State" after reboot. When I boot Linux in "Bad State" I get terribly long delays on every ACPI subsystem access (also when the kernel itself boots); sometimes I can't power on the laptop (only the "charging" LED is lit, power button does nothing); so I need to remove the battery. Sometimes (as with the "charging" LED problem) I have to remove the battery for a few minutes.

Like other HP notebooks the nx9420 suffer from the "bad state" ACPI bug. It occures when psmouse is still loaded when the kernel shuts the notebook down and causes BIOS to take up to 30s for booting.

Workaround:

  • Compile psmouse as a module (needed for internal touchpad)
Linux Kernel Configuration: PS/2 Mouse

Device Drivers > Input device support > Mouse: Code:

   <M> PS/2 mouse
  • Add psmouse to /etc/modules.autoload.d/kernel-2.6
  • Add following line to /etc/conf.d/local.stop
rmmod psmouse
  • If your notebook is already in the bad state turn it off, unplug AC adapter AND remove the battery for a moment.

[edit] Audio

Linux Kernel Configuration: High Definition Audio

Device Drivers > Sound > Advanced Linux Sound Architecture > PCI devices: Code:

   <M> Intel HD Audio

The module gets loaded automatically at boot by coldplug.

[edit] X

To get the native display resolution of 1440x900 you need to install proprietary graphics drivers from Ati. Using an external display properly is quite tricky. Writing "1440x900" and "1280x1024" in one "Modes" line does not work for some reason. The only solution that worked for me was switching xorg.conf-files via script.


If you get errors like this in /var/log/Xorg.0.log and X doesn't want to start, try disabling framebuffer (CONFIG_FB) in the kernel.

 (II) fglrx(0):  SAMSUNG
 (II) fglrx(0):  LTN154P1-L02
 (II) fglrx(0): End of Display1 EDID data --------------------
 (EE) fglrx(0): PreInitDAL failed
 (EE) fglrx(0): PreInit failed
 (II) fglrx(0): === [atiddxPreInit] === end

There is also a bugreport at the unofficial ATI bugzilla: http://ati.cchtml.com/show_bug.cgi?id=509

[edit] Touchpad

see HARDWARE Synaptics Touchpad

[edit] Wireless

emerge ipw3945

Do not forget to start ipw3945d after modprobing the module, since this daemon is needed to load the firmware. This can be done by editing/adding these two lines in /etc/modprobe.conf

install ipw3945 /sbin/modprobe --ignore-install ipw3945; sleep 0.5; /sbin/ipw3945d --quiet
remove ipw3945 /sbin/ipw3945d --kill; /sbin/modprobe -r --ignore-remove ipw3945

As of ipw3945-1.2.0.ebuild this is done automatically.

Then continue as stated here

[edit] Ethernet

Linux Kernel Configuration: Tigon3

(Device Drivers > Network device support > Ethernet (1000 Mbit) : Code:

   <*> Broadcom Tigon3 support

ifplugd (and netplug) works fine with it.

[edit] CPU Frequency Scaling

See HOWTO Gentoo on laptops#CPU frequency scaling.

Choose Intel Enhanced SpeedStep.

If you want to use ondemand governor do the following:

  • Make sure ondemand governor is loaded
  • emerge sys-power/cpufrequtils
  • add these lines to /etc/conf.d/local.start
cpufreq-set -g ondemand -c 0
cpufreq-set -g ondemand -c 1
echo 10 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_down_factor
echo 10 > /sys/devices/system/cpu/cpu1/cpufreq/ondemand/sampling_down_factor

Attention: Beware of BIOS version F.12 as frequency scaling does not work with it! Use F.11 or lower. Since release F.17 frequency scaling is provided again, but only using the following workaround in /etc/conf.d/local.start the full scale is used. Otherwise the last frequency range isn't available.

for CPU in /sys/devices/system/cpu/cpu*;
do
	einfo "Setting maximum frequency for $(echo "${CPU}" | cut -d\/ -f6)";
	MAXFREQ="$(cut -d' ' -f1 ${CPU}/cpufreq/scaling_available_frequencies)"
	echo "${MAXFREQ}" > ${CPU}/cpufreq/scaling_max_freq
done

[edit] Modem

TODO

[edit] Bluetooth

Not tested yet, but [1] might help.

[edit] PCMCIA

TODO

[edit] Vanderpool (VT)

If you want to use Xen to run unmodified guests (like Windows), you should use BIOS F.19 or later, because in <F.19 this feature was locked by HP.

[edit] See

Personal tools