机型:联想G430s touch
无线网卡:Broadcom 43142
系统:centos7
centos7没有预装BCM无线网卡驱动,只能自己安装。具体原因是Broadcom的驱动条款的限制,RadHat不能在发行版中加入自己编译的相关网卡驱动,但是可以用户自己编译并使用——这就是解决方案
在开始表演之前,提示一下,如果你的无线网卡不是该类型,你可以在以下网站找到信息和安装方法:
安装了centos7的机型: [HowToWireless][1]
所有类型系统(包括Debian\Ubuntu\等):[WirelessLinux][2]
[1]: https://wiki.centos.org/HowTos/Laptops/Wireless "centos官方文档"
[2]: https://wireless.wiki.kernel.org/en/users "在搜索栏搜对应驱动"
一、首先,查看自己网卡类型
lspci|grep -i ether
network controller一项是BCM43142,这也是我要编译的版本
提示:对于BCM43xx的其他类型网卡,请先google b43和b43legalcy如果两个包,如果包含你的型号,请直接下载安装。Debian系的系统直接进入:https://wiki.debian.org/bcm43xx
二、编译与安装
然而我是有着BCM43142的幸运儿,没有现成的包,只好自己编译
参考网站 http://elrepo.org/tiki/tiki-index.php?page=wl-kmod
具体步骤我就不贴了,直接照着参考网址里的步骤做就好了,centos7的话就是EL7
这里我就贴一些可能看不懂的步骤的解释吧:
第二步: 不要用root身份。目的是让build目录建立在 /home/<你的用户名下面
第四步: 如果打不开网页,那你需要使用‘微屁恩'。#注意#下载的文件放在 /home/<你的用户名>/rpmbuild/SOURCES/ 里
第五步: 命令有点长。第一个尖括号<yourname>用你的用户名替换,第二个尖括号用你 存放第二步文件的目录 替换。最后的wl-kmod*nosrc.rpm要用你的 第二步文件名 替换。请看示例:
rpmbuild --rebuild --define 'packager feyan' /home/feyan/wl-kmod-6_30_223_271-3.el7.elrepo.nosrc.rpm
那么编译完成后的包就放在了~/rpmbuild/RPM/x86-64里了
接下来就是安装你自己编译的包啦。
然而不凑巧的是,我的系统是采用UEFI启动的。基于这种硬件保护机制,linux的模块包要有签名才能加载。否则会出现modprobe xx , required key not available 的错误。
关于模块的签名,可以给安装包签名后再安装,也可以安装未签名包后,用
rpm -ql <安装包名字>
例如 rpm -ql kmod-wl
查看xxx.ko模块位置,给模块签名。