[Pkg-bluetooth-maintainers] Bug#626975: bluez: getting a "Logitech, Inc. diNovo Edge Keyboard" working
Cristian Ionescu-Idbohrn
cristian.ionescu-idbohrn at axis.com
Mon May 16 20:13:42 UTC 2011
Package: bluez
Version: 4.91-1
Severity: important
This is a USB bluetooth dongle and a keyboard with a builtin mouse pad.
After plugging the dongle in an USB port, lsusb reports:
Bus 001 Device 004: ID 046d:0b04 Logitech, Inc.
Bus 001 Device 005: ID 046d:c713 Logitech, Inc.
Bus 001 Device 006: ID 046d:c714 Logitech, Inc. diNovo Edge Keyboard
The dongle chip Manufacturer: Broadcom Corporation.
The udev rule /lib/udev/rules.d/62-bluez-hid2hci.rules (package bluez)
does not run:
ACTION=="add", ENV{ID_VENDOR}=="046d", ENV{ID_MODEL}=="c714" \
RUN+="/usr/sbin/hid2hci --method logitech -v $env{ID_VENDOR} -p $env{ID_MODEL} --mode hci"
as expected. Instead, I note the 'joydev' kernel module being loaded,
and:
# hcitool dev
Devices:
reports nothing.
Please note, there's a /lib/udev/rules.d/70-hid2hci.rules (package
udev), with a:
KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[4abc]|c71[34bc]", \
RUN+="hid2hci --method=logitech-hid --devpath=%p"
which seems terribly wrong (at least for the 'c71[34]'). Also,
'--method=logitech-hid' is not a documented method. What's documented is:
-m, --method= Method to use to switch [csr, logitech, dell]
If I run manually:
# hid2hci --method logitech -v 046d -p c714 --mode hci
Attempting to switch device 046d:c714 to HCI mode was successful
This seems to do what I expect, reports success and, to my surprise, exits
with status code 2 :( I know for a fact SUCCESS == 0.
I get:
# hcitool dev
Devices:
hci0 00:1F:20:aa:bb:cc
and see kernel module 'btusb' loaded, and:
# lsusb
Bus 001 Device 004: ID 046d:0b04 Logitech, Inc.
Bus 001 Device 005: ID 046d:c713 Logitech, Inc.
Bus 001 Device 006: ID 046d:c714 Logitech, Inc. diNovo Edge Keyboard
Bus 001 Device 007: ID 046d:c709 Logitech, Inc. BT Mini-Receiver (HCI mode)
Also:
# hcitool scan
Scanning ...
00:1F:20:dd:ee:ff Logitech diNovo Edge
Next step is pairing, but none of the straight forward methods I tried
work out of the box :( Tried this:
# bluez-simple-agent hci0 00:1F:20:dd:ee:ff
but that is successful _only_ if one manages to get everything going at
the first attempt. If not, using a bluez-simple-agent _undocumented_ and
_odd_ feature (information found here:
http://blog.projectnibble.org/2010/08/08/how-ubuntus-broken-bluetooth-support-came-to-be/comment-page-1/#comment-1492
) may get one succeed every time:
# bluez-simple-agent hci0 00:1F:20:dd:ee:ff repair >/dev/null || bluez-simple-agent hci0 00:1F:20:dd:ee:ff
Next thing is to connect (see above link):
# dbus-send --system --print-reply --dest=org.bluez org/bluez/NNNNN/hci0/dev_00_1F_20_dd_ee_ff org.bluez.Input.Connect
That's the simplified version.
There are a few more dbus-send commands in between.
Of course I collected a lot of data from my weekend long attempts to
get this working, which I'm willing to share. I also put the whole
thing in an inefficient shell script. I can share that too.
IMO, the _major_ problem is to get the udev-rules to work out of the box.
Obviously there is at least one bug in there.
Next must come the pairing oddities and finally the connection (maybe
trust too).
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.38-2-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash
Versions of packages bluez depends on:
ii dbus 1.4.8-3 simple interprocess messaging syst
ii libbluetooth3 4.91-1 Library to use the BlueZ Linux Blu
ii libc6 2.13-4 Embedded GNU C Library: Shared lib
ii libcap-ng0 0.6.5-1+b1 An alternate POSIX capabilities li
ii libdbus-1-3 1.4.8-3 simple interprocess messaging syst
ii libglib2.0-0 2.28.6-1 The GLib library of C routines
ii libusb-0.1-4 2:0.1.12-17 userspace USB programming library
ii lsb-base 3.2-27 Linux Standard Base 3.2 init scrip
ii makedev 2.3.1-89 creates device files in /dev
ii module-init-tools 3.12-1 tools for managing Linux kernel mo
ii python-dbus 0.83.1-1+b1 simple interprocess messaging syst
ii python-gobject 2.28.4-1 Python bindings for the GObject li
ii udev 167-3 /dev/ and hotplug management daemo
bluez recommends no packages.
bluez suggests no packages.
-- no debconf information
Cheers,
--
Cristian
More information about the Pkg-bluetooth-maintainers
mailing list