`
tom_seed
  • 浏览: 321714 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ubuntu14.04安装无线网卡驱动

 
阅读更多

挣扎了许久,总算能够正常上无线网了。现在想想,操作系统的基础是如此的重要。

 

比较简单的方法:ubuntu apt source的bcmwl-kernel-source

安装方法如下:

sudo apt-get update
sudo apt-get install bcmwl-kernel-source

驱动加入黑名单,让系统记住

sudo vi /etc/modprobe.d/blacklist.conf

末尾加入以下语句:

blacklist b43
blacklist ssb
blacklist brcmsmac

 

复杂方法:

PC公司驱动下载网站上都只支持Windows XX版本的驱动。安装linux操作系统的驱动必须要到相应的硬件厂商网站上才能下载、安装。

首先也必须得了解一下自己电脑的硬件配置:

lspci

 找到Network controller一项。找到对应的无线网卡硬件商公司及产品型号。

(Network controller为无线网卡项,Ethernet controller为以太网网卡项)

 

以下内容暂时没有进行尝试,做为摘抄:

进入broadcom的官网:http://www.broadcom.com/support/802.11/linux_sta.php 下载相应的驱动包。

首先针对自己的OS是32bit还是64bit下载对应的驱动,下载好后开始解压准备编译:

mkdir bcm43xx_x86_64-v5_100_82_112
tar xzvf hybrid-portsrc_x86_64-v5_100_82_112.tar.gz -C bcm43xx_x86_64-v5_100_82_112
cd bcm43xx_x86_64-v5_100_82_112
make

出现以下错误:

Using Wireless Extension API
  LD      /home/ego/Drivers/bcm43xx_x86_64-v5_100_82_112/built-in.o
  CC [M]  /home/ego/Drivers/bcm43xx_x86_64-v5_100_82_112/src/shared/linux_osl.o
  CC [M]  /home/ego/Drivers/bcm43xx_x86_64-v5_100_82_112/src/wl/sys/wl_linux.o
/home/ego/Drivers/bcm43xx_x86_64-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: error: unknown field ‘ndo_set_multicast_list’ specified in initializer
/home/ego/Drivers/bcm43xx_x86_64-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: warning: initialization from incompatible pointer type [enabled by default]
/home/ego/Drivers/bcm43xx_x86_64-v5_100_82_112/src/wl/sys/wl_linux.c:388:2: warning: (near initialization for ‘wl_netdev_ops.ndo_validate_addr’) [enabled by default]
make[2]: *** [/home/ego/Drivers/bcm43xx_x86_64-v5_100_82_112/src/wl/sys/wl_linux.o] Error 1
make[1]: *** [_module_/home/ego/Drivers/bcm43xx_x86_64-v5_100_82_112] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-26-generic'
make: *** [all] Error 2

关键是src/wl/sys/wl_linux.c的388行

vi src/wl/sys/wl_linux.c +388

代码如下:

.ndo_set_multicast_list = wl_set_multicast_list,

查看内核源码struct net_device_ops的确没有这个接口了。

看了一下bcmwl-kernel-source的patch,它使用的是.ndo_set_rx_mode替换的,那我们也用这个替换:

vi src/wl/sys/wl_linux.c +388

将源文件改为以下:

#if 0
        .ndo_set_multicast_list = wl_set_multicast_list,
#else
        .ndo_set_rx_mode = wl_set_multicast_list,
#endif

修改好后保存,继续编译:

make

这次编译顺利通过,生成了wl.ko。

sudo make install
sudo rmmod brcmsmac
sudo rmmod brcmutil
sudo depmod
sudo modprobe wl
sudo ifconfig eth1 up

无线网卡正常运行,信号明显要比bcmwl-kernel-source要好一些。

 

禁用内核驱动:

sudo vi /etc/modprobe.d/blacklist.conf

末尾加入以下语句:

blacklist b43
blacklist ssb
blacklist brcmsmac

保存文件后,重启。

 

问题出来了,wl加载了,但是竟然不能正常驱动无线网卡,为什么重启之前可用呢,复现重启之前的环境:

sudo rmmod wl
sudo modprobe brcmsmac
sudo rmmod brcmsmac
sudo rmmod brcmutil
sudo modprobe wl

神奇,居然又工作了,看来还要依赖brcmsmac才行,不完美,继续折腾!

 

方法1:

修改启动脚本:

sudo vi /etc/init.d/rc

在文本末尾炸到exit 0关键字后,按照如下修改:

rmmod wl
modprobe brcmsmac
rmmod brcmsmac
rmmod brcmutil
modprobe wl
trap - EXIT # Disable emergency handler
exit 0

保存,重启,ok,驱动正常,但是启动过程中,本子的无线指示灯会出现1秒的循环闪烁,还不是最优解,继续折腾!

 

方法2:

既然bcmwl-kernel-source可以不依赖brcmsmac直接驱动设备,那么为什么自己编译的不行呢。

继续分析他的deb,没有发现任何不一样,只是他的驱动安装路径不同,难道这也有差,继续偷懒:

sudo apt-get install bcmwl-kernel-source

然后将咱们编译的wl.ko替换掉bcmwl-kernel-source的:

sudo mv /lib/modules/`uname -r`/updates/dkms/wl.ko /lib/modules/`uname -r`/updates/dkms/wl.ko.old
sudo cp ./wl.ko /lib/modules/`uname -r`/updates/dkms/wl.ko

继续禁用kernel的驱动:

sudo vi /etc/modprobe.d/blacklist.conf

末尾加入以下语句:

blacklist b43
blacklist ssb
blacklist brcmsmac

保存文件后,重启。

 

参考资料:

http://blog.sina.com.cn/s/blog_73b6331101016haq.html

http://forums.fedoraforum.org/archive/index.php/t-280821.html

分享到:
评论

相关推荐

    ubuntu14.04 无线驱动

    本篇文章将详细介绍如何在Ubuntu 14.04上安装和管理无线驱动,主要针对两个常见的无线网卡驱动:Broadcom BCM43xx系列和b43系列。 首先,我们关注的是`broadcom-wl-5.100.138.tar.bz2`文件。这是Broadcom公司提供的...

    ubuntu14.04 _wifi驱动

    当联想笔记本电脑安装了win10+ubuntu14.04双系统后,ubuntu无法连接到wifi,那是因为ubuntu默认安装的是博通公司的wifi驱动,而我们的笔记本的硬件为高通平台,wifi型号为Qualcomm-Atheros-QCA9377,通过安装本文件...

    dell7050系列电脑ubuntu14.04网卡外挂安装

    通过上述步骤,您应该能够成功解决Dell Optiplex 7050系列台式机在Ubuntu 14.04系统下的网卡驱动安装问题,并实现正常的网络连接功能。请注意,随着硬件和软件的发展,未来可能会出现新的解决方案,建议定期关注官方...

    x240 WIFI驱动 Ubuntu14.04

    在本例中,"x240 WIFI驱动 Ubuntu14.04"的标题指出了解决这个问题的关键点:你需要为你的ThinkPad X240寻找并安装适用于Ubuntu 14.04的Wi-Fi驱动。描述中提到的“下载此包后,重新make和make install一下”指明了...

    Ubuntu 14.04和Qt Creator5.7开发环境搭建

    在这里,我们选择了 TP-LINK 的 TL-WN823N 无线网卡,并安装了其 RTL8192CU 芯片组驱动。 接下来,需要安装锐捷客户端,以便连接校园网。在安装锐捷客户端时,可能会遇到安装按钮不能被按下的问题,这时可以尝试把...

    Ubuntu14下安装TP-LINK 无线网卡驱动-shell安装包版本

    在Ubuntu 14.04操作系统中安装TP-LINK TL-WN823N无线网卡驱动是一项必要的任务,特别是对于那些希望通过无线网络连接到Internet的用户。TP-LINK TL-WN823N是一款流行的USB无线网卡,它采用Realtek RTL8192EU芯片组。...

    Ubuntu无线网卡驱动安装方法.docx

    Ubuntu无线网卡驱动安装方法 Ubuntu 无线网卡驱动安装方法是指在 Ubuntu 操作系统中安装无线网卡驱动程序的方法。当我们安装了 Ubuntu 后,可能会发现没有无线网络,搜索不到 WiFi,这是因为 Ubuntu 不会自动安装...

    ubuntu下Intel i219v系列e1000e网卡最新源码安装包

    新买的华擎H310CV主板网卡型号为15BC,安装ubuntu14.04 kernel 4.4.0的驱动较老,无法驱动, 这是Intel网卡支持页面下载的驱动源码包,版本3.4.2.1; 之前尝试了几次安装都不成功,折腾来折腾去,不知道改了哪里,...

    rtl8192eu-driver.zip

    这个“rtl8192eu-driver.zip”文件是为了解决Ubuntu 14.04中特定无线网卡型号——TL-WN823N的驱动问题。RTL8192EU是一款由Realtek公司生产的无线网络控制器芯片,它在一些Linux发行版上可能无法正常工作,因为默认...

    华硕a豆安装ubuntu14.04系统开启wifi

    笔记本新安装的ubuntu系统无法找到WIFI列表,原因是没有安装无线网卡的驱动文件,导致无法识别WIFI信号。 需要安装对应网卡的驱动文件,网卡型号可以在windows10系统的桌面点击”此电脑 / 属性 / 设备管理器”,打开...

    “360随身WiFi2” linux驱动 MT7601U linux内核版本3.13.0

    标题中的“360随身WiFi2”是一款由360公司推出的便携式无线网卡设备,它允许用户将有线网络转换为无线热点,方便手机、平板等设备接入。这款产品通常适用于Windows和Mac操作系统,但在Linux系统中可能需要特定的驱动...

    随身wifi_linux驱动

    随身WiFi设备通常包含一个USB接口的无线网卡,该网卡通常基于MT7610芯片。 在Ubuntu 12.04和14.04上安装驱动的过程大致如下: 1. **识别硬件**:首先,你需要确认设备是否被Linux系统正确识别。打开终端,输入`...

    rtl81888eu linux驱动 deepin,startos完美编译

    5. 安装驱动:如果编译成功,使用`sudo make install`将驱动安装到系统中。 6. 加载驱动:有时需要通过`sudo insmod`或`sudo modprobe`命令加载驱动,或者在内核启动时自动加载。 编译失败可能的原因包括: - 内核...

    USB WIFI网卡在X210(linux)上的移植和使用笔记

    如文档中提到的ubuntu14.04,这是一个稳定的长期支持版本,适合开发使用。此外,还涉及到了内核源码树的使用,它为编译和定制Linux内核提供了必须的代码。 2. 内核驱动开发 内核驱动开发是嵌入式系统开发的核心之...

    ubuntu12使用文档合集

    11. **硬件兼容性**:针对不同的硬件设备,如无线网卡、显卡、摄像头等,提供驱动安装和配置建议。 12. **故障排查**:提供一些常见问题的解决方案,如系统启动问题、软件冲突等。 13. **社区资源**:介绍Ubuntu...

    CSI用户手册

    CSI用户手册是由新加坡南洋理工大学编写的,用于指导用户如何在Linux环境下配置CSI(Channel ...内容涵盖了从系统搭建、内核驱动安装、信号处理到网络配置等方方面面,对于相关领域研究者和工程师有着很大的参考价值。

    3531D内核编译文档.docx

    总结来说,海思Hi3531D内核编译涉及硬件驱动的适配,包括USB无线网卡和USB摄像头的支持。这个过程需要正确配置内核选项,编译内核源码,并最终烧写到目标设备中。通过内核编译,我们可以确保设备能够识别和使用这些...

Global site tag (gtag.js) - Google Analytics