Lenovo ThinkPad T470s
Hardware | PCI/USB ID | Working? |
---|---|---|
GPU | Yes | |
Wireless | Yes | |
Mobile broadband | 1199:9079 |
Yes |
Audio | Yes | |
TrackPoint | Yes | |
Touchpad | Yes | |
Smartcard reader | 058f:9540 |
Yes |
Bluetooth | 0bda:0316 |
Yes |
Fingerprint reader | 138a:0097 |
Yes |
This article covers the installation and configuration of Arch Linux on a Lenovo T470s laptop.
For a general overview of laptop-related articles and recommendations, see Laptop.
Firmware
As of writing, the current BIOS version is 1.30. By visiting the downloads section (for the type HG/HF T470s) an iso can be downloaded and burned to disk which will perform the update [1]
This laptop is unique in that it retains the thinkpad dock connection as well as provides docking ability over USB-C. We have tested with the Thinkpad Ultra Dock and are able to utilize multiple HiDPI monitors via individual connections (e.g. no display port chaining). There are published firmware updates for the dock that require windows to install. DisplayPort chaining works via USB-C to DisplayPort adapter.
Updating the BIOS
Via a USB key
In order to update the BIOS/UEFI using a USB key, download ISO "BIOS Update (Bootable CD)" from [2] and follow the instructions on Flashing BIOS from Linux#Bootable optical disk emulation
Using fwupd
- Install fwupd
- Get the official update utility from [3] and follow the instructions from the same page.
Kernel and hardware support
As advised in Intel graphics#Enable early KMS and Kernel mode setting you can add i915 to your modules.
Hardware video acceleration with Kaby Lake seems to work fine via va-api.
Mobile broadband
The mobile broadband card is a Sierra EM7455. It works with Google's Project Fi.
Configuration
Fingerprint reader
As of writing this, the fingerprint reader is still under prototype development, but looks like working fine on the T470s.
To get the sensor working, it first must be initialized with data. This currently only works with Windows. So if you had used the reader before installing Arch, this should work fine. Otherwise install a Windows version in a virtualbox, connect the Validity Sensor over USB(USB 2.0), install the drivers and use it a few times.
As soon as this step is completed, the sensor can be used under Linux. Check out Validity90 prototype, build it and check if the sensor is working. Install fprintd, libfprint-vfs009x-gitAUR and for testing fprint_demoAUR. You can now enroll your fingers. fprintd and fprint_demo might have be started with superuser privileges.
After setting up the fingerprint sensor is complete, one can use it to login or authenticate for sudo
or su
(To use this, launch fprintd_enroll prior as root).
For login edit /etc/pam.d/login
Add the following and comment out the other entrys
auth required pam_env.so auth sufficient pam_fprintd.so auth sufficient pam_unix.so try_first_pass likeauth nullok auth required pam_deny.so
Do the same for sudo with /etc/pam.d/sudo
or su with /etc/pam.d/su
For more information visit libfprint and adapt for the vfs0097 package.
Troubleshooting
Fan does not spin down after suspend-resume
On gnome-shell via wayland, suspend-resume results in the fan holding at 100% without ever spinning down. Alternatively if you use xorg this does not seem to happen. This issue has been resolved in BIOS/UEFI version 1.20.
HDMI audio does not work with Pulseaudio
The Intel HD audio module manages both the internal analog audio devices (e.g. speakers, mic, headphone jack) and the HDMI / DisplayPort audio outputs. Which inputs / outputs are used is selectable via the card profile. The profile selection can be changed using the pavucontrol application in the Configuration tab. "Analog Stereo Duplex" is the default, using the internal speakers / headphone jack and the internal microphone. To feed audio out the internal HDMI port while still using the internal microphone for input, select "Digital Stereo (HDMI 2) Output + Analog Stereo Input". Pulseaudio will remember this selection and auto switch to/from it based on the status of the HDMI port.