You are not logged in.
With Arch on a Microsoft Surface Pro, the Typecover does work in Grub and in usespace, but does not work in between for the LUKS decryption. Right now, I always have to use an external USB keyboard for that
I am aware of the specific Surface kernel, but didn't want to install it as I want to build a portable default Arch, that I can boot up on my desktop as well (trying not to custom tailor the software to hardware too much).
Since the Typecover works both in Grub (before decrypting) and in userspace without any issues, I figured there would probably be an standard, non custom kernel module that, if preloaded, would make things work.
The standard installations went reasonably well, I separated a partition on the main drive and used the setup for LVM on/in/after LUKS (with non-encrypted boot).
I also tried to pull the keyboard hook in mkinitcpio.conf before the autodetect, which was suggested in the Wiki if some keyboards are not recognized, and tried to include other keyboard hooks (e.g. for PS/2 keyboards) without success.
Last edited by arrobbe (2023-03-01 10:41:10)
Offline
Nice device.
The first test I would try is to let mkinitcpio generate the -fallback initramfs as well and boot that. It skips the apparently failing autodetection.
Next, have you had a look out for the module the typecover uses? It's easy to add it explicitly to mkinitcpio.conf once you know it.
Perhaps /boot/grub/grub.cfg file mentions one (look for "insmod ..."), which can be a hint but won't be the linux module name.
Additionally, the wiki recommends to shutdown the surface (not restart), to avoid typecover problems.
Offline
Hey thanks for your answer, it certainly pointed me in the right direction.
I found some surface specific modules in /sys, that need to be added to modules (I tried hooks before). Now it works, so I am inclined to mark this as solved.
See also here https://bugs.launchpad.net/ubuntu/+sour … ug/2007050
However, I still don't get why. USB keyboard work without any modules specified, only hooks. Do the hook-scripts load certain modules then?
Also how does GRUB to it? Grub even utilizes a touch keypad, which I am far from getting setup even in userspace. Took a look at the insmods being gpt mdos allvideo gfxterm (is this it?) and gettext.
Offline
Grub happens before OS takes over, so UEFI/BIOS/… provides functionality what is normally the job of your OS.
there is no surface/typecover specific code in grub and also no touchscreen support as far as I'm aware
Offline
Yeah, I find typecover support surprising in grub too (the grub modules you list are standard, don't help here). That is a wrong track.
I'm inclined to speculate, that you might have had the extra USB keyboard connected when you first generated the initramfs but not when you ran grub-install. The mkinitcpio autodetect may have added the relevant modules for the USB keyboard only because of that. You can test it easily, if that was the issue: unplug the USB keyboard and use the typecover to run
$ mkinitpio -MIf autodetect does work for the typecover, it will list the surface modules you added.
In any case you are on the safe side to explicitly keep them in the modules array of mkinitcpio.conf.
Offline