Bug 1135734 - Wireless keyboard/trackball device is not recognized in the Fedora installer
Summary: Wireless keyboard/trackball device is not recognized in the Fedora installer
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: dracut
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: dracut-maint-list
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-08-31 02:20 UTC by Simo Sorce
Modified: 2015-05-21 17:36 UTC (History)
12 users (show)

Fixed In Version: dracut-038-39.git20150518.fc21
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-05-21 17:36:37 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Patch to add hid-lcpower module support (1.14 KB, patch)
2014-09-06 16:21 UTC, Simo Sorce
no flags Details | Diff

Description Simo Sorce 2014-08-31 02:20:32 UTC
Wireless keyboard/trackball device is not recognized in the Fedora installer (tried F20, F21TC5, and I think I saw the same problem with the RHEL7 installer back a few months ago).

I used the F20 and F21-TC5 Netinstall images to test.

This happens on a IntelNUC device.

The keyboard (and mouse) are recognized just fine by the Intel UEFI BIOS, and they work in syslinux until the installation type is selected, but as soon as the installer pivots in the kernel the device stops working. (Although the kernel does see the USB device).
Perhaps the install kernel does not support all USB devices ?

Attaching another keyboard works and allows you to continue installation.

After installation has completed and the machine reboots, this device is correctly recognized and work both in console and in X.

Comment 1 Simo Sorce 2014-08-31 02:46:58 UTC
Perhaps interesting fact, if I boot with init=/bin/bash the wireless keyboard will also not work, it works for a rebular boot.

Comment 2 Simo Sorce 2014-08-31 02:47:38 UTC
Data about the device:

dmesg:
[1586401.711243] usb 2-3: new low-speed USB device number 31 using xhci_hcd
[1586401.733216] usb 2-3: New USB device found, idVendor=1241, idProduct=f767
[1586401.733221] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[1586401.733223] usb 2-3: Product: Wireless 2.4GHz Trackball Keyboard
[1586401.733225] usb 2-3: Manufacturer: HOLTEK
[1586401.733724] usb 2-3: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[1586401.733733] usb 2-3: ep 0x82 - rounding interval to 64 microframes, ep desc says 80 microframes
[1586401.767795] input: HOLTEK Wireless 2.4GHz Trackball Keyboard as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0/input/input18
[1586401.768270] LC RC1000MCE 0003:1241:F767.000B: input,hidraw4: USB HID v1.10 Keyboard [HOLTEK Wireless 2.4GHz Trackball Keyboard] on usb-0000:00:14.0-3/input0
[1586401.768653] input: HOLTEK Wireless 2.4GHz Trackball Keyboard as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.1/input/input19
[1586401.770033] LC RC1000MCE 0003:1241:F767.000C: input,hiddev0,hidraw5: USB HID v1.10 Mouse [HOLTEK Wireless 2.4GHz Trackball Keyboard] on usb-0000:00:14.0-3/input1

lsusb:
Bus 002 Device 031: ID 1241:f767 Belkin Keyboard


$ lsusb -v -s 002:031

Bus 002 Device 031: ID 1241:f767 Belkin Keyboard
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x1241 Belkin
  idProduct          0xf767 Keyboard
  bcdDevice            0.01
  iManufacturer           1 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      61
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     131
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10

Comment 3 Brian Lane 2014-09-03 01:25:36 UTC
anaconda supports whatever the kernel supports.

Comment 4 Josh Boyer 2014-09-03 12:27:21 UTC
(In reply to bcl from comment #3)
> anaconda supports whatever the kernel supports.

That'd be accurate if Simo didn't also say:

(In reply to Simo Sorce from comment #0)
> After installation has completed and the machine reboots, this device is
> correctly recognized and work both in console and in X.

So it seems that something in the initramfs is likely lacking to support the device.

Simo, could you figure out what kernel module is loaded after installation and see if that is present in the initramfs?

Comment 5 Simo Sorce 2014-09-04 17:16:30 UTC
Josh I am not extactly certain of what is missing in the initramfs, as the machine I used the keyboard on is out of reach today.

However I did an lsmod before/after attaching the wireles keyboard dongle to another machine and I see a new module loaded there called hid_lcpower

Maybe you can check if this module is present in the initramfs of a vanilla F20 installer ?

Comment 6 Simo Sorce 2014-09-05 18:53:35 UTC
Ok I used lsinitrd on the Fedora 20 netinst iso (which is what I used for the install) and can confirm that hid_lcpower is not there.
I will try to manually load that module in a dracut shell later to confirm that is all is needed.

Comment 7 Simo Sorce 2014-09-05 20:56:05 UTC
Ok I think I verified hid-lcpower is all is needed, this is how:

- I fetched the 3.11.10-301 kernel package and created a virtual disk with the his-lcpower.so driver file in it.

- Then I created a new veritual machine and attached the usb device to it, as well as the veritual disk creatyed in the step above.

- Booted the machine (and surprisingly the bios can use the wireless keyboard)

- Started the install and verified that the keyboard/trackabll do not work

- Dropped to a shell, mounterd the other virtual drive an simply used insmod to load the driver.

- wireless keyboard/trackball now works.

So what component is responsible for generating the install image initrd ?
I could send a patch.

Comment 8 Josh Boyer 2014-09-06 01:35:34 UTC
I think that would be dracut.  Harald will certainly let us know if that's not correct.  Note that we can't fix this for F20 as release media isn't respun, but we can make sure it's fixed for F21 and rawhide.  Thanks for digging into this.

Comment 9 Simo Sorce 2014-09-06 16:21:21 UTC
Created attachment 935039 [details]
Patch to add hid-lcpower module support

I'm not a dracut expert and haven't gone throuh building an install image for F21, but here is a patch anyway.

Comment 11 Fedora Update System 2015-05-18 12:17:55 UTC
dracut-038-39.git20150518.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/dracut-038-39.git20150518.fc21

Comment 12 Fedora Update System 2015-05-19 16:21:01 UTC
Package dracut-038-39.git20150518.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing dracut-038-39.git20150518.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-8504/dracut-038-39.git20150518.fc21
then log in and leave karma (feedback).

Comment 13 Fedora Update System 2015-05-21 17:36:37 UTC
dracut-038-39.git20150518.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.


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