screen brightness up/down keys not working in LENOVO IdeaPad 5 15IIL05

Bug #1907308 reported by Wladimir Mutel
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

The keys marked for brightness control on the keyboard are supposed to be Fn+F5 (down) and Fn+F6 (up).
But pressing them does not have any effects.
Volume control keys Fn+F1 (off), Fn+F2 (down), Fn+F3 (up) all do work, and KDE shows appropriate indicators when they are pressed.
I know this is a popular problem with Lenovo laptops.
I use Ubuntu 21.04 Hirsute on built-in NVMe, but Ubuntu 20.04 booted from USB flash drive also does not allow me to control screen brightness.
Hardware and OS information will be collected on Apport request and attached here.
---
ProblemType: Bug
ApportVersion: 2.20.11-0ubuntu55
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: mwg 1006 F.... pulseaudio
                      mwg 1010 F.... pipewire-media-
 /dev/snd/seq: mwg 1005 F.... pipewire
BootLog:

CasperMD5CheckResult: skip
CompositorRunning: None
CurrentDesktop: KDE
DistUpgraded: Fresh install
DistroCodename: hirsute
DistroRelease: Ubuntu 21.04
DistroVariant: ubuntu
ExtraDebuggingInterest: I just need to know a workaround
GraphicsCard:
 Intel Corporation Iris Plus Graphics G1 (Ice Lake) [8086:8a56] (rev 07) (prog-if 00 [VGA controller])
   Subsystem: Lenovo Iris Plus Graphics G1 (Ice Lake) [17aa:3fd9]
HibernationDevice:
 #RESUME=UUID=6932e499-f0ad-4456-b93c-2b7f9bf763dc
 RESUME=UUID=ce49bc01-a59b-4abf-9110-87bc71689769
InstallationDate: Installed on 2009-11-01 (4055 days ago)
InstallationMedia: Kubuntu 9.10 "Karmic Koala" - Release amd64 (20091027)
MachineType: LENOVO 81YK
NonfreeKernelModules: wl
Package: xorg 1:7.7+19ubuntu15
PackageArchitecture: amd64
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.8.0-31-generic root=/dev/mapper/vg_c540scadaw-root64 ro rootflags=commit=3600 transparent_hugepage=always init=/lib/systemd/systemd
ProcVersionSignature: Ubuntu 5.8.0-31.33-generic 5.8.17
RelatedPackageVersions:
 linux-restricted-modules-5.8.0-31-generic N/A
 linux-backports-modules-5.8.0-31-generic N/A
 linux-firmware 1.192
Tags: hirsute ubuntu single-occurrence reproducible has-workaround
Uname: Linux 5.8.0-31-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm admin cdrom dialout dip disk kvm libvirt lpadmin netdev plugdev sambashare src
_MarkForUpload: True
dmi.bios.date: 07/06/2020
dmi.bios.release: 1.45
dmi.bios.vendor: LENOVO
dmi.bios.version: DPCN45WW
dmi.board.asset.tag: NO Asset Tag
dmi.board.name: LNVNB161216
dmi.board.vendor: LENOVO
dmi.board.version: NO DPK
dmi.chassis.asset.tag: NO Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: IdeaPad 5 15IIL05
dmi.ec.firmware.release: 1.45
dmi.modalias: dmi:bvnLENOVO:bvrDPCN45WW:bd07/06/2020:br1.45:efr1.45:svnLENOVO:pn81YK:pvrIdeaPad515IIL05:rvnLENOVO:rnLNVNB161216:rvrNODPK:cvnLENOVO:ct10:cvrIdeaPad515IIL05:
dmi.product.family: IdeaPad 5 15IIL05
dmi.product.name: 81YK
dmi.product.sku: LENOVO_MT_81YK_BU_idea_FM_IdeaPad 5 15IIL05
dmi.product.version: IdeaPad 5 15IIL05
dmi.sys.vendor: LENOVO
version.compiz: compiz N/A
version.libdrm2: libdrm2 2.4.103-2
version.libgl1-mesa-dri: libgl1-mesa-dri 20.2.4-1
version.libgl1-mesa-glx: libgl1-mesa-glx N/A
version.xserver-xorg-core: xserver-xorg-core 2:1.20.9-2ubuntu1.1
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.10.6-2
version.xserver-xorg-video-ati: xserver-xorg-video-ati N/A
version.xserver-xorg-video-intel: xserver-xorg-video-intel N/A
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau N/A

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1907308

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Wladimir Mutel (mwg) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected has-workaround hirsute reproducible single-occurrence ubuntu
description: updated
Revision history for this message
Wladimir Mutel (mwg) wrote : CRDA.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : Dependencies.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : DpkgLog.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : IwConfig.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : Lspci.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : Lspci-vt.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : Lsusb.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : Lsusb-t.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : Lsusb-v.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : PaInfo.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : ProcEnviron.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : ProcModules.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : PulseList.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : RfKill.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : UdevDb.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : WifiSyslog.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : XorgLog.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : XorgLogOld.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : Xrandr.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : acpidump.txt

