Bug 1990176 - [regression] no keyboard input to enter LUKS password with 5.13.x on Pinebook Pro
Summary: [regression] no keyboard input to enter LUKS password with 5.13.x on Pinebook...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 34
Hardware: aarch64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARMTracker
TreeView+ depends on / blocked
 
Reported: 2021-08-04 22:54 UTC by Dominik 'Rathann' Mierzejewski
Modified: 2022-04-13 13:25 UTC (History)
21 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-04-13 13:25:37 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
kernel-5.12.17 dmesg (working correctly) (71.42 KB, text/plain)
2021-08-04 22:55 UTC, Dominik 'Rathann' Mierzejewski
no flags Details
kernel-5.13.8 dmesg (not working) (61.77 KB, text/plain)
2021-08-04 22:57 UTC, Dominik 'Rathann' Mierzejewski
no flags Details
kernel-5.14.0-0.rc6.46 dmesg (not working) (60.45 KB, text/plain)
2021-08-18 17:47 UTC, Dominik 'Rathann' Mierzejewski
no flags Details

Description Dominik 'Rathann' Mierzejewski 2021-08-04 22:54:08 UTC
1. Please describe the problem:
With kernels 5.13.x kernels, I'm unable to enter LUKS password from the physical keyboard and boot the system.

2. What is the Version-Release number of the kernel:
5.13.8-200.fc34.aarch64

3. Did it work previously in Fedora? If so, what kernel version did the issue
   *first* appear?  Old kernels are available for download at
   https://koji.fedoraproject.org/koji/packageinfo?packageID=8 :

It works with 5.12.x kernels up to 5.12.17.

It stops working with 5.13.x. The first I tried was:
5.13.4-200.fc34.aarch64

Same issue with 5.13.6 and 5.13.8.

4. Can you reproduce this issue? If so, please provide the steps to reproduce
   the issue below:
Yes, always.
1. Install Fedora 34 with LUKS-encrypted rootfs.
2. Boot any 5.13.x kernel.
3. Wait for LUKS password prompt.
4. Try typing the password.

5. Does this problem occur with the latest Rawhide kernel? To install the
   Rawhide kernel, run ``sudo dnf install fedora-repos-rawhide`` followed by
   ``sudo dnf update --enablerepo=rawhide kernel``:
Yes.

6. Are you running any modules that not shipped with directly Fedora's kernel?:
No.

7. Please attach the kernel logs. You can get the complete kernel log
   for a boot with ``journalctl --no-hostname -k > dmesg.txt``. If the
   issue occurred on a previous boot, use the journalctl ``-b`` flag.

Comment 1 Dominik 'Rathann' Mierzejewski 2021-08-04 22:55:27 UTC
Created attachment 1811035 [details]
kernel-5.12.17 dmesg (working correctly)

Comment 2 Dominik 'Rathann' Mierzejewski 2021-08-04 22:57:49 UTC
Created attachment 1811043 [details]
kernel-5.13.8 dmesg (not working)

Comment 3 Dominik 'Rathann' Mierzejewski 2021-08-04 23:20:17 UTC
Comparing both dmesgs, I noticed this:

5.12.17:
[    7.042959] kernel: ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    7.074197] kernel: ohci-platform: OHCI generic platform driver
[    7.299620] kernel: ohci-platform fe3a0000.usb: Generic Platform OHCI controller
[    7.300078] kernel: ohci-platform fe3a0000.usb: new USB bus registered, assigned bus number 2
[    7.300308] kernel: ohci-platform fe3a0000.usb: irq 35, io mem 0xfe3a0000
[    7.370385] kernel: usb usb2: Product: Generic Platform OHCI controller
[    7.370397] kernel: usb usb2: Manufacturer: Linux 5.12.17-300.fc34.aarch64 ohci_hcd
[    7.377198] kernel: ohci-platform fe3e0000.usb: Generic Platform OHCI controller
[    7.377717] kernel: ohci-platform fe3e0000.usb: new USB bus registered, assigned bus number 3
[    7.377940] kernel: ohci-platform fe3e0000.usb: irq 37, io mem 0xfe3e0000
[    7.452156] kernel: usb usb3: Product: Generic Platform OHCI controller
[    7.452167] kernel: usb usb3: Manufacturer: Linux 5.12.17-300.fc34.aarch64 ohci_hcd
[    8.486221] kernel: usb 2-1: new low-speed USB device number 2 using ohci-platform

