Definitely would be nice for this issue to go away permemnantly so we
don't have to keep digging out those trusty PS/2 or USB keyboards every
major upgrade.

I've dug into this little further...gained bit more understanding of all
this...and may have a proper solution...at least for MX5000 devices.

[tl;dr]
Bluetooth dongle that came with my MX5000 starts in HID mode by default when 
plugged in. I can force it to start in HCI mode by holding the red button on 
the dongle when its being plugged in (ID for HID proxy mode 046d:0b02 and 
additinal HCI device with ID 046d:c709.)

Can others confirm if their Logitech devices or any similar devices have
switch/button that allows user to control HID or HCI mode and provide
their IDs from lsusb?

If there is such control offered by the devices, for immediate solution, we 
just need to disable the udev rule that causes the dongle to switch to HCI mode 
and let user decide to enable HCI mode with hardware switch.
[/tl;dr]


Long version...

First, just in case there are others like me who didn't bother looking
up what HID or HCI modes mean...HCI mode means dongle acts as regular
Bluetooth adapter requiring paring of keyboard/mouse while HID mode
means dongle acts as regular USB keyboard/mouse device so it can work in
BIOS and GRUB screens.

Logitech Bluetooth devices (that match following udev rules conditions:
ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[34bc]") are
devices that can run in both HID and HCI mode with HID mode being
default as it should be. It is up to me a user to decide if I want to
use the device in HCI mode.

I don't know exactly how other Logitech devices behave but the Bluetooth
dongle that came with my MX5000 starts in HID mode by default when
plugged in. I can force it to start in HCI mode by holding the red
button on the dongle when its being plugged in. ID for HID proxy mode
046d:0b02 and additinal HCI device with ID 046d:c709.


Now a days I prefer to run in HID mode because it requires no
configuration changes across multiple computers/OS. However, when I did
prefer to run in HCI mode (unknownigly mind you until I looked up HID
and HCI recently) I used to copy around the same pairing keys across
multiple computers/OS.

If I did decide to go back to running in HCI mode, I would probably look
into mx5000tools as well. I only found them recently and I have not had
a chance to test but these tools seem to make it possible to control
MX5000 keyboard's "LCD and to use some of the keys that are not
recognized by the stock Linux HID driver." Take look at the mx5000tools
homepage if you are interested: http://home.gna.org/mx5000tools/

My preferred long term solution would be to use HID mode by default and
have a driver similar to Logitech's Windows drivers that I can install
optionally. It would be awesome if the driver provided feature parity
with existing Windows driver and it would be super awesome if Logitech
themselves can release such driver for Linux...one can hope, no?


Fedora's current solution to this bug is to simply prevent switching to
HCI mode by removing hid2hci. I don't like Fedora's solution but it does
work. [[https://bugzilla.redhat.com/show_bug.cgi?id=635244|Bug #635244]]

Sabayon's solution is to go back to using HID2HCI_ENABLE environment
setting. [[http://bugs.sabayon.org/show_bug.cgi?id=2687||Bug #2687]]

Looks like following Ubuntu bugs are related:
[[https://bugs.launchpad.net/bugs/444420|#444420]],
[[https://bugs.launchpad.net/bugs/550288|#550288]] and
[[https://bugs.launchpad.net/bugs/65847|#65847]]


Ideally, it would nice if someone can come up with a proper upstream fix 
instead of just turning off the rule, since more than likely not all devices 
that can switch to HCI mode has button/switch that user can use for HID or HCI 
mode. The challenge seems to have been out there for a while but it does not 
seem like anyone has taken the bait yet. Take a look at the following message: 
http://article.gmane.org/gmane.linux.bluez.kernel/13458

Per Martin's comment above in #44, Ubuntu also used to have
HIDHCI_ENABLED but I couldn't get it to work with 12.04.


If other Logitech Bluetooth dongles (ID "c70[345abce]|c71[34bc]") behave
similar to mine (HID mode by default and HCI mode if red button is held
while dongle is being plugged in), I think immediate solution is to
simply turn off the current udev rule that enables HCI mode. Apparently,
we have already been unknowingly doing this by changing the current rule
from "hiddev*" to "hidraw*".


Below are my results from turning off the current udev rule in 97
-bluetooth-hid2hci.rules.

If the udev rule that enables HCI mode is NOT used then we do not see a
HCI device with lsusb and keyboard/mouse work in HID mode:

ID 046d:0b02 Logitech, Inc. BT Mini-Receiver (HID proxy mode)
ID 046d:c70e Logitech, Inc. MX1000 Bluetooth Laser Mouse
ID 046d:c70a Logitech, Inc. MX5000 Cordless Desktop

If the udev rule that enables HCI mode is NOT used and if red button is
held when dongle is plugged (forcing HCI mode) then keyboard/mouse do
not work unless I pair them. New HCI device is listed with lsusb and
keyboard/mouse disappear:

ID 046d:0b02 Logitech, Inc. BT Mini-Receiver (HID proxy mode)
ID 046d:c709 Logitech, Inc. BT Mini-Receiver (HCI mode)

If the udev rule that enables HCI mode is used then keyboard/mouse do
not work and additional HCI device listed with lsusb:

ID 046d:0b02 Logitech, Inc. BT Mini-Receiver (HID proxy mode)
ID 046d:c70e Logitech, Inc. MX1000 Bluetooth Laser Mouse
ID 046d:c70a Logitech, Inc. MX5000 Cordless Desktop
ID 046d:c709 Logitech, Inc. BT Mini-Receiver (HCI mode)

If the udev rule that enables HCI mode is used and if red button is held
when dongle is plugged (forcing HCI mode) then as before keyboard/mouse
do not work unless I pair them and the Bluetooth keyboard/mouse are
missing with lsusb:

ID 046d:0b02 Logitech, Inc. BT Mini-Receiver (HID proxy mode)
ID 046d:c709 Logitech, Inc. BT Mini-Receiver (HCI mode)

So the workarounds of current rule from "hiddev*" to "hidraw*" or
removal of the rule will achieve the intentend behavior for my hardware
which allows me to use HID mode my default with choice of using HCI
mode.


Anyhow, can others confirm if their Logitech devices or any similar devices 
have switch/button that allows user to control HID or HCI mode and provide 
their IDs from lsusb?

If there is such control offered by the devices, for immediate solution,
we just need to disable the udev rule that causes the dongle to switch
to HCI mode and let user decide to enable HCI mode with hardware switch.

** Bug watch added: Red Hat Bugzilla #635244
   https://bugzilla.redhat.com/show_bug.cgi?id=635244

** Bug watch added: bugs.sabayon.org/ #2687
   http://bugs.sabayon.org/show_bug.cgi?id=2687

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/123920

Title:
  Bluetooth Logitech Dinovo Keyboard/Mouse don't work

To manage notifications about this bug go to:
https://bugs.launchpad.net/bluez-utils-old/+bug/123920/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to