Last summer, I purchased a brand new laptop that came with FreeDOS. The model and specs of the laptop are:
- HP 14-em0xxx
- AMD Ryzen 7730U APU
- 512GB SSD
- 8GB DDR4 RAM
I wanted to go Linux this time, so no dual boot with Windows has ever happened on the device. Additionally, secure boot is disabled in the bios. In the summer of 2023, I downloaded Zorin 16.2 Core and installed on the laptop. Everything worked fine until I ran sudo apt update
and sudo apt upgrade
which caused the kernel to upgrade. After upgrade and a reboot, the onboard keyboard stopped working.
At that time, I tried Ubuntu 22, Ubuntu 23, and recently Zorin 17 Pro. In all these OS, the onboard keyboard does not function at all on LiveUSB and on login screen. I can use the onboard keyboard to get into bios and move around so I think this is a kernel issue.
Currently, I am still on Zorin 16 and was able to keep keyboard working by running sudo apt-mark hold <package_name>
on these 6 packages:
- linux-generic-hwe-20.04
- linux-headers-5.15.0-56-generic
- linux-headers-generic-hwe-20.04
- linux-hwe-5.15-headers-5.15.0-56
- linux-image-5.15.0-56-generic
- linux-image-generic-hwe-20.04
As you might guess, running uname -r
gives:
5.15.0-56-generic
At the time of writing, kernel upgrades to 5.15.0-94
if unlocked. Before that, I tried upgrading to 5.15.0-76
and 5.15.0-83
which kept breaking the keyboard so I kept rolling back.
I got Zorin 17 Pro for my desktop pc and wanted to upgrade my laptop as well, thinking that problem would be resolved by now. The laptop keyboard still does not work on Zorin 17 installation USB. Running uname -r
on Zorin 17 gives 6.2.0-39-generic
. So, the issue still persists even on a much newer kernel.
Attempts to debug so far
On kernel 5.15.0-56-generic
where the keyboard works:
xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech M705 id=8 [slave pointer (2)]
⎜ ↳ ELAN07B8:00 04F3:31A5 Mouse id=10 [slave pointer (2)]
⎜ ↳ ELAN07B8:00 04F3:31A5 Touchpad id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ HP True Vision HD Camera: HP Tr id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ HP WMI hotkeys id=13 [slave keyboard (3)]
After 5.15 kernel upgrade or on Zorin 17, running the same command has no entry HP True Vision HD Camera: HP Tr id=9 [slave keyboard (3)]
:
xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SONiX USB Keyboard Consumer Control id=10 [slave pointer (2)]
⎜ ↳ ELAN07B8:00 04F3:31A5 Mouse id=12 [slave pointer (2)]
⎜ ↳ ELAN07B8:00 04F3:31A5 Touchpad id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ HP True Vision HD Camera: HP Tr id=8 [slave keyboard (3)]
↳ SONiX USB Keyboard id=9 [slave keyboard (3)]
↳ SONiX USB Keyboard System Control id=11 [slave keyboard (3)]
↳ HP WMI hotkeys id=14 [slave keyboard (3)]
↳ SONiX USB Keyboard Consumer Control id=15 [slave keyboard (3)]
SONIX is the external USB keyboard I connected to be able to type something because the onboard keyboard does not work and it disappears.
Another similar command sudo dmesg | grep i8042
.
Zorin 16 5.15.0-56:
[ 1.060549] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[ 1.060551] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[ 1.061456] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 1.069147] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2
Zorin 16 5.15.0-94:
[ 1.072246] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[ 1.072248] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[ 1.073150] serio: i8042 KBD port at 0x60,0x64 irq 1
Zorin 17 6.2.0-39:
[ 0.851529] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[ 0.851532] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[ 0.852503] serio: i8042 KBD port at 0x60,0x64 irq 1
The keyboard is not present on newer kernels.
What have I tried so far
Locking the kernel is the only "solution" I managed to find. However, I tried these:
The response says that this may work if cat /sys/class/dmi/id/chassis_type
returns 10
. My machine also returns 10
in all kernels but only on 5.15.0.56 keyboard is functional.
sudo apt install xserver-xorg-input-all
I tried running this command when the keyboard is not functional, but it returns:
xserver-xorg-input-all is already the newest version (1:7.7+19ubuntu14).
xserver-xorg-input-all set to manually installed.
and still no function.
I also tried adding some kernel parameters, but I did not systematically record the results so I am not posting those and I will be more than happy to try them again if I can get some help on which commands should I run for detailed debugging.
This was a rather long one, but I wanted to provide as much details as possible.