5.13.8:
[    8.437241] kernel: ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    8.499968] kernel: ohci-platform: OHCI generic platform driver
[    8.905656] kernel: ohci-platform fe3e0000.usb: Generic Platform OHCI controller
[    8.906693] kernel: ohci-platform fe3e0000.usb: new USB bus registered, assigned bus number 2
[    8.907618] kernel: ohci-platform fe3e0000.usb: irq 37, io mem 0xfe3e0000
[    8.977947] kernel: usb usb2: Product: Generic Platform OHCI controller
[    8.977957] kernel: usb usb2: Manufacturer: Linux 5.13.8-200.fc34.aarch64 ohci_hcd
[   60.216691] kernel: ohci-platform fe3a0000.usb: Generic Platform OHCI controller
[   60.219612] kernel: ohci-platform fe3a0000.usb: new USB bus registered, assigned bus number 5
[   60.222407] kernel: ohci-platform fe3a0000.usb: irq 35, io mem 0xfe3a0000
[   60.304603] kernel: usb usb5: Product: Generic Platform OHCI controller
[   60.307821] kernel: usb usb5: Manufacturer: Linux 5.13.8-200.fc34.aarch64 ohci_hcd
[   61.193513] kernel: usb 5-1: new low-speed USB device number 2 using ohci-platform

There are two USB 1.1 hubs: one at 0xfe3a0000 and one at 0xfe3e0000
5.12.17 initializes them in the above order and the keyboard works,
while 5.13.8 seems to init the one at 0xfe3e0000 before and the one
at 0xfe3a0000 after rootfs decryption. The keyboard is connected to
the one at 0xfe3a0000, which would to explain the non-working keyboard.

$ lsusb.py -i
usb1              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (ehci_hcd fe3c0000.usb) hub
  1-1               05e3:0608 09 1IF  [USB 2.00,   480 Mbps, 100mA] (Genesys Logic, Inc. Hub) hub
    1-1.2             0c45:6321 ef 2IFs [USB 2.00,   480 Mbps, 500mA] (Sonix Technology Co., Ltd. USB Camera)
      1-1.2:1.0         (IF) 0e:01:00 1EP  (Video) uvcvideo video4linux/video1 video4linux/video0 input/input2 
      1-1.2:1.1         (IF) 0e:02:00 0EPs (Video) uvcvideo 
usb2              1d6b:0001 09 1IF  [USB 1.10,    12 Mbps,   0mA] (Linux 5.13.8-200.fc34.aarch64 ohci_hcd Generic Platform OHCI controller fe3e0000.usb) hub
usb3              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (xhci-hcd xhci-hcd.1.auto) hub
usb4              1d6b:0003 09 1IF  [USB 3.00,  5000 Mbps,   0mA] (xhci-hcd xhci-hcd.1.auto) hub
usb5              1d6b:0001 09 1IF  [USB 1.10,    12 Mbps,   0mA] (Linux 5.13.8-200.fc34.aarch64 ohci_hcd Generic Platform OHCI controller fe3a0000.usb) hub
  5-1               258a:001e 00 2IFs [USB 1.10,   1.5 Mbps, 100mA] (HAILUCK CO.,LTD USB KEYBOARD)
    5-1:1.0           (IF) 03:01:01 1EP  (Keyboard) usbhid hidraw0 (hid-generic) input4 (hid-generic) 
    5-1:1.1           (IF) 03:00:00 1EP  (None) usbhid hidraw1 (hid-multitouch) input14 input12 input10 input13 input11 (hid-multitouch) 
usb6              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (xhci-hcd xhci-hcd.2.auto) hub
usb7              1d6b:0003 09 1IF  [USB 3.00,  5000 Mbps,   0mA] (xhci-hcd xhci-hcd.2.auto) hub
usb8              1d6b:0002 09 1IF  [USB 2.00,   480 Mbps,   0mA] (ehci_hcd fe380000.usb) hub

