Bug 595178

Summary: hci mode not properly set with logitech mx revolution keyboard
Product: [Fedora] Fedora Reporter: Lameire Alexis <alexis.lameire>
Component: udevAssignee: Harald Hoyer <harald>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: bnocera, bugzilla, cjorsinger, deamicis, dwmw2, harald, jonathan, luis, mailings, marcel, perja, pikachu.2014, plautrba
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: udev-151-10.fc13 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-06-15 12:04:30 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Description Flags
lsusb -v
patch to solve the bug none

Description Lameire Alexis 2010-05-23 15:52:51 EDT

I have some troubles with my Bluetooth keyboard, a Logitech MX Revolution.
It uses a bluetooth adaptator detected by the kernel as "logitech bt adaptator" (see attached /var/log/messages). The bluetooth service is enabled and active.

When Fedora starts and one the bluetooth service activated, the Bluetooth dongle is considered to be a Bluetooth receptor (HID mode), whereas it should be seen as a Keyboard+mouse BT interface, as supported in BIOS mode (HCI mode). So my keyboard does not work neither in text mode, nor in GDM. It works anyway once connected to my session (using another wired keyboard), but the numerical keypad still not works.

I suppose the problem comes from the /lib/udev/hid2hci utility, which doesn't set the right mode to this dongle. According to the #bluez-users IRC (Freenode), there are 2 possibilities : hid2hci is not launched, or hid2hci is broken.

I attach to this report my /var/log/messages file.
Comment 1 Lameire Alexis 2010-05-23 15:54:12 EDT
Created attachment 415994 [details]

/var/log/messages file
Comment 2 Lameire Alexis 2010-05-23 15:55:03 EDT
Created attachment 415995 [details]
lsusb -v

Output of "lsusb -bv" containing only the Bluetooth devices
Comment 3 Per Thomas Jahr 2010-05-26 13:17:59 EDT
I think I have the same issue with Logitech DiNovo Edge keyboard. I installed Fedora 13, but I can't login since the keyboard isn't working. I had no problems with this in Fedora 12.

When/how is hid2hci supposed to be called? How can we debug this?
Comment 4 Per Thomas Jahr 2010-05-26 15:33:58 EDT
Found a solution that makes it work for me:

I commented out the udev rule for Logitech devices found in /lib/udev/rules.d/70-hid2hci.rules:

# Logitech devices
#KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[34bc]", \
#  RUN+="hid2hci --method=logitech-hid --devpath=%p"

Alternatively the thread suggests to change "hiddev" to "hidraw". I'm not sure what is correct.

You should probably change "component" from bluez to udev on this bug. Ah, there is a similar bug in udev already: 
Comment 5 Lameire Alexis 2010-05-26 16:09:45 EDT
i have already search in this way ;) and i was found the same problem on launchpad that solve it by switching hidraw to hiddev and not hiddev to hidrow ;)

i'm not sure that it's due to udev ;) 3 possibility to my :
-the kernel driver is broken
-bluez is blocken
-hidtohci is broken 

with no more information to my mind this package is the more appropriated
Comment 6 Ferry Huberts 2010-05-28 13:15:22 EDT
I had the same issue with my MX5500 keyboard/mouse combination

curiously the mouse worked (after some i-can't-remember-what-i-did-to-make-it-work-again fiddling) but the keyboard never did work

changing hiddev* to hidraw* in the udev file makes both of them work perfectly
Comment 7 Lameire Alexis 2010-05-28 14:54:48 EDT
the bug is been switched to udev :) 
i have write the patch for the udev package :)
Comment 8 Lameire Alexis 2010-05-28 14:56:11 EDT
Created attachment 417721 [details]
patch to solve the bug
Comment 9 Per Sjoholm 2010-05-31 15:52:26 EDT
(In reply to comment #4)
> I commented out the udev rule for Logitech devices found in
> /lib/udev/rules.d/70-hid2hci.rules:
> # Logitech devices
> #KERNEL=="hiddev*", ATTRS{idVendor}=="046d",
> ATTRS{idProduct}=="c70[345abce]|c71[34bc]", \
> #  RUN+="hid2hci --method=logitech-hid --devpath=%p"

In fedora 12
# Logitech devices (hidraw)
KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[34bc]", \
  RUN+="hid2hci --method=logitech-hid --devpath=%p"

I have a Logitech Dinovo edge it works with Fedora12 and not with Fedora13
Comment 10 Luis Villa 2010-06-06 13:56:27 EDT
Not sure why this is assigned to extras-qa, since udev is definitely not extras. And it should be higher priority; it is breaking people's keyboards that have worked for literally years (three, at least, for my dinovo?)

Might be useful to know that this also broke in Ubuntu 10.04 after working in 9.[whatever the last version was.]
Comment 11 Nicolas De Amicis 2010-06-07 08:12:24 EDT
I have a Logitech DiNovo (first generation) it works with Fedora 12 but not with Fedora 13.
Comment 12 Bastien Nocera 2010-06-07 09:38:45 EDT
There's the upstream patch:

Harald, could you please get this into udev?
Comment 13 Ferry Huberts 2010-06-07 09:52:00 EDT
Just to be clear, that patch needs to be reverted if i see it correctly
Comment 14 Lameire Alexis 2010-06-07 09:59:58 EDT
this patch is uneeded for fedora :)
a reverse patch is already appliqued on the spec file :). 
it's just need to apply the patch that i write ;)
Comment 15 Craig Orsinger 2010-06-10 01:19:49 EDT
I'm using Fedora 13 x86_64 with a DiNovo Edge keyboard. For what it's worth, I applied the change suggested by Comment 4 (changing "hiddev" to "hidraw") and it fixed the problem. Looks like picking the right driver makes things work??
Comment 16 Fedora Update System 2010-06-10 09:21:34 EDT
udev-151-10.fc13 has been submitted as an update for Fedora 13.
Comment 17 Fedora Update System 2010-06-10 15:09:24 EDT
udev-151-10.fc13 has been pushed to the Fedora 13 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update udev'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/udev-151-10.fc13
Comment 18 Fedora Update System 2010-06-15 12:04:23 EDT
udev-151-10.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.