Lenovo IdeaPad Flex 5 14ARE05

From ArchWiki

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

Reason: Needs Accessibility section. (Discuss in Talk:Lenovo IdeaPad Flex 5 14ARE05)
Hardware PCI/USB ID Working?
Bluetooth 0bda:c123 Yes
Webcam 174f:243f Yes
Wireless 10ec:c822 Yes
GPU 1002:1636 Yes
Touchpad Yes
Touchscreen Yes
Fingerprint reader
(Egis)
Untested
Fingerprint reader
(Goodix)
27c6:55b4 Untested
Fingerprint reader
(Synaptics)
06cb:00be Yes
SD card reader 10ec:522a Yes
Audio 1022:15e3 Yes
Accelerometer Yes

The Lenovo IdeaPad Flex 5 14ARE05 is a convertible 2-in-1 laptop computer with a 14" screen, AMD Ryzen™ 3/5/7 4000 U-Series Processor, 4GB/8GB/16GB of memory, webcam, microphone, stereo speakers, headphone / microphone combo jack, 802.11ac wireless card with Bluetooth 5.0, 1 x USB-C 3.2 Gen 1 Type-C(supports charging), 2 x USB 3.2 Gen 1 Type-A, 1 x SD card reader, 1 x HDMI 1.4b, 1 x power connector, and a fingerprint reader.

Installation

Before installing, disable Secure Boot in the BIOS. You can access the BIOS by pressing F2 during boot. The boot menu can also be accessed by pressing F12.

Accessibility

This article or section needs expansion.

Reason: Add information for Accessibility example. (Discuss in Talk:Lenovo IdeaPad Flex 5 14ARE05)

Issues

  • HDMI sound suffers from the PulseAudio bug described in PulseAudio/Examples#HDMI output configuration. The workaround described there works (manually setting the module-alsa-sink device in /etc/pulse/default.pa).
  • Errors with pointer devices when flipping/rotating the screen manually with randr.
  • In kernel 5.12 keyboard backlight support was added to the ideapad_laptop kernel module but it does not seem to properly support the multiple keyboard backlight brightnesses provided by the keyboad (off|dim|bright). This can cause problems setting keyboard brightness with software.
  • Occasionally the touchscreen and touchpad do not work after boot. The workaround for this a reboot. The cause and fix is unknown. The dmesg log is below:
[   15.619747] i2c_hid_acpi i2c-WACF2200:00: HID over i2c has not been provided an Int IRQ
[   15.619776] i2c_hid_acpi i2c-MSFT0001:00: HID over i2c has not been provided an Int IRQ
[   15.619809] i2c_hid_acpi: probe of i2c-WACF2200:00 failed with error -22
[   15.619846] i2c_hid_acpi: probe of i2c-MSFT0001:00 failed with error -22

Touch screen setup

The touchscreen and pen is recognized by the input-wacom driver. For setup information look at Wacom.

Tablet/Laptop mode

Install yoga-usage-mode-dkms-gitAUR to get device recognition for the lid switch. This creates the device /dev/input/by-path/platform-yoga-event, on which libinput or detect-tablet-mode-gitAUR can act.

Power management options

This article or section is a candidate for merging with Laptop/Lenovo#Lenovo.

Notes: This is shared across multiple models and should be put on the generic page instead of duplicated for every model. (Discuss in Talk:Lenovo IdeaPad Flex 5 14ARE05)

Rapid charge

First install acpi_call (or acpi_call-lts for LTS kernel, acpi_call-dkms for other kernels) and load the kernel module:

# modprobe acpi_call

Turn on:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x07' > /proc/acpi/call

Turn off:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x08' > /proc/acpi/call

Battery conservation mode

This device supports battery conservation mode.

Kernel method

Turn on:

# echo 1 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

Turn off:

# echo 0 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

ACPI method

First install acpi_call (or acpi_call-lts for LTS kernel, acpi_call-dkms for other kernels) and load the kernel module:

# modprobe acpi_call

Turn on:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x03' > /proc/acpi/call

To verify your setting run the command bellow, you should get 1:

$ cat /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

Turn off:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x05' > /proc/acpi/call

To verify your setting run the command bellow, you should get 0:

$ cat /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

System performance mode

There are 3 modes available: Intelligent Cooling, Extreme Performance and Battery Saving.

Kernel method

To list available options run the command below:

$ cat /sys/firmware/acpi/platform_profile_choices
low-power balanced performance

Set it to Intelligent Cooling mode:

# echo 'balanced' > /sys/firmware/acpi/platform_profile

Set it to Extreme Performance mode:

# echo 'performance' > /sys/firmware/acpi/platform_profile

Set it to Battery Saving mode:

# echo 'low-power' > /sys/firmware/acpi/platform_profile

ACPI method

First install acpi_call (or acpi_call-lts for LTS kernel, acpi_call-dkms for other kernels) and load the kernel module:

# modprobe acpi_call

Set it to Intelligent Cooling mode:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x000FB001' > /proc/acpi/call

Set it to Extreme Performance mode:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0012B001' > /proc/acpi/call

Set it to Battery Saving mode:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0013B001' > /proc/acpi/call

