You are not logged in.

#1 2021-02-02 00:57:19

vimodeeverything
Member
Registered: 2021-01-30
Posts: 28

[SOLVED]Fn keys settup

Hi!
I've just switched form Manjaro to Arch two days ago and am struggling to set everything up.
For now, my biggest issue are the Fn keys on my laptop. I have noticed the following:

- The volume mute and control keys aren't working
I do have ALSA and Pulseaudio installed, and can change volume in pavucontrol normally

-The brightness keys aren't working
I can change the brightness manually in /sys/class/backlight/amdgpu_bl0/brightness
The wiki hasn't been much helpful. I can't use xorg-xbacklight since I have an amd card.
I have also tried acpilight and my user is a member of the video group.
I've also tinkered a bit with xfce-power-manager and it also hasn't worked.

-Caps lock indicator light doesn't work
The Caps lock light doesn't turn on when i press the key

-Fn lock light is always on
The little light on the Esc key that indicates Fn lock is always on.
Also, acpi_listen doesn't recognize any Fn keys.

-The same goes for the microphone mute key

Are these keys supposed to work on a hardware level or are they handled by a service running in the background?

I'm using a Thinkpad E14 amd gen2 if that information is of any use.

Last edited by vimodeeverything (2021-02-22 14:10:41)

Offline

#2 2021-02-02 07:31:46

seth
Member
Registered: 2012-09-03
Posts: 56,279

Re: [SOLVED]Fn keys settup

xev -event keyboard

- do they produce input events?
In that case you'll have to bind the keys to some action.

Edit: does Fn+Esc toggle the Fn-lock and does that have any impact on your situation?

lsmod | grep think

Last edited by seth (2021-02-02 07:35:33)

Offline

#3 2021-02-02 10:03:20

vimodeeverything
Member
Registered: 2021-01-30
Posts: 28

Re: [SOLVED]Fn keys settup

xev -event keyboard

Doesn't produce anything when it comes to Fn keys, but does recognise F1-12 keys (when I turn on Fn lock).
It also recognizes the Fn key itself.

Fn+Esc does toggle the Fn-lock but the light indicator on the key doesn't turn on.
So basically, it reads F1-12 and when I toggle the lock, it doesn't read anything.

This is the output of lsmod | grep think

thinkpad_acpi        118784   0
ledtrig_audio          16384     2 snd_hda_codec_generic,thinkpad_acpi
rfkill                          28672     6 bluetooth,thinkpad_acpi,cfg80211
snd                          114688  19 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,thinkpad_acpi,snd_soc_core,
video                       53248     1 thinkpad_acpi

Offline

#4 2021-02-02 12:23:28

seth
Member
Registered: 2012-09-03
Posts: 56,279

Re: [SOLVED]Fn keys settup

https://forums.lenovo.com/t5/Other-Linu … 791?page=8
(The internet has the problem A LOT…)
https://github.com/masksshow/Thinkpad-E … -Gen-2-FIX

The script manipulates the Differentiated System Description Table and make grub load it w/ the kernel.
Pay attention to the instructions in the readme.md!

Offline

#5 2021-02-02 14:15:53

vimodeeverything
Member
Registered: 2021-01-30
Posts: 28

Re: [SOLVED]Fn keys settup

I ran the script.
Followed the README and I see no change.

Keys still don't work.
acpi_listen still gives me no output when i press any Fn key, and the Caps lock key works, but doesn't light up when activated.

Could the issue be that I'm missing some software?
After a minimal install, I installed xorg, amd graphics drivers, acpi, and acpilight as far as display goes, and Pulseaudio and ALSA for sound.

Are the Fn keys supposed to be handled by those programs (for example acpi takes care of the brightness keys, and alsa takes care of the volume keys), or are they supposed to work even without them?


EDIT: I also had Fn key issues on Manjaro, where they would work only after the laptop was put to sleep, and woken up again.
I used advice I saw online and used cronjob to do that automatically when i start the system.
I have also tried that here on Arch, but it doesn't help.

Last edited by vimodeeverything (2021-02-02 14:19:32)

Offline

#6 2021-02-02 14:51:59

seth
Member
Registered: 2012-09-03
Posts: 56,279

