Windows DevCenter    
 Published on Windows DevCenter (
 See this if you're having trouble printing code examples

Getting Your Bluetooth Headset to Work in XP

by Wei-Meng Lee

If you are the owner of a Bluetooth headset, you will be glad to know that besides using it with your cellular phone, you can also use it together with your Windows XP PC. However, you may have attempted to pair up the headset with your PC only to find out that the built-in Bluetooth stack in Windows XP Service Pack 2 does not support the headset.

In this article I am going to show you the steps to prepare your PC so that it can work with your Bluetooth headset. I will be using the Billionton USB Bluetooth adapter as well as the Motorola HS820 Bluetooth headset (see Figure 1).

Figure 1
Figure 1. The Billionton USB Bluetooth adapter and the Motorola HS820 Bluetooth headset

What Are Bluetooth Profiles?

To be successful as a consumer technology, Bluetooth needs to be widely supported by vendors. Interoperability--the ability of different devices (from different manufacturers) to work with one another--is the key factor in securing this broad support.

Related Reading

Windows XP Unwired
A Guide for Home, Office, and the Road
By Wei-Meng Lee

Version 1.1 of the Bluetooth specification (the current version is 2.0, but most devices are still based on Bluetooth 1.1 and 1.2) has 13 profiles. A profile is a description of a particular functionality, and Bluetooth device manufacturers use these profiles as a guide. With this approach, vendors can be sure that their devices will work with current and future Bluetooth products. Let's take a closer look at the 13 profiles defined in Bluetooth 1.1:

Generic Access Profile (GAP)--Defines how two Bluetooth devices discover and establish communications between each other. The GAP is the "mother" of all profiles, as it defines the modes and procedures that all the other profiles use.

Service Discovery Application Profile (SDAP)--Allows Bluetooth devices to query the services available on other Bluetooth devices.

Cordless Telephony Profile (CTP)--Defines how a Bluetooth device can be used as a cordless phone.

Intercom Profile--Defines how two Bluetooth-enabled phones can connect with each other directly without the use of the public telephone network.

Serial Port Profile--Defines how two Bluetooth devices can communicate with each other by using virtual serial ports. Using this profile, Bluetooth communication can be treated as just another serial communication.

Headset Profile--Defines how a headset can communicate with a Bluetooth device.

Dial-Up Networking Profile--Defines how a Bluetooth device can connect to a Bluetooth-enabled modem or mobile phone.

Fax Profile--Defines how a Bluetooth device can connect to a Bluetooth-enabled fax device, such as a fax machine or a fax-enabled mobile phone like the Sony Ericsson T68i.

LAN Access Profile--Defines how a Bluetooth-enabled device can connect to a network using PPP (Point-to-Point Protocol).

Generic Object Exchange Profile (GOEP)--Defines a set of protocols that applications use for exchanging objects.

Object Push Profile--Used together with the GOEP to send and receive objects, primarily for exchanging electronic business cards.

File Transfer Profile--Used together with the GOEP to transfer files between two Bluetooth devices.

Synchronization Profile--Used together with GOEP to synchronize calendar and address information between two Bluetooth devices, such as a laptop and cell phone.

For other profiles in the newer Bluetooth specifications, refer to the Wikipedia Bluetooth entry.

What Is a Bluetooth Stack?

A Bluetooth stack is an application installed on your computer that interacts with your Bluetooth devices. Two Bluetooth stacks are widely in use today:

Most Bluetooth adapters use the Widcomm Bluetooth stack driver. Widcomm (acquired by Broadcom, licenses its software to most Bluetooth manufacturers. Consequently, the installation, configuration, and use of different Bluetooth devices on Windows have a nearly identical look and feel.

The problem with the Bluetooth stack built into Windows XP SP 2 is that it has limited support for profiles. In particular, it does not support the Headset profile required to connect with Bluetooth headsets, and hence your Bluetooth headsets will not be able to work with your Windows XP PC.

To overcome the limitations in the Windows Bluetooth stack, you can install the Widcomm Bluetooth stack drivers from the manufacturer of your Bluetooth device. You can download the latest drivers and support software from the adapter vendor's web site. Because each vendor customizes the Widcomm software slightly, you should not use drivers from a vendor other than the one that manufactured your Bluetooth adapters.

Updating the Bluetooth Stack on Your Windows XP Computer

Overriding the default Bluetooth stack in Windows XP SP2 requires some work on your part. The Widcomm Bluetooth driver is not WHQL-certified, and Windows XP uses the Microsoft Bluetooth stack by default (which is WHQL-certified). When you try to install the Widcomm driver, you will get an error message preventing you from proceeding with the installation.

To override the Microsoft Bluetooth stack, perform the following steps:

Go to Start -> Settings -> Control Panel -> System. In the Hardware tab, click on Device Manager (see Figure 2).

Figure 2
Figure 2. Invoking the Device Manager

Under the Bluetooth Radios item in the Device Manager dialog, you should see the Generic Bluetooth Radio and Microsoft Bluetooth Enumerator items (see Figure 3). Right-click on the Generic Bluetooth Radio item and select Update Driver.

Figure 3
Figure 3. Updating the default Bluetooth driver

You will be prompted to connect to Windows Update to search for software. Select "No, not this time" and click on Next (see Figure 4).

Figure 4
Figure 4. Searching for software drivers

In the next dialog, select "Install from a list or specific location (Advanced)." Click on Next (see Figure 5).

Figure 5
Figure 5. Installing the driver

In the next dialog, select "Don't search. I will choose the driver to install" and click on Next (see Figure 6).

Figure 6
Figure 6. Manually choosing the driver to install

In the next dialog, click on Have Disk (see Figure 7).

Figure 7
Figure 7. Manually choosing the driver to install

Click on the Browse button (see Figure 8) to locate the folder containing the Bluetooth software from your manufacturer. In my case, my Bluetooth adapter is from Billionton.

Figure 8
Figure 8. Specifying the location of the drivers

You will notice that the model of the Bluetooth device (in my case it is "CSR USB Bluetooth Device") is now displayed in the Model list box (see Figure 9). Click on Next.

Figure 9
Figure 9. Installing the new drivers

The installation of the new drivers should now be started. When it is done, you should see the new Bluetooth device in the Device Manager window (see Figure 10).

Figure 10
Figure 10. The newly installed Bluetooth device

Installing the Bluetooth Software

Once you have successfully updated the Bluetooth stack, you need to install the Bluetooth software (see Figure 11). The Bluetooth software can be downloaded from your vendor's web site (or found in the installation CD that comes with the Bluetooth adapter/device).

Figure 11
Figure 11. Installing the Bluetooth software

Strangely, after installing the Bluetooth software, my Bluetooth stack reverted to the old Microsoft Bluetooth stack. To get back the updated Widcomm driver, repeat the steps described in the section "Updating the Bluetooth Stack on your Windows XP computer," which should bring back the newly installed Widcomm driver.

Once the Bluetooth software is installed, you should be able to find the My Bluetooth Places icon on your desktop (see Figure 12).

Figure 12
Figure 12. The My Bluetooth Places icon on the desktop

A wizard will also appear to bring you through a series of steps to configure Bluetooth support on your PC.

Turn on Discoverable mode for your Bluetooth headset and click on the Search Again button to search for the Bluetooth headset (if it has not already been found). When it is found, click on the headset (in my case it is HS820) and click on Next (see Figure 13).

Figure 13
Figure 13. Configuring the Bluetooth headset

You will be asked for a PIN code in order to pair your computer with the headset. Normally the PIN is 0000, but this is dependent on your device; check your documentation. Enter the PIN and click on Initiate Pairing (see Figure 14).

Figure 14
Figure 14. Pairing the Bluetooth headset with your PC

The profiles (services) that the Bluetooth headset supports will now be shown (see Figure 15). Check the Headset service and click on Next.

Figure 15
Figure 15. Profiles supported by the Bluetooth headset

You should now see the icon for the headset in My Bluetooth Places (see Figure 16). Double-click on the icon to connect the headset to your computer. The icon will be changed when the headset is connected.

Figure 16
Figure 16. The headset icon in My Bluetooth Places

What Profiles Are Supported?

To view the profiles your device supports, you can right-click on the Bluetooth icon located in the system tray (see Figure 17) and select Advanced Configuration.

Figure 17
Figure 17. Viewing configuration information of your Bluetooth device

The Local Services tab will show the profiles your device supports (see Figure 18).

Figure 18
Figure 18. Viewing the profiles your device supports

Configuring Windows to Use the Bluetooth Headset as an Audio Device

Now that the Bluetooth headset is connected to your computer, you need to configure Windows to use it as your audio output and voice input device.

Go to Control Panel -> Sounds and Audio Devices, and in the Audio tab select the Bluetooth Audio item for both the Sound playback and Sound Recording section (see Figure 19).

Figure 19
Figure 19. Configuring Bluetooth Audio for audio

In the Voice tab, select the Bluetooth Audio item for both the Voice playback and Voice recording sections (see Figure 20).

Figure 20
Figure 20. Configuring Bluetooth Audio for voice

Clicking on the "Test hardware" button does not seem to recognize the existence of the microphone on the headset; however, the computer does redirect the sound output to the headset.

To verify that the headset is indeed working, use MSN Messenger. (I used version 7.0.) Click on Tools -> Audio/Video Tuning Wizard, and set both the Microsoft and Speakers to use the Bluetooth Audio (see Figure 21). Click on Next, and you will be able to test the speaker.

Figure 21
Figure 21. Using MSN Messenger to test the headset

You will also be able to speak into the microphone. If you can see the color of the indicator changes (see Figure 22), your headset is working properly.

Figure 22
Figure 22. Testing the microphone

Congratulations! You have now set up the Bluetooth headset and can use it to chat with your friends in MSN Messenger, or make voice calls using Skype.

Wei-Meng Lee (Microsoft MVP) is a technologist and founder of Developer Learning Solutions, a technology company specializing in hands-on training on the latest Microsoft technologies.

Return to the Windows DevCenter.

Copyright © 2009 O'Reilly Media, Inc.