linux上面干点事情,真不容易,装一个wifi驱动程序,费了好大的劲....(高手们请勿笑话),现在记录一下。
尝试了很多帖子的方法,最终发现官网的帖子最靠谱,因为linux跟版本,程序环境依赖太多,一点小问题就装不下去。
原贴的链接:
https://wiki.centos.org/HowTos/Laptops/Wireless/Broadcom?action=show
有个中文版(觉得上面的英文版更靠谱些,因为中文版有个下补丁的链接没有):
https://wiki.centos.org/zh/HowTos/Laptops/Wireless/Broadcom
开始安装的是最新版的centos 7 1810 ,但是试了一下没成功,看到帖子里最新的版本是centos 7.3 (1611)
所以又从网上下载了一个 centos 7 1611,重新安装了一把。
帖子中的分支很多,看了半天才搞明白7.3要怎么做
1. Step 1 没有歧义, lspci | grep Broadcom 发现我的是 BCM43142
我是用了有线网络连接到网络上,如果没有的话,还需要作本地的repo,那就是另一个我问题了,默认是可以通过有线网卡连接网络的,所以这里略。
yum install kernel-headers kernel-devel gcc
2.Downloading and extracting Broadcom driver archive 也没有歧义我download是和他同样的版本。
6_30_223_271
3.这一步是重点,因为分歧很多,我看了半天终于明白我的7.3的安装步骤,才发现我的7.3的步骤应该是:
3.1:根据3b的步骤 下载wl-kmod-kernel_4.7_IEEE80211_BAND_to_NL80211_BAND.patch
并安装补丁。
patch -p1 < ../wl-kmod-kernel_4.7_IEEE80211_BAND_to_NL80211_BAND.patch (注:路径可能不同)
3.2 执行下面6个步骤(干吗的?真不知道。。。。)
[user@host hybrid-wl]$ sed -i 's/ >= KERNEL_VERSION(3, 11, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c [user@host hybrid-wl]$ sed -i 's/ >= KERNEL_VERSION(3, 15, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c [user@host hybrid-wl]$ sed -i 's/ < KERNEL_VERSION(3, 18, 0)/ < KERNEL_VERSION(3, 9, 0)/' src/wl/sys/wl_cfg80211_hybrid.c [user@host hybrid-wl]$ sed -i 's/ >= KERNEL_VERSION(4, 0, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c [user@host hybrid-wl]$ sed -i 's/ < KERNEL_VERSION(4,2,0)/ < KERNEL_VERSION(3, 9, 0)/' src/wl/sys/wl_cfg80211_hybrid.c [user@host hybrid-wl]$ sed -i 's/ >= KERNEL_VERSION(4, 7, 0)/ >= KERNEL_VERSION(3, 10, 0)/' src/wl/sys/wl_cfg80211_hybrid.c
3.3 转到3a的步骤,编译
make -C /lib/modules/`uname -r`/build/ M=`pwd`
3.4 执行如下命令
[user@host hybrid-wl]$ strip --strip-debug wl.ko
4.按照帖子的第四步进行就ok了,(至少我没出现问题,因此略)