Firmware

fwupd does not officially support this device but it can still be used to apply uefi firmware updates.[1]

Updating bios

Warning: Flashing motherboard BIOS is a dangerous activity that can render your motherboard inoperable! While the author of this article has successfully run this procedure many times, your mileage may vary. Be careful!
Note:
  • All bios settings will be reset including the boot entry so make sure you can set up the boot entry for your install after the bios update. See efibootmgr for more information.
  • The commands fwupdate -l and fwupdate -i may no longer work (error below), but fwupdate -a still works.
(fwupdate:10680): FuPluginUefiCapsule-WARNING **: 12:47:47.256: SMBIOS BIOS Characteristics Extension Byte 2 is invalid -- UEFI Specification is unsupported, but /sys/firmware/efi exists: SMBIOS not supported
Segmentation fault (core dumped)

Pre update

Procedure

Run the following commands:

  • Extract the bios .cap file:
$ innoextract file.exe
  • Get the GUID number of your system firmware for the next step. You should get something that looks like example below:
# fwupdmgr get-devices
system-firmware type, {e20bafd3-9914-4f4f-9537-3129e090eb3c} version 22315982 can be updated to any version above 22315981
device-firmware type, {e3be8073-66a6-4bf6-966a-c0d58b486c40} version 1 can be updated to any version above 0
device-firmware type, {c85ba1bc-54a7-4aab-9337-eed4746bf09f} version 0 can be updated to any version above 4294967295
  • Schedule the update for the next system reboot, using extracted .cap file:
# fwupdtool install-blob /path/to/file.cap e20bafd3-9914-4f4f-9537-3129e090eb3c
Note: If your ESP path is not located at /boot/efi use --esp-path= to specify path.
Note: Make sure the device is connected to a power source before rebooting.
  • Reboot if there are no errors.
  • Enter the bios settings and move Linux-Firmware-Updater to the first option in the Boot Priority Order menu.
  • Save and exit and the update should begin.
Warning: Do not interrupt the bios update in any way doing so may result in a bricked device.
Note: During the update the device may beep, turn on and off, and appear unresponsive, this is normal.
  • When the update completes it will boot into the boot menu. At this point it is safe to interact with the device again.

Post update

  • Disable secure boot in the settings to be able to boot into Linux.
  • If your boot loader is not detected, boot into a usb with Arch and use arch-chroot to reinstall your boot loader or use efibootmgr to create a boot entry.

Secure boot

This device supports custom importing keys using efi-updatevar(efitools).

Note: Uefi administrator password must be set to enroll custom keys.

Lenovo diagnostics

The Lenovo diagnostics can be accessed by pressing F11 during boot. The Diagnostics contains tests for the motherboard and memory. Results of the tests can be stored onto a USB stick.

Firmware settings

AMD PSP

The AMD Platform Security Processor setting in the firmware can be used to disable or enable TPM functionality.

Disable built-in battery

This option temporarily disables the battery for servicing(e.g. changing ssd). To enable the battery again, connect the charger to the device.

Accessing the bios

The firmware settings and boot menu can be accessed by pressing the novo button(located on the right side of the headphone jack) with a pin or paperclip when the device powered off.

Power management in firmware

The System Performance Mode Option can be set to Extreme Performance, Intelligent Cooling, Battery Conservation. These settings can also be controlled from the OS, see #System performance mode.

Issues

OneKeyBattery bug

There is a bug with the OneKeyBattery setting which can cause problems powering on the device. It effects bios versions older than eecn25ww. To fix this, disable the OneKeyBattery setting in the bios or update the bios to version eecn25ww or newer.

Function keys

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

Reason:
  • Keys marked as visible should contain what key they appear as in xev/wev.
  • "Does weird things" is unhelpful to other readers
(Discuss in Talk:Lenovo IdeaPad Flex 5 14ARE05)
Key Visible?1 Marked?2 Effect
Fn+Esc Yes Yes Enables Fn lock
F1 Yes Yes XF86AudioMute
F2 Yes Yes XF86AudioLowerVolume
F3 Yes Yes XF86AudioRaiseVolume
F4 Yes Yes XF86AudioMicMute
F5 Yes Yes XF86MonBrightnessDown
F6 Yes Yes XF86MonBrightnessUp
F7 Yes Yes Super+p
F8 Yes3 Yes XF86RFKill
F9 Yes Yes Super+i
F10 Yes Yes Super+l
F11 Yes Yes Ctrl+Alt+Tab
F12 Yes Yes XF86Calculator
Ins No Yes Opens Lenovo Vantage on Windows wich is not usable on Linux, even that, it does weird things.
PrintScreen Yes Yes Super+Shift+s
Fn+Space No Yes Changes keyboard backlight brightness
Fn+q Yes No XF86Launch4
Fn+s Yes No PrintScreen
Fn+b Yes No BreakPause
Fn+Left Yes Yes Home
Fn+Right Yes Yes End
Fn+Up Yes Yes PageUp
Fn+Down Yes Yes PageDown
  1. The key is visible to xev and similar tools.
  2. The physical key has a symbol on it, which describes its function.
  3. systemd-logind handles this by default.

See also