Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jul 2007 13:47:20 -0400
From:      Anish Mistry <amistry@am-productions.biz>
To:        Rui Paulo <rpaulo@fnop.net>
Cc:        freebsd-bluetooth@freebsd.org
Subject:   Re: HCI - HID proxy
Message-ID:  <200707121347.29676.amistry@am-productions.biz>
In-Reply-To: <46966301.7060004@fnop.net>
References:  <469593F2.1040703@fnop.net> <200707121307.38442.amistry@am-productions.biz> <46966301.7060004@fnop.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart11387425.FL82KvIdj9
Content-Type: text/plain;
  charset="iso-8859-15"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Thursday 12 July 2007, you wrote:
> Anish Mistry wrote:
> > On Wednesday 11 July 2007, Rui Paulo wrote:
> >> Hi,
> >> For my SoC project I developed a userland utility that switches
> >> an ubt(4) controller from HID to HCI and vice versa.
> >>
> >> I have some design issues still being worked out, namely:
> >> 1) What's the best way to integrate this into the existing
> >> bluetooth utilities ? Create a new utility called, for example,
> >> ubthid2hci ? Name suggestions are welcome.
> >
> > If you haven't seen it, I created a utility just for logitech
> > devices a while back.
> > http://lists.freebsd.org/pipermail/freebsd-bluetooth/2006-Decembe
> >r/000824.html
>
> Cool, that's something we also need. :-)
>
> >> 2) According to the hid2hci Linux utility, there are several
> >> dongles out there that need this tweak in order to work. I was
> >> thinking we could create a text file with the vendors/products
> >> and their bootup mode (HCI or HID); use ubthid2hci to read that
> >> file and then switch the device to HCI mode (or HID mode if the
> >> user requested it).
> >> This is mostly what the Linux hid2hci utility does, except that
> >> the vendor/product table is inside the program.
> >
> > Couldn't we create something that is run through devd and the
> > checks options from rc.conf?  So we'd have that table file you
> > mention, and we could put the enable/disable options in the
> > rc.conf file. eg. ubthid2hci_enable=3D"YES"
> > ubthid2hci_flags=3D"list of vendor/product id pairs here that we
> > want to be used as HCI devices"
>
> I would prefer if this list was a file and not a command line.
> Maybe /usr/share/misc/usb_hidhci_map.
We could actually just make this make a devd includeable config file=20
using the "directory" directive for devd.conf.  So this way if=20
someone wanted an override they'd just created a custom entry in=20
devd.conf with a higher priority.

> Anyway, if you want to use devd it would be something like:
>
> attach 100 {
>         match "vendor"  "0x05ac";
>         match "product" "0x1000";
>         action "/usr/bin/ubthid2hci -m 0 $device-name";
> };
>
> And then repeat this for every device that needs to be switched to
> HCI mode. This has the problem of not being able to switch the
> device to HID mode because when you try to do that, devd will
> automatically switch it back to HCI mode if this attach rule is
> present. I don't think this is a serious issue because the HID mode
> is normally only needed before the operating system has booted.
Right.  Actually that brings up a good point.  Is there a way (API)=20
that allows us to enable/disable certain devd entries at runtime?  If=20
not I think that this might be a useful feature.  If this was=20
available we'd then be able to programmatically disable an entry when=20
we want to switch back to HID mode without having to change the=20
devd.conf file.

> >> 3) Fix libusb and use hid2hci on FreeBSD.
> >
> > Isn't hid2hci GPL'd?  We'd want a BSD licensed utility since it'd
> > be in the base.
>
> Yes, when I suggested this it had the implication of using hid2hci
> from ports.
Ok.

=2D-=20
Anish Mistry
amistry@am-productions.biz
AM Productions http://am-productions.biz/

--nextPart11387425.FL82KvIdj9
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQBGlmkxxqA5ziudZT0RAghFAJ916aUbj9UTajTgRWTyq3LGrLFGOQCgoNRi
r7uwJkMC0iXuC991TNj4+Wk=
=FgUX
-----END PGP SIGNATURE-----

--nextPart11387425.FL82KvIdj9--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200707121347.29676.amistry>