[MDA II, XDA II, 2060 ROM Development] henrylim:
Hi all,

I believe there's a lot of discussion generated on the merits and faults of the various Himalaya WM2003SE default Microsoft BT implementations.

I have looked at the 2.20 BT Registry and found the following settings:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\CurAvailSvc\1]

"ProfileUsed"=dword:00000000

"EventIndex"=dword:00000000

"SvcName"="Headset/Hands-Free"

[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\CurAvailSvc\2]

"EventIndex"=dword:00000000

"SvcName"="Serial Port COM5"

[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\CurAvailSvc\3]

"EventIndex"=dword:00000000

"SvcName"="ActiveSync"

[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\CurAvailSvc\4]

"DUNsetup"=dword:00000000

"EventIndex"=dword:00000000

"SvcName"="Dial-up Networking"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\HandsfreeProfileOn]

@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Services\00001103-0000-1000-8000-00805F9B34FB]

"BTDUN.dll"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Services\0350278F-3DCA-4e62-831D-A41165FF906C]

"BTSPP.dll"=dword:00000000

"Default"="Active Sync"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Services\00001101-0000-1000-8000-00805F9B34FB]

"BTSPP.dll"=dword:00000000

"Default"="Serial Port"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Services\0000111E-0000-1000-8000-00805F9B34FB]

"BTAGW.dll"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Services\00001108-0000-1000-8000-00805F9B34FB]

"BTAGW.dll"=dword:00000000

I believe that the first 4 "CurAvailSvc" entries are used together with the BTBond_UI.exe that is called after BT pairing. For those who don't know what I am taking about, BTBond_UI.exe is called in 2.20 ROM after pairing to display a page with 4 checkboxes (Headset/Hands-Free, Serial, Dial-up Networking, ActiveSync). These 4 entries are missing from 2.02 and 2.06 registry.

In addition, comparing the registry against 2.02 and 2.06, you will find that 2.20 is using different BT files for enabling BT ActiveSync, Serial Port, Dial-up Networking and Headset/Handsfree:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Services\0000111E-0000-1000-8000-00805F9B34FB]

"btagsvc.dll"=dword:00000000

@="Handsfree"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Services\00001103-0000-1000-8000-00805F9B34FB]

@="Dialup Networking"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Services\00001108-0000-1000-8000-00805F9B34FB]

@="Headset"

"btagsvc.dll"=dword:00000000

"headset"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Services\00001101-0000-1000-8000-00805F9B34FB]

@="Serial Port"

"BthASPlugIn.dll"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Services\0350278F-3DCA-4e62-831D-A41165FF906C]

@="Active Sync"

"BthASPlugIn.dll"=dword:00000000

These particular registry entries are missing from 2.06 ROM but available in 2.02tl and 2.20 ROM:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\HandsfreeProfileOn]

@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\AudioGateway]

"BTAudioModule"="OEMExtDll.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Bluetooth\Settings]

"IgnoreExternal"=dword:00000001

SIN has did his investigation and found that the second "AudioGateway" entry should not be updated as it prevents the mic from working when you paired your BT headset with "headset" mode instead of "handsfree" mode.

Under Magician BT registry, there is an additional entry:

[HKEY_CURRENT_USER\SOFTWARE\HTC\BTProfile]

"ON"=dword:00000001

You will find that this entry is not enabled in 2.02/2.06 or 2.20 ROM. Any ideas how it helps?