以 Broadcom Corporation BCM4311、BCM4312、BCM4313、BCM4321 或 BCM4322 为基础的无线网络卡

CentOS 对这些芯片组并没有原生的支持。
这页的英文版本现时由 Miloš Blažević 维护。
注:基于这个 Broadcam 驱动程序的极度限制性条款,ELRepo 软件库的开发者放弃以 rpm 组件来提供它 ―― 因此这份文件被创建的目的是要提供一个全面的驱动程序安装说明。
注:本作者至今只测试了 Broadcom 的 BCM4311 及 BCM4312 芯片组。
Contents
  1. 以 Broadcom Corporation BCM4311、BCM4312、BCM4313、BCM4321 或 BCM4322 为基础的无线网络卡

    1. 第 1 步:辨认无线网络芯片及安装时依赖的组件
    2. 第 2 步:下载并解压 Broadcom 驱动程序的压缩档
    3. 第 3 步:编译 Broadcom 驱动模块
    4. 第 4 步上:将驱动模块装入内核中
    5. 第 4 步下:在开机时将驱动模块装入内核中
若要安装以 Broadcom BCM4311、BCM4312、BCM4313、BCM4321 或 BCM4322 为基础的无线网络卡,请遵照以下的步骤:

第 1 步:辨认无线网络芯片及安装时依赖的组件


首先,请确定你是位「拥有 Broadcom BCM43xx 无线网络卡的幸运儿」:
[user@host ~]$ /sbin/lspci | grep Broadcom0b:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 01)
辨认完无线网络芯片型号之后,请确定你不会欠缺编译及安装时所需的组件:
[root@host]# yum install kernel-headers kernel-devel gcc
当然,假若你要为 Xen 内核(kernel-xen)编译驱动程序,你必须安装 kernel-xen-devel 而不是 kernel-devel。

第 2 步:下载并解压 Broadcom 驱动程序的压缩档

请从 Broadcom 的官方网站下载 Broadcom BCM43xx 的 linux 驱动程序压缩档到你的机器并将它解压到 /usr/local/src/hybrid-wl,请随你所需将这个目录的拥有者改为无特权的用户:
[root@host ~]# mkdir -p /usr/local/src/hybrid-wl[root@host hybrid-wl]# cd /usr/local/src/hybrid-wl[root@host hybrid-wl]# tar xvfz /path/to/the/tarball/hybrid-portsrc-x86_64-v5.10.91.9.3.tar.gz(下载档的名称)[root@host hybrid-wl]# chown -R someuser.somegroup /usr/local/src/hybrid-wl 
注:为什么不随便将它解压到一个位置并保留缺省的拥有者?
原因是上面的做法会把驱动模块的源代码保留在系统上 ―― 在你放置它们的位置 ―― 好让你可以随时按需要创建驱动程序(譬如:你将内核升了级 ―― 因为驱动模块永远根据某个内核来编译),还有,就是你可以用无特权的用户来编译!

第 3 步:编译 Broadcom 驱动模块


