Friday, August 28, 2009

Using BlueSoleil With Macbook Pro Unibody

In my last post i showed how to use the Toshiba BT stack with the 15" Macbook Pro Unibody (and probably any other BT device you would like). I wasnt too happy with the outcome though - i find the Toshiba BT stack to be quite clunky in the way it integrates with my BT hardware and has a very dated feel to the software. On the plus side it was nice and configurable which i do like. The BIGGER downside though, is that there seems to be no option to license the software on non-Toshiba hardware, rendering it useless after 30 days, unless you crack it. As a software developer myself i try to avoid the latter option and support the industry :)

With that in mind i set my sights back on the other two options - Broadcom and BlueSoleil. My first choice was Broadcom, only because the MBP Unibody uses a Broadcom manufactured module. However Broadcom plainly refuses to install itself on any device that has not paid them royalties for the BT stack, which Apple obviously has little incentive to do at this time. So i turned my attention back to BlueSoleil. This was always my first choice to begin with, since it is intended as an all-purpose stack that you CAN buy a license for if you like it. Well i was successful this time around and i can tell you, the effort was definitely worth it.

Installing BlueSoleil On An Unsupported Device
  1. Download the latest BlueSoleil release from here (version 6.4.275.0 was used for this writeup)
  2. Extract the contents of the zip file and browse to the install directory
  3. Open setup.ini for editing using notepad or similar and replace the contents with the following (simplified for ease of reading). Note that while some of these changes may not strictly be necessary, they streamline some parts of the install process and avoid problems later:

    [bsconfig]
    BluetoothPlaceSite=1
    ShutDownBluetoothHardwarePower=1
    DefaultLocalDeviceClass=1

    [Install]
    CmdLine=""%SetupExeLocation%%PROCESSOR_ARCHITECTURE%\setup.exe"
    [SPDPhoneNumber]
    NumberCount=1
    SPNumber1=#777

  4. Save the file and close it
  5. Run setup.exe as administrator (this is probably not necessary, but its what i did to achieve a successful installation so vary and post your results below)
  6. The installation should succeed with no errors. You should notice the default MS BT stack icon in the system tray has disappeared. Do NOT restart your system when prompted - we want to make a few changes first
  7. Open file explorer and browse to where you installed the BlueSoleil BT stack (default is C:\Program Files\IVT Corporation\BlueSoleil)
  8. Open the bttl.ini file for editing in notepad or similar. Search for the text 8203. The line that is found should be in a section titled [HW356]. If you are using a different version of the drivers then it is unimportant if this title is different. What is important is that you take note of the title. Change the text 8203 to 8213 - what we are doing here is changing the hardware ID specified in this section to match the hardware ID of the BT module. If your hardware ID is slightly different, then simply change the hardware ID here to match yours (and in all subsequent steps). See my previous post on how to locate your hardware ID if you are unsure
  9. At the top of the file, in the [DEFAULT] section, change the setting NUM=363 (number may differ depending on your version of the drivers) to NUM=356
  10. Save the file and close it. Depending on your security settings in Windows 7, you may not be able to save the file directly. Instead - you may have to save the file to your desktop or some other location, close the file and then manually move it back into the directory
  11. Go to the driver\usb subdirectory and open the file btcusb.inf for editing.
  12. Search for the text 8203 and replace all instances (there should be two) with 8213 (again substitute for your hardware ID if it is different from mine)
  13. Save the file (again you may need to indirectly save it using the method explained above) and close it
  14. Restart your computer and once it has restarted, you should see the new BlueSoleil icon in the taskbar. At this point BlueSoleil is installed successfully, but the BT module is not yet setup. We need to do that manually through the device manager
  15. Go to the start menu, type "device manager" and press enter to open the device manager
  16. Browse to the BT module under Bluetooth - it will likely be called Generic Bluetooth Device (if not you may have some other BT software installed that should be removed before any of these steps are performed, but you can probably just install it at this point and proceed)
  17. Right-click the BT device and select Update Driver Software
  18. Select the bottom option Browse my computer for driver software
  19. Select Let me pick from a list of device drivers on my computer and browse to the location of the USB BT driver modified above (default is C:\Program Files\IVT Corporation\BlueSoleil\driver\usb) and click Next
  20. Select the only option in the list, which will be Apple Built-in Bluetooth
  21. A warning will pop up saying the driver is unsigned - click Install this driver anyway
  22. The device should now change its description in Device Manager to Apple Built-in Bluetooth and is successfully installed!
  23. Right-click the BlueSoleil icon in the taskbar and select Turn on bluetooth. You should now successfully be able to pair your bluetooth devices (eg headphones) with your MBP Unibody!

