Linux on HP nw8000
2007-08-15: updated after installing Ubuntu 7.10 (Feisty
Fawn), see ACPI section
Contents
HP nw8000
is a Pentium-M based notebook. The specs look nice and I was especially
attracted by the fact that this notebook is Linux-ceritified (even if it was
only for use with SuSE and I wanted to install the usual Debian on it) and so
I hoped not to have problems with making it work. This has unfortunately
turned out to be not quite right, although probably not more so than with any
other Centrino notebook, and I had to wait for one year and a half before
everything really started working under Linux.
Also, and even though I think that it was bad luck more than general lack of
quality of HP notebooks, I can't not mention that the notebook has died after
10 days and I had to send it back to HP who duly returned it to me 3 weeks
later with a new CPU, memory and motherboard. Unfortunately they have put in a
bad motherboard which resulted in a few new problems which it took more than a
month (and many phone calls and letters) for HP to fix. As a result, I
couldn't use the notebook for more than 2 months after buying it and I had to
reinstall everything on it several times. And then, although it's no fault of
HP (other than
certifying
the machine as working under Linux when it didn't), I couldn't use it as a
notebook for a long time because of fatal problems with ACPI suspend.
But, finally, after installing
Ubuntu Drapper Drake
on it after a hard disk crash (due to either hardware disk problem or a
very bad bug in JFS driver in Linux and, as hardware seems fine so
far, beware), I have a great Linux installation which works completely out of
the box without any problems at all so far. In spite of being a loyal long time
Debian user I have to admit that Ubuntu turned out to be a much better choice
for this notebook and I wholeheartedly recommend it (and, of course, it's still
Debian inside). Ubuntu developers have done a great job on their distribution,
I'm really impressed by its quality!
Here is the list of devices present on the notebook as
seen by Linux.
All in all, this is a great notebook even if a bit heavy one. Linux works
great on it, almost all the features are supported out of the box by the recent
distributions.
I've only used this notebook with 2.6 kernels, although I don't see why 2.4
wouldn't work on it (except for the ACPI problems). I used several kernels
between 2.6.8 and 2.6.15 but all of them invariably had problems with either
resuming from suspend or hibernating (or both) and the first, and so far only,
one which works for me is 2.6.15-22 from Ubuntu Dapper distribution. It is a
pretty standard modular kernel using initrd but, just in case, here is its
config file.
I was using XFree 4.3 from Debian initially which needed a separate
synaptics driver
for the touchpad to work but now use recent Xorg which has nice built-in
support for it.
During the first installation I'd used the latest available
Debian Installer
at that time (2004-10-07) which was pre-RC2 version. When I reinstalled it the
second time, RC2 has been already released and I used it instead. I didn't
notice any difference between the two versions, both worked just fine.
Being too lazy to burn a CD to boot it from, I've downloaded the
netboot version, configured DHCP and TFTP on an existing Debian
server and let it boot from it. The only problem I had was
Debian bug 258998
which doesn't affect only atftpd but all the other TFTPD
implementations I tried (vanilla tftpd and tftpd-hpa), maybe
it is a limitation of TFTP protocol itself. Anyhow, I've had to do install
tftp server on a machine with a single IP address.
Further, you need to press f10 early during the startup process to
enter HP BIOS and explicitly enable PXE support in Devices menu, as
it was disabled by default. You may also change the order of boot devices to
try it first or just enable the boot menu. After doing this, I could boot the
installer from network without any problems.
The install went flawlessly, network card (Broadcom NetXtreme Gigabit) was
detected automatically and the tg3 was loaded. Installer also
detected the IEEE 1394 (FireWire) controller and loaded drivers for it, but I
didn't need it at this time.
Update: I've just reinstalled the machine using
Ubuntu. The installation (using
netboot
again) was as flawless as before.
The laptop has ATI OpenGL T2-128 video card. XFree autoconfiguration decided
to use ati driver for it which did work in 1600*1200 resolution in 24bpp mode.
Of course, there is no 3D acceleration with this driver and DRI module doesn't
load.
So the next step was to follow these
instructions
and install Debian packages with ATI driver. This, again, worked without any
problems and I'm now using this XF86Config file.
Note that fgl_glxgears gives rather low results (~360) compared with
the other machines
mentioned on the above page, so maybe something still remains to be done.
On the console, neither the standard vesafb nor radeonfb
modules don't work. I've also tried
vesafb-tng
but without any luck, so for now I'm limited to vga16fb which is
really a pity on an UXGA display.
- 2005-01-13:
- now radeonfb does work, loading it and fbcon modules
resuls in a very nice 200*75 console layout
- 2006-05-16:
- but loading it breaks resuming from suspend and as unloading it is
impossible once it's loaded ("module is in use"), you can't use it if you want
to use suspend.
It is a Synaptic double pointing device (both trackpad and touchpad). On
console, gpm worked
without any problems with default configuration (PS/2 mouse, all default
parameters).
I have also configured XFree 4.3.0 to use /dev/gpmdata as repeater
instead of speaking with the mouse directly as I had had bad experience with
not doing it in the past. Maybe it would have worked with /dev/mouse
as well but as I don't have any problems with it currently, I prefer not to
change it.
- 2005-01-13:
- there is also a native synaptics touchpad
driver
which worked without any problems (provided CONFIG_INPUT_EVDEV is
enabled in the kernel as mentioned in its INSTALL file), my
XF86Config-4 is such that both pointing devices
can be used simultaneously (this requires using CorePointer for the
trackpad and AlwaysCore for the touchpad)
- 2006-05-16:
- use synclient included in
xorg-driver-synaptics
to configure different touchpad parameters (unfortunately there doesn't
seem any way to configure the trackpad part of the device which I
personally would prefer to use if only the acceleration rate wasn't so slow)
This model has a Hitachi 60Gb 7200RPM (HTS726060M9AT00) hard drive. UDMA 5 was
enabled automatically for it and (crudely) measuring its speed using
hdparm
-t option resulted in 32 MB/sec. After running hdparm -c1 -m16
/dev/hda, this increased to 36 which, while not very impressive, is still
a gain and so I've modified /etc/hdparm.conf to use these options.
There is also a CD-RW/DVD optical drive but I didn't try to write CDs on it
yet.
You need to use MADwifi
driver. There is a Debian
package for it and I had no troubles installing it as described.
Unfortunately, I did have a lot of troubles to make it work in ad-hoc mode.
In fact, I failed to do it so far, and could only use it in master mode.
This means that I'll have to buy an access point to use the wireless network
normally instead of using the three machines in ad-hoc mode as initially
intended to.
It is interesting to note that the card identifies itself as "Atheros AR5212
802.11 abg NIC" which seems to mean that it should support 802.11a as well.
But the madwifi driver only indicates support for 'b' and 'g' modes, so maybe
it's just an error in the card description?
- 2005-01-13:
- the Windows driver works just fine with
ndiswrapper and for now
I use it instead of the native driver.
Works out of the box: pressing the ``wireless'' button on the keyboard loads
all the modules automatically using hotplug and after installing
bluez-utils
package I could ping my Nokia phone without any problems.
Works out of the box using hotplug, when an external disk
(LaCie d2 250Gb)
is plugged in the built-in 4 pin FireWire (a.k.a. iLink) port, it is
recognized by ieee1394 module and appears as a SCSI device which can
then be mounted as usual. See Linux
FireWire project page for more details.
Same as above, tested with the same disk (SCSI emulation for USB works
perfectly too) and with an USB bluetooth adapter.
Worked by default using i810_audio
OSS module and/or
snd_intel8x0m ALSA one
(the laptop has ICH4 chipset).
Notice that the below instructions are unnecessary under Ubuntu Dapper and
probably other recent distributions as the keys work out of the box. But if you
need to confiture them on an older system, see below.
Thanks to Marco Gatti for the next tip:
The keys for changing the volume and muting the sound completely on the front
side don't work out of the box, but you can easily map them to any commands
you want under X11, e.g.:
xmodmap -e "keycode 176 = XF86AudioRaiseVolume"
xmodmap -e "keycode 174 = XF86AudioLowerVolume"
xmodmap -e "keycode 160 = XF86AudioMute"
(this works at least under KDE). To make the settings permanent you need to
save the map into some file:
xmodmap -pke > ~/xmodmap.conf
and then read it back using
xmodmap ~/xmodmap.conf
in some startup file.
Also thanks to Tyler J. Wagner for contributing this information:
Debian hotkeys
package (currently only available in testing) can be used to map these buttons
as well. Here is an example config file for hotkeys
defining these special keys to perform their default actions (but you can, of
course, assign any action at all to them). Just put this file under
/usr/share/hotkeys and add a line
Kbd=nw8000
to your /etc/hotkeys.conf to use it.
Yenta module loads ok but I don't have any PCMCIA cards to test it with.
The module loads, but I don't have anything to test it with.
This is a so called soft modem, but
SmartLink provides a Linux
driver for it. There are also Debian packages
sl-modem-daemon
and sl-modem-source
(both non-free) which do work but I had to restart the modem driver each time
after dialing as otherwise it died on the second attempt. Except for this I
could use it without any problems.
Not tested for lack of cards. Apparently not supported under Linux.
ACPI
ACPI suspend works fine with the
very recent kernels using the standard scripts from
acpi-support
package.
The suspend key does not work but I didn't even look into it as I prefer to
use the lid button to suspend the machine anyhow.
APM
APM suspend works on
console but hangs the machine completely when using X and with APM it is
impossible (AFAIK) to make the computer go to sleep when the lid is closed
and/or power button is pressed (this requires ACPI) and it also seems that APM
never spins down the fans and so the computer is much more noisy when ACPI is
not used.
For now I'm using Software
Suspend (version 2.1) which does work provided that you switch to a text
VT before hibernating.
Update for Dapper:
Suspend works out of the box with Ubuntu Dapper (although it still switches
from and to X VT behind the screens, but who cares).
Update for Feisty:
The best way to suspend and hibernate the machine now seems to be using
uswsusp. This machine is not in
s2ram white list but s2ram -fmsp works fine and
s2disk works out of the box without any options. Suspending using
this method is much faster than with the default one and hibernating simply
didn't work at all after the upgrade for me.
To make the GNOME power management tools use uswsusp by default without
ininstalling the default powermanagement-interface package which,
unfortunately, is a dependency of ubuntu-desktop, use this command:
dpkg-divert --rename --divert /usr/sbin/pmi-disabled /usr/sbin/pmi
(thanks to Robin Battey for this hint!).
And add the -fspm options to s2ram invocation in
/usr/lib/hal/scripts/linux/hal-system-power-suspend-linux file to
make it use the correct options.
For what it's worth, here are my (trivial)
/etc/acpi/events/lid and
/etc/acpi/hibernate.sh files which hibernate the
laptop when the lid is closed. The default
acpid
installation already included the scripts to shutdown the system when the
power button is pressed.
The notebook has a few of special keys:
- Power button: this is handled by acpid as already
explained
- HP "quick launch" buttons, in left-to-right order:
- screen lock button: doesn't do anything by default but may be
mapped to something to something using setkeycodes
- wireless button: this works automagically and turns on/off
bluetooth loading/unloading the corresponding modules (at
least when using hotplug) when pressed
- presentation button: same as screen lock
- Special keyboard combinations:
- Fn-f3 (suspend) produces a code but is not recognized
by acpid as sleep button (although it should be)
- Fn-f4 (switch display) not tested
- Fn-f8 (battery status) works out of the box in Gnome
with Ubuntu -- nice!
- Fn-f9 and Fn-f10 (brightness control) work
as expected.
- Fn-esc (system information) produces an unrecognized
key code and doesn't do anything by default
- Sound volume buttons on the front panel have key codes 160 (mute), 174
(volume down) and 176 (volume up) respectively and can be configured
to do whatever you need under X11, for example mapped to their
original function as shown in the sound section.
- Not really a special button but worth mentioning that
Fn-Alt-Insert-X does work as
(magic)
SysRq-X but you need to release Fn before pressing
any key which doubles as a numeric keypad one.
TODO.
TODO.
Please contact me if you have any comments
about this page.