CentOS 6.5 BCM43142 80211无线网卡驱动安装
2017-07-09 13:30
656 查看
没事折腾了一下双系统,在Windows7之外又装了个CentOS 6.5,装完之后发现没有无线网卡驱动,不能连WIFI。于是装驱动又折腾了好几个小时。。。这里记录一下
并没有,好吧自己装!先看下无线网卡是什么型号的:
无线网卡型号为BCM43142 802.11
但是要注意的是:kernel-headers、kerner-devel一定要与内核版本一致,不然编译出来的驱动无法运行。
先查看一下当前的内核版本:
然后看是否能够直接通过yum安装:
发现yum的版本与内核版本不一致!!
没办法,只能手动从CentOS Vault下载rpm进行安装了:
CentOS-7:请在 7.N.YYMM/os/x86_64/Packages/ 或 7.N.YYMM/updates/x86_64/Packages/ 目录内找寻 kernel-devel-版本.x86_64.rpm
CentOS-6:请在 6.N/os/arch/Packages/ 或 6.N/updates/arch/Packages/ 目录内找寻 kernel-devel-版本.结构.rpm
这里根据内核版本下载了下面两个安装包:
尝试编译发现报错了。因为
OK,那就手动创建:
然后进入原来的解压目录使用
然后在 /etc/modprobe.d/blacklist.conf 中加入以下几行:
加载新的无线驱动程序:
然后重启网络服务:
用
OK,可以检测到无线网了!!!
查看
Google一下了解到可能是编译用的kernel-headers、kerner-devel版本与内核版本不一致,于是卸载了通过yum安装的版本,手动安装了2.6.32-431版本就OK了
1、查看本机的驱动信息
使用iwconfig发现本机没有无线网卡驱动:
[root@songlee-PC ~]# iwconfig lo no wireless extensions. eth0 no wireless extensions.
并没有,好吧自己装!先看下无线网卡是什么型号的:
[root@songlee-PC ~]# lspci | grep Network 07:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)
无线网卡型号为BCM43142 802.11
2、去Broadcom官网下载驱动安装包
这里下载的是64位版本:hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz3、安装内核开发包及GCC
编译broadcom无线驱动需要安装 kernel-headers、kerner-devel以及gcc但是要注意的是:kernel-headers、kerner-devel一定要与内核版本一致,不然编译出来的驱动无法运行。
先查看一下当前的内核版本:
[root@songlee-PC ~]# uname -r 2.6.32-431.el6.x86_64
然后看是否能够直接通过yum安装:
[root@songlee-PC ~]# yum list | grep -E "kernel-headers|kernel-devel" kernel-devel.x86_64 2.6.32-696.3.2.el6 updates kernel-headers.x86_64 2.6.32-696.3.2.el6 updates
发现yum的版本与内核版本不一致!!
没办法,只能手动从CentOS Vault下载rpm进行安装了:
CentOS-7:请在 7.N.YYMM/os/x86_64/Packages/ 或 7.N.YYMM/updates/x86_64/Packages/ 目录内找寻 kernel-devel-版本.x86_64.rpm
CentOS-6:请在 6.N/os/arch/Packages/ 或 6.N/updates/arch/Packages/ 目录内找寻 kernel-devel-版本.结构.rpm
这里根据内核版本下载了下面两个安装包:
$ wget http://vault.centos.org/6.5/updates/x86_64/Packages/kernel-headers-2.6.32-431.1.2.0.1.el6.x86_64.rpm $ wget http://vault.centos.org/6.5/updates/x86_64/Packages/kernel-devel-2.6.32-431.1.2.0.1.el6.x86_64.rpm $ rpm -ivh /tmp/kernel-headers-2.6.32-431.1.2.0.1.el6.x86_64.rpm $ rpm -ivh /tmp/kernel-devel-2.6.32-431.1.2.0.1.el6.x86_64.rpm $ yum install gcc
4、解压并编译无线网卡驱动
随便找一个目录,解压并编译:[root@songlee-PC hybrid-wl]# tar xzf hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz [root@songlee-PC hybrid-wl]# ll 总用量 16 drwxrwxrwx. 2 52258 users 4096 9月 18 2015 lib -rw-rw-rw-. 1 52258 users 5154 9月 18 2015 Makefile drwxrwxrwx. 6 52258 users 4096 9月 18 2015 src [root@songlee-PC hybrid-wl]# make API=WEXT KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd` make: *** /lib/modules/2.6.32-431.el6.x86_64/build: 没有那个文件或目录。 停止。 make: *** [all] 错误
尝试编译发现报错了。因为
/lib/modules/2.6.32-431.el6.x86_64/目录下的 build 软链接有问题:
OK,那就手动创建:
[root@songlee-PC hybrid-wl]# cd /lib/modules/2.6.32-431.el6.x86_64/ [root@songlee-PC 2.6.32-431.el6.x86_64]# rm -f build [root@songlee-PC 2.6.32-431.el6.x86_64]# ln -s ../../../usr/src/kernels/2.6.32-431.1.2.0.1.el6.x86_64 build
然后进入原来的解压目录使用
make API=WEXT命令再次进行编译:
[root@songlee-PC hybrid-wl]# make API=WEXT KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd` make[1]: Entering directory `/usr/src/kernels/2.6.32-431.1.2.0.1.el6.x86_64' Wireless Extension API specified in command line Using Wireless Extension API LD /usr/local/src/hybrid-wl/built-in.o CC [M] /usr/local/src/hybrid-wl/src/shared/linux_osl.o CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_linux.o CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_iw.o CC [M] /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o LD [M] /usr/local/src/hybrid-wl/wl.o Building modules, stage 2. Wireless Extension API specified in command line Using Wireless Extension API MODPOST 1 modules CC /usr/local/src/hybrid-wl/wl.mod.o LD [M] /usr/local/src/hybrid-wl/wl.ko.unsigned NO SIGN [M] /usr/local/src/hybrid-wl/wl.ko make[1]: Leaving directory `/usr/src/kernels/2.6.32-431.1.2.0.1.el6.x86_64' [root@songlee-PC hybrid-wl]# make install install -D -m 755 wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
make install命令用于将编译生成的
wl.ko文件拷贝到
/lib/modules/2.6.32-431.el6.x86_64/kernel/drivers/net/wireless目录中。
5、加载新的驱动
如果已经有正在运行的默认驱动,需要先卸载并加入黑名单:$ lsmod | grep -E "b43|ssb|bcma" $ rmmod b43 $ rmmod ssb $ rmmod bcma
然后在 /etc/modprobe.d/blacklist.conf 中加入以下几行:
blacklist b43 blacklist ssb blacklist bcma
加载新的无线驱动程序:
$ modprobe cfg80211 $ modprobe lib80211 $ insmod wl.ko (或者modprobe wl)
然后重启网络服务:
$ service network restart 正在关闭接口 eth0: 设备状态:3 (断开连接) [确定] 关闭环回接口: [确定] 弹出环回接口: [确定]
用
iwconfig看一下:
[root@songlee-PC ~]# iwconfig lo no wireless extensions. eth0 no wireless extensions.
eth1 IEEE 802.11 ESSID:"" Nickname:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:72 Mb/s Tx-Power:24 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Power Managementmode:All packets received
Link Quality=5/5 Signal level=0 dBm Noise level=-31 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
OK,可以检测到无线网了!!!
踩坑:
一开始我直接使用yum安装的 kernel-headers、kerner-devel,并没有注意到这两个软件包的版本与内核版本不一致。编译出wl.ko文件以后,尝试加载的时候报错了:
[root@songlee-PC wireless]# insmod wl.ko insmod: error inserting 'wl.ko': -1 Unknown symbol in module
查看
dmesg:
wl: disagrees about version of symbol wireless_send_event wl: Unknown symbol wireless_send_event wl: disagrees about version of symbol wireless_send_event wl: Unknown symbol wireless_send_event wl: disagrees about version of symbol wireless_send_event wl: Unknown symbol wireless_send_event wl: disagrees about version of symbol wireless_send_event wl: Unknown symbol wireless_send_event
Google一下了解到可能是编译用的kernel-headers、kerner-devel版本与内核版本不一致,于是卸载了通过yum安装的版本,手动安装了2.6.32-431版本就OK了
相关文章推荐
- redhat7/centos7 BCM43142 80211无线网卡驱动安装
- CentOS 6.5 安装无线网卡驱动实现无线上网
- CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动
- CentOS 6.5 安装无线网卡驱动实现无线上网
- CentOS 6.5 安装无线网卡驱动实现无线上网
- redhat7/centos7 BCM43142 80211无线网卡驱动安装
- 详解CentOS 6.5如何安装Realtek无线网卡驱动
- CentOS 6.5 安装无线网卡驱动实现无线上网
- Centos6.5 安装无线网卡驱动实现无线上网
- TinkPad E40 CentOS 6.5 无线网卡驱动 RTL8191SEvB 安装
- CentOS5.4安装BCM4312无线网卡驱动
- CentOS6.3安装Broadcom无线网卡驱动
- 【转】CentOS6.3安装Broadcom无线网卡驱动
- Ubuntu 14.04, Fedora 20, CentOS 6.5 下Broadcom4313网卡驱动安装以及上网问题
- CentOS6.3安装Broadcom无线网卡驱动
- ThinkPad E520下CentOS 6.2配置指南 --安装无线网卡RTL8188CE驱动、ATI6630显卡驱动、配置更新源、挂载NTFS
- DELL D630安装CentOS6的无线网卡驱动
- CentOS下安装无线网卡驱动 (转)
- CentOS 6.4 安装无线网卡驱动
- CentOS 6.4 安装D-Link 525(RT5360)无线网卡驱动