kth5 / archpower

Unofficial Archlinux port to powerpc64le, powerpc64, powerpc and riscv64
https://archlinuxpower.org
82 stars 5 forks source link

iMac G3 keyboard does not work after installation #60

Closed GriffintheFolf closed 1 year ago

GriffintheFolf commented 1 year ago

I understand this issue has already been discussed in issue #52, but the symptoms are a bit different.

The keyboard works just fine from the install CD, but after booting an installed copy of Arch POWER from the hard drive, the keyboard is completely nonfunctional. Not even the caps lock light turns on when the key is pressed.

I have already tried (unsuccessfully) to figure out where the issue may be, but I cannot SSH into the system to view the kernel log, as dhcpcd does not seem to be started before the login prompt.

The iMac G3 in question is the Summer 2000 model with a 450 MHz G3, in case this information is needed.

kth5 commented 1 year ago

I've confirmed the problem on a G4 Powerbook as well. It seems as if it's not necessarily an issue with the kernel, if you are adventerous enough and install Xorg/Wayland from the installer with a graphical login-manager (say xdm) and enable it to autostart, the keyboard and mouse inputs work as expected. So evdev is good and input devices registered.

A bit baffled myself, I'll try to have a look at it but bit under time constraints lately.

kth5 commented 1 year ago

Identified where the problem is coming from and it's the keymap hook in mkinitcpio. Until this is fixed in a new point release of the mkinitcpio package or another, you can simply remove the hook in /etc/mkinitcpio.conf and re-generate your images via mkinitcpio -p <your kernel>.

Confirmed on a PowerBook G4 and a G5 DP 2ghz.

kth5 commented 1 year ago

Brought it down to loadkeys which is part of kbd. Using -b it doesn't actually dump a binary that the loadkmap in the initramfs' busybox can load. Instead just the word bkeymap. Will see to fix this as soon as I can.

In the meantime, just disabling the keymap mkinitcpio hook is good enough and you'll get a US layout until systemd or your manual command sets something else later during the systems uptimes.

kth5 commented 1 year ago

kbd-2.6.1-1.1 going to testing in a bit for powerpc64 and powerpc.

84f473706b9896a6faf0ae2c9b8084d5e0ee18d1

GriffintheFolf commented 1 year ago

I updated the system under the testing branch using the chroot from the live CD, and it works! I did still have to disable the "keymap" step from mkinitcpio however, otherwise none of the keys matched up with the characters they were supposed to be printing.

kth5 commented 1 year ago

Yep, I have the same effect on the PowerBook g4. It works better, as in actually generating a keymap.bin but one which doesn't quite work. Could be an endian issue.

GriffintheFolf commented 1 year ago

When I tried to update the kbd package without disabling the keymap first, none of the keys matched up to what they should have; the right control key was B for example. So it probably is an endianness issue.

kth5 commented 1 year ago

kbd-2.6.1-1.2 is in testing. Confirmed to properly work with keymap hook in unchanged mkinitcpio. Indeed, it was an endian issue in kbd.

https://github.com/kth5/archpower/blob/master/kbd/kbd-ppcbe-fix-loadkmap-compat.patch

kth5 commented 1 year ago

Confirmed on PowerMac G4/G5 with latest testing enabled.