Skip to content

Instantly share code, notes, and snippets.

Last active March 6, 2023 08:30
Show Gist options
  • Star 57 You must be signed in to star a gist
  • Fork 19 You must be signed in to fork a gist
  • Save jamespamplin/7a803fd5be61d4f93e0c5dcdea3f99ee to your computer and use it in GitHub Desktop.
Save jamespamplin/7a803fd5be61d4f93e0c5dcdea3f99ee to your computer and use it in GitHub Desktop.

The current kernel/drivers of Fedora 24 do not support the Wifi chip used on my Mac Book Pro. Proprietary Broadcom drivers are packaged and available in the rpmfusion repo.

Verify that your card is a Broadcom using: lspci -vnn -d 14e4:

Sample output:

02:00.0 Network controller [0280]: Broadcom Corporation BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)


Install the rpmfusion repo, note only "nonfree" is required, as the Broadcom Driver is proprietry:

su -c 'dnf install -y$(rpm -E %fedora).noarch.rpm'

Then install the akmods and kernel-devel packages (special thanks to @celsom3 for providing this):

sudo dnf install -y akmods "kernel-devel-uname-r == $(uname -r)"

Finally install broadcom-wl package from the rpmfusion repo, which will install kmod-wl, akmod-wl, and other dependencies.

sudo dnf install -y broadcom-wl

Next run akmods to rebuild the kernel extension in the broadcom-wl package:

sudo akmods

Finally, reboot Fedora.


  • lsmod to list all kernel modules
  • sudo modprobe wl will force the wireless kernel extension to load.
  • sudo systemctl restart NetworkManager
Copy link

wwweeds commented Jul 25, 2016

Celsom3, that worked perfectly for me on my new fedora24 build on my MacBook! Thanks!

Copy link

g13n commented Aug 10, 2016

Celsom3, I can also confirm your instructions worked perfectly on Fedora 24 on my MacBook Pro.

Copy link

What about the Macbook pro made in late 2014 or earlier 2015? How to solve it since there's no wire connection available, dnf won't work. Thanks a lot!

Copy link

Celsom3, Worked for me too! MacBook Pro late 2011.

Copy link

@celsom3 thanks so much for providing your fix! Confirmed on a clean install of mine too. I've updated the instructions to reflect.

Copy link

@shi27feng sorry I missed your question, theres no notifications on gist 😦

The easiest way is to use a lightning to ethernet adapter. Otherwise you might be able to download the packages individually from another computer, but that will be difficult with their dependencies. Not sure of a simple way to do this, sorry.

Copy link

caa commented Oct 17, 2016

I had issues getting RPM Fusion working. They seem to have changed to HTTPS-only?

su -c 'dnf install$(rpm -E %fedora).noarch.rpm$(rpm -E %fedora).noarch.rpm'

I got WiFi working on Fedora 25 Beta. Thanks for the gist!

Copy link

Do you want to share your ethernet connection through your WiFi?

If so, you can take full advantage of your driver by downloading the broadcom driver, compiling and installing it:

(AND for those using Fedora 24 kernel 4.7.x and having trouble with this solution):

You can clone this repository that I've made and run

Or you can also download the driver at
(64 bits)

apply the patch found at

compile it and install it.

Copy link

Thank you!

Copy link

Total Linux noob here, trying to do this on macbook pro early 2008 model with Fedora 25. When running sudo dnf install -y akmods "kernel-devel-uname-r == $(uname -r)" I get the following output:

Last metadata expiration check: 0:26:40 ago on Sat Jan 7 14:51:05 2017. No package akmods available. Error: Unable to find a match.

Any clues as to why this might not work?

Copy link

default-writer commented Jan 22, 2017


Use https versions

su -c 'dnf install -y$(rpm -E %fedora).noarch.rpm'
su -c 'dnf install -y$(rpm -E %fedora).noarch.rpm'

Copy link

poltys commented Feb 27, 2017

Since the last update, I have lost my Wifi and I am totally clueless here:

Checking kmods exist for 4.8.6-300.fc25.x86_64 [ OK ]

sudo modprobe wl
modprobe: ERROR: could not insert 'wl': Permission denied

NB: I removed and reinstalled everything.

If someone has any tips to share, it would be fantastic!

Copy link

poltys commented Feb 27, 2017

Okay SELinux was to blame:

sudo setenforce 0
sudo modprobe wl
sudo setenforce 1

Copy link

Thank you! It worked perfectly. MacBook Pro late 2011 Fedora 25

Copy link

Thank you @jamespamplin and @celsom3, it worked perfectly on Fedora 25 running on Macbook Pro Early 2011!

