Most Linux distributions don’t ship with the wireless drivers for the MacBook Pro 2012.

This method should work on any Linux distribution that supports this firmware.

This is an offline method; you will need a second computer to copy the zip archive specified and moved to the MacBook Pro 2012 or use Ethernet (with adapter) to download this archive.

The wireless chip is from Broadcom, and the firmware version is B43.

Download the zip archive by clicking this link.

Copy the file on a flash drive and move it into a folder on the MacBook Pro,

Now extract the archive.

Open Terminal and enter the commands specified below.

Let’s create the directory for the firmware.

sudo mkdir /lib/firmware/b43

Copy the firmware files into the folder, this command example assumes you copied and extracted the files on Desktop, if you choose any other location change the location after cp to the correct path.

sudo cp Desktop/b43/*  /lib/firmware/b43

After successfully copying the files it’s time to do some modprobe.

Enter the two commands specified below.

sudo modprobe -rv b43 
sudo modprobe -v b43

Now you should see the wireless applet detecting signal and the Wi-Fi option working in the network manager or gnome settings. If not, you might have to reboot.

Have a good day!

I compiled a list of software and services that I use to improve my workflow, here is the link to the list.

    Darryl Dias

    I’m Darryl. I’m a 3D Artist, Programmer and Linux enthusiast. On this site I share my insights, tips and tricks, tutorials, methods and best practices.

    Join the Conversation

    22 Comments

      1. Hi Johnny,

        Thank you for the kind words. Welcome to the world of Linux, if you need any help or have any question reply to this comment and I will get back as soon as I can.

        Have a wonderful day šŸ™‚

    1. Dear Daryl, I am so thankful for this post. I have been following all kind of complicated tutorials for two days trying to have my wifi card detected and I find your post, so simple so easy, straight to the point. Works like a charm. thank you.

    2. Unfortunately, this didn’t work for me even after a reboot. I’m running mid 2012 MacBook Air and Kali 2021.4a with a Broadcom 4360 wifi adapter. Any thoughts on why this isn’t working with this hardware configuration?

      1. This method only works for 2012 MacBook Pro’s because these drivers are specific to that model of MacBooks, You would need to look for Broadcom 4360 firmware zip for Linux and follow the rest of the steps.

        I don’t have a MacBook Air, so I can’t tell what would work for it, but if I come accross something, I will post an update in a new comment.

        Have a great day.

    3. buff llevo una semana con esto y gracia a este tutorial listo. gracia darryl gran tutorial muy util

    4. Does this work with Chrome OS Flex? The wifi situation with my Macbook Pro has been atrocious and it’s definitely the lack of correct drivers.

    5. Yes, Thanks, worked straight away. I thoughtr it was going to take weeks to get working otherwise, or I was just going to try different distros to try and get something working.

    6. Thanks for this. It worked exactly as described. I’m just learning Linux, and terminal commands are new to me. Yay, it worked!
      Do I need to leave the folder on the desktop for the driver to keep working, or may I remove it once the Wifi is functioning? Thanks again.

      1. Hi Justin, Once the drivers are installed and working you no longer need the files and folder on the desktop, you can safely delete them, welcome to the world of Linux.

        Have a great day šŸ™‚

    7. thanks Darryl, I was lost as to were to put the wireless drivers needed to run , internet on my unbuntu install on my late 2012 Mac book pro, with your directions problem solved.

      cheers

    8. Thanks for this wonderful recommendation! Finally I can use my MacBook Pro late 2012 with Fedora 36 without ethernet. Good job, Darryl! Best wishes Tom

    Leave a comment

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