FS#50700 - [linux][linux-lts][mkinitcpio] Keyboard not working on boot 4.7.3-1

Attached to Project: Arch Linux
Opened by Nick (whompy) - Thursday, 08 September 2016, 01:26 GMT
Last edited by Tobias Powalowski (tpowa) - Friday, 09 September 2016, 15:07 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Andreas Radke (AndyRTR)
Dave Reisner (falconindy)
Architecture x86_64
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 14
Private No

Details

Description:

Since upgrading from 4.7.2-1 to 4.7.3-1 from [testing], I am unable to boot into my encrypted root volume as keyboards are not registering on my laptop (external or internal). I think this may be an upstream issue as 4.8rcs have not worked on this machine either. My desktop does not have this issue.

Additional info:
* package version(s)
* config and/or log files etc.

System with issues is a Lenovo y550p laptop.

lspci output:
00:00.0 Host bridge: Intel Corporation Core Processor DMI (rev 11)
00:03.0 PCI bridge: Intel Corporation Core Processor PCI Express Root Port 1 (rev 11)
00:08.0 System peripheral: Intel Corporation Core Processor System Management Registers (rev 11)
00:08.1 System peripheral: Intel Corporation Core Processor Semaphore and Scratchpad Registers (rev 11)
00:08.2 System peripheral: Intel Corporation Core Processor System Control and Status Registers (rev 11)
00:08.3 System peripheral: Intel Corporation Core Processor Miscellaneous Registers (rev 11)
00:10.0 System peripheral: Intel Corporation Core Processor QPI Link (rev 11)
00:10.1 System peripheral: Intel Corporation Core Processor QPI Routing and Protocol Registers (rev 11)
00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 05)
00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 05)
00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation PM55 Chipset LPC Interface Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GT216M [GeForce GT 240M] (rev a2)
01:00.1 Audio device: NVIDIA Corporation GT216 HDMI Audio Controller (rev a1)
06:00.0 Network controller: Intel Corporation Ultimate N WiFi Link 5300
07:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-Core Registers (rev 04)
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 04)
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 04)
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 04)
ff:03.0 Host bridge: Intel Corporation Core Processor Integrated Memory Controller (rev 04)
ff:03.1 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Target Address Decoder (rev 04)
ff:03.4 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Test Registers (rev 04)
ff:04.0 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Control Registers (rev 04)
ff:04.1 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Address Registers (rev 04)
ff:04.2 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Rank Registers (rev 04)
ff:04.3 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Thermal Control Registers (rev 04)
ff:05.0 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Control Registers (rev 04)
ff:05.1 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Address Registers (rev 04)
ff:05.2 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Rank Registers (rev 04)
ff:05.3 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Thermal Control Registers (rev 04)

lsmod output:
Module Size Used by
fuse 98304 3
ctr 16384 2
ccm 20480 2
joydev 20480 0
mousedev 20480 0
uvcvideo 86016 0
videobuf2_vmalloc 16384 1 uvcvideo
videobuf2_memops 16384 1 videobuf2_vmalloc
videobuf2_v4l2 20480 1 uvcvideo
videobuf2_core 36864 2 uvcvideo,videobuf2_v4l2
videodev 151552 3 uvcvideo,videobuf2_core,videobuf2_v4l2
media 32768 2 uvcvideo,videodev
snd_hda_codec_hdmi 45056 4
msr 16384 0
ext4 516096 1
arc4 16384 2
crc16 16384 1 ext4
jbd2 90112 1 ext4
mbcache 16384 2 ext4
iwldvm 180224 0
ir_rc6_decoder 16384 0
mac80211 659456 1 iwldvm
iTCO_wdt 16384 0
iTCO_vendor_support 16384 1 iTCO_wdt
iwlwifi 184320 1 iwldvm
intel_powerclamp 16384 0
coretemp 16384 0
broadcom 20480 0
bcm_phy_lib 16384 1 broadcom
kvm_intel 184320 0
kvm 507904 1 kvm_intel
snd_hda_codec_realtek 69632 1
irqbypass 16384 1 kvm
input_leds 16384 0
tg3 163840 1
intel_cstate 16384 0
i2c_i801 20480 0
psmouse 118784 0
led_class 16384 2 iwldvm,input_leds
snd_hda_codec_generic 69632 1 snd_hda_codec_realtek
pcspkr 16384 0
cfg80211 495616 3 iwlwifi,mac80211,iwldvm
serio_raw 16384 0
i7core_edac 24576 0
edac_core 45056 1 i7core_edac
ir_lirc_codec 16384 0
lirc_dev 20480 1 ir_lirc_codec
ptp 20480 1 tg3
snd_hda_intel 32768 10
pps_core 20480 1 ptp
snd_hda_codec 106496 4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel
libphy 40960 3 tg3,bcm_phy_lib,broadcom
ideapad_laptop 24576 0
sparse_keymap 16384 1 ideapad_laptop
lpc_ich 24576 0
snd_hda_core 65536 5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_hwdep 16384 1 snd_hda_codec
rfkill 20480 5 cfg80211,ideapad_laptop
ac 16384 0
snd_pcm 86016 4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
rc_rc6_mce 16384 0
ene_ir 20480 0
snd_timer 28672 1 snd_pcm
battery 20480 0
rc_core 24576 6 lirc_dev,ir_lirc_codec,ene_ir,ir_rc6_decoder,rc_rc6_mce
snd 65536 28 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
fjes 28672 0
soundcore 16384 1 snd
evdev 24576 15
thermal 20480 0
acpi_cpufreq 20480 1
mac_hid 16384 0
tpm_tis 20480 0
tpm 36864 1 tpm_tis
shpchp 32768 0
sch_fq_codel 20480 6
ip_tables 24576 0
x_tables 28672 1 ip_tables
xts 16384 2
gf128mul 16384 1 xts
algif_skcipher 20480 0
af_alg 16384 1 algif_skcipher
dm_crypt 28672 1
dm_mod 102400 9 dm_crypt
sr_mod 24576 0
cdrom 49152 1 sr_mod
sd_mod 36864 3
atkbd 24576 0
libps2 16384 2 atkbd,psmouse
ahci 36864 2
libahci 28672 1 ahci
ehci_pci 16384 0
libata 204800 2 ahci,libahci
ehci_hcd 69632 1 ehci_pci
usbcore 200704 3 uvcvideo,ehci_hcd,ehci_pci
scsi_mod 159744 3 libata,sd_mod,sr_mod
usb_common 16384 1 usbcore
i8042 24576 2 libps2,ideapad_laptop
serio 20480 6 serio_raw,atkbd,i8042,psmouse
btrfs 983040 1
xor 24576 1 btrfs
raid6_pq 102400 1 btrfs
nouveau 1482752 6
button 16384 1 nouveau
video 36864 2 ideapad_laptop,nouveau
mxm_wmi 16384 1 nouveau
wmi 16384 3 ideapad_laptop,mxm_wmi,nouveau
i2c_algo_bit 16384 1 nouveau
drm_kms_helper 118784 1 nouveau
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
ttm 77824 1 nouveau
drm 294912 9 ttm,drm_kms_helper,nouveau
crc32c_intel 24576 1
jitterentropy_rng 16384 0
sha256_ssse3 32768 2
sha256_generic 24576 1 sha256_ssse3
hmac 16384 2
drbg 32768 2
ansi_cprng 16384 0


