Interoperability

Ideally every Bluetooth-capable device would be able to connect to every other Bluetooth-capable device. In practice there are several layers where there are incompatibilities. This chapter lists the most important levels in Bluetooth implementation and how interoperability works on each.

Hardware level

There are a several chipset manufacturers for Bluetooth devices, and unfortunately there are some incompatibilities between them. Thus, it is possible that Bluetooth devices from two different manufacturers will not work properly together.

These incompatibilities are best detected by simply testing the different devices.

Protocol level

There are several revisions of the Bluetooth specification and protocols. Windows’ Bluetooth software usually shows which versions have attached device supports. To find out supported versions with the Windows XP Bluetooth stack:

  1. Open the Control Panel from the Start menu.

  2. Open Bluetooth Devices.

  3. Select the Hardware tab; if the device is Bluetooth 2.0 compliant, it can be seen here in the HCI revision value.

    Figure 142: Bluetooth Version 2.0 device

  4. If such a device can not be found, select Generic Bluetooth Radio and then click Properties button.

  5. From the dialog that opens, select the Advanced tab. The dialog shown in figure below appears.

    Figure 143: Bluetooth Version 1.0 device

For compatibility, the HCI version shown is the important item. The screenshot shown in the above figure is from a device that supports version 1.0.

Bluetooth protocols are downwards compatible. This means the Bluetooth version with a higher number is compatible with the version with a lower number. For example, version 2.0 is compatible with version 1.0. However, version 1.0 may have incompatibilities with version 2.0.

Bluetooth stacks implement the bluetooth protocol, so they should be able to handle and hide the version differences. However there are differences in features that different Bluetooth stacks support. If a certain Bluetooth stack does not support L2CAP connections, it naturally cannot create L2CAP connections with other Bluetooth stacks.