Running FreeBSD on the HP Compaq nx9005

introduction | hardware | images | configuration | contact

© 2004-2009 Sascha Klauder | last update 2009-09-15

News & Updates

Update 2009-09-15:
Last Update: I've sold the nx9005 the other day and now use an Acer Aspire One 531, which, after a somewhat disturbing experience of running Ubuntu 8.10, is now also powered by FreeBSD 8.0-BETA4 :-)

Update 2009-01-09:
Updated and/or removed some portions of the main page, as it is quite old now.
I've updated to FreeBSD 7.1-STABLE; fresh dmesg output is available at the usual place.

Update 2007-11-15:
Still have the nx9005, and it's still working :) Happily running 7.0-BETA2 now, see the main page for dmesg output. Got some trouble with the sound chip in recent 6-STABLE and RELENG_7, but Ariff fixed that pretty fast, as always. Thanks Ariff!
Even the DRI seems to be working now, somewhat. I get ~21 fps in glxgears.

Update 2006-04-21:
It was a boring afternoon, so I decided to disassemble my nx9005, after I did manage to drop it to the floor a few months ago. Which looked awful, but the nx9005 actually survived it with only a few dents and scrapes! Alas, the floppy drive did no longer work.

I've got a litte experience regarding the disassembly of laptop computers, and there was only one screw left after reassembling it :-) As always, the tricky part is to get the keyboard removed without breaking anything. Here's a good guide.

Some pictures from inside:
mainboard
mainboard
closeup of mainboard
cpu cooler with heatpipes!
cpu with cooler removed
cpu with cooler removed
closeup of cpu
closeup of cpu
cooler
cpu cooler
testing
testing :)
In other news: I've got 6.1-RC1 running without any trouble. New dmesg output available here (in case you were wondering; I've replaced the CD-RW drive with a DVD-RW). The ATI AGP driver has been MFCd quite a while ago. While it's working fine (that is, the X server does not crash), DRI performance is abysmal; dunno what I'm doing wrong. Suspend/resume still does not work, as always.

Update 2005-10-19:
Eric has committed the ATI IGP-AGP driver to -CURRENT on 2005-09-17 and it appears to be in a working state now. While I'm as of yet unable to get DRI working right on my nx9005, I had confirmation in private email from Evren Yurtesen that it is indeed running fine on his hardware.

Update 2005-07-08:
You might not be aware that there is an experimental AGP driver in the works, courtesy of Eric Anholt.
It builds & attaches fine, but my XOrg server freezes on startup with DRI enabled :-(
 agp0: <ATI RS100 AGP bridge> port 0x8090-0x8093 mem 0xd0400000-0xd0400fff,0xd4000000-0xd7ffffff at device 0.0 on pci0
 (II) RADEON(0): [drm] installed DRM signal handler
 (II) RADEON(0): [DRI] installation complete
 (II) RADEON(0): [drm] Added 32 65536 byte vertex/indirect buffers
 (II) RADEON(0): [drm] Mapped 32 vertex/indirect buffers
 (II) RADEON(0): [drm] dma control initialized, using IRQ 9
 (II) RADEON(0): [drm] Initialized kernel GART heap manager, 5111808
 (II) RADEON(0): Direct rendering enabled
Full Xorg.log file available here: Xorg.0.log
If you want to try for yourself, get the diff here: http://www.freebsd.org/cgi/query-pr.cgi?pr=i386/75251

Update 2005-05-04:
Now that cpufreq is merged and cpufreq drivers from -CURRENT can be used on -STABLE, I took the chance to see what powerd(8) has to offer.
It features an adaptive mode which adjusts the CPU clock according to the system load, which works pretty nice so far on my nx9005 with the recently commited powernow cpufreq driver:
 $ sysctl dev.powernow
 dev.powernow.0.%desc: PowerNow! K7
 dev.powernow.0.%driver: powernow
 dev.powernow.0.%parent: cpu0
 dev.powernow.0.freq_settings: 1782/-1 1452/-1 1056/-1 792/-1 660/-1 528/-1
If you're running 5.x-STABLE after 2005-02-25 and want to take a look; I've prepared a little snapshot and pre-compiled KLDs as well. See the configuration section for instructions.

Update 2005-04-11:
My nx9005 is now over a year old. No breakage, as of yet :-)
I don't use it very much though: the harddisk got only 473 power-on hours. The battery is wearing out for sure:
  # acpiconf -i 0 
  Battery 0 information
  Design capacity:        4400 mAh
  Last full capacity:     3392 mAh
  Technology:             secondary (rechargeable)
  Design voltage:         14800 mV
  Capacity (warn):        300 mAh
  Capacity (low):         200 mAh
  Low/warn granularity:   32 mAh
  Warn/full granularity:  32 mAh
  Model number:           02KT
  Serial number:          10566
  Type:                   LION
  OEM info:               SANYO
As an aside, some lamers are hotlinking my images, so I had to do HTTP referer checking. I'm sorry if this causes any problems for you.

Update 2004-11-17:
Michael Ranner was so kind to provide information about the built-in Broadcom WLAN chipset in his nx9005 and how to get it running using
Bill Paul's NDIS-wrapper (AKA Project Evil). Have a look at the configuration section. Thanks Michael!