Steps to reproduce:
1. Update kernel
2. ...
3. Experience great sadness due to the neverending password prompt
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Friday, 09 September 2016, 15:07 GMT
Reason for closing:  Fixed
Additional comments about closing:  mkinitcpio-0.21
Comment by jason ryan (jasonwryan) - Thursday, 08 September 2016, 02:01 GMT
Can confirm on my Samsung 900X. Neither the standard nor fallback initramfs provide keyboard at the encrypt prompt.

Diffing `lsinitcpio` between 4.7.3 and my custom 4.7.2 shows no obvious leads.
Comment by Tobias Powalowski (tpowa) - Thursday, 08 September 2016, 07:37 GMT
If 4.8 never worked for you try bisecting kernel from 4.7.2 to 4.7.3.
Also try if config from 4.7.2 work with 4.7.3 I did some changes.
Comment by Tobias Powalowski (tpowa) - Thursday, 08 September 2016, 08:25 GMT Comment by kinodont (kinodont) - Thursday, 08 September 2016, 10:31 GMT
Confirmed.

I checked the autogenerated initramfs for linux 4.7.3 and determined that the i8042 module was missing.
Adding it manually to MODULES in /etc/mkinitcpio.conf successfully worked around the issue for me.
Comment by Nick (whompy) - Thursday, 08 September 2016, 13:20 GMT
The comments in:

https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=9014507fff0801b53a14ab05e436610c1459a4a6

and the corresponding mainline commit note changes in module dependencies and specifically mention that Arch uses CONFIG_SERIO_I8042=m, which triggered the initial issue. I can try reverting that and the corresponding "fix" in the corresponding upstream bug in the next day or two, but kinodont's comment leads me to believe that the dependency changes caused the i8042 module to no longer be included in the initramfs. Does that end up being a mkinicipio change or an upstream kernel bug?
Comment by Jeremy M. (jskier) - Thursday, 08 September 2016, 16:28 GMT
Also having this problem in linux-lts (not in testing) after updating today. Looks like these changes were back ported to lts.
Comment by Tiago Madeira (tmadeira) - Friday, 09 September 2016, 05:15 GMT
Can confirm on my ThinkPad x240.
Subscribing to follow updates.
Comment by Tobias Powalowski (tpowa) - Friday, 09 September 2016, 06:49 GMT
If you add i8042 atkbd libps2 to mkinitcpio.conf MODULES array it should work as workaround atm.
Comment by jason ryan (jasonwryan) - Friday, 09 September 2016, 06:53 GMT
Just adding i8042 was sufficient to get vanilla and custom kernels booting for me.
Comment by Tobias Powalowski (tpowa) - Friday, 09 September 2016, 07:10 GMT
Possible fix changing keyboard install hook by adding at the end:
add_checked_modules '/input/serio'
Comment by Maxqia (Maxqia) - Friday, 09 September 2016, 09:29 GMT
Came to the same conclusion then noticed you beat me by 2 hours :P, anyways it fixes it (and adds in the hyperv-keyboard kernel driver, ...)
Comment by Freddy (AvelVras) - Friday, 09 September 2016, 10:22 GMT
Hi, I haved the same problem with linux-lts-4.4.20-1-x86_64.pkg.tar.xz in my configuration lvm on luks where I had no more Keyboard.
Fortunately, I keep the linux kernel (linux-4.7.2-1-x86_64.pkg.tar.xz) in boot where there's no this problem.
I could change the linux-lts kernel in last version.
should I create another ticket?
Comment by Tobias Powalowski (tpowa) - Friday, 09 September 2016, 10:44 GMT
I added it to bug line so no need for new ticket all are involved.
Comment by Freddy (AvelVras) - Friday, 09 September 2016, 11:40 GMT
ok ... thanks tpowa
Comment by hexchain (hexchain) - Friday, 09 September 2016, 15:01 GMT
upgraded to testing/mkinitcpio 21-1 and all good now.

Loading...