Jump to content
From ArchWiki

This article or section does not follow the Laptop page guidelines.

Reason: This page is a work in progress! (Discuss in Talk:Lenovo Yoga 11e Gen 6)

Hardware | PCI/USB ID | Working?
--- | --- | ---
GPU (Intel) | `8086:591c` | Yes
Wireless | `10ec:8852` | Yes
Bluetooth | `0bda:4852` | Yes
Audio | `8086:9d71` | Yes
TouchPad | `???` (Elan) | Yes
Touchscreen | `???` (Elan) | Yes
Webcam | `04f2:b616` `04f2:b6d9` | Yes
TPM | - | Yes

The Lenovo Yoga 11e (Gen 6) is a 2-in-1 replacement for the Thinkpad X1xx series. Both Chromebook and (originally) Windows-based systems exist. This page (currently) covers the Windows version.

To ensure you have this version, make sure you have access to the dmidecode program and run:

    # dmidecode -t system | grep Version

    Version: ThinkPad 11e Yoga Gen 6

## Installation

EFI booting works without issue.

See #Firmware on how to change UEFI settings, and access the boot menu to load an Arch installation medium. The overall installation is straightforward.

When installing over wireless, the interface is powered off, and the `F8` hotkey does not function. The interface can be enabled by running `rfkill toggle all`

### Secure Boot

Disabling Secure Boot is not required to install Arch on this hardware.

### EFI/LUKS

Full disk encryption with LUKS is supported. It is significantly easier to get this working using EFISTUB rather than GRUB. In addition to various Dm-crypt wiki pages, [1] and [2] may be helpful.

## Firmware

BIOS is accessible via `F2` during system boot. Default settings appear to work fine.

The boot menu is accessible via `F12`.

Firmware upgrades have not been tested.

## Keyboard

No issues. However, the location of the `Fn` and left-side `Ctrl` key may annoy some users. There is a BIOS setting to swap the two keys.

### Function Keys

Key | Visible? 1 | Marked? 2 | Effect
--- | --- | --- | ---
`Fn+Esc` | No | Yes | Toggles Fn lock
`Fn+F1` | Yes3 | Yes | `evtest` returns `KEY_MUTE`
`Fn+F2` | Yes3 | Yes | `evtest` returns `KEY_VOLUMEDOWN`
`Fn+F3` | Yes3 | Yes | `evtest` returns `KEY_VOLUMEUP`
`Fn+F4` | Yes3 | Yes | (icon: Mic off)
`Fn+F5` | No | Yes | (icon: Brightness minus)
`Fn+F6` | No | Yes | (icon: Brightness plus)
`Fn+F7` | No3 | Yes | (icon: laptop/monitor)
`Fn+F8` | Yes | Yes | `XF86WLAN` 4 (icon: wireless)
`Fn+F9` | Yes | Yes | `XF86Messenger` (icon: speech bubble)
`Fn+F10` | Yes | Yes | `XF86Go` (icon: Telephone up)
`Fn+F11` | Yes | Yes | `Cancel` (icon: Telephone down)
`Fn+F12` | Yes | Yes | `XF86Favorites` (icon: star)
`Fn+End` | Yes | Yes | `Insert`
`Fn+PrtSc` | Yes | Yes | `XF86Launch2` (icon: dashed circle with scissors)
`Fn+b` | Yes | No | `Ctrl_R`
`Fn+i` | Yes | No | `Insert`
`Fn+k` | Yes | No | `Scroll_Lock`
`Fn+l` | Yes | No | `"l"` (most other Fn+<key> combinations do nothing)
`Fn+p` | Yes | No | `Pause`
`Fn+s` | Yes | No | `Alt_R` (Screenshot?)

1. The key is visible to `xev` and similar tools.
2. The physical key has a symbol on it, which describes its function.
3. `xev` only returns a `KeymapNotify event`, but no `KeyPress` or `KeyRelease` events. No keycodes are seen by `xev`.
4. Unlike some models, `Fn+F8` does *not* send an `XF86RFKill` keypress event. However, it should be possible to bind this to rfkill to achive the same result.