Comment 4 Dominik 'Rathann' Mierzejewski 2021-08-18 12:49:21 UTC
Still an issue with 5.13.10-200.fc34.

Comment 5 Dominik 'Rathann' Mierzejewski 2021-08-18 17:47:51 UTC
Created attachment 1815312 [details]
kernel-5.14.0-0.rc6.46 dmesg (not working)

5.14.0 rc6 from F35 exhibits the same issue: non-functional keyboard at the LUKS prompt.

I had to symlink /boot/dtb to 5.13.10 (as advised by pbrobinson), otherwise there's no display on the LCD.

Comment 6 Dominik 'Rathann' Mierzejewski 2021-09-10 22:31:37 UTC
FWIW, the issue is reproducible even with the first 5.13 kernel from koji, i.e. 5.13.0-0.rc0.20210428gitacd3d2859453.2.fc35.aarch64 .
$ dmesg|grep -i ohci
[   28.758000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   28.879182] ohci-platform: OHCI generic platform driver
[   29.315780] ohci-platform fe3e0000.usb: Generic Platform OHCI controller
[   29.328639] ohci-platform fe3e0000.usb: new USB bus registered, assigned bus number 2
[   29.329776] ohci-platform fe3e0000.usb: irq 37, io mem 0xfe3e0000
[   29.423716] usb usb2: Product: Generic Platform OHCI controller
[   29.423739] usb usb2: Manufacturer: Linux 5.13.0-0.rc0.20210428gitacd3d2859453.2.fc35.aarch64 ohci_hcd

(LUKS password prompt here)

[  531.041887] ohci-platform fe3a0000.usb: Generic Platform OHCI controller
[  531.079618] ohci-platform fe3a0000.usb: new USB bus registered, assigned bus number 5
[  531.080598] ohci-platform fe3a0000.usb: irq 35, io mem 0xfe3a0000
[  531.155073] usb usb5: Product: Generic Platform OHCI controller
[  531.155089] usb usb5: Manufacturer: Linux 5.13.0-0.rc0.20210428gitacd3d2859453.2.fc35.aarch64 ohci_hcd
[  532.039822] usb 5-1: new low-speed USB device number 2 using ohci-platform

Comment 7 Jeremy Linton 2021-10-07 21:26:20 UTC
As part of some general F35 testing, I checked this on an uefi/rpi4 and the luks prompt works, so its seems platform specific. Given they are both apparently OHCI's supported by the same platform I'm guessing there is a clock/reset/etc driver that the second one needs before it can be initialized that isn't being included in the initrd. 


If you drop "hostonly=no" into a file in /etc/dracut.conf.d and rebuild the initrd, does that solve the problem? Manually if you can track the dependencies for the second controller and assure all the loaded modules end up in the initrd (lsinitrd is your friend) that might help. If the individual driver can be determined then it can be added as an extra "add_drivers+=" option.

Comment 8 Dominik 'Rathann' Mierzejewski 2021-10-13 12:09:33 UTC
(In reply to Jeremy Linton from comment #7)
> As part of some general F35 testing, I checked this on an uefi/rpi4 and the
> luks prompt works, so its seems platform specific. Given they are both
> apparently OHCI's supported by the same platform I'm guessing there is a
> clock/reset/etc driver that the second one needs before it can be
> initialized that isn't being included in the initrd. 

This would have to be something new in 5.13 and I have no idea where to start
looking and for what.

> If you drop "hostonly=no" into a file in /etc/dracut.conf.d and rebuild the
> initrd, does that solve the problem?

It doesn't.

> Manually if you can track the dependencies for the second controller and
> assure all the loaded modules end up in the initrd (lsinitrd is your friend)
> that might help. If the individual driver can be determined then it can be
> added as an extra "add_drivers+=" option.

As far as I can tell, all the drivers are already included in the initrd.
# depmod -an|grep '[eou]hci' | grep -v alias |sort
kernel/drivers/usb/host/ehci-fsl.ko.xz:
kernel/drivers/usb/host/ehci-orion.ko.xz:
kernel/drivers/usb/host/ehci-platform.ko.xz:
kernel/drivers/usb/host/ohci-hcd.ko.xz:
kernel/drivers/usb/host/ohci-pci.ko.xz: kernel/drivers/usb/host/ohci-hcd.ko.xz
kernel/drivers/usb/host/ohci-platform.ko.xz: kernel/drivers/usb/host/ohci-hcd.ko.xz
kernel/drivers/usb/host/uhci-hcd.ko.xz:
softdep ohci_pci pre: ehci_pci
softdep uhci_hcd pre: ehci_pci
# lsinitrd /boot/initramfs-5.12.19-300.fc34.aarch64.img |grep '[eou]hci'
-rw-r--r--   1 root     root         4664 Jul  9 17:19 usr/lib/modules/5.12.19-300.fc34.aarch64/kernel/drivers/usb/host/ehci-fsl.ko.xz
-rw-r--r--   1 root     root         3676 Jul  9 17:19 usr/lib/modules/5.12.19-300.fc34.aarch64/kernel/drivers/usb/host/ehci-orion.ko.xz
-rw-r--r--   1 root     root         5132 Jul  9 17:19 usr/lib/modules/5.12.19-300.fc34.aarch64/kernel/drivers/usb/host/ehci-platform.ko.xz
-rw-r--r--   1 root     root        24316 Jul  9 17:19 usr/lib/modules/5.12.19-300.fc34.aarch64/kernel/drivers/usb/host/ohci-hcd.ko.xz
-rw-r--r--   1 root     root         3920 Jul  9 17:19 usr/lib/modules/5.12.19-300.fc34.aarch64/kernel/drivers/usb/host/ohci-pci.ko.xz
-rw-r--r--   1 root     root         3916 Jul  9 17:19 usr/lib/modules/5.12.19-300.fc34.aarch64/kernel/drivers/usb/host/ohci-platform.ko.xz
-rw-r--r--   1 root     root        22284 Jul  9 17:19 usr/lib/modules/5.12.19-300.fc34.aarch64/kernel/drivers/usb/host/uhci-hcd.ko.xz
# lsinitrd /boot/initramfs-5.14.10-200.fc34.aarch64.img |grep '[eou]hci'
-rw-r--r--   1 root     root         4668 Jul  9 17:19 usr/lib/modules/5.14.10-200.fc34.aarch64/kernel/drivers/usb/host/ehci-fsl.ko.xz
-rw-r--r--   1 root     root         3692 Jul  9 17:19 usr/lib/modules/5.14.10-200.fc34.aarch64/kernel/drivers/usb/host/ehci-orion.ko.xz
-rw-r--r--   1 root     root         5160 Jul  9 17:19 usr/lib/modules/5.14.10-200.fc34.aarch64/kernel/drivers/usb/host/ehci-platform.ko.xz
-rw-r--r--   1 root     root        24272 Jul  9 17:19 usr/lib/modules/5.14.10-200.fc34.aarch64/kernel/drivers/usb/host/ohci-hcd.ko.xz
-rw-r--r--   1 root     root         3924 Jul  9 17:19 usr/lib/modules/5.14.10-200.fc34.aarch64/kernel/drivers/usb/host/ohci-pci.ko.xz
-rw-r--r--   1 root     root         3928 Jul  9 17:19 usr/lib/modules/5.14.10-200.fc34.aarch64/kernel/drivers/usb/host/ohci-platform.ko.xz
-rw-r--r--   1 root     root        22340 Jul  9 17:19 usr/lib/modules/5.14.10-200.fc34.aarch64/kernel/drivers/usb/host/uhci-hcd.ko.xz

Comment 9 Dominik 'Rathann' Mierzejewski 2021-10-20 10:47:36 UTC
Looks like it's fixed in F35. kernel 5.14.12-300.fc35.aarch64 initializes both OHCI controllers and lets me type the LUKS password just fine:

$ dmesg |grep -i -E 'ohci|hailuck'
[    7.651910] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    7.666624] ohci-platform: OHCI generic platform driver
[    7.855124] ohci-platform fe3a0000.usb: Generic Platform OHCI controller
[    7.855501] ohci-platform fe3a0000.usb: new USB bus registered, assigned bus number 2
[    7.855688] ohci-platform fe3a0000.usb: irq 35, io mem 0xfe3a0000
[    7.925708] usb usb2: Product: Generic Platform OHCI controller
[    7.925720] usb usb2: Manufacturer: Linux 5.14.12-300.fc35.aarch64 ohci_hcd
[    7.930983] ohci-platform fe3e0000.usb: Generic Platform OHCI controller
[    7.932871] ohci-platform fe3e0000.usb: new USB bus registered, assigned bus number 3
[    7.933130] ohci-platform fe3e0000.usb: irq 37, io mem 0xfe3e0000
[    8.005660] usb usb3: Product: Generic Platform OHCI controller
[    8.005672] usb usb3: Manufacturer: Linux 5.14.12-300.fc35.aarch64 ohci_hcd
[    9.071244] usb 2-1: new low-speed USB device number 2 using ohci-platform
[    9.419346] usb 2-1: Manufacturer: HAILUCK CO.,LTD
[    9.434062] input: HAILUCK CO.,LTD USB KEYBOARD as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.0/0003:258A:001E.0001/input/input2
[    9.512848] hid-generic 0003:258A:001E.0001: input,hidraw0: USB HID v1.10 Keyboard [HAILUCK CO.,LTD USB KEYBOARD] on usb-fe3a0000.usb-1/input0
[    9.537671] input: HAILUCK CO.,LTD USB KEYBOARD Mouse as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.1/0003:258A:001E.0002/input/input3
[    9.547841] input: HAILUCK CO.,LTD USB KEYBOARD Touchpad as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.1/0003:258A:001E.0002/input/input4
[    9.548736] input: HAILUCK CO.,LTD USB KEYBOARD System Control as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.1/0003:258A:001E.0002/input/input5
[    9.621958] input: HAILUCK CO.,LTD USB KEYBOARD Consumer Control as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.1/0003:258A:001E.0002/input/input6
[    9.622582] input: HAILUCK CO.,LTD USB KEYBOARD Wireless Radio Control as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.1/0003:258A:001E.0002/input/input7
[    9.623537] hid-generic 0003:258A:001E.0002: input,hiddev96,hidraw1: USB HID v1.10 Mouse [HAILUCK CO.,LTD USB KEYBOARD] on usb-fe3a0000.usb-1/input1
[   10.200062] input: HAILUCK CO.,LTD USB KEYBOARD Mouse as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.1/0003:258A:001E.0002/input/input8
[   10.200910] input: HAILUCK CO.,LTD USB KEYBOARD Touchpad as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.1/0003:258A:001E.0002/input/input9
[   10.202104] input: HAILUCK CO.,LTD USB KEYBOARD System Control as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.1/0003:258A:001E.0002/input/input10
[   10.272187] input: HAILUCK CO.,LTD USB KEYBOARD Consumer Control as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.1/0003:258A:001E.0002/input/input11
[   10.272915] input: HAILUCK CO.,LTD USB KEYBOARD Wireless Radio Control as /devices/platform/fe3a0000.usb/usb2/2-1/2-1:1.1/0003:258A:001E.0002/input/input12
[   10.274482] hid-multitouch 0003:258A:001E.0002: input,hiddev96,hidraw1: USB HID v1.10 Mouse [HAILUCK CO.,LTD USB KEYBOARD] on usb-fe3a0000.usb-1/input1

Yay!

Comment 10 Dominik 'Rathann' Mierzejewski 2021-10-20 10:48:24 UTC
And I did rebuild the initrd with hostonly=yes, too. It still works.

Comment 11 Dominik 'Rathann' Mierzejewski 2022-04-13 12:50:40 UTC
I guess this can be closed as fixed either in 5.14.11 or 5.14.12. F36's 5.17.1 works fine, too.

Comment 12 Hans de Goede 2022-04-13 13:25:37 UTC
(In reply to Dominik 'Rathann' Mierzejewski from comment #11)
> I guess this can be closed as fixed either in 5.14.11 or 5.14.12. F36's
> 5.17.1 works fine, too.

Thanks for letting us know this is fixed now, closing.


Note You need to log in before you can comment on or make changes to this bug.