MacBook Pro 8,1/8,2/8,3 Bluetooth Issues on Linux

Oh, by the way, I just got a shiny new MacBook Pro to run Linux on! Hooray! It’s an awesome machine, but I just wanted to post this bug to the general public to save people the 3 days I’ve spent trying to figure it out.

Essentially, what it boils down to is this: the b43 Linux driver that you’ve compiled and installed interferes hardcore with the adjacent Bluetooth chip on your MacBook.

Let’s do a little test to demonstrate. While connected to a WiFi network with b43, put a Bluetooth device into pairing mode near your machine. Make sure the bluez package is installed. Next, run the following:

$ hcitool scan

You’ll probably see it say Scanning... and then… nothing. It won’t see your device. Period.

Let’s continue with our experiment. Unload the b43 module with sudo rmmod b43. Your internet will go down if you’re on WiFi. Now, run hcitool scan again.

$ hcitool scan
    XX:XX:XX:XX:XX:XX    Nexus One

Aha! Found you! So, it seems that the problem is with the driver itself. This is kind of a bummer, to say the least, but hopefully they’ll have it patched soon. Until then, sudo modprobe b43 and continue on, weary warrior.

For the record and for Google, I’m running a 2011 MacBook Pro 8,3 with Ubuntu 11.10 Oneiric Ocelot 64bit/amd64.

Update: A Working Workaround!

As noted by Benoit in the comments below, you can actually get things working with a little workaround. First, unload the b43 driver from the kernel:

$ sudo rmmod b43

Next, reload the module, turning Bluetooth coexistence support off:

$ sudo modprobe b43 btcoex=0

As counterintuitive as it seems, it works! Hooray! I’m now able to listen to music with my Bluetooth headphones and use the built in B4331 wireless card in my MacBook at the same time!!! The only issue I’ve encountered is that when you’re spiking and getting really high upload/download rates, you’ll notice that Bluetooth audio skips a bit. Luckily, this is a pretty minimal problem and doesn’t prevent you from using your Bluetooth or your B4331 WiFi card in your MacBook Pro.

10 thoughts on “MacBook Pro 8,1/8,2/8,3 Bluetooth Issues on Linux

  1. Pingback: TK Kocheran

    • I’m glad that I saved you the nightmare that stole 3-4 days of my life. In case you run into an error after purchasing and trying to use a USB ASUS-N13 WiFi adapter, let me know.

      What you need to do for that workaround is to uninstall or at least remove the b43 module from the kernel in order to load the rt2800usb module.

      • I’m still using the onboard wifi chip. IMHO, the problem is not worth the hassle of buying a separate adapter.

        I found an alternative to unloading and loading the wifi module, passing btcoex=0 to b43 seems to fix the conflict problem. I still don’t understand why disable a coexistence option fixes the problem but, hey, it works!

    • Are you serious? You got it to work with Bluetooth!??!! THAT’S INCREDIBLE. I’ll have to test it out. This’ll save me a USB port!

    • Yeah! You’re right! sudo modprobe b43 btcoex=0 works! I’ll update the blog post. Good job! I had tried using btcoex=1, but never thought of disabling the Bluetooth coexistence option :)

  2. Pingback: Fix Bluetooth on a MacBook Pro 8,1/2/3 with B43 | TK Assembled

  3. This is essential for the right maintenance of the Apple Mac – Book Pro.
    Lithium-ion battery can be charged many times, but not
    unlimited number of times, this is the charge cycles (charge cycle) to
    define. Onthe other hand, non-branded Apple batteries are from the subsidiary orthird-party companies contracted by Apple, to help them satisfy demand fortheir goods.

  4. I read a lot of interesting posts here. Probably you spend a lot of time writing,
    i know how to save you a lot of time, there is an online tool that creates unique,
    SEO friendly articles in minutes, just type in google – laranitas
    free content source

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>