The following xbindkeys configuration may be needed to get volume/mic controls working properly:

    "pactl set-sink-mute @DEFAULT_SINK@ toggle"
        m:0x0 + c:121
        XF86AudioMute
    "pactl set-sink-volume @DEFAULT_SINK@ +5%"
        m:0x0 + c:123
        XF86AudioRaiseVolume
    "pactl set-sink-volume @DEFAULT_SINK@ -5%"
        m:0x0 + c:122
        XF86AudioLowerVolume
    "pactl set-source-mute @DEFAULT_SOURCE@ toggle"
        m:0x0 + c:198
        XF86AudioMicMute

## Bluetooth

Bluetooth works, but `rfkill` may report a "hard blocked" device (`tpacpi_bluetooth_sw` below).

    $ rfkill

    ID TYPE      DEVICE                   SOFT      HARD
     0 bluetooth tpacpi_bluetooth_sw unblocked   blocked
     2 wlan      phy0                unblocked unblocked
    13 bluetooth hci0                unblocked unblocked

As there is no hardware disable switch on this system (including `F8`), unblocking this device is not possible. However, the `hci0` is the one actually used, so functionality is there. Some tools may not work correctly, as they assume a single Bluetooth device; blueberry for example. bluetuithAUR and blueman both seem to work fine.

## Touchpad

Rarely, the touchpad will stop responding after resuming from suspend, but the keyboard works fine. This can be fixed by removing, and re-adding the `elan_i2c` module:

    # modprobe -r elan_i2c
    # modprobe elan_i2c

## Power Management

Note: Tools like tp_smapi or tpacpi-bat do not work with this device.

This laptop comes with an Intel Core m3-8100Y CPU 1.10GHz CPU. The rated frequencies range from 400MHz - 3.4GHz.

The `intel_pstate` driver is supported, with the `performance` and `powersave` governors supported. CPU scaling works with both governors. Behavior is sometimes inconsistent: frequencies stay low even under 100% CPU load, or remain high when the system is generally idle. This behavior is not yet completely understood, but may be related to suspend/resume behavior.

Tip: Immediately after resuming from suspend, the CPU is often throttled, even when using the "performance" governor. Forcing a second suspend/resume (e.g. closing the lid and re-opening) should allow CPU scaling to work properly.

The short script below will flip the governor between "performance" and "powersave" options. With minor modification, it can be bound to one of the unused #Function Keys hotkey as a convenient toggle. It may work on other systems as well.

    #!/bin/bash
    # This toggles fast/slow mode on the laptop.
    # Needs root privs

    if [[ $(id -u) -ne 0 ]]; then
        echo "Please run as root"
        exit 1
    fi

    CUR_POLICY=$(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor)

    echo "Current: $CUR_POLICY"

    case "$CUR_POLICY" in
    powersave)
        /usr/bin/cpupower -c all frequency-set -g performance
        /usr/bin/cpupower -c all frequency-set --min 1600MHz
        /usr/bin/cpupower -c all set -b 0  # Set the performance/powersave bias
        ;;

    performance)
        /usr/bin/cpupower -c all frequency-set -g powersave
        /usr/bin/cpupower -c all frequency-set --min 400MHz
        /usr/bin/cpupower -c all set -b 6  # Set the performance/powersave bias
        ;;

    esac

    NEW_POLICY=$(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor)
    echo "Current: $NEW_POLICY"

## Sensors

As this is a tablet, an accelerometer is installed and supported by iio-sensor-proxy.

The thinkpad-yoga-scripts-gitAUR may be of interest, although it needs to be converted to Python3, and will have to be modified to detect the ELAN devices (instead of WACOM).

Various temperature sensors are supported by lm_sensors.

The hardware includes neither an ambient light sensor, nor a proximity sensors.

## See also

- ThinkWiki 11e series page
- Lenovo 11e Gen 6 product support page
- Hardware Maintenance Manual
- User Guide

Category:

- Lenovo

Hidden category:

- Pages or sections flagged with Template:Laptop style