Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Hardware keys no longer work
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Abbott
n00b
n00b


Joined: 23 Mar 2020
Posts: 15

PostPosted: Fri Nov 18, 2022 7:33 pm    Post subject: Hardware keys no longer work Reply with quote

Somewhat recently I did a big kernel config change with the help of someone over irc and (I think) ever since then I can no longer control volume or brightness with the fn keys on my Yoga 720. I have tried to search for codes with xev and xbindkeys -k when I press the keys, but nothing shows up when I press fn or fn+f1 (mute) for example. I can see that the ideapad_laptop module is loaded at boot and the thinkpad_acpi module is not, but swapping those in and out don't seem to help. I have tried setting acpi_backlight to different values when booting as well to no effect. I am not sure what else to try if I can't get the codes to show up. What else can I try?
Back to top
View user's profile Send private message
steve_v
Guru
Guru


Joined: 20 Jun 2004
Posts: 388
Location: New Zealand

PostPosted: Sat Nov 19, 2022 4:35 pm    Post subject: Re: Hardware keys no longer work Reply with quote

Abbott wrote:
I have tried to search for codes with xev and xbindkeys -k when I press the keys, but nothing shows up when I press fn or fn+f1 (mute) for example.

Those keys may not generate normal keycodes, but rather acpi events. Does acpi_listen see anything?
I don't know about the yoga series, but at least on older thinkpads one needs thinkpad_acpi loaded and some appropriate acpid handler scripts to get all the function keys working.
_________________
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Back to top
View user's profile Send private message
Abbott
n00b
n00b


Joined: 23 Mar 2020
Posts: 15

PostPosted: Tue Nov 22, 2022 10:41 pm    Post subject: Reply with quote

I installed acpid, started it, modprobed thinkpad_acpi, then ran acpi_listener, but pressing the buttons didn't make anything show up, so I guess there are not acpi events being sent. Are there other modules or daemons I need to get this to work? What else could the keys be doing if not sending codes or acpi events?
Back to top
View user's profile Send private message
Abbott
n00b
n00b


Joined: 23 Mar 2020
Posts: 15

PostPosted: Fri Dec 30, 2022 7:09 am    Post subject: Reply with quote

Bump.

I am revisiting this and have not been able to make any progress getting events to show up with `acpi_listen`. What else can I try?
Back to top
View user's profile Send private message
Banana
Veteran
Veteran


Joined: 21 May 2004
Posts: 1392
Location: Germany

PostPosted: Fri Dec 30, 2022 10:53 am    Post subject: Reply with quote

Did you check your kernel config? https://wiki.gentoo.org/wiki/ACPI Maybe something is missing.
_________________
My personal space
My delta-labs.org snippets do expire

PFL - Portage file list - find which package a file or command belongs to.
Back to top
View user's profile Send private message
logrusx
Veteran
Veteran


Joined: 22 Feb 2018
Posts: 1535

PostPosted: Fri Dec 30, 2022 12:03 pm    Post subject: Reply with quote

Abbott wrote:
I installed acpid, started it, modprobed thinkpad_acpi, then ran acpi_listener, but pressing the buttons didn't make anything show up, so I guess there are not acpi events being sent. Are there other modules or daemons I need to get this to work? What else could the keys be doing if not sending codes or acpi events?


I think it's not thinkpad_acpi, but ideapad_laptop.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Abbott
n00b
n00b


Joined: 23 Mar 2020
Posts: 15

PostPosted: Sat Dec 31, 2022 5:15 pm    Post subject: Reply with quote

Banana wrote:
Did you check your kernel config? https://wiki.gentoo.org/wiki/ACPI Maybe something is missing.


Here is my .config: http://dpaste.com/HEMLFAV3Y
I have CONFIG_ACPI on and I have sys-power/acpid on and enabled with the default runlevel. I can see it is running with `pgrep -a acpid` and I can confirm CONFIG_ACPI is y with `zgrep CONFIG_ACPI /proc/config/gz`. I disabled the recommended settings on there, so I think I've done everything right as far as kernel options go.

logrusx wrote:
I think it's not thinkpad_acpi, but ideapad_laptop.

Best Regards,
Georgi


I just now tried setting CONFIG_IDEAPAD_LAPTOP=m and can confirm that is set with config.gz. I did `modprobe ideapad_laptop` and tried to see events with `acpi_listen` again, but no events were generated. Does it matter if ideapad_laptop is insmoded at boot or not? Could it be something else?
Back to top
View user's profile Send private message
logrusx
Veteran
Veteran


