Linux on the HP EliteBook 1030 G1
DISCLAMER: This article is pretty old and might be obsolote. If it still is of any use to somebody, good. But most likely, it isn’t.
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