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>