Bluetooth

Bluetooth is a wonderful thing, best of all; no more cables. Since I regulary only use Mac machines at home I decieded to buy a D-Link bluetooth USB adaptor for my iBook. With the ease of Mac OS X I can easily connect to the internet wirelessly, sync my addressbook and calender and store files on the phone (limited though). And when I'm war-walking/driving/cycling using Debian Linux I can easily download maps directly for use with my GPS unit (Gpsdrive).

Regarding the range mention below, it's classified into three different power classes:

Power Class Maximum Output Power Nominal Output Power Minimum Output Power
1 100 mW (20 dbm) N/A 1 mW (0 dBm)
2 2.5 mW (4 dBm) 1 mW (0 dBm) 0.25 mW (-6 dBm)
3 1 mW (0 dBm) N/A N/A
From the official Bluetooth specifications

Adaptors

D-Link DWB-120M

This bluetooth adaptor is for Mac/Linux-only, there are no Windows drivers available. It was the only product recommended by Apple when they first announced bluetooth support for Mac OS X back in 2002. Its pretty small measuring only 46 x 19 x 9 mm and it works 'Ok'. The range is nothing to write home about.

D-Link product page [archive.org]

Linksys USBBT100

I bought this adaptor because I use Windows XP at work and the D-Link adaptor above was holding me back only being compatible with Mac/Linux.

I plan to modify this adaptor and install a MMCX pigtail connector so that I can attach an antenna for a wider range. It's rated as a Class I bluetooth device meaning what it has a teoretical range of 100 meters but in practical use only 20-30 meters. I read that by boosting the range using an antenna you can reach around 250 meters.. Lets just wait for the adaptor an I'll test=)

Linksys product page [linksys.com]

Drivers

The bluetooth drivers provided by Microsoft are half-done and are not recommended. Instead use use the much better Widcomm drivers provided by many vendors, i.e. HP, IBM, Linksys, MSI, etc. The only downside with these drivers is the security lock restricting the usage only to the particular vendor. But there is a workaround by hex editing 4 files. If the Microsoft drivers or Windows XP Service Pack 2 are installed, a driver library file needs to be renamed before installing the Widcomm driver.

Renaming library file

  1. Goto the \Windows\inf\ directory.
  2. Rename the bth.inf file to bth.inf.disabld.

Installing Widcomm driver

There are many ways to do this, but I found that the HP driver were the most recent.

  1. Remove any other bluetooth drivers from the device mananger (under Bluetooth) and disconnect the bluetooth adaptor.
  2. Download the HP driver here.
  3. If you run Windows XP SP2, do the above renaming.
  4. Install the HP driver as you normally would.
  5. Open up these 4 files in a hex editor, i.e. Hex Workshop, or download the patched files here.:

  6. Replace these two strings in all the files:
  7. Save and close the hex editor.
  8. Now plug in the bluetooth adaptor.
  9. When you're prompted to select a driver, select "Install from a list or specific location (Advanced)", then "Don't search. I will choose the driver to install" and then "Have Disk..". Browse to the "\Program Files\Widcomm\Bluetooth Software\bin" directory and select the "btwusb.inf" file.
  10. You should now only have one bluetooth adaptor in the device manager, "CSR USB Bluetooth Device".

References

Bluetooth security flaws [bluestumbler.org]
Bluesnarf at CeBIT 2004 [inode.at] [pdf]
Windows XP SP2 and MSI Bluetooth dongle [esato.com]
Mike's Bluetooth Guide [esato.com]