HP Compaq 6510b

If you are an Arch user, I added most of this stuff to the Arch Linux wiki as well.

The HP 6510b is a compact yet powerful laptop with a high-resolution screen (if you pick the WXGA+ version). It has been labeled "Novel SuSE Enterprise certified" by HP, which should mean Linux runs fine on it (and it does). The info may be tailored to Arch Linux in a few places. The lappy runs a custom kernel.

Hardware specifications

  • Intel Core 2 Duo T7300
  • 2 GB DDR2 533 RAM
  • 14.1" 1440x900 WXGA+ LCD
  • Intel GMA965GM chipset with X3100 onboard GPU
  • IPW3945 ABG wireless LAN miniPCI with wireless hardware switch
  • Broadcom Tigon Gigabit Ethernet
  • 160 GB S-ATA HD
  • AuthenTec AES2501 fingerprint reader
  • cardreader (supporting SD, MemoryStick, ea.)
  • 4x USB 2.0
  • FireWire 400

Setup

Intel Core 2 Duo

Automatic frequency throttling and voltage adjustment can be enabled by loading the acpi_cpufreq module (this one is to be preferred over the Intel Speedstep ones; those will be deprecated soon). Install cpufreqd, which will pull in cpufreq-utils along with it. Set up both utilities, and add cpufreqd as a daemon.

X3100 onboard GPU

Feature-wise this is an awesome GPU. Opensource drivers that support 3D out of the box. However, it has a problem many of the Intel GPUs have: it will stick to VESA resolutions in the framebuffer. Since the only fitting resolution is 1024x768, that is what you'll when using a framebuffer (on boot, and in a command line environment). You can check what modes the GPU supports like this:

$ cat /sys/class/graphics/fb0/modes
U:1024x768p-75

As you can see this is the only resolution. According to the uvesafb FAQ, if that's all you get, not even uvesafb can fix it up for you. For earlier chipsets (865 and 915 for example) tools like 855resolution and 915resolution are available, but the latter does not support the Intel G965M yet. However, there is a patch that fixes that. You can find an adapted PKGBUILD and a patch here. This allows you to set the 1440x900 resolution, but one needs to dig far deeper into the system to get the system booting in that resolution, it seems. I haven't had any luck in making it listen, if you do, let me know.

IPW3945 ABG wireless LAN

At the time of writing Arch is sporting the 2.6.23 kernel. The best option is the mac80211 stack, instead of the older ieee80211 stack. Both stacks are available in 2.6.22 & 2.6.23. From 2.6.24 on the driver for the WLAN card will be in the main tree. Note that each driver needs different firmware. The radio switch is hardware (it sits on the tactile strip), which is pretty convenient. Just press the button and the radio gets enabled.

Broadcom NetLink BCM5787M Gigabit LAN

No setup required, it just needs the tg3 module.

Suspend to RAM/disk

I use pm-utils for this, which is pretty straightforward. X tends to hang once in a while after resuming, you can fix this (although not perfectly) by changing virtual terminals before suspending. Automate it by adding the following VBE Tool 'hack' in /etc/pm/sleep.d/00hacks:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#!/bin/bash
case $1 in
  suspend)
    chvt 1
    vbetool vbestate save > /tmp/vbe
    ;;
  resume)
    vbetool post
    vbetool vbestate restore chvt 7
    ;;
esac

If your screen remains blank, just try moving your mouse cursor, your screen should display just fine then. Alternatively, you could leave pm-utils alone and add a so-called quirk to HAL's info files (on Arch this package is called hal-info). From version 20071212 on it has a 6510b entry by default, so you don't need to add any here either. I will not post my hal-info entry here; I recommend you to upgrade your hal-info if lshal | grep quirk doesn't return anything.

If you are using Xfce, you can suspend to RAM or disk from the Xfce logout dialog.You do need a modified session manager for this though. Suspend to disk worked fine out of the box with the 2.6.22 kernels (at least up to 2.6.22.9). Newer kernels (up to 2.6.23, which I actually skipped pretty fast for the 2.6.24 release candidates) do not seem able to suspend to disk - you can add the highres=off and nohz=off options to your kernel's GRUB configuration to fix that.

Update: It seems with 2.6.24 you can suspend again with the tickless and HPET features enabled.

FireWire

FireWire is supported out of the box, however, for FireWire HD support, you might need to load the sbp2 module (that is, if you are using the common stack, since a new one is in the works and already present in the kernel). You have the common stack if you run stock Arch kernels.

AuthenTec AES2501 fingerprint reader

As duly pointed out on the forums, fingerprint readers are more a threat to your privacy than a safeguard. Your fingerprints (unless you are paranoid and type with gloves on) are likely to be all over your keyboard, rendering the 'security' purpose of this device useless. Keep this in mind if you intend to use the reader as a replacement for your password; fingerprints can be duplicated easily with basic stuff (graphite ea.).

There is a utility called fprint available, together with a libfprint library it depends on. Both are packaged for Arch Linux. The fprint program is still called fprint_demo for the moment, but it works.

Integration with the login manager seems possible - for that you'll need amongst others the pam_fprint module installed (grab it from the AUR). Afer installing the package, run

pam_fprint_enroll

and follow the instructions to scan the finger you want to use for authentication. The next step is to configure PAM. First edit /etc/pam.d/login, and make the first lines look like this:

#%PAM-1.0
auth required pam_securetty.so
auth requisite pam_nologin.so
auth sufficient pam_fprint.so
auth required pam_unix.so nullok
auth required pam_tally.so onerr=succeed file=/var/log/faillog

This will make PAM accept a successful fingerprint scan as a valid login token, if the scan fails, it will fall back to a password. From this moment on, you'll be able to log on with a scan on a tty - enter your username, press Enter, and scan the finger you told pam_fprint_enroll to use as default. VoilĂ .

On the forum you can also find a topic that covers setting up your fingerprint reader with PAM and SLiM, but this is with the aes2501 kernelspace driver.

Tactile strip

This laptop sports a fancy tactile strip, providing some extra buttons as well as volume control (toggling mute and changing volume). I didn't try to get hal working for my multimedia keys yet. That's where keytouch steps in. The HP NC6320 settings (pre-supplied by keytouch) seem to work just fine for muting & adjusting the volume. The 'Help' key (to the left of the radio switch) fires up your DE's help center if everything goes well, the button to the right is recognised too (you have to configure it though). As a fancy plus, you'll get a nice OSD when you mute/unmute or change volume.

Issues

People running kernel 2.6.23 on this laptop experience hard lockups when they close the laptop lid. 2.6.22 does not have this problem. It seems also 6710b owners are affected. This is due to a fix in the ACPI video driver in 2.6.23; however, this messes things up for some hardware... You can fix it by putting this in rc.local:

echo 1 > /proc/acpi/video/*/DOS

The kernel commit gives some background on the issue.

Updated: 2014-01-21