驱动模块可以这样编译:
[user@host hybrid-wl]$ make -C /lib/modules/`uname -r`/build/ M=`pwd`
请留意引号(也就反引号)。
现在你很可能会获得一个错误信息,而不是一个编译好的驱动模块(实际上,本作者仍未遇过这个信息以外的情况)。这则信息的内容大致上是:
make: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64'  LD      /tmp/hybrid/hybrid/hybrid/built-in.o  CC [M]  /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.oIn file included from /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.c:20:/tmp/hybrid/hybrid/hybrid/src/include/typedefs.h:70: error: conflicting types for ‘bool’include/linux/types.h:36: error: previous declaration of ‘bool’ was heremake[1]: *** [/tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.o] Error 1make: *** [_module_/tmp/hybrid/hybrid/hybrid] Error 2make: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'
正如你所见, typedefs.h 这个文件的第 70 行出了一个问题。要解决它,请将第 70 行的代码改为注释,好让它变成:
/*#ifndef TYPEDEF_BOOLtypedef  unsigned char  bool;#endif*/
你亦可以通过在标头档加入以下内容(勿论这一行是否已经存在)来简单地解决这个问题:
#define TYPEDEF_BOOL
现在,请尝试再次编译驱动模块:
[user@host hybrid-wl]$ make -C /lib/modules/`uname -r`/build/ M=`pwd`
编译器的输出大致上是这样:
make: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64'  CC [M]  /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_linux.o  CC [M]  /tmp/hybrid/hybrid/hybrid/src/wl/sys/wl_iw.o  CC [M]  /tmp/hybrid/hybrid/hybrid/src/shared/linux_osl.o  LD [M]  /tmp/hybrid/hybrid/hybrid/wl.o  Building modules, stage 2.  MODPOST  CC      /tmp/hybrid/hybrid/hybrid/wl.mod.o  LD [M]  /tmp/hybrid/hybrid/hybrid/wl.komake: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'
一旦这个模块被建成,你便可以删除不必要的符号:
[user@host hybrid-wl]$ strip --strip-debug wl.ko
你会发现驱动模块的文件尺寸会明显地缩小(由 2.2MB 降至 1.5MB)。而且,你的驱动模块仍能正常运作

第 4 步上:将驱动模块装入内核中

当你成功地编译了驱动模块后,你便可以将它装入内核中,并设置在开机时自动装入这个驱动程序(要这样做,你必须利用 root 的权限)。当然,做这一切之先,你必须从内核删除现在的无线驱动模块(假如有的话):
[root@host ~]# rmmod bcm43xx[root@host ~]# rmmod b43[root@host ~]# rmmod b43legacy[root@host ~]# rmmod ndiswrapper
现在我们装入驱动模块:
[root@host hybrid-wl]# modprobe wl.ko
你也可采用:
[root@host hybrid-wl]# insmod wl.ko
假如你在无线驱动程序以外没有应用 ndiswrapper 这个内核模块,你可以删除它,但这并非必需的。

第 4 步下:在开机时将驱动模块装入内核中

首先,请将驱动模块的文件复制到一个可以让内核找到它的地方:
[root@host hybrid-wl]# cp -vi /usr/local/src/hybrid-wl/wl.ko /lib/modules/`uname -r`/extra/ 
这样做是为了与其它已经/将会从 kmod 组件安装的外置模块(例如:fuse、ntfs-3g、等)保持一贯性。
按着,请执行:
[root@host ~]# depmod $(uname -r)
以便能创建一个模块的互赖性清单。
编译 /etc/modprobe.d/blacklist 这个文件并加入以下内容:
blacklist bcm43xxblacklist ndiswrapperblacklist b43blacklist b43legacy
通过这样做,你可以避免这些模块在开机时被装入内核中。此外,假如你在 /etc/modprobe.conf 内有一行是指定无线界面的驱动程序,例如:
alias eth1 bcm43xx 或alias eth1 b43 或alias eth1 b43legacy
请将这行注释掉:
#alias eth1 bcm43xx 或#alias eth1 b43 或#alias eth1 b43legacy
并为你的无线网络卡加入新的驱动程序别名:
alias eth1 wl
这一切都假设你的无线网络界面设备档是 eth1。
现在,请编译 /etc/modprobe.d/modprobe.conf.dist 这个文件并加入以下内容:
alias ieee80211_crypt_tkip ieee80211_crypt_tkipalias eth1 wl

现在你的驱动应该在每次开机时都会被装入(当然除了在你安装了新内核之后,到时你必须依照以上步骤将它重新编译)。

转载于:https://my.oschina.net/u/2316994/blog/376977

