Supported hardware
Supported operating systems
Installing the driver
Removing associations to other drivers
Co-existance with other Bluetooth implementations
Updating the driver
|
Instructions for installing the FreeBT Generic Bluetooth USB Driver
This document describes how to install and uninstall the FreeBT Generic
Bluetooth USB Driver and other 3rd party drivers.
The FreeBT USB Driver is written in accordance with the
Bluetooth USB HCI spec. Any device that follows the recommendations set down in that
spec should be compatible with the FreeBT driver.
The FreeBT .inf will, by default, install
any USB dongle that identifies itself with Class 0xE0 (Wireless Controller), SubClass 0x01
(RF Controller) and Protocol 0x01 (Bluetooth programming), in accordance with the USB HCI
spec.
Specifically, FreeBT USB has been tested with the following devices:
- Acer BT-700 (Class 1 device)
- D-Link DBT-120 (Class 2 device)
- Any CSR or Silicon Wave-based USB devices
Actually, both of these devices incorporate a CSR BlueCore01 chip, (as do most of the commercially
available Bluetooth dongles at present), which (apart from their amplifiers) makes them
identical.
A user has confirmed that the Alpha 2 release, in which the driver is slightly modified, works with
SiliconWave devices.
If you would like to donate other USB hardware to the FreeBT cause, please
contact me.
The current release has been tested entirely on Windows XP. I expect it to work equally well on Windows
2000 and while it should work on Windows 98 SE and Windows ME, I have not tested it at all and have
serious doubts about its worthiness on those platforms.
In the unlikely event that you don't already have a Bluetooth USB driver installed for your
USB dongle, installing the FreeBT driver is quite simple. Insert the device, point Windows
at the src/driver/fbtusb directory and after you accept the warning about the driver
being unsigned, it will install automatically.
You are much more likely to have a driver from another vendor, such as Widcomm, installed
on your system and while you don't need to remove that driver, you do need to persuade Windows
to forget the association of the USB dongle to the other vendor driver. The process is not
entirely straight forward and not something I would encourage the inexperienced to try.
To remove the reference to your existing driver, carry out the following steps:
- While the device is attached, locate it in the Device Manager, and delete it.
- Under the registry key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB,
you will find an entry that corresponds to your USB dongle. If you know the USB Vendor and
Product IDs of your device, you will easily be able to locate the device, because the
registry key that defines the device is built up from these values. For example, if the
device is using a CSR BlueCore01 and the manufacturer has chosen not to change the Vendor
and Product ID (as indeed most of them don't) the devices registry key will be
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_0a12&Pid_0001
If you don't know the USB Vendor and Product IDs of your device, you will have to find
it by searching through all the USB keys. Typically the values DeviceDesc, LocationInformation,
Mfg and Service will give you a pretty good idea of what you are looking at.
- Once you have located the key that represents your device, delete it. You may encounter
a permissions error when you attempt to do this, in which case you can simply change the
permissions for the key using RegEdit (right-click the key and select Permissions).
- Reboot your machine and follow the procedure above for a clean install of the driver.
Of course these steps apply equally well to the FreeBT driver itself, so you can carry out the same
procedure again to remove the FreeBT driver.
FreeBT can happily co-exist with other Bluetooth implementations, however the process is slightly
tricky and requires a certain amount of discipline. It involves using dedicated physical USB ports
for each seperate Bluetooth implementation, as well as temporarily modifying the .inf files supplied
with the other implementation.
A pertinent example might be FreeBT co-existing with Microsofts Bluetooth implementation, which is a
part of Windows XP Service Pack 2, although the following instructions will work with any Bluetooth
implementation:
- Make sure you have two SEPERATE PHYSICAL availabile USB ports, we'll refer to them as PORT1 and PORT2
- Insert the USB device into PORT1 and install the associated (not FreeBT) software
- Remove the USB device
- Locate the driver inf file for the device. In the case of Microsofts Bluetooth implementation,
this is
%SystemRoot%\Inf\bth.inf. Other instances of the file named oem*.inf may exist.
- Comment out the lines that describe the USB device. These lines will have the format
USB\Vid_USB_VENDOR_ID&Pid_USB_PRODUCT_ID. The following example shows the section
where CSR devices are defined in Microsofts bth.inf:
[Cambridge.NT.5.1]
;Generic Bluetooth Radio= BthUsb, USB\Vid_0a12&Pid_0001
;CSR Nanosira= BthUsb, USB\Vid_0a12&Pid_0003
;CSR Nanosira WHQL Reference Radio= BthUsb, USB\Vid_0a12&Pid_0004
;CSR Nanosira-Multimedia= BthUsb, USB\Vid_0a12&Pid_0005
;CSR Nanosira-Multimedia WHQL Reference Radio= BthUsb, USB\Vid_0a12&Pid_0006
Lines are commented out by prefixing them with a semi-colon as the example shows.
- Insert the USB dongle into PORT2 (NOT PORT1). Windows should fail to find a driver for the device.
Follow the instructions for installing the FreeBT driver, above.
- To use the MS stack, insert the device into PORT1. To use the FreeBT stack, insert the device into PORT2
If you have already installed the FreeBT USB driver and want to update it to the latest version, you can
do so quite easily by carying out the following procedure:
- Remove ALL USB Bluetooth hardware
- Restart the computer
- DO NOT start any programs which use the FreeBT libs or driver and DO NOT insert any Bluetooth hardware
- Copy the new driver file (
fbtusb.sys) into %SystemRoot%\System32\drivers,
overwriting the existing file
NOTE: If the driver is busy, Windows will silently ignore your attempt to overwrite the driver
and it will appear as though the file was successfully overwritten. ALWAYS remember to remove all hardware
and stop any FreeBT programs!
|