Update 2004-10-04:
5.3-BETA6 is running along quite nicely so far, even with BIOS KA.M1.59. New dmesg(8), pciconf(8) and sysctl hw.acpi output
is available in the hardware section.

In the hope of getting suspend/resume functionality to work, I've recently played around with acpidump(8) and tried fixing my DSDT
(thanks Nate for helping with this), with no success so far -- it still freezes on resume :(
For what it's worth (at least, I don't get ACPI error messages anymore, but that is probably due to fixes in the new BIOS and/or in the
FreeBSD ACPI code), I've put up my modifications here. iasl(8) still complains about two warnings (missing return values); not sure
what to do about them yet (the ACPI docs are bulky!).

Update 2004-07-22:
Went back to BIOS revision KA.M.1.58, after 1.59 gave me frequent hard lockups and temperature-related emergency shutdowns to no end,
especially when running on AC power. I'd advise you to stay clear of 1.59!

Update 2004-07-18:
Updated to BIOS version KA.M1.59; now this annoying clicking noise when running on battery seems to be gone.
I've noticed the other day that the little buttons for the volume control actually generate keycodes, so xbindkeys can be used to make them work.
From my ~/.xbindkeysrc:
  "/usr/sbin/mixer vol -10"
    c:174

  "/usr/sbin/mixer vol +10"
    c:176
The mute button does not seem to work though.

Update 2004-04-02:
Bruno updated the powernow module (already some days ago, actually), so the patch is no longer necessary!

Update 2004-03-18:
Great news: thanks to Bruno Ducrot, who ported powernow-k7 from Linux, there is now working PowerNow on FreeBSD!
With a little help from Scott Lambert (thanks Scott!), I got Brunos experimental kernel module running on my nx9005:
  Powernow: frequency scaling yes -- voltage scaling yes
    0  1795500kHz  FID 15 (13.5)  VID 0b (1450mV)
    1  1463000kHz  FID 00 (11.0)  VID 0d (1350mV)
    2  1064000kHz  FID 0a ( 8.0)  VID 13 (1200mV)
    3   798000kHz  FID 06 ( 6.0)  VID 13 (1200mV)
    4   665000kHz  FID 04 ( 5.0)  VID 13 (1200mV)
    5   532000kHz  FID 12 ( 4.0)  VID 13 (1200mV)
  AMD Powernow K7 <1795500kHz 1450mV>
CPU temperature actually does not drop that much (~43°C in state 5), but battery life has increased considerably and the fan stays quiet most of the time. PowerNow state can be adjusted using a sysctl OID (hw.powernow.state).

Pick up the PowerNow module here. At least on the nx9005, you'll also need this little patch as well (courtesy of Scott Lambert). Bruno also found a little bug in sys/dev/acpica/acpi_cpu.c which prevented use of ACPI C2 and C3 idle states on some systems (including the nx9005). Be sure to get the fix for it as well!

Update 2004-03-03:
I'm on 5.2-CURRENT :-)
buildworld/installworld went pretty smooth, but buildkernel really takes a long time these days. Initially I had some trouble booting the new kernel, due to a bug in atapicam(4) which I had enabled in my kernel config (workaround: insert a CD-ROM in the drive).

ACPI throttling still does not work on the nx9005, and I had some odd problems with ACPI since the update; amongst them an ACPI emergency shutdown - with a reported CPU temperature of 138°C! shutdown -p does not work sometimes (does not turn the machine off), and I still get ACPI error messages when switching power profiles (plugging the power cord back in, that is):
  ACPI-0440: *** Error: Handler for [EmbeddedControl] returned AE_NO_HARDWARE_RESPONSE
  ACPI-1287: *** Error: Method execution failed [\\_TZ_.THRM._TMP] (Node 0xc40d63c0), AE_NO_HARDWARE_RESPONSE
Besides those small annoyances, everything is running fine. There are good news, too; the Radeon device is found now:
  drm0: <ATI Radeon RS100 Mobility U1> port 0x9000-0x90ff mem 0xe0100000-0xe010ffff,0xe8000000-0xefffffff irq 9 at device 5.0 on pci1
  info: [drm] Initialized radeon 1.10.0 20020828 on minor 0
There's still no DRI support though!:
  (WW) RADEON(0): Direct rendering not yet supported on IGP320/330/340/350, 7000, 9000 integrated chips 
Update 2004-03-01:
Got 5.2.1-RELEASE installed, after working around a quite annoying setlocale bug, which was breaking buildworld in src/lib/libedit (I used a german locale). For fix see PR#62047).

Although the release notes claim that the acpi(4) driver now supports ACPI 2.0 C1-C3 idle states, it does not seem to work on my nx9005: hw.acpi.cpu.cx_supported: C1/0.

As soon as I find some time, I'll try playing around with ACPI_DEBUG. In the meantime, I've also tested DVD playback with the built-in DVD-ROM drive - works beautiful with MPlayer, but only on AC power. Well I guess the battery would not last for 90 minutes anyway. Too bad.