以 Broadcom Corporation BCM4311、BCM4312、BCM4313、BCM4321 或 BCM4322 为基础的无线网络卡...相关推荐

  1. bcma错误linux,linux – Broadcom Corporation BCM4313 WLAN无法在已...

    我的上网本中有一个Broadcom Corporation BCM4313 WLAN控制器.当我启动Arch live ISO并使用wpa_supplicant设置网络时,一切正常. 在安装的Arch ...

  2. broadcom corporation BCM4313 linux驱动下载地址

    下载:http://www.broadcom.com/support/802.11/linux_sta.php 编译安装教程:http://northcamel.com/install-broadco ...

  3. Centos Broadcom驱动

    CentOS 对这些芯片组并没有原生的支持. 这页的英文版本现时由 Miloš Blažević 维护. 注:此指南主要针对 EL 6 和 EL 7.假如你采用 EL 5.6 或 7,你可不进行编译, ...

  4. linux 无线网卡

    https://wiki.centos.org/zh/HowTos/Laptops/Wireless/Broadcom?highlight=%2528Broadcom%2529#head-284e5b ...

  5. 用Linux做wifi热点/无线路由

    用Linux做wifi热点/无线路由 全文阅读 分步阅读 以fedora14为例安装hostapd,将Linux笔记本部署为一台高性能无限路由器,顺便说一句,我的fedora14安装在一台10英寸的上 ...

  6. CentOS 7无线网卡驱动解决方法

    centOS7 BCM43142无线网卡驱动: 解决方法:http://elrepo.org/tiki/wl-kmod Please note: The current Broadcom closed ...

  7. linux博通bcm4313无线网卡,Debian中配置broadcom bcm43XX无线网卡

    注:以上安装方法主要来自于Debian wiki(http://wiki.debian.org/wl) 第二: https://wiki.debian.org/bcm43xx#b43andb43leg ...

  8. debian squeeze安装Broadcom网卡驱动全程

    我的笔记本的三星的Q430JU02,安装debian squeeze系统挺久了,由于本人平日很少使用无线网,所以一直没有让无线网卡工作.今天由于有线网网口紧张,所以被迫想办法启动了无线网卡,整个过程从 ...

  9. 安装centOS 7双系统(四)——解决Broadcom博通BCM 43xx无线网卡驱动问题

    上一篇我们安装好了CentOS 7系统,但是却发现笔记本电脑无法连接Wi-Fi,这是因为我的笔记本电脑使用博通的无线网卡,驱动不支持导致的. 本文主要从英文翻译过来,希望能帮助一些童鞋解决这个问题,如 ...

最新文章

  1. 吴恩达老师深度学习视频课笔记:人脸识别
  2. 【GANs入门】pytorch-GANs任务迁移-单个目标(数字的生成)
  3. mysql 归档日志恢复_Oracle丢失归档日志文件的数据库恢复方法
  4. 【小白学习PyTorch教程】九、基于Pytorch训练第一个RNN模型
  5. ARM处理器中“8位位图”
  6. 着墨中文lisp登入_Lisp的本质 - climbdream的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. iOS9系列专题三——应用瘦身
  8. HDUOJ-----I NEED A OFFER!
  9. SQL HAVING 用法详解
  10. IE漏洞被黑客利用,导致全球上万个网站受害
  11. 微信公众号开发 ----微信网页开发config接口注入(3)
  12. TeaVM的samples/benchmark范例运行办法
  13. http是不是中间件_等保2.0涉及的Apache Tomcat中间件(上)
  14. EF学习笔记-2 EF之支持复杂类型的实现
  15. Excel文件导入web页面
  16. Mutisim14.0安装后,汉化的详细方法
  17. miniUI ExcelExport导出JAVA实现
  18. 箱形图(python画箱线图)
  19. Prettier的使用
  20. “生成能够被扫描枪正常扫描出中文的二维码”

热门文章

  1. 实践《如何使用Seata保证Dubbo微服务间的一致性》
  2. PHP拼团人数不能超过,怎么解决拼团、抽奖难以凑齐人数这个大问题?
  3. 渡阡科技Edu——梦开始的地方
  4. 全网最细最全OLAP之clickhouse笔记|clickhouse文档|clickhouse揭秘文档(三)--clickhouse单机安装和clickhouse集群安装
  5. 办公协同应用「我来 wolai」获数千万人民币融资
  6. linux任务调度框架,任务调度框架Hangfire 简介
  7. linux永久修改dns
  8. HIOKI日置RM3545电阻计/电阻表
  9. The ip address is being used by a static-MAC user
  10. 最新版!国内IT软件外包公司汇总~