Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 May 2009 08:46:59 +0200
From:      Milan Obuch <freebsd-bluetooth@dino.sk>
To:        freebsd-bluetooth@freebsd.org
Subject:   Bluetooth keyboard
Message-ID:  <200905220847.00259.freebsd-bluetooth@dino.sk>

next in thread | raw e-mail | index | archive | help
Hi,
I bought recently a Logitech Cordless MediaBoard Pro keyboard (see page at 
http://www.logitech.com/index.cfm/gaming/playstation_3/keyboards/devices/3616&cl=za,en
for details). Using 8.0, googled a bit and (for summary) did the following:

kldload vkbd
(I already have ng_ubt loaded via /loader.conf)

Now I turned keyboard on and with
hccontrol -n ubt0hci inquiry

I found my bluetooth address to be 00:07:61:e6:bb:79. Next with
bthidcontrol -a 00:07:61:e6:bb:79 query >> /etc/bluetooth/bthidd.conf

I put device definition into config file for bthidd. For hcsecd I added 
following definition into /etc/bluetooth/hcsecd.conf:

device
{bdaddr 00:07:61:e6:bb:79;
 name   "Logitech Bluetooth Keyboard";
 key    nokey;
 pin    "9680";
}

Configuration ended with bluetooth host definition in /etc/bluetooth/hosts, 
adding line:
btkeyboard 00:07:61:e6:bb:79

Now I started daemons with
/etc/rc.d/bthidd start
/etc/rc.d/hcsecd start

As I tested the keyboard already with Windows on the same machine, it was 
paired already, so I just need wait a bit until I got
kbd2 at vkbd0

on console/in syslog and it works now, both keyboard and touchpad. Now I added 
hcsecd_enable="YES"
bthidd_enable="YES"

into /etc/rc.conf to start on reboot and that's it. When I turn on bluetooth 
module on my machine and bluetooth keyboard, it works.

And now two small bugs. There is some resource leakage I think, I am getting 
more entries logged on console like this:

kbd2 at vkbd0
kbd2 at vkbd1
kbd2 at vkbd2
kbd2 at vkbd3
kbd2 at vkbd4

This occures when I turn keyboard off and later on again. I have no other 
bluetooth keyboard here, so I think somehow link got broken and after 
re-connect new instance got created, but system should note it's the same 
device (uses the same address) and reuse the first one...

Second, I am getting repeatedly logged in syslog
Got short message (1 bytes) on Interrupt channel from 00:07:61:e6:bb:79

Maybe it's just cosmetic, but it repeats too often for me.

What I would like to be able, but do not know now, is using additional keys on 
this keyboard. It was designed for PlayStation3, the kayes are on top left, 
labelled Menu, <<, >/||, >> and BD-DVD menu.
I appended device definition to this message, maybe someone could decipher it 
and recommend something to try...

Thank for work on bluetooth stack, hopefully my summary could be usefull for 
someone else, even if it turns out to be really simple...

Regards,
Milan

/etc/bluetooth/bthidd.conf

device {
        bdaddr          00:07:61:e6:bb:79;
        control_psm             0x11;
        interrupt_psm           0x13;
        reconnect_initiate      true;
        battery_power           false;
        normally_connectable    false;
        hid_descriptor          {
                0x05 0x01 0x09 0x02 0xa1 0x01 0x85 0x02
                0x09 0x01 0xa1 0x00 0x05 0x09 0x19 0x01
                0x29 0x08 0x15 0x00 0x25 0x01 0x75 0x01
                0x95 0x08 0x81 0x02 0x05 0x01 0x09 0x30
                0x09 0x31 0x16 0x01 0xf8 0x26 0xff 0x07
                0x75 0x0c 0x95 0x02 0x81 0x06 0x09 0x38
                0x15 0x81 0x25 0x7f 0x75 0x08 0x95 0x01
                0x81 0x06 0x05 0x0c 0x0a 0x38 0x02 0x81
                0x06 0x05 0x09 0x19 0x09 0x29 0x10 0x15
                0x00 0x25 0x01 0x95 0x08 0x75 0x01 0x81
                0x02 0xc0 0xc0 0x05 0x01 0x09 0x06 0xa1
                0x01 0x85 0x01 0x75 0x01 0x95 0x08 0x05
                0x07 0x19 0xe0 0x29 0xe7 0x15 0x00 0x25
                0x01 0x81 0x02 0x95 0x01 0x75 0x08 0x81
                0x03 0x95 0x01 0x75 0x08 0x91 0x03 0x95
                0x06 0x75 0x08 0x15 0x00 0x26 0xff 0x00
                0x05 0x07 0x19 0x00 0x29 0xff 0x81 0x00
                0xc0 0x05 0x0c 0x09 0x01 0xa1 0x01 0x85
                0x03 0x75 0x10 0x95 0x02 0x15 0x01 0x26
                0xff 0x02 0x19 0x01 0x2a 0xff 0x02 0x81
                0x60 0xc0 0x05 0x0c 0x09 0x01 0xa1 0x01
                0x85 0xac 0x05 0x01 0x09 0x06 0xa1 0x02
                0x05 0x06 0x09 0x20 0x15 0x00 0x25 0xff
                0x75 0x08 0x95 0x01 0x81 0x02 0xc0 0xc0
                0x05 0x01 0x09 0x80 0xa1 0x01 0x85 0x04
                0x15 0x00 0x25 0x01 0x75 0x01 0x95 0x01
                0x09 0x82 0x81 0x02 0x95 0x01 0x75 0x07
                0x81 0x03 0xc0 0x05 0x0c 0x09 0x01 0xa1
                0x01 0x85 0xad 0x05 0x01 0x09 0x06 0xa1
                0x02 0x06 0x00 0xff 0x25 0x01 0x75 0x01
                0x95 0x02 0x0a 0x03 0xfe 0x0a 0x04 0xfe
                0x81 0x02 0x95 0x06 0x81 0x03 0xc0 0xc0
                0x05 0x0c 0x09 0x01 0xa1 0x01 0x85 0xff
                0x05 0x06 0x15 0x00 0x25 0x02 0x95 0x01
                0x75 0x02 0x19 0x24 0x29 0x26 0x81 0x40
                0x75 0x06 0x81 0x01 0xc0 0x06 0x00 0xff
                0x09 0x01 0xa1 0x01 0x85 0x10 0x75 0x08
                0x95 0x06 0x15 0x00 0x26 0xff 0x00 0x09
                0x01 0x81 0x00 0x09 0x01 0x91 0x00 0xc0
        };
}



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