Copy link

Thanks you! It worked perfectly. MacBook Air late 2014 Fedora 26 :)

Copy link

Thank you so much for this. It worked perfectly on a mid 2009 Macbook Pro with Fedora 27.

Copy link

Xiol commented Feb 14, 2018

All good on a MacBook 11,x (late-2013) with Fedora 27. Thanks.

Copy link

Thank you works like a charm!

Copy link

Thank you 👍

Copy link

well this is completely useless when you've a MacBook pro WITHOUT an ethernet port. How are we suppose to install a repo when we aint got internet connection in the first place!!??? Guess y'all didn't consider that

Copy link

Minkiu commented Sep 27, 2018

well this is completely useless when you've a MacBook pro WITHOUT an ethernet port. How are we suppose to install a repo when we aint got internet connection in the first place!!??? Guess y'all didn't consider that

Use your phone (usb) tethering.

On another note, just report that this steps worked for Fedora 28 on a MacBook Pro (13-inch, Early 2011).

Copy link

Thank you so much, it worked perfectly fine on a dual-boot with osx mojave on a macbook pro retina mid-2014 !

Copy link

fredfortier commented Apr 17, 2019

I tried this tutorial with a mid-2014 MacBook Pro and Fedora 29. Note that UnitedRPMs also publish the driver:

$ modinfo wl
filename:       /lib/modules/5.0.7-200.fc29.x86_64/extra/wl/wl.ko
license:        MIXED/Proprietary
alias:          pci:v*d*sv*sd*bc02sc80i*
depends:        cfg80211
retpoline:      Y
name:           wl
vermagic:       5.0.7-200.fc29.x86_64 SMP mod_unload
parm:           passivemode:int
parm:           wl_txq_thresh:int
parm:           oneonly:int
parm:           piomode:int
parm:           instance_base:int
parm:           nompc:int
parm:           intf_name:string

It works but it's highly unreliable for me. The wl adapter drops its internet access frequently. I tried finding errors in the system logs but nothing stood out. Anyone else having similar issues?

As a workaround, I created a cron job with the following script to keep the connection alive:

x=`ping -c1 2>&1 | grep unknown`
if [ ! "$x" = "" ]; then
   echo "Network down!! Attempting to restart."
   systemctl restart NetworkManager
   echo "Network up"

Copy link

DangerFone commented May 26, 2019

Okay SELinux was to blame:

sudo setenforce 0
sudo modprobe wl
sudo setenforce 1

Worked perfectly for me on Mid-2013 Macbook Air running F30; but I had to run @poltys inputs. Maybe this step should be included in the instructions now, too. Keeping an eye on connection stability a la @fredfortier. So far so good.

Copy link

acypert commented Jul 17, 2019

Mostly worked like a charm on Fedora 30 on late 2008 model Macbook (unibody). I just had to adjust NetworkManager.conf file with then reboot:

Try to put:


in /etc/NetworkManager/NetworkManager.conf


Copy link

I had to omit the second equal sign for the following line on Fedora 32:

sudo dnf install -y akmods "kernel-devel-uname-r == $(uname -r)"

Running it with both equal signs produced the following error:

$ sudo dnf install akmods "kernel-devel-uname-r == $(uname -r)"
Last metadata expiration check: 0:15:14 ago on Fri 15 May 2020 12:41:50 PM MDT.
Package akmods-0.5.6-25.fc32.noarch is already installed.
No match for argument: kernel-devel-uname-r == 5.6.6-300.fc32.x86_64
Error: Unable to find a match: kernel-devel-uname-r == 5.6.6-300.fc32.x86_64

Copy link

orrmy commented Oct 30, 2020

Thanks a lot! I had almost given up when I found this...

But now I can confirm it works flawlessly in Fedora 33 on my late 2013 15" MBP, with Villarealized's modification.

Copy link

zwalex commented Sep 7, 2022

Trying this on a late 2009 Mac Mini with Fedora Server 36.
After running akmods, I saw the following on dmesg:
[ 1251.670088] wl: loading out-of-tree module taints kernel.
[ 1251.670097] wl: module license 'MIXED/Proprietary' taints kernel.
[ 1251.670099] Disabling lock debugging due to kernel taint
[ 1251.676955] wl: module verification failed: signature and/or required key missing - tainting kernel
That made me a little nervous but there were no more dmesg like that any more after review (not sure what happened).
After finding out how to configure the wireless adapter (BCM4321, btw.) headless via nmcli it's now working fine.

Copy link

zwalex commented Sep 7, 2022

Hahaha - meant to say "after reboot" (not review ...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment