The firmware is attached.
Here is a short guide:
You will need a Ubuntu Live CD.
CONTINUE AT YOUR OWN RISK, I CAN'T CONFIRM IF IT WORKS OR NOT, MIGHT "BRICK" YOUR DONGLE
Courusy of midnitesnake
Chipsets: Whats the difference?
The chipset of the Bluetooth USB Dongles are very important. Broadcom chipsets are cheap hardware and are deemed unsuitable devices for this paper. But unfortunately nowadays, every manufacturer seems to prefer putting these chips in their products compared to the more reliable Cambridge Silicon Radio (CSR) chipset. If your lucky enough to find a dongle with a CSR chipset, your going to encounter different models:
* Bluecore2-ROM/EXTERNAL (BC2-ROM,BC2-EXT)
* Bluecore3-ROM/EXTERNAL (BC3-ROM,BC3-EXT)
* Bluecore4-ROM/EXTERNAL (BC4-ROM,BC4-EXT)
You will notice each model has two distinct chipsets ROM and EXT. The ROM (Read Only Memory) chip is the cheaper version and usually only sells for $6 less compared to the EXT. The ROM is completely useless to us because we cant change the contents of its memory. The EXT or External model has a flashable EEPROM (Eraseable Electronic Programmable Read Only Memory). This means we can change the contents of the chip by using a computer to alter the firmware.
Using bccmd to get the Chip Revision
$ bccmd -d hci0 chiprev
Chip revision: 0x0026 (BC4-External)
So in the above example, we have a flashable BlueCore4-External chip, perfectly the right version for the alternative firmware obtained from the Internet. N.B. Other EXT chips may be flashable, but the firmware available will not work for them.
Uploading/Downloading Firmware to/from the BT USB Dongle
Other hackers on the internet have made the alternative firmware freely available for download and the files are in the format of a Device Format Upgrade (DFU) file. You can then use on Linux the opensource tool dfutool (only works with CSR devices), to backup your original firmware, and download the alternative firmware onto your USB dongle.
Backup existing firmware
$ dfutool archive old_firmware.dfu
Download new firmware
$ dfutool upgrade new_firmware.dfu