[Pkg-bluetooth-maintainers] Bug#626975: Bug#626975: bluez: getting a "Logitech, Inc. diNovo Edge Keyboard" working

Nobuhiro Iwamatsu iwamatsu at nigauri.org
Tue May 31 10:29:10 UTC 2011


Hi,

By bluez 4.93-2,  I think that this problem was revised.
Would you confirm it?
# "--mode hci" may be necessary in 62-bluez-hid2hci.rules.

/lib/udev/rules.d/62-bluez-hid2hci.rules:

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

Best regards,
  Nobuhiro

2011/5/17 Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn at axis.com>:
> 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
>
>
>
> _______________________________________________
> Pkg-bluetooth-maintainers mailing list
> Pkg-bluetooth-maintainers at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/pkg-bluetooth-maintainers
>



-- 
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6





More information about the Pkg-bluetooth-maintainers mailing list