Lenovo IdeaPad Flex 5 14alc05

This article or section does not follow the
Laptop page guidelines
.
Reason:
Hardware table misses some IDs, Function keys table needs more XF86 codes, needs an accessibility section. (Discuss in
Talk:Lenovo IdeaPad Flex 5 14alc05
)
Hardware
PCI/USB ID
Working?
GPU
1002:164c
Yes
Audio
1022:15e3
Yes
Wi-Fi
8086:2723
Yes
Bluetooth
8087:0029
Yes
Touchpad
Yes
Touchscreen
Yes
Webcam
5986:212a
Yes
Fingerprint sensor
27c6:55b4
06cb:00be
Yes
Pen input
Yes
Accelerometer
1022:15e4
Yes
SD-card reader
10ec:522a
Yes
The
IdeaPad Flex 5 14alc05
is a 14-inch AMD Lucienne (Ryzen 5000)-based convertible from Lenovo.
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 UEFI is a dangerous activity that can render your motherboard inoperable! While the author of this article has successfully run this procedure, your mileage may vary. Be careful!
Note
UEFI settings might be reset, including the boot entry, so make sure you can set up the boot entry for your install after the UEFI 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)
This article is a copy of the
Lenovo IdeaPad Flex 5 14ARE05 BIOS update Guide
adapted for this model.
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:
Note
If fwupdate does not exist follow
#Manually with EDK2 CapsuleApp
.
# 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
Note
If your ESP path is not located at
/boot/efi
use
--esp-path=
to specify path.
Verify that the update is pending:
# fwupdate -i
Note
Make sure the device is connected to a power source before rebooting.
Reboot if there are no errors and if update is pending.
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.
Manually with EDK2 CapsuleApp
Install
edk2-shell
Build
MdeModulePkg
Note
The MdeModulePkg should be built with
# stuart_ci_build -c .pytool/CISettings.py -p MdeModulePkg -a X64 TOOL_CHAIN_TAG=GCC5
.
Copy the extracted
.cap
file, the UEFI Shell at
/usr/share/edk2-shell/x64/Shell_Full.efi
and the built
CapsuleApp.efi
to your efi root. (probably
/boot/efi/
)
Reboot into the UEFI Shell.
Note
Can be done with Grub:
GRUB#UEFI Shell
Go into the efi root.
SHELL> FS0:
FS0>
Check for the files with ls.
Run
FS0> CapsuleApp.efi file.cap
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
The BIOS accepts custom
Secure Boot
keys. To enroll them, you have to use
KeyTool
from
efitools
.
Follow the guide under
Secure Boot#Using KeyTool
.
Wireless
This article or section is out of date.
Reason:
Since 5.16 rtw89 is a part of the linux kernel. (Discuss in
Talk:Lenovo IdeaPad Flex 5 14alc05
)
The Ideapad Flex 5 14alc05 may come with either Wi-Fi 5 (802.11ac 2x2) or Wi-Fi 6 (802.11ax 2x2), both equipped with Bluetooth 5.0 and connected via M.2 slot (see the
PSREF
for device specifications). However, Lenovo sources these cards from multiple companies. Depending on the hardware layout, this device may have either an Intel or a Realtek Wi-Fi card. Intel Wi-Fi cards should work out of the box, reliably and with full performance. Realtek on the other hand does not support Linux, and so Wi-Fi will not work out of the box.
If the card is a Realtek 8852AE or similar, a driver is available as
rtw89-dkms-git
AUR
.
Note
Bluetooth does not work when using the
rtw89
driver on kernel 5.13 or older, and Wi-Fi can sometimes be a little underperformant, but it is suitable for daily use.
Tip
This device does not have a networking port, so you will either need a USB to networking port adapter, a USB flash drive to clone the files to from another device, or else compile the driver into the kernel beforehand.
Touchpad/Touchscreen
Sometimes the touchpad and touchscreen will not work after booting due to missing module dependencies,
pinctrl_amd
is unavailable when the modules for the touchpad/touchscreen get loaded.
To use the touchpad/touchscreen reliably after booting, create the following file:
/etc/modprobe.d/touchpad.conf
softdep hid-multitouch pre: pinctrl_amd
softdep i2c_hid pre: pinctrl_amd
softdep i2c_designware pre: pinctrl_amd
softdep wacom pre: pinctrl_amd
Fingerprint sensor
Depending on your specific model, you may have a
27c6:55b4
(Goodix) or a
06cb:00be
(Synaptics). The process will differ depending on your reader, so first use
lsusb
to determine which one you have.
Goodix
This article or section is out of date.
Reason:
The original author had archived this guide. (Discuss in
Talk:Lenovo IdeaPad Flex 5 14alc05
)
Note
The experimental driver
must not be used for security purposes
, as the current fingerprint matching algorithm may accept false positives or false negatives.
Follow
this guide
.
Synaptics
For installation, the Windows driver will be downloaded and extracted. To do so, you need to install the
innoextract
package beforehand. You also need
meson
and
ninja
.
In your chosen directory, run
$ git clone
https://github.com/Popax21/synaTudor/
$ cd synaTudor
$ arch-meson build
$ cd build
$ ninja
# ninja install
Note
The
libfprint-tod-git
AUR
upstream has a bug that can cause lockups. Consider using
this fork
until it is fixed
For the module to work, you need to have the
libfprint-tod-git
AUR
fork installed instead of libfprint. You can now follow the steps in
fprint
or use your DE to configure your sensor!
Accelerometer
While there used to be problems (See
https://bbs.archlinux.org/viewtopic.php?pid=1933133#p1933133
and
https://bugzilla.kernel.org/show_bug.cgi?id=212615
), installing
iio-sensor-proxy
seems to enable rotation support in compatible desktop environments.
Power management
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 14alc05
)
(see
Lenovo IdeaPad 5 14are05#Power management
, similar methods)
System Performance Mode
There are 3 performance modes available:
Intelligent Cooling
,
Extreme Performance
and
Battery Saving
. To set them, you need to call the corresponding ACPI methods.
First install
acpi_call
(
acpi_call-lts
for LTS kernel,
acpi_call-dkms
for other
kernels
) and load the
kernel module
:
# modprobe acpi_call
Set it to
Battery Saving
mode:
# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0013B001' > /proc/acpi/call
Set it to
Extreme Performance
mode:
# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0012B001' > /proc/acpi/call
Set it to
Intelligent Cooling
mode:
# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x000FB001' > /proc/acpi/call
To verify your setting:
# echo '\_SB.PCI0.LPC0.EC0.PFMM' > /proc/acpi/call
# cat /proc/acpi/call; printf '\n'
where
0x0
stands for
Battery Saving
,
0x1
for
Extreme Performance
and
0x2
for
Intelligent Cooling
.
Battery Conservation
Similarly to
#System Performance Mode
, make sure you have set up
acpi_call
.
Turn on:
# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x03' > /proc/acpi/call
Turn off:
# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x05' > /proc/acpi/call
To verify your setting:
# echo '\_SB.PCI0.LPC0.EC0.SMBM' > /proc/acpi/call
# cat /proc/acpi/call; printf '\n'
where
0x0
stands for
off
and
0x1
stands for
on
.
There is also an
alternative
way to control the conservation mode of the battery.
Rapid Charge
Make sure you have set up
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
To verify your setting:
# echo '\_SB.PCI0.LPC0.EC0.QKCM' > /proc/acpi/call
# cat /proc/acpi/call; printf '\n'
where
0x0
stands for
off
and
0x1
stands for
on
.
Note however, that this is untested!
Hidden BIOS menu
See
https://forums.lenovo.com/topic/findpost/1092/5018261/5262868
. You can turn on S3 sleep support.
Suspend
See
Power management/Suspend and hibernate#Changing suspend method
for the general context in which this workaround applies.
This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
Duplicates
DSDT
. (Discuss in
Talk:Lenovo IdeaPad Flex 5 14alc05
)
Get acpidump and iasl, provided by the
acpica
package.
Dump all your ACPI files into a directory:
$ mkdir ~/acpi/
$ cd ~/acpi/
# acpidump -b
Decompile the DSDT table
$ iasl -e *.dat -d dsdt.dat
Patch the decompiled DSDT table (dsdt.dsl), using
this patch
:
$ patch -p1 < dsdt.patch
Compile the modified DSDT table
$ iasl -ve -tc dsdt.dsl
Make a
cpio
archive
$ mkdir -p kernel/firmware/acpi
$ cp dsdt.aml kernel/firmware/acpi
$ find kernel | cpio -H newc --create > acpi_override
Copy created cpio file to boot:
# cp acpi_override /boot
Reboot
Function keys
Key
Visible?
1
Marked?
2
Effect
Fn+Esc
No
Yes
Toggles Fn lock
3
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_L
+
p
Fn+F8
Yes
Yes
XF86RFKill
Fn+F9
Yes
Yes
Super_L
+
i
Fn+F10
Yes
Yes
Super_L
+
l
Fn+F11
Yes
Yes
Alt_L
+
Caps_Lock
+
Tab
Fn+F12
Yes
Yes
XF86Calculator
Fn+Insert
No
Yes
Lenovo Vantage
4
Fn+PrtSc
No
Yes
Screenshot
4
Fn+Space
No
Yes
Keyboard Backlight Brightness
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.
The key has a status indicator LED in it similar to
CapsLock
The Lenovo function keys driver provides special functionality for this key on Windows (See
https://pcsupport.lenovo.com/de/en/products/laptops-and-netbooks/flex-series/flex-5-14alc05/82hu/82hu002yus/r9137p7f/downloads/driver-list/component?name=Mouse,%20Pen%20and%20Keyboard
, under "Lenovo Fn and Function Keys for Windows 10 (64-bit)")
See also
Official support page
Product Specifications Reference (PSREF)