Brightness hotkeys not working on Lenovo S740

Bug #1872311 reported by Elias Julkunen on 2020-04-12
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned

Bug Description

Brightness hotkeys (Fn + F11 for decrease and Fn + F12 for increase) do not work on Ubuntu 20.04 and Lenovo S740 laptop. The brightness hotkeys did not work on 19.10 either.

I followed the guide here:
https://wiki.ubuntu.com/Hotkeys/Troubleshooting

In "Step-by-step Troubleshooting", none of the steps (1-7) did produce any reaction to brightness change key combinations. However, I am able to change the laptop screen brightness through the brightness applet.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: linux-image-5.4.0-21-generic 5.4.0-21.25
ProcVersionSignature: Ubuntu 5.4.0-21.25-generic 5.4.27
Uname: Linux 5.4.0-21-generic x86_64
ApportVersion: 2.20.11-0ubuntu26
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: elias 1447 F.... pulseaudio
 /dev/snd/controlC0: elias 1447 F.... pulseaudio
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Sun Apr 12 16:12:01 2020
InstallationDate: Installed on 2019-11-19 (144 days ago)
InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017)
MachineType: LENOVO 81RS
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.4.0-21-generic root=UUID=101c7da4-860d-4496-ae06-d98699795f9a ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-5.4.0-21-generic N/A
 linux-backports-modules-5.4.0-21-generic N/A
 linux-firmware 1.187
SourcePackage: linux
UpgradeStatus: Upgraded to focal on 2020-04-04 (7 days ago)
dmi.bios.date: 03/10/2020
dmi.bios.vendor: LENOVO
dmi.bios.version: BYCN33WW
dmi.board.asset.tag: NO Asset Tag
dmi.board.name: LNVNB161216
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40709 WIN
dmi.chassis.asset.tag: NO Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Lenovo Yoga S740-14IIL
dmi.modalias: dmi:bvnLENOVO:bvrBYCN33WW:bd03/10/2020:svnLENOVO:pn81RS:pvrLenovoYogaS740-14IIL:rvnLENOVO:rnLNVNB161216:rvrSDK0J40709WIN:cvnLENOVO:ct10:cvrLenovoYogaS740-14IIL:
dmi.product.family: Yoga S740-14IIL
dmi.product.name: 81RS
dmi.product.sku: LENOVO_MT_81RS_BU_idea_FM_Yoga S740-14IIL
dmi.product.version: Lenovo Yoga S740-14IIL
dmi.sys.vendor: LENOVO

Elias Julkunen (eliasj) wrote :
Elias Julkunen (eliasj) wrote :
Elias Julkunen (eliasj) wrote :

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Alex Hung (alexhung) wrote :

The brightness interface (/sys/class/backlight/intel_backlight) is working, so it must be the missing events that cause your problem.

Ubuntu needs keycodes (KEY_BRIGHTNESSDOWN 224 & KEY_BRIGHTNESSUP 225), and this can be from either scancode or ACPI events. Laptops usually use ACPI for brightness, and this can be confirmed by pressing hotkeys while running

   $ watch -n1 cat /proc/interrupts

Note: ACPI usually is on IRQ 9. Check whether interrupts increase with brightness up/down presses.

Alex Hung (alexhung) wrote :

If ACPI approach is used, there are also two different approaches used - ACPI standard or OEM-specific .

ACPI defines events from brightness up and down, and it is video/brightnessdown BRTDN 00000087 & video/brightnessup BRTUP 00000086. The can be checked by running "acpi_listen" and pressing brightness hotkeys.

If OEM-specific events are used, it should be handled by platform driver like "ideapad_laptop".

Would you mind sharing acpidump log (sudo acpidump > acpi.log) so more analysis can be performed?

Elias Julkunen (eliasj) wrote :

Thanks for the comments. Please find attached the requested file (sudo acpidump > acpi.log).

However, "watch -n1 cat /proc/interrupts" did not increase when I used the Fn + F10/F11 (brightness) button. Contrast to that, the (working) volume hotkeys increased the interrupts. I also ran "acpi_listen" and same thing - nothing when brightness hotkeys were pressed, and the correct input with volume hotkeys.

Alex Hung (alexhung) wrote :

No ACPI interrupts means either BIOS is broken or system is using other mechanism like scancode from KBC/EC.

Checking scancode is easy: sudo showkey -s
Also checking interrupts: watch -n1 cat /proc/interrupts <-- usually IRQ 1

If there aren't events from KBC/EC, this is a BIOS or a KBC/EC bug.

Elias Julkunen (eliasj) wrote :

Thanks, "sudo showkey -s" does not show anything for the brightness key combination. Neither do the interrupts increase when the brightness key combination is pressed. So I assume this cannot be fixed from the software side.

The brightness keys are working on Windows. However, the laptop is quite new so maybe the support just isn't there yet.

Alex Hung (alexhung) wrote :

It may worth a shot to ask on Lenovo's forum (https://forums.lenovo.com/t5/English-Community/ct-p/Community-EN). Perhaps they will forward this to developers who can take a look and release a fix for everybody.

Elias Julkunen (eliasj) wrote :

Hi, I posted about this here: https://forums.lenovo.com/t5/Ubuntu/Lenovo-Yoga-S740-14IIL-Brightness-hotkeys-not-working-on-Ubuntu-20-04/m-p/5011698

Let's hope someone picks up on this - so far no one has.

Kai-Heng Feng (kaihengfeng) wrote :

Is the panel OLED?

Alexander Wong (udia) wrote :

I discovered this exact same issue, but with a slightly different environment.
Perhaps it's not an Ubuntu bug but an issue with the kernel?

The brightness keys work in Windows.
In linux, I can still adjust the brightness using the power manager slider despite the keyboard hotkeys not working.

I am using the Lenovo Yoga C740, with my primary OS as Debian Buster.
The brightness up and down keys (F11, F12) do not emit keycodes when pressed, even though holding down Fn and pressing F11 I am able to emit the function key behavior.
These issues persist when using Ubuntu 20.04 through a live usb.

I wrote a summary of my issues here: https://udia.ca/posts/2020/06/lenovo_c740/#hotkey-diagnosis

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

Other bug subscribers