300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 博通的网卡linux驱动 CentosRedhat下bcm43142博通无线网卡linux驱动

博通的网卡linux驱动 CentosRedhat下bcm43142博通无线网卡linux驱动

时间:2024-01-24 02:58:29

相关推荐

博通的网卡linux驱动 CentosRedhat下bcm43142博通无线网卡linux驱动

最近要使用linux系统,安装linux后发现没有无线网络,猜想是因为该linux系统没有支持的驱动,遂准备自己编译安装驱动,撰写此文予以记录。

更新:虽然这种方法成功实现驱动bcm43142,但是内核版本的不一致可能会导致其他问题,我暂时发现的是,电脑背光调整失灵,猜想也是因为某些驱动版本与内核版本不一致引发。

1.查看无线网卡型号**

[root@king ~]# lspci|grep Network #列出pci设备并过滤关键字Network

03:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)

发现无线网卡型号为BCM43142,支持802.11b/g/n协议

2.下载驱动包

hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz

点我下载 密cmet

下载拷贝进u盘,将源码包拷贝至/usr

3.安装gcc编译器

可直接通过yum命令安装yum install -y gcc,看到Complete!即可。

提醒:yum命令安装软件时虽然可以解决依赖性问题,但是也不可避免影响到移除软件时的依赖性问题,特别是不要安装高于你系统版本的软件包,否则由于依赖性会造成一系列的麻烦。

4.安装与kernel版本一致的kernel-headers,kerner-devel 工具

可先查看yum源中的包与内核版本是否一致,由于我安装的是redhat7.2,但是我的yum源挂载的是redhat7.0的镜像,所以kernel版本与kernel-headers,kerner-devel 不一致是自然而然的,查看方法如下:

[root@king ~]# yum list|egrep "kernel-headers|kernel-devel"

kernel-devel.x86_64 3.10.0-123.el7 @httpd_iso

kernel-headers.x86_64 3.10.0-123.el7 @httpd_iso

[root@king ~]# uname -r

3.10.0-327.el7.x86_64

当yum源中kernel-headers,kerner-devel版本与kernel版本不一致,有两种解决办法,一是自己去下载和内核版本一致的kernel-headers,kerner-devel rpm包并安装,当然过程中提示需要安装各种依赖性的包,又要去下载对应包进行安装,显然太麻烦,所以我采用第二种方法,安装此yum源中的kernel并从此kernel启动,再通过yum安装kernel-headers,kerner-devel

查看yum源中kernel版本

[root@king ~]# yum list|grep kernel.x86_64

kernel.x86_64 3.10.0-327.el7 @httpd_iso

安装kernel,直接yum install -y kernel,看到Complete!后输入reboot重启,选择从新安装的内核版本启动,开机后打开终端并输入

[root@king ~]# yum install -y kernel-headers kernel-devel

看到Complete!后输入

[root@king ~]# yum list installed |egrep "kernel*"

kernel.x86_64 3.10.0-123.el7 @httpd_iso

kernel-devel.x86_64 3.10.0-123.el7 @httpd_iso

kernel-headers.x86_64 3.10.0-123.el7 @httpd_iso

发现版本一致,可以进行下一步

5.解压驱动源码包并进行编译安装

拷贝源码包并解压

[root@king ~]# mkdir /usr/local/wireless

[root@king ~]# cp /usr/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz /usr/local/wireless

[root@king ~]# cd /usr/local/wireless

[root@king ~]# tar zxf hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz

[root@king wireless]# ls

hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz lib Makefile src

编译

[root@king wireless]# make API=CFG80211

KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`

make[1]: Entering directory `/usr/src/kernels/3.10.0-123.el7.x86_64'

CFG80211 API specified in command line

Using CFG80211 API

LD /usr/local/wireless/built-in.o

CC [M] /usr/local/wireless/src/shared/linux_osl.o

CC [M] /usr/local/wireless/src/wl/sys/wl_linux.o

CC [M] /usr/local/wireless/src/wl/sys/wl_iw.o

CC [M] /usr/local/wireless/src/wl/sys/wl_cfg80211_hybrid.o

LD [M] /usr/local/wireless/wl.o

Building modules, stage 2.

CFG80211 API specified in command line

Using CFG80211 API

MODPOST 1 modules

CC /usr/local/wireless/wl.mod.o

LD [M] /usr/local/wireless/wl.ko

make[1]: Leaving directory `/usr/src/kernels/3.10.0-123.el7.x86_64'

没有报错

[root@king wireless]# ls

built-in.o modules.order wl.mod.c

hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz Module.symvers wl.mod.o

lib src wl.o

Makefile wl.ko

生成wl.ko文件,此文件就是我们需要的驱动文件

驱动文件安装

[root@king wireless]# make install

install -D -m 755 wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless

6.加载运行驱动

执行以下语句,去除已加载的模块

[root@king wireless]# modprobe -r b43

[root@king wireless]# modprobe -r bcma

[root@king wireless]# modprobe -r ssb

[root@king wireless]# modprobe -r bcm

然后编辑配置文件

[root@king wireless]# vim /etc/modprobe.d/blacklist.conf

blacklist b43

blacklist ssb

blacklist bcma

blacklist bcm

加载新的驱动

[root@king wireless]# modprobe cfg80211

[root@king wireless]# modprobe lib80211

[root@king wireless]# insmod wl.ko

[root@king wireless]# modprobe wl

输入reboot重启系统,然后执行以下语句

[root@king ~]# lsmod|grep wl

wl 6441478 0

cfg80211 482668 1 wl

发现驱动已经加载,右上角出现wifi选项,可以连接wifi啦,Enjoying it!

参考:

1

2

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。