Linux on the HP EliteBook 1030 G1

3 minute read

Linux on the HP EliteBook 1030 G1

This page is about my linux setup on the HP EliteBook 1030 G1.

I am running KDE NEON (basically Ubuntu 16.04 with a ppa for everything cute) on a 1030 with an m7, 16GB of ram and the touchscreen configuration, whatever the exact model code may be.

The setup requires a bit of customization for a smooth experience, but it’s worth it and not too hard.

The Good

Everything I care about runs great, battery life is better than at my friend’s exact same 1030 G1 running the stock Windows 10. The only things I haven’t checked, as I don’t care about it, are the fingerprint reader, NFC and the built-in trusted computing module thingy.

The Bad

One fn key does not work due to an acpi bug in the bios, at least with kernel 4.14:

  • fn + f8, Microphone off/on

I solved the issue by mapping the functionality to windows + the corresponding f-key

The Ugly

Nothing, really. I’m very happy with the device itself and the whole setup.

Curstomization

As mentioned, the setup requires a bit of customization:

Touchscreen

In order for the touchscreen to work properly I explicitly set the acpi osi in the grub configuration. I am not 100% sure if that is still required.

So, this is my GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux"

Touchpad

The 1030 sports an ALPS GlidePoint touchpad. Per default, the hid-generic driver is bound to the device after it boots, which is very cumbersome and doesn’t support proper setup (acceleration, velocity, …) of the touchpad.

After a suspend/wackeup cycle, the correct psmouse driver is bound to the touchpad. I don’t undersand this behavior, but I accept it..

I resolved the issue by unbinding the hid-generic driver and rebinding the psmouse driver by adding this to /etc/rc.local:

# Rebind the touchpad with the psmouse driver
echo 0018\:044E\:120C.0002 >/sys/bus/hid/drivers/hid-generic/unbind
echo serio3 >/sys/bus/serio/drivers/psmouse/unbind
echo serio3 >/sys/bus/serio/drivers/psmouse/bind

Power management

As the 1030 is a passively cooled system, does not have the biggest of all bateries and is still supposed to be a highly mobile device, a proper power management setup is crucial.

Besides installing tlp (sudo apt-get install tlp), I installed and set up the Intel Dynamic Platform and Thermal Framework (dptf):

After installing the prerequisites, the source code of the dptf can be cloned from git@github.com:intel/dptf.git

sudo apt-get install git cmake build-essential cmake libreadline6 libreadline6-dev
git clone git@github.com:intel/dptf.git

Then, a few steps have to be performed, as can be read in the README.txt of the dptf. Not very comfortable, so I wrote a script which automizes the process. I could have packaged dptf, but I didn’t want to struggle with licenses and packaging and blerg. And creating a proper deb package is harder than writing a bash script, and I don’t know if anybody would even want to use it (is anybody even reading this?) and I was tired and meh.

The script is available as gist and can be run from the dptf root. Running the script with the -h option shows you everything you need to know, -bi builds and installs dptf, -r removes dptf.

Feel free to do this in the dptf root:

wget https://gist.githubusercontent.com/gierdo/05503381f26dcd3556c4fd1661db1545/raw/b643b1f19d11550d8a184ceb5837d9d56364ab3f/manage_dptf.sh
chmod +x manage_dptf.sh
./manage_dptf.sh --build --install

WIFI with USB

I had the issue that USB 3 devices had major interferences with 2.4 GHz WIFI connections. This is not an issue of the 1030 as such, but I never had the issue before.

The result was a failing WIFI connection with messages of firmware errors and requested hardware restarts, whenever a USB 3 thumbdrive was attached.

I resolved the issue by disabling the iwlwifi module’s watchdog, which doesn’t resolve the interference issue (that’s a physical issue due to the frequencies used by the USB controller and the WIFI, as well as non-optimum EMC design), but it resolves the issue of hardware restarts and failing WIFI connections.

Edit /etc/modprobe.d/iwlwifi.conf and add the following option to the module:

options iwlwifi wd_disable=1

Leave a comment