Tags: #linux# #rhel7# #broadcom# #wi-fi# #802.11#
1. Determine WLAN chip
$ /sbin/lspci | grep Broadcom
2. No need do yum install kernel-headers kernel-devel gcc as they are already there
3. Download and extract Broadcom driver archive (go to broadcom website and download the driver)
4. Extract and change file ownership
# mkdir -p /usr/local/src/hybrid-wl
# cd /usr/local/src/hybrid-wl
# tar xvfz /path/to/the/tarball/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz
# chown -R <youruser>:<yourgroup> /usr/local/src/hybrid-wl
5. compile
# make -C /lib/modules/`uname -r`/build/ M=`pwd`
6. do sed replacements on the source code
# sed -i 's/ >= KERNEL_VERSION(3, 11, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
# sed -i 's/ >= KERNEL_VERSION(3, 15, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
# sed -i 's/ < KERNEL_VERSION(3, 18, 0)/ < KERNEL_VERSION(3, 9, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
# sed -i 's/ >= KERNEL_VERSION(4, 0, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
7. compie again
# make -C /lib/modules/`uname -r`/build/ M=`pwd`
8. load into the kernel
# modprobe -r bcm43xx
# modprobe -r b43
# modprobe -r b43legacy
# modprobe -r ssb
# modprobe -r bcma
# modprobe -r brcmsmac
# modprobe -r ndiswrapper
9. copy the driver module file to a location where kernel can find it:
# cp -vi /usr/local/src/hybrid-wl/wl.ko /lib/modules/`uname -r`/extra/
10. create a list of module dependencies
# depmod $(uname -r)
11. load the driver module. If no errors => successful
# modprobe wl
12. add following in /etc/modprobe.d/blacklist.conf
blacklist bcm43xx
blacklist b43
blacklist b43legacy
blacklist bcma
blacklist brcmsmac
blacklist ssb
blacklist ndiswrapper
13. create/edit the file /etc/sysconfig/modules/kmod-wl.modules and add the following
#!/bin/bash
for M in lib80211 cfg80211 wl; do modprobe $M &>/dev/null;done
14. reboot
|