Lenovo Yoga 7 2-in-1 14AHP9

Hardware PCI/USB ID Working?
Touchscreen Yes
Touchpad Yes
GPU 1002:1900 Yes
Webcam 5986:2169 Yes
Bluetooth 0bda:5852 Yes
SD-card reader 17a0:9750 Yes
Audio 1022:15e3 Yes
Wi-Fi 10ec:c852 Yes
Fingerprint reader 1c7a:0583 Partial
Tablet mode switch Yes
TPM (Pluton) Untested

This laptop tablet is not to be confused with Lenovo Yoga Pro 7 14AHP9.

Accessibility

Before an operating system loads, the device provides several options for navigation.

  • In the firmware interface, use Left/Right arrows to switch between side menu and main view, Up/Down arrows to navigate within main menu, F5/F6 to change values, Enter to select an option, and Esc to display exit menu.
  • Alternatively, use the touchscreen−it is always on while in the firmware interface. An on-screen keyboard is available when entering administrator password.
  • Press F2 to enter the firmware interface, and F12 to enter the boot menu.
  • The Flip To Start option may be enabled in the firmware interface in order to initiate boot by opening the lid.
  • While shutdown, connecting AC or pressing any button on the keyboard will display current battery charge.
Note: The firmware interface does not feature sound or haptic feedback.
Tip: A visual simulation of the very similar interface is available at Lenovo.

Firmware

fwupd does not support this device yet, but is able to update platform's UEFI CA certificates. With great caution, a firmware update can be performed for this device, as described in Flashing BIOS from Linux#Lenovo.

Secure Boot works with custom keys if Microsoft Corporation UEFI CA is also enrolled (e.g., using sbctl).

The device supports "BIOS self-healing", and stores a firmware backup image on EFI system partition; its size is about 6 MB. This image should not be signed when setting up Secure Boot.

Function keys

Key Visible?1 Marked?2 Effect
Fn+Esc No Yes Toggles Fn lock
Fn+F1 Yes Yes XF86AudioMute
Fn+F2 Yes Yes XF86AudioLowerVolume
Fn+F3 Yes Yes XF86AudioRaiseVolume
Fn+F4 Yes Yes XF86AudioMicMute
Fn+F5 Yes Yes XF86MonBrightnessDown
Fn+F6 Yes Yes XF86MonBrightnessUp
Fn+F7 Yes Yes Super+p
Fn+F8 Yes Yes XF86RFKill
Fn+F9 Yes Yes Super+i
Fn+F10 Yes Yes Super+l
Fn+F11 Yes Yes Ctrl+Alt+Tab
Fn+F12 Yes Yes XF86Calculator
Fn+Ins Yes Yes XF86Favorites
Fn+PrintScreen/t/s Yes Yes PrintScreen
Fn+Del Yes Yes Del
Fn+i Yes Yes Ins
Fn+p Yes Yes Pause
Fn+k Yes Yes Scroll_Lock
Fn+b Yes Yes Break
Fn+n Yes Yes XF86RootMenu
Fn+m Yes Yes XF86TouchpadToggle
Fn+Space Yes Yes NoSymbol 3
Fn+Copilot No Yes See note 4
Fn+Up Yes Yes PageUp (Next)
Fn+Down Yes Yes PageDown (Prior)
Fn+Left Yes Yes Home
Fn+Right Yes Yes End
  1. The key is visible to xev and similar tools.
  2. The physical key has a symbol on it, which describes its function.
  3. This firmware-managed key cycles between keyboard backlight modes.
  4. To remap this key, follow the steps described in Keyboard input#Identifying scancodes and Map scancodes to keycodes#Using setkeycodes.

Power management

Enabling battery conservation mode as described in Lenovo#Battery conservation mode will limit the maximum charge to 80%. TLP also supports this method using options described on the vendors page.

LED indication

Unlike ThinkPads, this device does not feature LED indication on audio mute keys. If you encounter errors related to the lenovo-wmi-hotkey-utilities kernel module, you can simply blacklist it. Doing so will not affect functionality of other LED indicators.

Fingerprint reader

The supplied fingerprint reader enforces the Secure Device Connection Protocol, and refuses to store fingerprints if the protocol is not followed. Currently, SDCP is not supported by Fprint, but enrolling and storing fingerprints is possible using the custom script.

You will need to install python, python-docopt, python-pyusb, and python-cryptography. Installing Fprint is not required for this operation.

Save the script as egismoc-sdcp-1c7a-0583.py and comment out lines 500-502 (inclusive):

./egismoc-sdcp-1c7a-0583.py
reconnect_response_raw = egismoc_sdcp_reconnect()
print(f"egismoc SDCP ReconnectResponse: {reconnect_response_raw.tobytes().hex(' ')}")
verify_sdcp_reconnect_response(keys, reconnect_response_raw)

Make the following additional changes to lines 48 and 58, respectively:

./egismoc-sdcp-1c7a-0583.py
dev = usb.core.find(idVendor=0x1c7a, idProduct=0x0583)
...
NUM_ENROLL_STAGES = 20

After making these changes, it should be possible to enroll fingerprints.

# python ./egismoc-sdcp-1c7a-0583.py enroll
# python ./egismoc-sdcp-1c7a-0583.py verify

See also