Re: [SOLVED]Fn keys settup

Do you get the "Found custom ACPI table" bootmessage?
Do the keys now show up in xev?

they would work only after the laptop was put to sleep, and woken up again.

Parallel windows installation?
Did you try the LTS kernel?

Offline

#7 2021-02-02 22:52:33

vimodeeverything
Member
Registered: 2021-01-30
Posts: 28

Re: [SOLVED]Fn keys settup

No, it says:

Binary file appears to be a valid ACPI table

The keys still don't show up in xev.

I only have Arch installed.

I don't know would the LTS kernel be of any help, since I was using the latest kernel in manjaro and everything was working fine.

Also, I can see that the script made a huge number of optimizations ( 1171 ), and didn't help. Is there a way to revert the changes because I'm getting two systemd errors after using the script

-systemd-backlight@backlight:acpi_video0.service

-systemd-modules-load.service

And on startup, I get the message failed to start "load kernel modules"

Offline

#8 2021-02-02 23:05:14

vimodeeverything
Member
Registered: 2021-01-30
Posts: 28

Re: [SOLVED]Fn keys settup

No, it says:

Binary file appears to be a valid ACPI table

The keys still don't show up in xev.

I only have Arch installed.

I don't know would the LTS kernel be of any help, since I was using the latest kernel in manjaro and everything was working fine.

Also, I can see that the script made a huge number of optimizations ( 1171 ), and didn't help. Is there a way to revert the changes because I'm getting two systemd errors after using the script

-systemd-backlight@backlight:acpi_video0.service

-systemd-modules-load.service

And on startup, I get the message failed to start "load kernel modules"

Offline

#9 2021-02-03 08:49:16

seth
Member
Registered: 2012-09-03
Posts: 56,279

Re: [SOLVED]Fn keys settup

since I was using the latest kernel in manjaro and everything was working fine.

before wrote:

also had Fn key issues on Manjaro, where they would work only after the laptop was put to sleep, and woken up again.

Also the "latest kernel in manjaro" wasn't necessarily equivalent to the kernel you're using right now.
And afaik manjaro also defaults to the lts kernel.

Also, I can see that the script made a huge number of optimizations ( 1171 )

What?
The script adds /etc/grub.d/01_acpi and /boot/thinkpad-e15-gen2-firmware-1.09-power-supply-fix.aml and updates grub

And on startup, I get the message failed to start "load kernel modules"

Please post a complete system jorunal (sudo jorunalctl -b)

Offline

#10 2021-02-03 13:27:51

vimodeeverything
Member
Registered: 2021-01-30
Posts: 28

Re: [SOLVED]Fn keys settup

On Manjaro, the keys worked fine after I used cronie to put the laptop to sleep for 2 seconds when I boot the system.
I remember changing kernel releases after that, and it didn't affect the keys.

I've read somewhere on the Lenovo forum that it was probably a UEFI compatibility issue.


Here is the output from journalctl -b | grep failed