My Experience With BlueSoleil

  • A2DP connectivity is ABSOLUTELY seamless - I made my headphones discoverable - BAM they were connected and appeared as connected on the computer. No redundant password prompt or connection dialog. Music instantly started playing through them. Turn them off and sound changes back to the speakers. Turn them back on they start playing again. Absolutely seamless - i dont even have to stop/start the program using the audio device at the time, which i had to do with the Toshiba drivers
  • Beautiful icon set - the icons used are all vector graphics and fit very nicely with the slick look of Windows 7
  • Minimal set of services - only 3 which is not as good as the MS stack, but way better than the Toshiba drivers which had around half a dozen! They seem to be well designed, making efficient use of resources too which is important - BT should be very transparent to the system in my opinion

As requested, here are the modified INF files (generated from version 6.4.286.0 on 2/12/2009)

10 comments:

Mat Gessel said...

Awesome! Can't wait to try this out.

WRT Broadcom, did you find/modify the installer's temporary files? They can be found at the following location while the installer is searching for a BT device:

C:\Documents and Settings\UserName\Local Settings\Temp\WebDownload

This is deleted once you exit SetupBtwDownloadSE.exe.

Xca][ibur said...

Yes there are 2 main issues in getting the Broadcom BT stack to work:

1) License issues - the installer checks that your hardware is properly licensed and doesnt proceed beyond a very fundamental point unless a license exists (obviously it doesnt for the MBP hardware because Apple will probably never pay for the stack to use under Windows)
2) The newer versions of Broadcom only provide a very small setup stub that does the above check and then downloads the full install package if successful, so there are no temporary files to hack. Even if you could the license issue still stops you fro proceeding

I do have a slighly older version of the Broadcom BT stack (6.0.1.5300) that is the full install package. Unfortunately this version is blocked by the license issue. I guess you could crack it to get around this issue but i could not locate a crack for a recent version and i prefer to pay and support software these days anyway. I believe older versions of Broadcom do not have the license issue but i havnt tried them.

I ended up purchasing BlueSoleil anyway. It only costs 20euros ($AU35) which is an absolute bargain considering the quality of the software. Compared to my wife's Dell which uses the Broadcom stack, the experience is waaaaay smoother. I highly recommend giving it a go - let me know if you have any success.

cheers X

Josh said...

Again, wonderful work here with the BlueSoleil bluetooth stack, and wonderful work documenting it.

One small caveat. I did everything here, and still had some trouble turning bluetooth on. The problem wasn't at all obvious, but I eventually realized that my power profile was turning my usb devices off while not in use.

Since the internal adapter was configured with a usb driver, it was apparently being turned off as well. When I removed the suspend feature from my power profile, everything was aces...

[OrzRepublic]On3YouNev3rKn0w said...

hi i tried your method with same version of BS you using
in btcusb.inf i only able to found 1 replace for 8213 (mine H/W ID oso 8213)
and i unable to stack the bluetooth with BS, windows show there is error in the driver files.... =( pls assists me or pls send me ur inf files thx =)

Xca][ibur said...

YouNev3rKnow - im happy to post my updated INF files for you. When i get a chance i will attach them to this post.

Kelly A. said...

Can you upload the file again when i download it it said it was filtered by Exchange for being an inf file.

luismb55 said...

Hi, i've got a Mac Book Pro with Windows 7, and I've been trying for a while to make BlueSoleil,with no success.
I tried to follow all of the steps above, but it seems that i can't complete the 19 and 20, install the BlueSoleil drivers in the device manager section. Windows will always choose the default drivers and tell me that the software is up to date.

Is there anyway around this? I would really appreciate a little help.
Thanks!

nevcon1 said...

You are a genius! I just used this procedure to successfully pair my Bose Soundlink wireless speaker. Before doing my own research into this issue, I tried calling Bose technical support. That was a complete waste of time. Thank you for you expert instructions.

Roger Scott said...

Get complete Apple Support on all Mac Book versions from 24/7 Apple team. We offer best customer care helpline number +1844-809-1494. Apple support is here to help you with all of your Apple products. Mac 24/7 technical customer helpline number +1844-809-1494.
Apple Support Number : +1844-809-1494

Ram Chauhan said...

Good post....thanks for sharing.. very useful for me... Thanks. Complete Set of Desktop on Rent