You are not logged in.
I recently updated my computer's BIOS, and immediately noticed that my PS/2 keyboard stopped working in both the BIOS and in Arch. Strangely, I can use the keyboard in GRUB.
After some troubleshooting, it was discovered that the BIOS update had nothing to do with it.
I have the proper kernel parameters set (i8042.nopnp=1), but no events even mentioning i8042 are in `dmesg` or `journalctl -b`, and it's not showing up in `evtest`, or by looking inside `/dev/input/by-id`.
https://pastebin.com/g7UGtZ0r - pacman.log (latest transaction)
fastfetch output for system info:
░▒▓ /var/log 17:13
❯ fastfetch
-` theocgaming@archlinux
.o+` ---------------------
`ooo/ OS: Arch Linux x86_64
`+oooo: Host: Precision Tower 5810
`+oooooo: Kernel: Linux 6.12.4-arch1-1
-+oooooo+: Uptime: 2 hours, 58 mins
`/:-:++oooo+: Packages: 2571 (pacman), 56 (flatpak)
`/++++/+++++++: Shell: fish 3.7.1
`/++++++++++++++: DE: KDE Plasma 6.2.4
`/+++ooooooooooooo/` WM: KWin (X11)
./ooosssso++osssssso+` WM Theme: SMOD
.oossssso-````/ossssss+` Theme: Windows7Kvantum_Aero (AeroColorScheme1) [Qt], Professional [GTK2/3/4]
-osssssso. :ssssssso. Icons: Windows 7 Aero [Qt], windowsicon [GTK2], Windows 7 Aero [GTK3/4]
:osssssss/ osssso+++. Font: Segoe UI (9pt) [Qt], Segoe UI (9pt) [GTK2/3/4]
/ossssssss/ +ssssooo/- Cursor: aero-drop (32px)
`/ossssso+/:- -:/+osssso+- Terminal: alacritty 0.14.0
`+sso+:-` `.-/+oso: Terminal Font: JetBrains Mono Nerd Font (11pt)
`++:. `-/+/ CPU: Intel(R) Xeon(R) E5-1650 v3 (12) @ 3.50 GHz
.` `/ GPU: AMD Radeon RX 5700 XT [Discrete]
Memory: 7.20 GiB / 31.27 GiB (23%)
Swap: Disabled
Disk (/): 813.96 GiB / 1.79 TiB (44%) - ext4
░▒▓ /var/log 17:16
❯
is my system a mess? absolutely. am i planning on making the mess less of a mess? not until i get an ssd.
Last edited by TheoCGaming (2024-12-24 04:08:59)
Offline
I recently updated my computer's BIOS, and immediately noticed that my PS/2 keyboard
So how's
https://pastebin.com/g7UGtZ0r - pacman.log (latest transaction)
relevant?
Please post your complete system journal for the boot:
sudo journalctl -b | curl -F 'file=@-' 0x0.st
and you probably want to test the keyboard on some live distro like https://grml.org to completely rule out the specific software stack.
Online
I had updated my system just before updating my bios, and it was a pretty big update so that may have contributed to the problem
Please post your complete system journal for the boot:
sudo journalctl -b | curl -F 'file=@-' 0x0.st
and you probably want to test the keyboard on some live distro like https://grml.org to completely rule out the specific software stack.
will do, i'll post the results when i test that.
Offline
the keyboard works fine under grml, so it must have been caused by the recent
pacman -Syu
i did, right now i suspect a regression in kbd between 2.6.4-3 and 2.7.1-1, but i'll need to test before i call it.
update: it was not kbd
Last edited by TheoCGaming (2024-12-23 00:21:50)
Offline
Can a pacman update cause the keyboard to not function at the firmware level?
Never argue with an idiot, they will drag you down to their level and then beat you with experience.
It is better to light a candle than curse the darkness.
A journey of a thousand miles begins with a single step.
Offline
Probably not, might have been false assertion (does not work/did work)
@TheoCGaming
1. grml detects the keyboard as i8042 device, not atkbd or i2c? (Not that those would show up in the arch journal…)
2. the keyboard doesn't work on a multi-user.target login ("no gui", 2nd link below - though see above)
3. is there a parallel windows installation?
4. major contenders:
* [2024-12-21T00:27:40-0800] [ALPM] upgraded linux (6.12.1.arch1-1 -> 6.12.4.arch1-1)
* [2024-12-21T00:24:21-0800] [ALPM] upgraded hwdata (0.389-1 -> 0.390-1)
* [2024-12-21T00:24:30-0800] [ALPM] upgraded systemd (256.9-1 -> 257-1) // because of udev
Ftr, there's also
* [2024-12-21T00:26:26-0800] [ALPM] upgraded fwupd (2.0.2-1 -> 2.0.3-2)
==> Does this happen w/ the LTS kernel?
Might also be a race condition because grml boots from (slow) usb.
Online
i can answer 3, there are no windows installations on any connected drive or as a partition on the root disk.
how would i check if grml detected the keyboard as non-i8042? i only tested by adding the `i8042.nopnp=1` kernel parameter on boot, not without (which i can easily test)
I don't think it's likely that it would work on arch before it loads the GUI, considering the keyboard doesn't even show up in /dev/input, but i'll test that anyway just in case.
Offline
how would i check if grml detected the keyboard as non-i8042?
journalctl -b | grep -E '(keyb|8042)'
should™ do
Online
after some testing, no; booting in nogui mode does not fix the issue,
and yes; grml detects the keyboard as i8042 (booting without nopnp causes the keyboard to stop working)
i suspected systemd would be an issue because of the feature update as seen in the pacman log, so i'll test that next
update: it wasn't systemd
also wasn't hwdata
and wasn't linux
finished testing for now
Last edited by TheoCGaming (2024-12-23 10:30:24)
Offline
Try adding "boot_delay=20" to the kernel parameters - that'll considerably slow down the boot.
Also, can you explicitly load "modprobe -v i8042" and does that take control over the keyboard?
What if you explicitly add that to the initramfs MODULES?
Online
Also, can you explicitly load "modprobe -v i8042" and does that take control over the keyboard?
problem, the i8042 module doesn't exist
Offline
"Solution", obviously it won't be able to drive your keyboard then.
uname -a
pacman -Qs kernel
Online
Linux archlinux 6.12.1-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 22 Nov 2024 16:04:27 +0000 x86_64 GNU/Linux
local/cpupower 6.12-7 (linux-tools)
Linux kernel tool to examine and tune power saving related features of your processor
local/dkms 3.1.3-1
Dynamic Kernel Modules System
local/embree 4.3.3-1
Collection of high-performance ray tracing kernels
local/exfatprogs 1.2.6-1
exFAT filesystem userspace utilities for the Linux Kernel exfat driver
local/fuse2 2.9.9-5
Interface for userspace programs to export a filesystem to the Linux kernel
local/fuse3 3.16.2-1
Interface for userspace programs to export a filesystem to the Linux kernel
local/iptables-nft 1:1.8.10-2
Linux kernel packet control tool (using nft interface)
local/kmod 33-3
Linux kernel module management tools and library
local/lib32-libdrm 2.4.124-1
Userspace interface to kernel DRM services (32-bit)
local/libdrm 2.4.124-1
Userspace interface to kernel DRM services
local/libnetfilter_conntrack 1.0.9-2
Library providing an API to the in-kernel connection tracking state table
local/libnfnetlink 1.0.2-2
Low-level library for netfilter related kernel/userspace communication
local/libsysprof-capture 47.2-1
Kernel based performance profiler - capture library
local/libtraceevent 1:1.8.4-1
Linux kernel trace event library
local/libtracefs 1.8.1-1
Linux kernel trace file system library
local/linux 6.12.4.arch1-1
The Linux kernel and modules
local/linux-api-headers 6.10-1
Kernel headers sanitized for use in userspace
local/linux-headers 6.12.4.arch1-1
Headers and scripts for building modules for the Linux kernel
local/mtdev 1.1.7-1
A stand-alone library which transforms all variants of kernel MT events to the slotted type B protocol
local/ndctl 79-1
Utility library for managing the libnvdimm (non-volatile memory device) sub-system in the Linux kernel
local/perf 6.12-7 (linux-tools)
Linux kernel performance auditing tool
local/python-comm 0.2.2-2
Python Comm implementation for the Jupyter kernel protocol
local/python-ipykernel 6.29.5-1
The ipython kernel for Jupyter
local/virtualbox-host-dkms 7.1.4-2
VirtualBox Host kernel modules sources
oh right, i forgot to restart my pc after updating the kernel back to the most recent version
Last edited by TheoCGaming (2024-12-23 21:57:04)
Offline
i managed to fix it by restarting with the updated kernel and manually loading the i8042 module, now i need to figure out how to force-load it on startup
Offline
Online
it's working from startup now! (typing this from my pc-122 battlecruiser btw)
Offline
\o/
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
Edit: it's odd though that the module isn't implicitly loaded - did you end up blacklisting it?
modprobe -c | grep i8042 | grep -v alias
Last edited by seth (2024-12-23 22:37:28)
Online
options i8042 nopnp=1
if it was blacklisted, it wasn't my doing.
Last edited by TheoCGaming (2024-12-24 04:06:24)
Offline
and wasn't linux
Which kernels did you test? In doubt also try to downgrade to some 6.11 kernel (in case the offending commit was picked up into LTS)
Online
and wasn't linux
Which kernels did you test? In doubt also try to downgrade to some 6.11 kernel (in case the offending commit was picked up into LTS)
I tested the last known working kernel (in this case linux 6.12.1-1)
i'm wondering if the i8042 driver not being found when i downgraded was because i had already re-updated the kernel before i tested the modprobe command and before i restarted...
because it didn't load on startup when i downgraded and the fact i already force-loaded the module, i doubt testing would be properly possible on my end anymore since the results would likely be skewed without some major adjustments.
Last edited by TheoCGaming (2024-12-24 11:52:37)
Offline
i doubt testing would be properly possible on my end anymore
Check your system journal, ideally i8042 gets loaded before systemd gets to it.
And even if not, you could skip the explicit load and see whether it's getting loaded automatically with
1. the 6.12 kenrel
2. the LTS kernel
Online