There are so many conflicting posts on getting WiFi working on MacBooks, so after spending hours of trial and error, featuring completely reinstalling Elementary OS and starting over several times, I’m posting what worked for me. I hope it’s useful to someone!
My MacBook Pro is mid-2010 (7,1). Make sure your WiFi module is the same Broadcom as mine by first issuing this command in Terminal:
lspci -nnk | grep 14e4:
Check to make sure the output shows the Wireless LAN Controller is [14e4:432b], like mine. If yours is different it may need a different procedure to get the WiFi working.
I found the answer that worked here:
https://askubuntu.com/questions/1188364/wifi-not-discovering-networks-ubuntu-18-04-macbook-pro-mid-2010
These are the instructions from that post that worked for me, edited to show what I had to do that was different for Elementary OS:
open APPCenter, lick on Installed, then uninstall the 'bcm-kernel-source' package
- make sure that the 'firmware-b43-installer' and the 'b43-fwcutter' packages are installed
(terminal: sudo apt-get install firmware-b43-installer
followed by sudo apt-get install b43-fwcutter
)
type into terminal:
cat /etc/modprobe.d/* | grep '8180|acx|at76|ath|b43|bcm|CX|eth|ipw|irmware|isl| lbtf|orinoco|ndiswrapper|NPE|p54|prism|rtl|rt2|rt3 |rt6|rt7|witch|wl
(you may want to copy this) and see if the term 'blacklist bcm43xx' is there. (it was for me)
if it is, cd /etc/modprobe.d/
sudo gedit blacklist.conf
(I had to install gedit first: sudo apt-get install gedit
)
put a #
in front of the line: blacklist bcm43xx
then save the file (I was getting error messages in the terminal about not being able to save, but it actually did save properly)
reboot
sudo iw reg set "REGION"
- reboot
IMPORTANT: "REGION" should be replaced by the ISO alpha-2 2-character country code where you're using the computer, which can be found at this Wikipedia entry (scroll down): https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
This is important because the Broadcom WiFi in the computer can operate on a wide range of frequencies, and each country regulates what can be used for WiFi by devices in their country. If you don't set this correctly, and reset it if you travel to a different country, it is possible (not all that likely, but possible) that your computer could cause interference to completely different wireless services. (As a former frequency coordinator for the Society of Broadcast Engineers this is all the more important to me.)
And thanks for fixing the formatting!