Using the Microsoft Bluetooth Stack (instead of WIDCOMM) on Windows XP w/ SP2

I recently purchased a Kensington USB Bluetooth adapter, and wanted to use it on my laptop to connect to Motorola V600 cell phone and dial up to the internet. I remember reading that the newly released Service Pack 2 for Windows XP had Bluetooth support (stack) built in.

This means that all you should be able to plug in your USB Bluetooth adapter, a Bluetooth icon should appear in the control panel, and you should be on your way! Well, that would be nice, but after some research I found that the xpsp2 Bluetooth support was only for adapters that had WHQL certified drivers. According to Microsoft, only a handful of these adapters were supported by the built in Windows XP (WHQL) driver.

The drivers that came with my Kensington adapter were WIDCOMM drivers from Broadcom.
Unfortunately these drivers are not WHQL certified, and cannot use the XP(sp2) built in Bluetooth stack. You must instead install the WIDCOMM Bluetooth stack, which seemed to work ok for me, but if Windows has this built in, why not use it?
Besides, I hate installing extra software that I don't need!

So I got started looking for a WHQL certified driver for the Kensington adapter. Well, to make this short, they don't exist (not that I could find at least). I did find newer WIDCOMM drivers though on Logitech's website, but they were still not WHQL certified, and therefore can not use the XP Bluetooth stack.

After going back and reading the list of Bluetooth adapters support by XP, I noticed the PnPID's listed next to each device. So I figured, why not just add the Kensington PnPID to the built in drivers inf file, and see if the built in drivers will work?

After locating the proper inf file: %windir%\inf\bth.inf
I opened it in notepad, read through it a little bit, and saw that there wasn't anything specific for each of the different manufactures devices. So on about line 60, under one of the device sections, I added my USB adapters PnPID like so:

;----------------------- Device section - Start -----------------------

[ALPS.NT.5.1]
ALPS Integrated Bluetooth Device=                BthUsb, USB\Vid_044e&Pid_3005
Alps Bluetooth USB Adapter=                      BthUsb, USB\Vid_044e&Pid_3006

[Belkin.NT.5.1]
Belkin Bluetooth Adapter=                        BthUsb, USB\Vid_050d&Pid_0081
Belkin Bluetooth Adapter=                        BthUsb, USB\Vid_050d&Pid_0084
Kensington USB Bluetooth Adapter=                BthUsb, USB\Vid_0db0&Pid_697a


Now, you may ask, well how did I know my adapters PnPID?
Well, I pulled mine out of the registry, but there is a much easier way!

After inserting the Bluetooth adapter into one of the computers USB ports, Windows will ask to install drivers for it, and it won’t be able to find any drivers for the device, and it will simply add the adapter to device manager as "USB Device" with a small yellow exclamation point under it. Well if you go into the device manager, double-click on the "USB Device" and look at the details tab, you will notice that in the drop down menu, there is an option called "Hardware Ids". Select this option, and in the area below will appear that devices Hardware (or PnPID) Ids. You need to copy one of those strings EXACTLY from that area, into the bth.inf file.

After that, delete the "USB Device" from device manager, and un-plug, and re-plug the Bluetooth adapter into your computer system. When prompted, let Windows search for a device driver, and it should pick up the adapter, and install the correct drivers for it. Also, there should now be an icon in the control panel for Bluetooth configuration.

Now, since I had already installed the adapter using the WIDCOMM drivers, I had to repeat the above steps, except instead of "USB Device" in device manager, I saw a "MSI USB Bluetooth Device" that had to be deleted.