2017-05-08 11:00:10

by Konrad Zapalowicz

[permalink] [raw]
Subject: [PATCH] tools: add logitech diNovo rules for hid2hci

From: Konrad Zapałowicz <[email protected]>

It has been reported that th Lenovo diNovo set of BT wireless devices
works only when is managed by hidraw instead of hiddev. This patch adds
vendor and product ids for these devices so that it is possible to use.

This patch is based on work provided by:
* Tommy <[email protected]>
* Martin G Miller <[email protected]>
---
tools/hid2hci.rules | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/tools/hid2hci.rules b/tools/hid2hci.rules
index db6bb03..7273167 100644
--- a/tools/hid2hci.rules
+++ b/tools/hid2hci.rules
@@ -13,6 +13,12 @@ ATTR{bInterfaceClass}=="03", ATTR{bInterfaceSubClass}=="01", ATTR{bInterfaceProt
# Logitech devices
KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[34bc]", \
RUN+="hid2hci --method=logitech-hid --devpath=%p"
+# Logitech, Inc. diNovo Edge Keyboard
+KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c714", \
+ RUN+="hid2hci --method=logitech-hid --devpath=%p"
+# Logitech, Inc. diNovo 2
+KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c704", \
+ RUN+="hid2hci --method=logitech-hid --devpath=%p"

ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end"

--
2.7.4


2017-05-08 11:45:09

by Konrad Zapalowicz

[permalink] [raw]
Subject: Re: [PATCH] tools: add logitech diNovo rules for hid2hci

On 05/08, Von Dentz, Luiz wrote:
> Hi Konrad,
>
> On Mon, May 8, 2017 at 2:00 PM, Konrad Zapalowicz
> <[email protected]> wrote:
> > From: Konrad Zapałowicz <[email protected]>
> >
> > It has been reported that th Lenovo diNovo set of BT wireless devices
> > works only when is managed by hidraw instead of hiddev. This patch adds
> > vendor and product ids for these devices so that it is possible to use.
> >
> > This patch is based on work provided by:
> > * Tommy <[email protected]>
> > * Martin G Miller <[email protected]>
> > ---
> > tools/hid2hci.rules | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/tools/hid2hci.rules b/tools/hid2hci.rules
> > index db6bb03..7273167 100644
> > --- a/tools/hid2hci.rules
> > +++ b/tools/hid2hci.rules
> > @@ -13,6 +13,12 @@ ATTR{bInterfaceClass}=="03", ATTR{bInterfaceSubClass}=="01", ATTR{bInterfaceProt
> > # Logitech devices
> > KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[34bc]", \
> > RUN+="hid2hci --method=logitech-hid --devpath=%p"
> > +# Logitech, Inc. diNovo Edge Keyboard
> > +KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c714", \
> > + RUN+="hid2hci --method=logitech-hid --devpath=%p"
> > +# Logitech, Inc. diNovo 2
> > +KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c704", \
> > + RUN+="hid2hci --method=logitech-hid --devpath=%p"
> >
> > ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end"
> >
> > --
> > 2.7.4
>
> Interesting, is this preferable than creating a kernel driver that
> does the same thing? hid2hci was initially intended to switch the
> controller from hid mode to hci mode, but in this case there is
> nothing related to hci, or bluetooth, if it is just doing hiddev to
> hidraw.

Hey,

Interesting suggestion. The reason I have proposed it this way is that
we have already a patch that we ship for a while now and know that it
works. Also this way is a bit easier for spreading the fix around as
updating bluez is simpler than the kernel. Last but not least I do not
have the diNovo set to work on the module. Having said that I understand
your point and I agree.

Thanks,
Konrad

2017-05-08 11:19:26

by Von Dentz, Luiz

[permalink] [raw]
Subject: Re: [PATCH] tools: add logitech diNovo rules for hid2hci

Hi Konrad,

On Mon, May 8, 2017 at 2:00 PM, Konrad Zapalowicz
<[email protected]> wrote:
> From: Konrad Zapa=C5=82owicz <[email protected]>
>
> It has been reported that th Lenovo diNovo set of BT wireless devices
> works only when is managed by hidraw instead of hiddev. This patch adds
> vendor and product ids for these devices so that it is possible to use.
>
> This patch is based on work provided by:
> * Tommy <[email protected]>
> * Martin G Miller <[email protected]>
> ---
> tools/hid2hci.rules | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tools/hid2hci.rules b/tools/hid2hci.rules
> index db6bb03..7273167 100644
> --- a/tools/hid2hci.rules
> +++ b/tools/hid2hci.rules
> @@ -13,6 +13,12 @@ ATTR{bInterfaceClass}=3D=3D"03", ATTR{bInterfaceSubCla=
ss}=3D=3D"01", ATTR{bInterfaceProt
> # Logitech devices
> KERNEL=3D=3D"hiddev*", ATTRS{idVendor}=3D=3D"046d", ATTRS{idProduct}=3D=
=3D"c70[345abce]|c71[34bc]", \
> RUN+=3D"hid2hci --method=3Dlogitech-hid --devpath=3D%p"
> +# Logitech, Inc. diNovo Edge Keyboard
> +KERNEL=3D=3D"hidraw*", ATTRS{idVendor}=3D=3D"046d", ATTRS{idProduct}=3D=
=3D"c714", \
> + RUN+=3D"hid2hci --method=3Dlogitech-hid --devpath=3D%p"
> +# Logitech, Inc. diNovo 2
> +KERNEL=3D=3D"hidraw*", ATTRS{idVendor}=3D=3D"046d", ATTRS{idProduct}=3D=
=3D"c704", \
> + RUN+=3D"hid2hci --method=3Dlogitech-hid --devpath=3D%p"
>
> ENV{DEVTYPE}!=3D"usb_device", GOTO=3D"hid2hci_end"
>
> --
> 2.7.4

Interesting, is this preferable than creating a kernel driver that
does the same thing? hid2hci was initially intended to switch the
controller from hid mode to hci mode, but in this case there is
nothing related to hci, or bluetooth, if it is just doing hiddev to
hidraw.