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.
------------------------------------------------------------------------
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bluetooth
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to