Date: Mon, 27 Nov 2006 14:51:18 -0600 From: Eric Anderson <anderson@centtech.com> To: Maksim Yevmenkin <maksim.yevmenkin@savvis.net> Cc: freebsd-bluetooth@freebsd.org, Jona Joachim <jona.joachim@free.fr> Subject: Re: Support for Bluetooth Keyboards? Message-ID: <456B4FC6.7070805@centtech.com> In-Reply-To: <456B4888.5060903@savvis.net> References: <20061126005413.0faaea7b@localhost> <1164502329.816.8.camel@RabbitsDen.RabbitsLawn.verizon.net> <456B292D.3000509@savvis.net> <456B43CC.1000107@centtech.com> <456B4888.5060903@savvis.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/27/06 14:20, Maksim Yevmenkin wrote: > Eric Anderson wrote: >> On 11/27/06 12:06, Maksim Yevmenkin wrote: >>> Alexandre "Sunny" Kovalenko wrote: >>>> On Sun, 2006-11-26 at 00:54 +0100, Jona Joachim wrote: >>>>> Hi! >>>>> I wanted to know if Bluetooth keyboards are likely to work on FreeBSD. >>>>> I'm looking at this marvellous object to be precise: >>>>> http://www.thinkgeek.com/computing/input/8193/ >>>>> >>>>> They say that they "were able to get the Bluetooth Virtual Laser >>>>> Keyboard to work with Mac OSX using the built-in bluetooth support in >>>>> the OS." >>> then it should work in releng_6 and -current. >>> >>>> I am running Apple Bluetooth keyboard on -CURRENT. I order to accomplish >>>> that, I have followed steps outlined by Eric Anderson here >>>> >>>> http://destari.blogspot.com/2006/01/setting-up-bluetooth-mouse-on-freebsd.html >>>> >>>> >>>> There seems to be a quirk in the bthidd which causes it reattach >>>> keyboard every couple of minutes, so I am accustomed to seeing vkbd >>>>> 10000 being attached but these seem to be harmless enough. YMMV, >>>> though. >>> hmmm... i'd like to get more information on this. does this happen >>> when you type on the keyboard? or when keyboard is idle? >>> >>> if this happens when the keyboard is idle, then, i'd guess, the >>> keyboard simply kills the bluetooth connection to conserve battery. if >>> bluetooth connection was in fact killed then bthidd(8) will close >>> vkbd(4) device and it will, in turn, detach vkbd(4) keyboard. >>> >>> in any case, could you please get an hci dump (binary) when this >>> happens and sent it to me? or could you please tell me how to >>> reproduce this locally? >> I see something like this too, but with mice. I use a microsoft >> bluetooth explorer mouse, and when it disconnects and goes into battery >> sleep mode, and then comes back, it registers a new vkbd device. Here's >> some snippets: > > [...] > > hmm... could you please post hid descriptor from your microsoft > bluetooth explorer mouse? # bthidcontrol -a msmouse dump Collection page=Generic_Desktop usage=Mouse Collection page=Generic_Desktop usage=Pointer Input id=2 size=1 count=1 page=Button usage=Button_1 Variable, logical range 0..1 Input id=2 size=1 count=1 page=Button usage=Button_2 Variable, logical range 0..1 Input id=2 size=1 count=1 page=Button usage=Button_3 Variable, logical range 0..1 Input id=2 size=1 count=1 page=Button usage=Button_4 Variable, logical range 0..1 Input id=2 size=1 count=1 page=Button usage=Button_5 Variable, logical range 0..1 Input id=2 size=3 count=1 page=0x0000 usage=0x0000 Const, logical range 0..1 Input id=2 size=8 count=1 page=Generic_Desktop usage=X Variable Relative, logical range -127..127 Input id=2 size=8 count=1 page=Generic_Desktop usage=Y Variable Relative, logical range -127..127 Input id=2 size=8 count=1 page=Generic_Desktop usage=Wheel Variable Relative, logical range -127..127 Input id=2 size=8 count=1 page=Consumer usage=AC_Pan Variable Relative, logical range -127..127 End collection Feature id=2 size=1 count=1 page=Generic_Desktop usage=0x004b Variable, logical range 0..1 Feature id=2 size=7 count=1 page=0x0000 usage=0x0000 Const, logical range 0..1 End collection Collection page=Consumer usage=Consumer_Control Collection page=Generic_Desktop usage=Mouse Input id=3 size=2 count=1 page=Microsoft usage=0xfe01 Variable, logical range 0..3 Input id=3 size=1 count=1 page=Microsoft usage=0xfe00 Variable, logical range 0..1 Input id=3 size=5 count=1 page=0x0000 usage=0x0000 Const, logical range 0..1 End collection End collection Collection page=Consumer usage=Consumer_Control Collection page=Generic_Desktop usage=Mouse Input id=4 size=8 count=1 page=Consumer usage=AC_Pan Variable Relative, logical range -127..127 Feature id=4 size=1 count=1 page=Microsoft usage=0xff04 Variable, logical range 0..1 Feature id=4 size=1 count=1 page=Microsoft usage=0xff06 Variable, logical range 0..1 Feature id=4 size=1 count=6 page=0x0000 usage=0x0000 Const, logical range 0..1 End collection End collection # bthidcontrol -a msmouse query device { bdaddr 00:50:f2:e9:a1:f1; control_psm 0x11; interrupt_psm 0x13; reconnect_initiate true; battery_power true; normally_connectable false; hid_descriptor { 0x05 0x01 0x09 0x02 0xa1 0x01 0x85 0x02 0x09 0x01 0xa1 0x00 0x05 0x09 0x19 0x01 0x29 0x05 0x15 0x00 0x25 0x01 0x75 0x01 0x95 0x05 0x81 0x02 0x75 0x03 0x95 0x01 0x81 0x01 0x05 0x01 0x09 0x30 0x09 0x31 0x09 0x38 0x15 0x81 0x25 0x7f 0x75 0x08 0x95 0x03 0x81 0x06 0x05 0x0c 0x0a 0x38 0x02 0x95 0x01 0x81 0x06 0xc0 0x05 0x01 0x09 0x4b 0x15 0x00 0x25 0x01 0x75 0x01 0xb1 0x02 0x75 0x07 0xb1 0x01 0xc0 0x05 0x0c 0x09 0x01 0xa1 0x01 0x85 0x03 0x05 0x01 0x09 0x02 0xa1 0x02 0x06 0x00 0xff 0x15 0x00 0x25 0x03 0x75 0x02 0x95 0x01 0x0a 0x01 0xfe 0x81 0x02 0x25 0x01 0x75 0x01 0x0a 0x00 0xfe 0x81 0x02 0x75 0x05 0x81 0x01 0xc0 0xc0 0x05 0x0c 0x09 0x01 0xa1 0x01 0x85 0x04 0x05 0x01 0x09 0x02 0xa1 0x02 0x05 0x0c 0x0a 0x38 0x02 0x75 0x08 0x95 0x01 0x15 0x81 0x25 0x7f 0x81 0x06 0x06 0x00 0xff 0x0a 0x04 0xff 0x0a 0x06 0xff 0x15 0x00 0x25 0x01 0x75 0x01 0x95 0x02 0xb1 0x02 0x95 0x06 0xb1 0x01 0xc0 0xc0 }; } > also, binary hci dump (that captures detach/reattach event) would be nice. Here: http://users.centtech.com/~anderson/freebsd/bt-mouse-dump.raw and corresponding log messages: Nov 27 14:45:44 neutrino bthidd[833]: Remote device 00:50:f2:e9:a1:f1 has closed interrupt connection Nov 27 14:47:31 neutrino kernel: kbd1 at vkbd9 Nov 27 14:47:31 neutrino bthidd[833]: Accepted control connection from 00:50:f2:e9:a1:f1 Nov 27 14:47:31 neutrino bthidd[833]: Accepted interrupt connection from 00:50:f2:e9:a1:f1 Eric -- ------------------------------------------------------------------------ Eric Anderson Sr. Systems Administrator Centaur Technology An undefined problem has an infinite number of solutions. ------------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?456B4FC6.7070805>