Synaptics PS/2 Internal Keyboard/Touchpad Not Working on Fedora43 (Wayland Session)

https://discussion.fedoraproject.org/t/be-precise-and-informative-about-your-problem-troubleshooting-your-issue-with-sucess/127181

1. Describe the symptoms:

Internal keyboard/touchpad do not input properly under Wayland. FN button registers only brightness keys.
External USB keyboard and mouse function normally.
Internal keyboard is enabled under BIOS settings and works there fine.

2. Environment


Session ; BIOS

echo $XDG_SESSION_TYPE
 wayland

3. Describe the research:

Greetings Champs, new to Linux OS but I have some basic understanding. I reviewed Fedora documentation and Linux input stack documentation to understand how keyboard/touchpad input is handled under Wayland session. Fedora Workstation uses GNOME on Wayland by default ( Changes/WaylandByDefault - Fedora Project Wiki ). GNOME on Wayland relies on libinput to receive keyboard/touchpad events ( libinput — libinput 1.31.0 documentation ). If/as I understood correctly, Wayland sessions require systemd-logind to grant user access to dev/input/event* devices using ACLs ( Making sure you're not a bot! ). However, these ACLs are not applied to the internal PS/2 keyboard device on my system…

4. Describe the diagnostic steps:

Verified if the kernel detects it - sudo dmesg | grep -i i8042

Verified if devices are present and detected by libinput - sudo libinput list-devices

Summary

Device: AT Translated Set 2 keyboard
Kernel: /dev/input/event3
Id: serial:0001:0001
Group: 7
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap button map: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Scroll button: n/a
Scroll button lock: n/a
Click methods: none
Clickfinger button map: n/a
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles: n/a
Rotation: 0.0
Area rectangle: n/a

Device: SynPS/2 Synaptics TouchPad
Kernel: /dev/input/event5
Id: serial:0002:0007
Group: 8
Seat: seat0, default
Size: 64x32mm
Capabilities: pointer
Tap-to-click: disabled
Tap-and-drag: enabled
Tap button map: left/right/middle
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: *two-finger edge
Scroll button: n/a
Scroll button lock: n/a
Click methods: none
Clickfinger button map: n/a
Disable-w-typing: enabled
Disable-w-trackpointing: enabled
Accel profiles: flat *adaptive custom
Rotation: n/a
Area rectangle: n/a

Checked if ACLs applied to the input device under Wayland - getfacl /dev/input/event3 and for /event5

$ getfacl /dev/input/event3
getfacl: Removing leading '/' from absolute path names
#file: dev/input/event3
#owner: root
#group: input
user::rw-
group::rw-
other::---

This indicates systemd-logind did not grant access to the PS/2 devices

Verified if local user session is active and managed by systemd-logind - loginctl list-sessions

Notes:

  1. I’ve also tried to run Xorg session packages to compare behavior - sudo dnf install gnome-session-xsession (Failed as Wayland is by default)
Updating and loading repositories: Fedora 43 - x86_64 - Updates 100% | 16.6 KiB/s | 25.8 KiB | 00m02s Repositories loaded. Failed to resolve the transaction: No match for argument: gnome-session-xsession You can try to add to command line: --skip-unavailable to skip unavailable packages in step 1
  1. Tried to apply udev rules to grant user access to input devices - did not work too..
  2. Was not/could not able to find reports on Bugzilla reports

5. Recent Changes / Relevant Configuration

  • Fresh Fedora 43 installation
  • No additional PS/2 drivers or firmware updates applied.
  • Default GNOME Wayland session selected.

If understand correctly, your internal keyboard works ok for typing and suchlike, but the Fn buttons for volume control, brightness, disable wifi and suchlike only work for Brightness? or are you saying that the ONLY thing that works is changing the birghtness?

It’s an older laptop, with PS2 and Wayland is a bit picky with this stuff. Xorg would be more lax, but it’s about to leave the chat so Wayland it is…

Try the following quirks:

i8042.nomux
i8042.reset=1

Add the first one to see if it helps and if not add the second too. To do so, hit e at the grub screen, find the linux line and scroll to the end of it and slap that kernel parameter onto it. Then hit Ctrl-X or F10 to boot that kernel with that additional parameter and test.

It’s a one shot deal - if it helps we can make it permanent.

For info, there’s a big list here

Addendum: I neglected to notice that the reset param apparently wants a value. Might work without, might not, but shouldn’t hurt to stick an =1 on there regardless.

3 Likes

or are you saying that the ONLY thing that works is changing the birghtness?

Nothing works beside this. no typing and suchlike. Even if pressed FN button and tried to activate/deactivate anything else doesn’t work/registered…

Certainly, I’ll check them now…

“Eek!”, as my wife would say. Good old PS/2, the gift that keeps on buggering up! :slight_smile:

ahaha)) :sweat_smile:
:tada::fire:Yey, confirming that adding i8042.nomux fixed the issue. Keyboard/Touchpad runs like new :melting_face:

[    0.000000] Command line: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-6.17.1-300.fc43.x86_64 root=UUID=xxxxx ro rootflags=subvol=root rhgb quiet i8042.nomux
[    0.046481] Kernel command line: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-6.17.1-300.fc43.x86_64 root=UUID=xxxx ro rootflags=subvol=root rhgb quiet i8042.nomux
[    1.645153] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[    1.646847] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.646860] serio: i8042 AUX port at 0x60,0x64 irq 12
[    1.661474] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[    2.417077] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input5

Ripper. Have fun, try to break more stuff, then we all learn.

1 Like

Need help on making this a permanent thing or are you ok with that?

:rofl:Aahah, definitely.
Many thanks, appreciate Sir, saved me. Took me 2 days to find the answer. Reading the docs, uhh… How did I miss it tho? Saw people mentioning it here and there, guess I was blind or confused by the titles.

Nope, it’s done already. Thanks a lot :saluting_face:

1 Like

how do i close this ticket tho? :thinking:

It’s not really a ticket - just a post on a forum full of other Fedora users.

However, if you want to mark a solution to say that “if you have this issue, with this system, this helped me” you can tick the “this is the solution” button, which I see you’ve just found! :slight_smile:

By the way, the initial problem was described excellently - it’s what told me you were using an i8042 and that let me find kernel parameters that addressed your specific chipset. From there it’s just “try it and see”.

1 Like

My bad, QA brain kicked in :grinning_face_with_smiling_eyes:

By the way, the initial problem was described excellently - it’s what told me you were using an i8042 and that let me find kernel parameters that addressed your specific chipset. From there it’s just “try it and see”

Likewise, glad to hear it was useful. I tried to follow the forum guidelines and include as much relevant info as possible up front, and your suggestion on the kernel parameters made it easy to pinpoint the fix, even included the link

2 Likes