Running FreeBSD on the HP Compaq nx9005

introduction | news | hardware | images | configuration | contact

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

Introduction

  I've got an HP Compaq nx9005 in January 2004. I had only a few requirements; no desktop CPU, a 1024x768 display and a graphic chipset that is supported by XFree86 (running X.Org nowadays), a reasonably good keyboard, and, most importantly, an old-school DB9 serial port.

 Nevertheless, it took me quite some time to find an appropriate model. Interesting enough, the serial port proved to be the big hurdle since almost all new laptops (at least those sold in Europe) either don't have legacy ports at all anymore or have them only available through a (costly and unhandy) port replicator. I'd already considered getting an old Compaq Armada (or something similiar) on eBay when I found the HP Compaq nx9005, which not only has a DB9 serial port, but a parallel port as well!

 Below I'd like to address some aspects of the nx9005 and explain whether and how I got things to work.

Hardware

  The laptop looks pretty cool. There's a lot of plastic though, which looks a bit fragile, especially the display, but I'd guess one can't expect any fancy magnesium alloys in the ~1.100 US$ price range. But it got blue LEDs alright! :-) (see images). It turned out that most of the hardware is pretty well supported. Even ACPI works quite well. The CPU, despite being a "M" model, tends to heat up quite a bit (well it's an Athlon after all :) -- up to 71°C when running full steam on AC power, and about 46-51°C when running on battery.
CPU AMD Athlon™ XP-M PowerNow!™ supported in 5.4-STABLE and up
ACPI   generally working in FreeBSD 5.2-RELEASE and up, but has issues
(trouble with AC line detection, suspend/resume dysfunctional)
Ethernet NatSemi DP83815 10baseT/100baseTX, fully supported by sis(4) driver
Audio Acer Labs M5451 fully supported by pcm(4) driver with snd_t4dwave.ko KLD.
Video ATI Radeon Mobility U1 (Radeon IGP 320M) with shared memory supported in XFree86 4.3.0 via the radeon driver with 2D and XVideo acceleration. DRI supported on 6-STABLE and X.org 6.8.2
PCMCIA O2Micro OZ6933 PCI-CardBus PCCard (16 bit) & CardBus (32 bit) doing fine
USB Acer Labs M5237 (Aladdin-V) OHCI USB controller works fine
IEEE1394 Texas Instruments TSB43AB21 properly detected by fwohci(4) driver, but untested
WLAN (optional) Broadcom 54g MaxPerformance 802.11g supported using MS Windows® drivers via the ndis(4) wrapper (AKA Project Evil)
ATA Acer Labs M1543 Aladdin UDMA100 no problems with ATAng, S.M.A.R.T. monitoring works as well
DVD/CD-RW Toshiba DVD-ROM SD-R2512 works fine
Touchpad Synaptics touchpad fully supported by psm(4) driver
COM1 usual 16550A UART works fine out-of-the box. parallel port untested.
Modem Acer Labs N5457 AC97 modem softmodem -- not supported

Images

  I had a hard time finding some hi-res images on the net, since HP does not seem to provide some. Eventually I've found quite a few good ones on a Japanese website via AllTheWeb picture search. I include them here for your viewing pleasure. Unfortunately, I do not know if anybody holds copyrights on those images.

nx9005 left side nx9005 right side nx9005 back side
nx9005 keyboard nx9005 back side nx9005 trackpad
click thumbnails for full-size images

Configuration

  The laptop came with Windows XP Home preinstalled, taking up the whole disk. I decided to keep it for the time being (regretted it later), and used a Knoppix CD-ROM and ntfsresize to resize the XP slice to 11GB and installed FreeBSD 5.2-RELEASE. If you intend to use ntfsresize, I recommend that you follow their howto step by step!

Since the nx9005 has a built-in floppy drive (fancy that), I booted via the kern.flp and mfsroot.flp floppy images and used the built-in ethernet for a network installation (ftp) (as an aside; I had 5.2-RELEASE installed and running on 2004-01-12 even before the release announcement was out :)

Kernel configuration is pretty straightforward. I use a modular kernel config these days: kernel config, loader.conf.

The advanced features of the Synaptics touchpad are supported since revision 1.71 of the psm(4) driver, so it should work in 5.3-RELEASE and up. If you use moused(8) in syscons, then configure a normal "SysMouse" mouse in X.

PowerNow is supported in 5.4-STABLE and up via the cpufreq(4) framework. Loading cpufreq.ko (cpufreq_load="YES" in /boot/loader.conf) and running powerd(8) (powerd_enable="YES" in /etc/rc.conf) should suffice.
X.Org configuration: I've installed X.Org 6.8.2 from the ports collection, which works very well for me. Xorg -configure produced a working xorg.conf file, which I used after a little tweaking: xorg.conf. A logfile generated by this server is also available: Xorg.0.log. XFree 4.3.0 + WindowMaker 0.91 screenshot
The AcerLabs ATA controller and the harddisk (it's a Seagate) both support S.M.A.R.T. monitoring, so I installed the smartmontools-5.26 port as well. smartctl -a ad0 tells me that my harddisk is running at 42°C right now and had already 109 power cycles :)

For battery monitoring, I've found wmbsdbatt by Lukas Ertl which can monitor battery usage and system temperature through ACPI (see the screenshot above). Thanks Lukas! GKrellm2 from the ports collections works fine, too.

My nx9005 has no built-in WLAN. Michael Ranner had contributed information (in 2004) about the built-in WLAN chipset in his nx9005. Nowadays, please refer to chapter 11.8.1.1, Using Windows® NDIS Drivers in the excellent FreeBSD Handbook about setting it up using ndisgen(8). You'll need the files BCMWL5.INF and BCMWL5.SYS from the Windows® driver (available at HP here).

Since I regularly need the serial port for access to serial consoles of the various servers, switches and routers I'm responsible for (which is the reason I required a laptop with such a port to begin with), the first thing I've tested (after scraping off the offending "Made for Windows XP" sticker that is, which was quite reluctant to come off) after the installation was those serial port. To my great surprise, it didn't work at first! I had to use some other of the various null-modem cables I'd aquired over the time.

Related Links

 

Contact

  If you have any questions, comments or suggestions, feel free to contact me at nx9005 [at] trimind [dot] de.
No Software Patents! Valid HTML 4.01! this page CSS compliant