apport information

Revision history for this message
Wladimir Mutel (mwg) wrote : xdpyinfo.txt

apport information

no longer affects: xorg (Ubuntu)
Revision history for this message
Wladimir Mutel (mwg) wrote :

I found that in KDE System Settings/Energy saving I actually can control brightness by moving sliders and clicking Apply or OK. The system just does not react on Fn+F5/F6. So probably the problem is easier than it seemed initially.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

That's good because it confirms the issue is just the kernel not recognizing this model of laptop's brightness keys.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

...or systemd-hwdb.

Revision history for this message
Wladimir Mutel (mwg) wrote :

Also I noticed that unplugging power adapter does not make KDE to dim the screen, despite lower screen brightness configured for on-battery mode than on-mains. As if it does not sense difference between "on-battery" and "on-mains" modes.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

That's a different issue so please open a new bug for it.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Please use `evtest` to get the scancode/keycode of the hotkey events.

Revision history for this message
Wladimir Mutel (mwg) wrote :

$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Power Button
/dev/input/event2: Sleep Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: Video Bus
/dev/input/event5: Ideapad extra buttons
/dev/input/event6: MSFT0001:01 04F3:3140 Mouse
/dev/input/event7: MSFT0001:01 04F3:3140 Touchpad
/dev/input/event8: sof-hda-dsp Mic
/dev/input/event9: sof-hda-dsp Headphone
/dev/input/event10: sof-hda-dsp HDMI/DP,pcm=3
/dev/input/event11: sof-hda-dsp HDMI/DP,pcm=4
/dev/input/event12: sof-hda-dsp HDMI/DP,pcm=5
/dev/input/event13: Integrated Camera: Integrated C
Select the device event number [0-13]:

tried to select 5, could not trigger any events from keyboard

tried to select 3, could trigger code 113 (KEY_MUTE), code 114 (KEY_VOLUMEDOWN) and code 115 (KEY_VOLUMEUP) with Fn+F1/F2/F3,

_nothing happened_ with pressing Fn+F4 (picture: microphone off), Fn+F5 (picture: brightness down), Fn+F6 (picture: brightness up), Fn+F8 (picture: airplane mode), Fn+Insert (on the right from F12, picture: star and letter S), Fn+PrtSc (picture: scissors and oval pointed cutout)

With Fn+F7 (picture: probably switch between local/external display), ^X@sp is printed in the terminal (Konsole), and the following events are dumped :

Event: time 1607686644.627232, type 4 (EV_MSC), code 4 (MSC_SCAN), value 19
Event: time 1607686644.627232, type 1 (EV_KEY), code 25 (KEY_P), value 0
Event: time 1607686644.627232, -------------- SYN_REPORT ------------
Event: time 1607686644.632269, type 4 (EV_MSC), code 4 (MSC_SCAN), value db
Event: time 1607686644.632269, type 1 (EV_KEY), code 125 (KEY_LEFTMETA), value 0
Event: time 1607686644.632269, -------------- SYN_REPORT ------------

Fn+F9 (picture: cog wheel or sun) prints ^X@si and code 23 (KEY_I) in the dump,
Fn+F10 (picture: lock) prints ^X@sl and code 38 (KEY_L),
Fn+F11 (picture: bar with 3 squares within) generated ESC Tab (0x1b 0x9) codes
Fn+F12 (picture: calculator) generates code 140 (KEY_CALC)

multimedia keys above the Num field generated codes 164 (KEY_PLAYPAUSE), 166 (KEY_STOPCD), 165 (KEY_PREVIOUSSONG) and 163 (KEY_NEXTSONG), accordingly

Fn+Space generated no events in evtest, but caused keyboard backlight cycle through medium level, high level and back off.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Maybe ask this in Lenovo forum?

This is indeed a kernel issue, however we can't do much without physical access...

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Changed in linux (Ubuntu):
status: Expired → New
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Andrey Bondarenko (abone) wrote :

Upstream kernel 5.19 may have a patch for the bug
 https://bugzilla.kernel.org/show_bug.cgi?id=213297#c12

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.