Running FreeBSD on the HP Compaq nx9005
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 |
 cpu cooler with heatpipes! |
 cpu with cooler removed |
 closeup of cpu |
 cpu cooler |
 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.