After commit 4097461897df91041382ff6fcd2bfa7ee6b2448c I am unable to enter my luks password during boot. Characters do not echo and the enter key seems to have no effect. I am using an i686 kernel.
I test reverting 4097461897df91041382ff6fcd2bfa7ee6b2448c on top of 118253a593bd1c57de2d1193df1ccffe1abe745b. A kernel built from 118253a593bd1c57de2d1193df1ccffe1abe745b had the problem, but one built with 4097461897df91041382ff6fcd2bfa7ee6b2448c worked.
Created attachment 228901 [details] lshw output
Let me rewrite comment 2. A kernel built from commit 118253a593bd1c57de2d1193df1ccffe1abe745b failed with the problem I am reporting. The kernel resulting from reverting 4097461897df91041382ff6fcd2bfa7ee6b2448c from 118253a593bd1c57de2d1193df1ccffe1abe745b worked normally.
See if the below patch, using different locking depending on locking allocation fixes the regression you are currently seeing.
Created attachment 228951 [details] Regression Test Fix
drivers/input/serio/libps2.c: In function ‘ps2_begin_command’: drivers/input/serio/libps2.c:59:70: error: expected ‘,’ or ‘;’ before ‘:’ token struct mutex *m = ps2dev->serio->ps2_cmd_mutex ?: &ps2dev->cmd_mutex: &i8042_mutex; ^ drivers/input/serio/libps2.c: In function ‘ps2_end_command’: drivers/input/serio/libps2.c:67:70: error: expected ‘,’ or ‘;’ before ‘:’ token struct mutex *m = ps2dev->serio->ps2_cmd_mutex ?: &ps2dev->cmd_mutex: &i8042_mutex; ^ scripts/Makefile.build:289: recipe for target 'drivers/input/serio/libps2.o' failed make[2]: *** [drivers/input/serio/libps2.o] Error 1
The below patch should build. I am getting warnings with kasan but that's probably because I don't actually have this hardware but if you get it let me known. Further more test it and see if it works or does anything new for this regression.
Created attachment 228981 [details] Regression Test Fix 2
I applied the second patch to rc2, but it didn't help. I still got stuck at the luks password prompt.
I'm seeing this same behavior on an HP EliteBook 8570w. 4.8rc1 and 4.8rc2.
Can you send me your dmesg as perhaps something will give us a clue in your boot log.
Created attachment 229131 [details] dmesg output At 14s it is waiting for my luks password, at 103s I plugged in a usb keyboard to enter the password and continue
Got a chance to look at this further. The i8042 module wasn't included in my initramfs. I'll have to see what caused it not to be included, it was previously included in the 4.7 series. (arch linux using mkinitcpio)
Created attachment 229161 [details] dmesg output
See if getting that module loaded fixes the problem as it seems to be that module needs to be loaded for this patch to work.
My .config (which comes from Fedora) has CONFIG_SERIO_I8042=Y . Doesn't that mean the function is built in and doesn't need to be loaded as a module?
See if the below patch does anything new for you.
Created attachment 229191 [details] Mutex TryLock Patch
The Mutex TryLock Patch did not help in my case.
Created attachment 229201 [details] Set up ps2_cmd_mutex for AUX ports Can you please try this patch and let me know if it helps. Thanks!
And a separate request for Nick Krause: PLEASE STOP WASTING EVERYONE'S TIME! Seriously. If you have no clue why do you feel the need to make everyone jump through the hoops trying your "patches"? You were banned from LKML and other vger lists for a reason, leave bugzilla alone as well.
I applied "Set up ps2_cmd_mutex for AUX ports" to rc2 and it booted normally and appears to be functioning normally. Thanks.
Thanks, I'll make sure it gets into mainline and stable.
Thanks Dmitry, do you know if this will be in 4.8 rc4? I can't seem to find the pull request to the kernel.
He sent the pull request to Linus today, though Greg got a heads up about it for the stable series earlier. https://lkml.org/lkml/2016/8/25/512
Still have this problem on my ux305la with 4.8rc5, reverting both i8042 commits fixes it, should I report a new bug?
https://bugs.archlinux.org/task/50700 Since yesterday we suffer from not working keyboards in initramfs stage.
Re #27: I understand you have keyboard input if you add i8042 module to initramfs, right? If so you need to make sure you include it there. Re #26: what distribution is it? Can I see dmesg?
Arch Linux, I tested building i8042 into the kernel and that didn't work for me...
I think we need i8042 libps2 atkbd to get it going, not sure if serio is needed too. Our initramfs tool seems to miss to add one of those. If Maxqia builds in i8042 then there is still something missing, so one of the above mentioned modules have to be added too and slips through autodetection which worked fine before.
We will release a new mkinitcpio wich will have fixed module detection. Archlinux is fine again after this release. Sorry for the noise.