From: Erik HG on
I need a kernel-mode proxy driver to control Bluetooth SCO (which only takes
internal kernel mode ioctl). Does anyone have an example that they can point
me towards? I would normally hack it out myself, but I only have a day
(until Monday) to figure it out.

Thanks,
-Erik

From: Windows Bluetooth Technology Team on
Bluetooth SCO was designed to be very similar to the Bluetooth L2CAP from
interface point of view. To receive a remote SCO connection, you first
register a 'server' with BRB_SCO_REGISTER_SERVER (to clear the registration
you call BRB_UNREGISTER_SERVER). You answer the remote connection with
BRB_SCO_OPEN_CHANNEL_RESPONSE. If you need to implement the client side of
SCO, you just need to use the BRB_SCO_OPEN_CHANNEL with the right parameters
for the connection you are making (voice settings, etc, please see Bluetooth
Spec for more info on this). At this point with the returned handle you can
start sending data via the BRB_SCO_TRANSFER. To understand if SCO is
supported in the system, I suggest using the BRB_SCO_GET_SYSTEM_INFO, which
also returns other useful information. Remember also to use the
BRB_SCO_FLUSH_CHANNEL to flush out any pending I/O packets before destroying
connections.

Remember to create a SCO connection after you already have a HCI (host
controller interface) link in place. The HCI link is created as a side
effect of creating a L2CAP communication link (control channel) between the
two devices (please see headset, hand-free profile for proper handshake).



"Erik HG" <ErikHG(a)discussions.microsoft.com> wrote in message
news:3F866AB6-9C9F-4071-9700-671C3B9FA7EC(a)microsoft.com...
>I need a kernel-mode proxy driver to control Bluetooth SCO (which only
>takes
> internal kernel mode ioctl). Does anyone have an example that they can
> point
> me towards? I would normally hack it out myself, but I only have a day
> (until Monday) to figure it out.
>
> Thanks,
> -Erik
>


From: Doron Holan [MSFT] on
6001.18000\src\bth\bthecho is an L2CAP sample. you can easily replace the
l2cap BRBs with SCO.

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Erik HG" <ErikHG(a)discussions.microsoft.com> wrote in message
news:3F866AB6-9C9F-4071-9700-671C3B9FA7EC(a)microsoft.com...
>I need a kernel-mode proxy driver to control Bluetooth SCO (which only
>takes
> internal kernel mode ioctl). Does anyone have an example that they can
> point
> me towards? I would normally hack it out myself, but I only have a day
> (until Monday) to figure it out.
>
> Thanks,
> -Erik
>

From: Erik HG on
Yes, unfortunately that is what I figured out myself. I am 90% done with
porting bthecho at this point (two allnighters in a row). I am definately
going to have to do a codeguru article on this one.

Who came up with the terrible design spec of making the SCO/L2CAP support
only via kernel mode drivers? MS created a beautiful BT interface with
Vista, but really messed up on this part of it!

-Erik

"Doron Holan [MSFT]" wrote:

> 6001.18000\src\bth\bthecho is an L2CAP sample. you can easily replace the
> l2cap BRBs with SCO.
>
> d

From: Windows Bluetooth Technology Team on
If you look at USB, you will see a lot of similarities. Initially this
L2CAP/SCO interface was not supposed to be public; originally the idea was
to provide all the necessary kernel plumbing and let developers further
enhance Bluetooth via the winsock interface. But for Vista developers
wanted more control and a way to write their own kernel Bluetooth drivers
(for example: audio drivers). Thus we simply exposed this interface to
everyone. I'm pretty sure the further direction is to expose this
functionality to user mode (much like WinUSB for USB), but this is a future
project which doesn't have a target date yet.





"Erik HG" <ErikHG(a)discussions.microsoft.com> wrote in message
news:37809E3C-428D-4384-B978-6567273CA252(a)microsoft.com...
> Yes, unfortunately that is what I figured out myself. I am 90% done with
> porting bthecho at this point (two allnighters in a row). I am definately
> going to have to do a codeguru article on this one.
>
> Who came up with the terrible design spec of making the SCO/L2CAP support
> only via kernel mode drivers? MS created a beautiful BT interface with
> Vista, but really messed up on this part of it!
>
> -Erik
>
> "Doron Holan [MSFT]" wrote:
>
>> 6001.18000\src\bth\bthecho is an L2CAP sample. you can easily replace
>> the
>> l2cap BRBs with SCO.
>>
>> d
>