Feb 03 13:08:03 Arch kernel: tsc: Marking TSC unstable due to check_tsc_sync_source failed
Feb 03 13:08:03 Arch kernel: acpi_call: module verification failed: signature and/or required key missing - tainting kernel
Feb 03 13:08:03 Arch kernel: thinkpad_ec: thinkpad_ec_read_row: failed requesting row: (0x01:0x00)->0xfffffff0
Feb 03 13:08:03 Arch kernel: thinkpad_ec: initial ec test failed
Feb 03 13:08:03 Arch kernel: audit: type=1130 audit(1612357683.106:9): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-modules-load comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Feb 03 13:08:03 Arch kernel: snd_rn_pci_acp3x: probe of 0000:04:00.5 failed with error -22
Feb 03 13:08:03 Arch kernel: platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
Feb 03 13:08:03 Arch kernel: cfg80211: failed to load regulatory.db
Feb 03 13:08:03 Arch audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-modules-load comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Feb 03 13:08:03 Arch kernel: ACPI: \_SB_.UBTC: failed to evaluate _DSM (0x6)
Feb 03 13:08:03 Arch kernel: ucsi_acpi USBC000:00: ucsi_acpi_dsm: failed to evaluate _DSM 2
Feb 03 13:08:03 Arch kernel: thermal thermal_zone0: failed to read out thermal zone (-61)
Feb 03 13:08:04 Arch kernel: ucsi_acpi: probe of USBC000:00 failed with error -5
Feb 03 13:08:04 Arch systemd-udevd[258]: acpi_video0: Process '/bin/chgrp video /sys/class/backlight/acpi_video0/brightness' failed with exit code 1.
Feb 03 13:08:04 Arch systemd-udevd[258]: acpi_video0: Process '/bin/chmod g+w /sys/class/backlight/acpi_video0/brightness' failed with exit code 1.
Feb 03 13:08:04 Arch audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-backlight@backlight:acpi_video0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Feb 03 13:08:04 Arch NetworkManager[344]: <warn>  [1612357684.9624] sup-iface[87b7a30326544d19,0,wlp3s0]: call-p2p-cancel: failed with P2P cancel failed
Feb 03 13:08:06 Arch dbus-daemon[343]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.home1.service': Unit dbus-org.freedesktop.home1.service not found.
Feb 03 13:08:06 Arch audit[859]: CRED_ACQ pid=859 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=? acct="lightdm" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Feb 03 13:08:13 Arch dbus-daemon[343]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.resolve1.service': Unit dbus-org.freedesktop.resolve1.service not found.
Feb 03 13:08:24 Arch dbus-daemon[343]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.home1.service': Unit dbus-org.freedesktop.home1.service not found.
Feb 03 13:08:24 Arch dbus-daemon[343]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.home1.service': Unit dbus-org.freedesktop.home1.service not found.
Feb 03 13:08:24 Arch audit[1016]: CRED_ACQ pid=1016 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=? acct="marko" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Feb 03 13:08:24 Arch kernel: audit: type=1103 audit(1612357704.146:63): pid=1016 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=? acct="marko" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Feb 03 13:20:06 Arch dbus-daemon[343]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.home1.service': Unit dbus-org.freedesktop.home1.service not found.
Feb 03 13:22:44 Arch dbus-daemon[343]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.home1.service': Unit dbus-org.freedesktop.home1.service not found.
Feb 03 13:23:30 Arch dbus-daemon[343]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.home1.service': Unit dbus-org.freedesktop.home1.service not found.
Feb 03 13:23:45 Arch dbus-daemon[343]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.home1.service': Unit dbus-org.freedesktop.home1.service not found.

Offline

#11 2021-02-03 13:43:29

seth
Member
Registered: 2012-09-03
Posts: 56,279

Re: [SOLVED]Fn keys settup

Please post a complete system jorunal (sudo jorunalctl -b)

Not some random filter.

You can try to lie to the BIOS by passing something like

acpi_osi=! acpi_osi="Windows 2012"

I've read somewhere on the Lenovo forum that it was probably a UEFI compatibility issue.

The requirement to go through an S3 was what made me wonder whether there's a hibernating windows blocking the media keys…
If it's not, there may be a race condition (is. simply slowing down the boot process in its early phase might help)

I remember changing kernel releases after that, and it didn't affect the keys.

And what does that have to do with anything? Do you *know* which kernel versions you used on manjaro?

Offline

#12 2021-02-03 18:49:12

vimodeeverything
Member
Registered: 2021-01-30
Posts: 28

Re: [SOLVED]Fn keys settup

I reinstalled Arch today and set up cronie to put the device to sleep and than wake up again on boot.
That solved the problem with the Fn keys not being recognized.

This is the output of acpi_listen when i press the Fn keys:

button/mute MUTE 00000080 00000000 K
button/volumedown VOLDN 00000080 00000000 K
button/volumeup VOLUP 00000080 00000000 K
button/f20 F20 00000080 00000000 K
video/brightnessdown BRTDN 00000087 00000000
video/brightnessup BRTUP 00000086 00000000
video/switchmode VMOD 00000080 00000000 K
button/wlan WLAN 00000080 00000000 K
ibm/hotkey LEN0268:00 00000080 00001317
ibm/hotkey LEN0268:00 00000080 00001318

Now all thats left is to bind them to pulseaudio and acpilight.... i think.

Offline

Board footer

Powered by FluxBB