Joined: 22 Feb 2018
Posts: 1535

PostPosted: Sat Dec 31, 2022 8:34 pm    Post subject: Reply with quote

Oh, this one is with nvidia, mine is with nvidia too and brightness control only worked prior to nvidia driver version 510 and I think somewhere in the 5.18 or 5.19 kernels. Now it only works in hybrid graphics mode.

Try enabling CONFIG_NVIDIA_WMI_EC_BACKLIGHT and if it doesn't work, maybe the nvidia driver is broken. You mention other buttons don't work too? Did you try with a dist kernel or boot live ubuntu for example?

Best Regards,
Georgi
Back to top
View user's profile Send private message
logrusx
Veteran
Veteran


Joined: 22 Feb 2018
Posts: 1535

PostPosted: Sun Jan 08, 2023 8:33 pm    Post subject: Reply with quote

I just tried 525.60.13 and it seems they've fixed the brightness control. However I don't think this has anything to do with your problem.

What I recommend is trying dist-kernel or live Ubuntu or something like that and see if it works there. If it doesn't, maybe the problem is more general.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Abbott
n00b
n00b


Joined: 23 Mar 2020
Posts: 15

PostPosted: Thu Jan 26, 2023 8:31 am    Post subject: Reply with quote

I have finally gotten around to testing the dist kernel and I can see that the hardware keys are working again and an unrelated issue with the rtc clock not getting set correctly at boot is also resolved. I did a zgrep -i acpi /proc/config.gz and compared it to the .config of my custom kernel and this is what I found:

Code:
diff --git a/custom_acpi.txt b/dist_acpi.txt
index 1dc1f92..c7a3258 100644
--- a/custom_acpi.txt
+++ b/dist_acpi.txt
@@ -5,6 +5,7 @@ CONFIG_ACPI=y
 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+CONFIG_ACPI_TABLE_LIB=y
 # CONFIG_ACPI_DEBUGGER is not set
 CONFIG_ACPI_SPCR_TABLE=y
 CONFIG_ACPI_FPDT=y
@@ -17,54 +18,59 @@ CONFIG_ACPI_BATTERY=y
 CONFIG_ACPI_BUTTON=y
 CONFIG_ACPI_VIDEO=m
 CONFIG_ACPI_FAN=y
-# CONFIG_ACPI_TAD is not set
+CONFIG_ACPI_TAD=m
 CONFIG_ACPI_DOCK=y
 CONFIG_ACPI_CPU_FREQ_PSS=y
 CONFIG_ACPI_PROCESSOR_CSTATE=y
 CONFIG_ACPI_PROCESSOR_IDLE=y
 CONFIG_ACPI_CPPC_LIB=y
 CONFIG_ACPI_PROCESSOR=y
+CONFIG_ACPI_IPMI=m
 CONFIG_ACPI_HOTPLUG_CPU=y
 CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
-CONFIG_ACPI_THERMAL=m
+CONFIG_ACPI_THERMAL=y
 CONFIG_ACPI_PLATFORM_PROFILE=m
 CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
 CONFIG_ACPI_TABLE_UPGRADE=y
 # CONFIG_ACPI_DEBUG is not set
-# CONFIG_ACPI_PCI_SLOT is not set
+CONFIG_ACPI_PCI_SLOT=y
 CONFIG_ACPI_CONTAINER=y
 CONFIG_ACPI_HOTPLUG_MEMORY=y
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
-CONFIG_ACPI_SBS=y
+CONFIG_ACPI_SBS=m
 CONFIG_ACPI_HED=y
 # CONFIG_ACPI_CUSTOM_METHOD is not set
 CONFIG_ACPI_BGRT=y
-CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y
-# CONFIG_ACPI_NFIT is not set
+CONFIG_ACPI_NFIT=m
 CONFIG_ACPI_NUMA=y
 CONFIG_ACPI_HMAT=y
 CONFIG_HAVE_ACPI_APEI=y
 CONFIG_HAVE_ACPI_APEI_NMI=y
 CONFIG_ACPI_APEI=y
 CONFIG_ACPI_APEI_GHES=y
-# CONFIG_ACPI_APEI_PCIEAER is not set
+CONFIG_ACPI_APEI_PCIEAER=y
 CONFIG_ACPI_APEI_MEMORY_FAILURE=y
-# CONFIG_ACPI_APEI_EINJ is not set
+CONFIG_ACPI_APEI_EINJ=m
 # CONFIG_ACPI_APEI_ERST_DEBUG is not set
-# CONFIG_ACPI_DPTF is not set
+CONFIG_ACPI_DPTF=y
 CONFIG_ACPI_WATCHDOG=y
-# CONFIG_ACPI_EXTLOG is not set
+CONFIG_ACPI_EXTLOG=m
+CONFIG_ACPI_ADXL=y
 # CONFIG_ACPI_CONFIGFS is not set
-# CONFIG_ACPI_PFRUT is not set
+CONFIG_ACPI_PFRUT=m
 CONFIG_ACPI_PCC=y
+CONFIG_ACPI_VIOT=y
 CONFIG_ACPI_PRMT=y
-# CONFIG_X86_ACPI_CPUFREQ is not set
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
 # end of Power management and ACPI options
 CONFIG_HOTPLUG_PCI_ACPI=y
-CONFIG_HOTPLUG_PCI_ACPI_IBM=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_CXL_ACPI=m
 CONFIG_PNPACPI=y
 CONFIG_ATA_ACPI=y
-CONFIG_ACPI_MDIO=m
+CONFIG_PATA_ACPI=m
+CONFIG_ACPI_MDIO=y
 CONFIG_ACPI_I2C_OPREGION=y
 # ACPI drivers
 CONFIG_GPIO_ACPI=y
@@ -73,23 +79,31 @@ CONFIG_SENSORS_ACPI_POWER=m
 # ACPI INT340X thermal drivers
 CONFIG_ACPI_THERMAL_REL=m
 # end of ACPI INT340X thermal drivers
-CONFIG_MFD_INTEL_LPSS_ACPI=m
+CONFIG_MFD_INTEL_LPSS_ACPI=y
 CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m
 CONFIG_SND_SOC_ACPI=m
 CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m
 CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
 CONFIG_SND_SOC_SOF_ACPI=m
-CONFIG_I2C_HID_ACPI=y
+CONFIG_SND_SOC_SOF_ACPI_DEV=m
+CONFIG_I2C_HID_ACPI=m
 CONFIG_UCSI_ACPI=m
 CONFIG_MMC_SDHCI_ACPI=m
 CONFIG_DMA_ACPI=y
-CONFIG_ACPI_WMI=y
+CONFIG_XEN_ACPI_PROCESSOR=m
+CONFIG_XEN_ACPI=y
+CONFIG_CHROMEOS_ACPI=m
+CONFIG_SURFACE_ACPI_NOTIFY=m
+CONFIG_ACPI_WMI=m
 CONFIG_THINKPAD_ACPI=m
 CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
 # CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
 # CONFIG_THINKPAD_ACPI_DEBUG is not set
 # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
-# CONFIG_THINKPAD_ACPI_VIDEO is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
 CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_ACPI_TOSHIBA=m
 # CONFIG_ACPI_CMPC is not set
-# CONFIG_SYSTEM76_ACPI is not set
+CONFIG_SYSTEM76_ACPI=m
+CONFIG_ACPI_ALS=m
+CONFIG_INTEL_TH_ACPI=m


I tried enabling CONFIG_THINKPAD_ACPI_VIDEO, but the keys still aren't working. Could it be something not related to ACPI that is preventing this? Or could I be messing something up with module drivers or something?
Back to top
View user's profile Send private message
logrusx
Veteran
Veteran


Joined: 22 Feb 2018
Posts: 1535

PostPosted: Thu Jan 26, 2023 1:01 pm    Post subject: Reply with quote

This reminds me of why I use dracut instead of genkernel. I never made genkernel produce an initramfs which could enable my touchpad. I don't know why is that, I know genkernel can do some things dracut cannot. but since I'm not a user of such functionality, I don't care.

The way I discovered I needed to try dracut is it was used to produce gentoo-kernel. Btw you can supply gentoo-kernel with custom config and it'll produce kernel and initramfs for you. If you want to go that route, you need to enable savedconfig on gentoo-kernel and place a kernel config in /etc/portage/savedconfig/sys-kerenel named gentoo-kernel. I remember there was something about versioning too, but I think it'll pick it up without a version in the filename and will automatically produce a savedconfig for your particular version once it compiles the first time.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum