# Lenovo Ideapad Yoga 2 Pro

# Boot, UEFI

By default, the device boots in UEFI mode. UEFI and Legacy modes both seem to work fine, though UEFI is little more tricky to set up.

# USB subsystem

syslog

    usb 2-7: unable to read config index 0 descriptor/start -71

after login to a shell, it is good to

    ~# dmesg -D

or you will find it hard to work.

on Gentoo, my syslog fills with

    Dec  5 08:40:44 localhost kernel: [  290.632613] xhci_hcd 0000:00:14.0: ep 0x81 - asked for 15360 bytes, 15117 bytes untransferred
    Dec  5 08:40:44 localhost kernel: [  290.735110] xhci_hcd 0000:00:14.0: ep 0x81 - asked for 15360 bytes, 15117 bytes untransferred
    Dec  5 08:40:44 localhost kernel: [  290.837534] xhci_hcd 0000:00:14.0: ep 0x81 - asked for 15360 bytes, 15117 bytes untransferred
    Dec  5 08:40:44 localhost kernel: [  290.940070] xhci_hcd 0000:00:14.0: ep 0x81 - asked for 15360 bytes, 15117 bytes untransferred
    Dec  5 08:40:44 localhost kernel: [  291.042570] xhci_hcd 0000:00:14.0: ep 0x81 - asked for 15360 bytes, 15117 bytes untransferred

at a rate of at least 10 lines a second..

# Hardware Keys / User Input

To access boot menu or BIOS settings, you must use the alternate power button, next to the standard one.

No keypad available at all.

## Keyboard special keys

BIOS has a setting to flip the behavior of the FN key.

    fn+F1   XF86AudioMute
    fn+F2   XF86AudioLowerVolume
    fn+F3   XF86AudioRaiseVolume
    fn+F4   Alt_L+<F4>
    fn+F5   <F5>
    fn+F6   n/a
    fn+F7   n/a
    fn+F8   Alt_L+Tab
    fn+F9   n/a?
    fn+F10  super_L+p
    fn+F11  XF86MonBrightnessDown
    fn+F12  XF86MonBrightnessUp

## Hardware keys on right side

From hinge to front:

    XF86AudioRaiseVolume
    XF86AudioLowerVolume
    Super_L+o

## Touchscreen

Touchscreen USB device seems to come and go if the 'usbtouchscreen' module is not loaded.

### Touchscreen button

Super_L, but a fake one! `key_down` and `key_up` are generated simultaneously on touch release.

The haptic feedback (vibration) when touching the Windows button is currently not controllable via software.

Tip: If you are using gnome-shell, you might want to use touchegg-svn from AUR, instead of touchegg, as touchegg-svn fixes issues related to gnome-shell desktop and upper pane.

# ACPI

I modified /etc/acpi/default.sh to allow for some debugging and additional features (see below):

    #!/bin/sh
    set $*
    group=${1%%/*}
    device=$2
    id=$3
    value=$4
    log_unhandled() {
           logger "ACPI event unhandled: $*"
    }
    case "$group" in
           button)
                   case "$action" in
                           power)
                                   /etc/acpi/actions/powerbtn.sh
                                   ;;
                           lid)
                                   /etc/acpi/actions/lid.sh
                                   ;;
                           *)      log_unhandled $* ;;
                   esac
                   ;;
           ac_adapter)
                   case "$value" in
                           *)      log_unhandled $* ;;
                   esac
                   ;;
           *)      echo $* > /dev/tty5
                   log_unhandled $* ;;
    esac

## Touchpad

The touchpad sends random input from time to time, especially when lid is closed. If you like your computer to keep running when the lid is closed, you may want to disable the touchpad with ACPI events:

/etc/acpi/actions/lid.sh

    #!/bin/bash
    export DISPLAY=:0
    if grep closed /proc/acpi/button/lid/LID0/state
    then
           synclient TouchpadOff=1 2>/dev/tty5 && echo "lid closed, disabling touchpad" >/dev/tty5
    else
           synclient TouchpadOff=0 2>/dev/tty5 && echo "lid open, eênabling touchpad" >/dev/tty5
    fi

Of course, the echo statement is optional and for debug purposes.

## Backlight

"old" (ref needed) kernels require boot argument

    acpi_backlight=vendor

Screen backlight brightness can be set with

    echo $VAL > /sys/class/backlight/intel_backlight/brightnes

with $VAL between 0 and 937

## Battery

Battery info can be accessed with

    ls /sys/class/power_supply/BAT1/*

Unfortunately, the values obtained there have no units (older Lenovo products had rates in mA, battery voltage, etc.)

# Graphics

Steam crashes trying to run games complaining about missing i965 module. It seems some applications treat it as accelerated, and some do not.

Resolution seems to be not so well supported by some desktop environments/window managers. XFCE and fvwm seem to work fine.

Users may wish to boost font-sizes, as the HiDPI screen can be hard to read in some settings.

# Rotation/Conversion

You can easily rotate screen with xrandr, however it does not rotate touchscreen/touchpad input which makes it fairly awkward to use. There is a project attempting to address this. Keyboard hardware-disables in tablet mode, but touchpad is still active which needs to be addressed. No ACPI or keycode signals appear to be emitted for the various screen rotation states.

# Network

Network is known to cause trouble. You may want to run this on boot:

    ~# rfkill unblock wlan

There may be an issue with the network drivers on x86_64, which is then so unstable it becomes unusable.

It may help to unload/blacklist the 'ideapad_laptop' module (especially if you use NetworkManager to handle your wireless).

You might still want to disable power saving on the card:

    /etc/udev/rules.d/80-iwlwifi.rules
    ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="<your_mac_address>", RUN+="/usr/bin/iw dev %k set power_save off"

# See also

- The LinLap site has some good information - see [[1]]
- a good Review of Arch Linux on a HiDPI Lenovo Yoga 2 Pro by KeithCU with useful comments

Category:

- Lenovo