Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Jan 2007 21:35:26 +0000 (GMT)
From:      Iain Hibbert <plunky@rya-online.net>
To:        Maksim Yevmenkin <maksim.yevmenkin@savvis.net>
Cc:        freebsd-bluetooth@freebsd.org
Subject:   Re: is bluetooth 2.0 speeds supported on freebsd?
Message-ID:  <1168378526.559195.4307.nullmailer@galant.ukfsn.org>
In-Reply-To: <45A3F31D.2060709@savvis.net>
References:  <45A3BAAB.4040903@zk.informjust.ua> <45A3D66C.2050605@savvis.net> <49327.91.124.7.194.1168371717.squirrel@webmail.ic.uz.ua> <45A3F31D.2060709@savvis.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 9 Jan 2007, Maksim Yevmenkin wrote:

> the main problem is time. basically i have to
>
> 2) read and understand bluetooth 2.0 spec;

The HCI spec is not very different, just some extensions and a bit of
obsoletions. The biggest problem I found was that ADD_SCO_CON is
deprecated in favour of SETUP_SCO_CON but the 2.0 dongle I have doesn't
implement that and must use ADD_SCO_CON anyway.

> you could do a simple task of updating ng_hci.h headers to include all the
> 2.0+edr hci commands and events. i think someone already might have done a
> port of it. you are more then welcome to send patches to the list.

the NetBSD (src/sys/netbt/) hci.h file contains all the 2.0 definitions..

I'm not sure exactly, what is required to support any extra speeds because
there is no command to say 'enable EDR now'. The only thing that might be
necessary in fact is to specify the packet types that may be used.

IIRC, FreeBSD uses 0xffff as the packet type mask by default?

Confusingly, the extra packet types are enabled by clearing the bits
unused in the earlier specifications. I only have one USB port so I can't
test throughput between v2.0 dongles, but have the following two devices
currently installed:

	(v1.1)
bt3c0: bdaddr 00:04:76:e1:4a:f5 flags 0x3<UP,RUNNING>
	ptype: [0xff1e] DM1 DH1 DM3 DH3 DM5 DH5

	features: <3 slot> <5 slot> <encryption> <slot offset> <timing accuracy>
        <role switch> <hold mode> <sniff mode> <park mode> <RSSI> <channel quality>
        <SCO link> <HV2> <HV3> <u-Law log> <A-Law log> <CVSD data> <power control>

	(v2.0 + EDR)
ubt0: bdaddr 00:08:1b:8d:ba:6d flags 0x3<UP,RUNNING>
	ptype: [0xcc18] DM1 DH1 DM3 DH3 DM5 DH5 2-DH1 3-DH1 2-DH3 3-DH3 2-DH5 3-DH5

	features: <3 slot> <5 slot> <encryption> <slot offset> <timing accuracy>
        <role switch> <hold mode> <sniff mode> <park mode> <RSSI> <channel quality>
        <SCO link> <HV2> <HV3> <u-Law log> <A-Law log> <CVSD data> <paging parameter>
        <power control> <transparent SCO> <broadcast encryption> <EDR ACL 2Mbps>
        <EDR ACL 3Mbps> <enhanced inquiry scan> <interlaced inquiry scan>
        <interlaced page scan> <RSSI with inquiry result> <EV3 packets>
        <EV4 packets> <EV5 packets> <AFH capable slave> <AFH class slave>
        <3 slot EDR ACL> <5 slot EDR ACL> <AFH capable master> <AFH class master>
        <EDR eSCO 2Mbps> <EDR eSCO 3Mbps> <3 slot EDR eSCO> <extended features>

Even when using a mouse/keyboard the superiority of the v2.0 device is
apparent (sometimes I get jaggy movement with the mouse, or jerky
keypresses when typing fast with the bt3c) so I always recommend people
get a v2.0 device.

iain



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