CE 6.0 Bluetooth stack

  • Follow


I=92m trying to establish the SCO connection between CE 6.0 and NXP=92s
Bluetooth chip without success. The BthCreateSCOConnection(...)
function hangs always because of WaitForSingleObject (hEvent,
INFINITE) call inside that function. I noticed also that
HCI_Setup_Synchronous_Connection (OGF 1 / OCF 0x0028) command is not
implemented in hci.cxx file but for some reason it is implemented in
CE 5.0 Bluetooth stack. There=92s only HCI_Add_SCO_Connection (OGF 1 /
OCF 0x0007) command which does not seems to be working with NXP=92s
Bluetooth chip.

Any ideas for what is or goes wrong? I=92m trying to implement headset/
hands free support for environment where SCO over PCM =96lines is the
only possibility.

Thanks,
Turo
0
Reply Turtsi 5/17/2010 3:06:23 PM

Hi,
I recently had to do the same job (route audio through PCM lines).
I used the BTScoSnd driver to create the SCO connection to the
headset. What you need to do is add the AudioGateway to your image.
Add a registry value with the device you pair with under SOFTWARE
\Microsoft\Bluetooth\AudioGateway\Devices\1. This will enable the AG
to communicate with the device and once you issue, through a command
line, "btagconfig -audio on" it will automatically, through BTScoSnd,
setup the SCO connection and route the audio to it. The BTScoSnd also
sets the ACL connection if I recall correctly. You need an ACL
connection before trying to establish the SCO one.

You should take care that the BT controller does route SCO connections
to the PCM interface and you will need to see that the BT controller
is set with the same settings as the device that it is interfaced
with.

Shai

On May 17, 6:06=A0pm, Turtsi <turo.ranta...@gmail.com> wrote:
> I=92m trying to establish the SCO connection between CE 6.0 and NXP=92s
> Bluetooth chip without success. The BthCreateSCOConnection(...)
> function hangs always because of WaitForSingleObject (hEvent,
> INFINITE) call inside that function. I noticed also that
> HCI_Setup_Synchronous_Connection (OGF 1 / OCF 0x0028) command is not
> implemented in hci.cxx file but for some reason it is implemented in
> CE 5.0 Bluetooth stack. There=92s only HCI_Add_SCO_Connection (OGF 1 /
> OCF 0x0007) command which does not seems to be working with NXP=92s
> Bluetooth chip.
>
> Any ideas for what is or goes wrong? I=92m trying to implement headset/
> hands free support for environment where SCO over PCM =96lines is the
> only possibility.
>
> Thanks,
> Turo

0
Reply shai 5/17/2010 3:25:41 PM


Thanks for your reply Shai. I did already everything that you
mentioned but without success. Now I noticed that the
HCI_Add_SCO_Connection command is not supported at all on my bluetooth
chip (I checked this with HCI_Read_Local_Supported_Commands command),
but it supports the newer HCI_Setup_Synchronous_Connection command
that includes also eSCO packet types.

Has anyone experience how to implement those
HCI_Setup_Synchronous_Connection,
HCI_Accept_Synchronous_Connection_Request and
Reject_Synchronous_Connection_Request commans to CE 6.0 bt stack? I=92m
wondering why eSCO is not supported in 6.0 platform but it is in
5.0???

Turo
0
Reply Turtsi 5/18/2010 2:39:07 PM

In CE 5, do you use the default MS BT stack or 3rd party solution?
Have you consulted with chip vendor about this issue?
Maybe you need to update the ROM of BT chip or perform some initialization 
to support this HCI command.

But if that is not an option or you still prefer to use 
HCI_Setup_Synchronous_Connection, I think you will need to create a HCI 
stack extension  layer.
You could start from 
public\common\oak\drivers\bluetooth\SAMPLE\bthlink\bthlink.cxx as use it as 
a template.
Here are some link to start with
How to Develop and Load a Bluetooth HCI Stack Extension Layer- 
http://msdn.microsoft.com/en-us/library/ee495460.aspx
Establishing Connections through HCI - 
http://msdn.microsoft.com/en-us/library/ee495394.aspx
Protocol Extension Sample - 
http://msdn.microsoft.com/en-us/library/ee495998.aspx

This article is about changing the BT name but may use the same concept to 
handle customized HCI command 
http://geekswithblogs.net/KMOS/archive/2009/10/01/change-the-bluetooth-name-in-ce6.aspx

"Turtsi" <turo.rantanen@gmail.com> wrote in message 
news:3addad8e-b027-46a3-a969-c8b4d8a6671e@c7g2000vbc.googlegroups.com...
Thanks for your reply Shai. I did already everything that you
mentioned but without success. Now I noticed that the
HCI_Add_SCO_Connection command is not supported at all on my bluetooth
chip (I checked this with HCI_Read_Local_Supported_Commands command),
but it supports the newer HCI_Setup_Synchronous_Connection command
that includes also eSCO packet types.

Has anyone experience how to implement those
HCI_Setup_Synchronous_Connection,
HCI_Accept_Synchronous_Connection_Request and
Reject_Synchronous_Connection_Request commans to CE 6.0 bt stack? I�m
wondering why eSCO is not supported in 6.0 platform but it is in
5.0???

Turo 

0
Reply KMOS 5/18/2010 5:43:12 PM

3 Replies
881 Views

(page loaded in 0.053 seconds)

8/2/2012 9:58:43 PM


Reply: