Install Broadcom Linux Wi-Fi Driver on Fedora 23

wifi.jpg

I recently installed Fedora 23 Workstation on a MacBook Air, which sports a Broadcom BCM4360 802.11ac wi-fi adapter. Unfortunately wi-fi does not work out of the box on this laptop, though most of its other hardware is supported just fine by this latest flavor of Red Hat's community Linux distro.

In order to get your Broadcom wi-fi card to work on Fedora 23, run the following commands in a Terminal (enter your sudo password when prompted):

wget http://git.io/vuLC7 -v -O fedora23_broadcom_wl_install.sh && sh ./fedora23_broadcom_wl_install.sh;

Note: the above commands require a working/wired network connection to download the Broadcom driver files. I have an Android tablet that I tethered to my Air via USB in order to get online to download the required files.

These are the exact commands that will be run on your machine to compile and install the driver:

#/usr/bin/env bash
# Install some pacakages we'll need to compile the driver below.
sudo dnf install gcc kernel-devel -y
# Create working dir for Broadcom driver files and patches.
mkdir hybrid_wl_f23
# Change to working dir.
cd hybrid_wl_f23
if [ 'x86_64' == `uname -m` ]; then
# 64-bit driver files.
FILE='hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz'
else
# 32-bit driver files.
FILE='hybrid-v35-nodebug-pcoem-6_30_223_271.tar.gz'
fi
# Download Broadcom Linux Wi-Fi driver.
wget http://www.broadcom.com/docs/linux_sta/$FILE
# Extract driver files.
tar zxvf $FILE
# Compile driver.
make clean && make
# Install driver.
sudo make install
# Update available drivers.
sudo depmod -a
# Unload conflicting drivers.
sudo rmmod b43 ssb bcma
# Load the driver.
sudo modprobe wl
# Blacklist conflicting drivers.
printf 'blacklist b43\nblacklist ssb\nblacklist bcma\n' | sudo tee /etc/modprobe.d/wl.conf
# Load driver automatically at boot time.
echo 'wl' | sudo tee /etc/modules-load.d/wl.conf
# Connect to a Wi-Fi network via NetworkManager...

After running the above shell script, the Broadcom driver will be loaded and your Wi-Fi device will be configurable via NetworkManager. Happy (wireless) surfing!

Comment below if the above script did not work for you for some reason.

Here's a few reference links that helped me figure all of this out: