[SOLVED] Ubuntu 22.10 (11th Gen) upgrade : Fn key stopped working

@BluishHumility This. So right, so much this. :slight_smile:

3 Likes

You indicated this happened on an upgrade from 22.04 to 22.10. So it is safe to assume these keys worked fine in 22.04?

Yep! Worked like a charm.

Did you do any BIOS upgrades right before or right after upgrading to Ubuntu 22.10?

I did update the BIOS to 784 about a month ago, but this did not affect the Fn key or media keys.

Do you have any power management tools installed like TLP or a custom Powertop configuration in use?

Nope.

Using showkey -k, no code registeres when I press the Fn key alone. Pressing the Fn key with any other key produces the same keycode as the key alone. Also, I cannot activate the keyboard backlight using Fn+[space]. On other laptops I’ve owned, that was a hardware thing, but the Framework may be different.

@Matt_Hartley I figured it out! It was locales, of all things. Somehow during the upgrade, the locales got purged and were not regenerated. dpkg-reconfigure locales and a reboot solved the problem.

The fact that Fn+space wouldn’t adjust the backlight had me so convinced it was a kernel/hardware thing I didn’t even consider the keyboard language as a source of trouble.

6 Likes

Delighted you have this figured out, yeah, I’ve see locales do odd stuff in the past. So happy to hear you have this sorted.

I had this spontaneously happen on 22.10 after resuming from lock. @Russell_Neches perhaps your reboot temporarily solved it instead of locales?

It is possible. The Fn key has gone out to lunch twice since I posted this, but functioned again after a reboot. I thought before the locales issue the bug was persisting across reboots, but it could simply have been triggered twice.

A Framework Discord moderator mentioned that disabling the HID sensor hub kernel module (like you do to fix airplane/printscreen/gear keys) might work

Please try (assuming GNOME desktop):

sudo gedit /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modprobe.blacklist=module=hid_sensor_hub"

sudo update-grub2

then

sudo update-initramfs -u

I fresh installed ubuntu 22.10, this did not work. I still cannot use my Fn keys.

I have experienced the same problem a couple of times. It is not frequent enough to be really a big deal. In my experience too, if it occurs, in my case, a reboot solves it.

11th or 12th gen? Is this a new issue or was it an issue on day one with 22.10 for you?

Which F keys are not doing what specifically?

If you’re on 12th gen, applied the Grub parameter, functions not using the Fn key will work such as brightness, airplane mode, etc. If however, you’re talking about using Fn + F1 through F12, what is the result desired and keys pressed in this case?

NVM, solved by deleting the old dconf file.

1 Like

Glad to hear you were able to resolve this.

This now also happened to me a few times, several days between the occurrences with multiple daily suspend/resume cycles but no full reboot… suddenly the Fn Key stopped working, no PgUp/PgDn/Home/End/Functions Keys like mute/volume/… work anymore showkey didn’t show a keypress when pressing Fn key and when pressing e.g. Fn+F1 showed the same code as when only pressing just F1 … after reboot it still doesnt show a keypress for the Fn key, but Fn+F1 and just F1 show different keycode … same for others … so it seems the Fn key for some reason does not register anymore … also e.g. Fn+Esc does not toggle Fn Lock in this state… i cannot say how to reproduce it, only that rebooting seems to solve it … If you’d like further information next time it happens, i’d be happy to provide those

Ah forgot to mention 12th gen Framework 13 … which i LOVE to use by the way … very happy user :slight_smile: and full instructions to optimise for Ubuntu followed, linux-docs/Ubuntu22.04LTS-Manual-Setup-12thGen.md at main · FrameworkComputer/linux-docs · GitHub

1 Like

I have the same issue. It the function keys like prinscrn, F5 etc. seem to stop working after some time. A reboot solves the issue for me, but I dont know if this is a random linux problem or a framework problem. Is there any way to find out?

@Caspar_Gutsche I don’t think that any Windows user has reported this problem, so it looks like it is a problem on Linux only. I’d say it is also specific to Framework users, so it has to do with how the Linux firmware layer is bridging the software with the hardware…

fwiw… In another thread I got this tip:

I will try it out (actually in the linked info a user suggested to in addition to blacklisting, he just rmmod ed the module without rebooting… I am trying that right now…) let’s see if it helps

1 Like

For me the fn key stops working about once a day. I hibernate and restart and the fn key is back. I am using Arch Linux.

It just does not feel right that the locales be the cause. I suspect the proposed solution is just accidental, and the error is at the keyboard firmware level. Why?

I have Esc and Caps Lock switched being a modal editor user. Even after switched the keys, for fn-lock I still have to press the fn key together with the key that was Esc (at the upper left corner of the keyboard).

This means, even with the swap Esc-Caps Lock:

  1. Press Fn-F8: Screen gets brighter
  2. Fress Fn-Esc
  3. Press Fn-F8: Nothing happens (F8 has no function)
  4. Press F8: Screen gets brighter

Esc-Fn is handled at a very low level and not by the OS but by the keyboard firmware, right?

And now: If Fn stops working, Fn-Esc does not work anymore. Boom.

To be sure: I tried Fn-Caps Lock, but this does not work in both case.

Now my question: Is it true that the OS does not get Fn-Esc?

There are a few threads about this, the main one is [TRACKING] Fn key stops working on PopOS after a while - #49 by DHowett. The TLDR is to try blocking the cros_ec_lpcs kernel module and see if that helps. Also if you’re using ectool to get fan speeds, try disabling that also.

Correct, it is true that the OS never sees the Fn key at all. It is 100% handled by the keyboard firmware. The other thread has links to the relevant firmware code, where you can see it doing things like choosing whether to report (for example) media/special keys, or F1-F12 keys, depending on the state of the Fn key (and Fn-Lock, which is triggered via Fn-Esc).

1 Like

Hello from the future. I have a fresh install of Kubuntu 23.10 and this fixed my problem. Unsure what broke it in the first place…