Keyboard not supported during booting (F20). How to add a driver to initramfs?
FedoraForum.org - Fedora Support Forums and Community
Results 1 to 8 of 8
  1. #1
    Join Date
    Sep 2004
    Posts
    325
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Keyboard not supported during booting (F21). How to add a driver to initramfs?

    I have (an excellent, ergonomically super) Lenovo ThinkPad Compact USB Keyboard with TrackPoint.
    The older model with longer wrist support (shame they stopped this model):
    http://www.youtube.com/watch?v=6ovMqIZijhg

    When the PC boots, the BIOS recognized the keyboard and I can eg. change BIOS-settings, give BIOS-password and eveything seems normal.

    When Linux Feodra 20 boots, it goes to the phase where LUKS-password needs to be given. Keyboard is dead. It does not work at all, not any key. I need to take my old USB keyboard, attach it, give the LUKS-password to get further.

    The problem is, the normal Linux keyboard-driver does not know how to handle this keyboard(?).
    Linux has special driver for this Lenovo USB keyboad:
    Code:
    # modinfo hid_lenovo_tpkbd
    filename:       /lib/modules/3.13.10-200.fc20.x86_64/kernel/drivers/hid/hid-lenovo-tpkbd.ko
    license:        GPL
    alias:          hid:b0003g*v000017EFp00006009
    depends:        
    intree:         Y
    vermagic:       3.13.10-200.fc20.x86_64 SMP mod_unload 
    signer:         Fedora kernel signing key
    sig_key:        23:C8:6B:54:66:10:3C:D1:BD:B1:3E:02:1B:8B:77:CF:50:47:37:3F
    sig_hashalgo:   sha256
    Obviously this driver is not in the Fedora initramfs when the system boots. Only after the root filesystem has been mounted, the driver is loaded and the keyboard starts working again.

    1) How to get that kernel module to initramfs manually?

    2) How to get that driver module hid-lenovo-tpkbd.ko automatically into all initramfs-images when new kernels get installed eg. with "yum -y update"?
    Last edited by zimon; 8th February 2015 at 02:25 PM. Reason: In Fedora 21 the problem reappeared. Hid-lenovo-tpkbd.so not in modules.

  2. #2
    Join Date
    Sep 2004
    Posts
    325
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Keyboard not supported during booting (F20). How to add a driver to initramfs?

    Answering to myself:

    Create /etc/dracut.conf.d/hid-lenovo-tpkbd.conf
    Code:
    $ cat /etc/dracut.conf.d/hid-lenovo-tpkbd.conf 
    add_drivers+=" hid-lenovo-tpkbd "
    1) Manually:
    Code:
    # mv /boot/initramfs-3.13.10-200.fc20.x86_64.img /boot/initramfs-3.13.10-200.fc20.x86_64.img.orig
    # mkinitrd -v -v -f /boot/initramfs-3.13.10-200.fc20.x86_64.img.new 3.13.10-200.fc20.x86_64
    # ln /boot/initramfs-3.13.10-200.fc20.x86_64.img.new /boot/initramfs-3.13.10-200.fc20.x86_64.img
    Tested. Worked. Keyboard was working during the boot stage and I was able to give LUKS-password.

    2) Automatically:
    Hopefully now when new kernel is installed from repository it also creates initramfs which has hid-lenovo-tpkbd.ko included?

  3. #3
    Join Date
    Sep 2004
    Posts
    325
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Keyboard not supported during booting (F20). How to add a driver to initramfs?

    Works also after auto-update to 3.14.2-200.fc20.x86_64,
    so => SOLVED

  4. #4
    Join Date
    Dec 2004
    Location
    Fairport, New York
    Posts
    19
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Keyboard not supported during booting (F20). How to add a driver to initramfs?

    I've been searching off and on for months for a solution to my keyboard problem. I followed the instructions in this post and it TOTALLY fixed my keyboard issue. I have the Roccat Ryos MK Pro Keyboard, and before performing the fix in your post, I could not boot any kernels > 3.12.

    Here's the worst part. The first time that I encountered this problem, my NVidia drivers upgraded with a newer kernel (>= 3.13), but I couldn't boot it, obviously, because Linux didn't load the right keyboard driver. However, when I tried to go back to my working kernel (3.12), the graphics driver failed to load! I was hosed! The new NVidia drivers didn't match the old kernel (3.12)! I didn't know the cause at the time.

    Eventually, I discovered that my binary NVidia driver was failing to load! That was a stressful situation. I tried removing NVidia and reinstalling Nouveau, but was unsuccessful. Back to NVidia. Eventually, after some research, I discovered that the xorg-x11 NVidia drivers that I was using did not match my kernel. I scoured the net to find the matching drivers. Once I did, I installed them, rebooted, and I was back in business with 3.12.

    Whenever updates occurred, I had to always remember to not upgrade the NVidia drivers and to always boot 3.12. I installed the newer kernels anyway in hopes that one day, the problem would fix itself suddenly. It never happened. Then, on my most recent desperate search to find something that could help me with this problem, I found your post! Now, I'm back in business.

    Note: For some reason, Grub didn't like the symbolic link so I made the initramfs a regular file, and I was able to enter my LUKS password and boot kernel (3.16.6). Thank you SOOOOO MUCH!!! I'm glad that I learned something about initramfs, too!

  5. #5
    Join Date
    Sep 2004
    Posts
    325
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Keyboard not supported during booting (F20). How to add a driver to initramfs?

    Fedora 21 does not seem to have this driver compiled anymore to the modules, hrmmh!
    # modprobe hid-lenovo-tpkbd
    modprobe: FATAL: Module hid-lenovo-tpkbd not found.

  6. #6
    Join Date
    May 2011
    Posts
    3
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Keyboard not supported during booting (F20). How to add a driver to initramfs?

    Nice work zimon, thanks for posting, I never would have figured this out on my own.
    I just got this working in F21, they shortened the module name to just "hid_lenovo", so for anyone still trying to get this fixed, here are the steps:

    1. Add the line
    Code:
    add_drivers+=" hid-lenovo "
    to the file /etc/dracut.conf.d/hid-lenovo.conf (which you will need to create)

    2. Back up your current initramfs:
    Code:
    mv  /boot/initramfs-$(uname -r).img  /boot/initramfs-$(uname -r).img_backup
    3. Make a new initramfs with our hid-lenovo module:
    Code:
    dracut  --add-drivers  hid_lenovo  initramfs-$(uname  -r).img
    or, if you think you might forget about the change you made:
    [CODE]dracut --add-drivers hid_lenovo initramfs-$(uname -r)_with_hid_lenovo.img
    ln -s initramfs-$(uname -r)_with_hid_lenovo.img initramfs-$(uname -r).img

    I was about to be very sad if I had to keep a second keyboard on hand just to use my nice new Lenovo one...

  7. #7
    Join Date
    Sep 2004
    Posts
    325
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Keyboard not supported during booting (F20). How to add a driver to initramfs?

    OK, good. Thanks for finding out the driver name change. How did you figure it out, or just an educated guess?

    I now also see, I could just have done "locate lenovo" to see and guess they have changed the name.

    Interesting though, binary code size has changed alot, +29%:
    Code:
    -rw-r--r--. 1 root root 14K Dec  2  2013 /usr/lib/modules/3.11.10-200.fc19.x86_64.bck/kernel/drivers/hid/hid-lenovo-tpkbd.ko
    -rw-r--r--. 1 root root 4.6K Feb 12 00:34 /usr/lib/modules/3.18.7-200.fc21.x86_64/kernel/drivers/hid/hid-lenovo.ko.xz
    after decompression:
    -rw-r--r--. 1 root root 18K Feb 18 16:28 /tmp/hid-lenovo.ko
    From the sources, it is seen there is supported a few new types of HIDs:
    Code:
    --- hid-lenovo-tpkbd.c-3.11.10-200.fc19.x86_64  2015-02-18 21:59:33.012559549 +0200
    +++ hid-lenovo.c-3.18.6-200.fc21.x86_64 2014-12-08 00:21:05.000000000 +0200
    @@ -1,7 +1,11 @@
     /*
    - *  HID driver for Lenovo ThinkPad USB Keyboard with TrackPoint
    + *  HID driver for Lenovo:
    + *  - ThinkPad USB Keyboard with TrackPoint (tpkbd)
    + *  - ThinkPad Compact Bluetooth Keyboard with TrackPoint (cptkbd)
    + *  - ThinkPad Compact USB Keyboard with TrackPoint (cptkbd)
    Could it be concidered a "bug" with Fedora, they do not have this driver included in the default kernel? That means, people with Lenovo laptops fail to boot Fedora, if they happen to use LUKS encryption in their harddisk when they install Fedora.

  8. #8
    Join Date
    Jul 2016
    Location
    Herzliya, Israel
    Posts
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Keyboard not supported during booting (F20). How to add a driver to initramfs?

    Hi guys,
    I know it goes a little outside of the original scope of the post, but I'm trying to do similar thing, I'm trying to be able to type my LUKS password with bluetooth keyboard from Microsoft (Surface Ergonomic Keyboard).

    There are some other issues right now that prevents me from properly testing it, but I just want to run by you what needs to be done.

    As far as modules are concerned, I've added rfkill bluetooth and btintel. Do you think that should be good enough? Is there another module required for bt hid?

    Once I have these modules keyboard should be able to connect at LUKS prompt?

    Thank you in advance guys, I've spent quite a lot of money for this keyboard and so disappointed I'm having so many issues with it.

    I'm on Fedora 25 KDE if that matters here.

Similar Threads

  1. F20 touchpad and keyboard not working
    By kchonov in forum Hardware & Laptops
    Replies: 22
    Last Post: 7th September 2014, 09:02 PM
  2. Fedora 20 Not Booting - How to Create new initramfs
    By crokett in forum Using Fedora
    Replies: 2
    Last Post: 21st March 2014, 12:40 PM
  3. Any PCI Parallel Port Cards Supported by F20?
    By bob p in forum Using Fedora
    Replies: 5
    Last Post: 20th March 2014, 01:13 AM
  4. Can't connect bluetooh keyboard in F20
    By MuadNu in forum Hardware & Laptops
    Replies: 1
    Last Post: 13th January 2014, 07:36 PM
  5. will there be a fix for F20 re tty keyboard defs?
    By lsatenstein in forum Rawhide
    Replies: 0
    Last Post: 15th November 2013, 07:43 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •