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 |
No |
SD card reader | 10ec:522a |
Yes |
Audio | 1022:15e3 |
Yes |
Accelerometer | Untested |
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
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 detect-tablet-mode-gitAUR can act.
Power management options
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' | tee /proc/acpi/call
Turn off:
# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x08' | tee /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' | tee /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' | tee /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' | tee /proc/acpi/call
Set it to Extreme Performance mode:
# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0012B001' | tee /proc/acpi/call
Set it to Battery Saving mode:
# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0013B001' | tee /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
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
- Install the innoextract, udisks2 and fwupd packages.
- Download bios update exe file.[2]
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:
# fwupdate -l
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:
# fwupdate -a e20bafd3-9914-4f4f-9537-3129e090eb3c /path/to/file.cap
/boot/efi
use --esp-path=
to specify path.- Verify that the update is pending:
# fwupdate -i
- Reboot if there are no errors and if update is pending.
- 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.
- 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 bootloader or useefibootmgr
to create a boot entry.
Secure boot
This device supports custom importing keys using efi-updatevar
(efitools).
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
Key | Visible?1 | Marked?2 | Effect |
---|---|---|---|
Fn+Esc |
No | 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, not usable on Linux |
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
|
- The key is visible to
xev
and similar tools. - The physical key has a symbol on it, which describes its function.
- systemd-logind handles this by default.