Lenovo ThinkPad T470s

From ArchWiki
Jump to navigation Jump to search

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Stub (Discuss in Talk:Lenovo ThinkPad T470s#)
Device Working?
Intel graphics Yes
Wireless Yes
Mobile Broadband Yes
TrackPoint Yes
Touchpad Yes
Smartcard Reader Yes
Bluetooth Yes
Fingerprint Reader 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.


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, follow this procedure (based on [2]):

  1. Install geteltoritoAUR
  2. Download ISO "BIOS Update (Bootable CD)" from [3]
  3. geteltorito.pl -o bios.img n1wur26w.iso
  4. dd if=bios.img of=<USB key> bs=1M (run as the root user)

Using fwupd

  1. Install {Pkg|fwupd}
  2. Get the official update utility from [4] 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, which can be seen below in the lsusb output. We have confirmed working with Google's Project Fi.

lspci and lsusb

On kernel '4.11.0-rc6-mainline' via linux-mainlineAUR on a 20HG T470s


00:00.0 Host bridge: Intel Corporation Device 5904 (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:16.3 Serial controller: Intel Corporation Device 9d3d (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1)
00:1c.2 PCI bridge: Intel Corporation Device 9d12 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Device 9d4e (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Device 9d71 (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-LM (rev 21)
3a:00.0 Network controller: Intel Corporation Device 24fd (rev 78)
3c:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a804


Bus 002 Device 003: ID 0bda:0316 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 138a:0097 Validity Sensors, Inc. 
Bus 001 Device 005: ID 5986:111c Acer, Inc 
Bus 001 Device 008: ID 1199:9079 Sierra Wireless, Inc. 
Bus 001 Device 002: ID 058f:9540 Alcor Micro Corp. AU9540 Smartcard Reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


Smartcard Reader

Bus 001 Device 002: ID 058f:9540 Alcor Micro Corp. AU9540 Smartcard Reader

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.


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.

See also