天天看点

Ubuntu broadcom无线网卡驱动安装

    相信很多朋友都使用ubuntu系统,多数时候,我们都不会使用有线连接来上网,而且不是每台计算机安装好ubuntu后都可以使用wifi的,因此有很多人因为在ubuntu下不能使用wifi而放弃来使用ubuntu系统。本文就介绍一下如何在ubuntu 13.10系统(我的机器为几年前买的学生本lenovo g450,受性能和配置限制,因此我装的32位ubuntu 13.10系统)上安装broadcom无线网卡驱动,供希望学习linux系统都朋友参考。

下载

    首先,要安装无线网卡驱动,得先知道机器的无线网卡型号,这个型号可以通过硬件检测工具检测出来,也可以通过linux命令检测出来,下面是检测命令:

<a href="http://my.oschina.net/itblog/blog/221818#">?</a>

1

<code>lspci -vv | </code><code>grep</code> <code>network</code>

    打开终端,将下载好的无线网卡驱动程序(我下载都版本为:hybrid-portsrc_x86_32-v5_100_82_112.tar.gz)解压到指定都文件夹,这里我放在用户目录下:

2

3

4

<code>cd</code> <code>~</code>

<code>mkdir</code> <code>hybrid_wl_driver </code>

<code>cd</code> <code>hybrid_wl_driver</code>

<code>tar</code> <code>xzf hybrid-portsrc_x86_32-v5_100_82_112.</code><code>tar</code><code>.gz</code>

编译

    和其他网络上都过程一样,接下来是make

<code>make</code> <code>clean   (optional)</code>

<code>make</code>

    这个过程中,会出现以下问题:

错误一:

Ubuntu broadcom无线网卡驱动安装

    错误原因:没有指定的头文件

    解决办法:到指定的文件中,注释掉这一行(从上图看是src/wl/sys/wl_linux.c文件第43行,可以用vi编辑,也可以用gedit编辑)。

<code>vi</code> <code>+43 src</code><code>/wl/sys/wl_linux</code><code>.c</code>

    按下i进入vi的插入模式后,将第43行注释掉,如图:

Ubuntu broadcom无线网卡驱动安装

    按下esc进入vi的命令模式,按下:wq保存退出。再次使用make命令,此时会出现第二个问题:

错误二:

Ubuntu broadcom无线网卡驱动安装

    错误原因:错误都引用ndo_set_multicast_list,这个变量未定义

    解决办法:到指定的文件中(从上图看是src/wl/sys/wl_linux.c文件第388行),将ndo_set_multicast_list替换成ndo_set_rx_mode即可。保存后,继续使用make命令,此时会出现第三个问题:

错误三:

Ubuntu broadcom无线网卡驱动安装
Ubuntu broadcom无线网卡驱动安装
Ubuntu broadcom无线网卡驱动安装
Ubuntu broadcom无线网卡驱动安装

    解决办法:到指定文件中(从上图看是src/wl/sys/wl_linux.c文件)注释掉第3181~3188行即可。如下图:

修改前

Ubuntu broadcom无线网卡驱动安装

修改后

Ubuntu broadcom无线网卡驱动安装

    之后再使用make命令,此时会成功。

配置

    将生成的wl.ko文件拷贝到内核中指定的驱动文件夹中:

<code>sudo</code> <code>cp</code> <code>wl.ko </code><code>/lib/modules/</code><code>`</code><code>uname</code> <code>-r`</code><code>/kernel/net/wireless/</code>

    载入这个模块:

<code>sudo</code> <code>depmod</code>

<code>sudo</code> <code>modprobe wl</code>

    将跟本驱动有冲突的模块删除并加入黑名单。如果存在下面的驱动,必须手动删除他们,否则就不用执行下面的命令:

5

6

7

8

<code>lsmod  | </code><code>grep</code> <code>"b43\|ssb\|bcma\|wl"</code>

<code>rmmod b43</code>

<code>rmmod ssb</code>

<code>rmmod bcma</code>

<code>rmmod wl</code>

<code>sudo</code> <code>echo</code> <code>"blacklist ssb"</code> <code>&gt;&gt; </code><code>/etc/modprobe</code><code>.d</code><code>/blacklist</code><code>.conf</code>

<code>sudo</code> <code>echo</code> <code>"blacklist bcma"</code> <code>&gt;&gt; </code><code>/etc/modprobe</code><code>.d</code><code>/blacklist</code><code>.conf</code>

<code>sudo</code> <code>echo</code> <code>"blacklist b43"</code> <code>&gt;&gt; </code><code>/etc/modprobe</code><code>.d</code><code>/blacklist</code><code>.conf</code>

    如果出现以下错误:

    bash: /etc/modprobe.d/blacklist.conf: 权限不够

    解决办法:手动打开

<code>sudo</code> <code>gedit </code><code>/etc/modprobe</code><code>.d</code><code>/blacklist</code><code>.conf</code>

    添加以下内容到文件:

<code>blacklist ssb</code>

<code>blacklist bcma</code>

<code>blacklist b43</code>

 安装

<code>sudo</code> <code>modprobe lib80211 </code>

<code>sudo</code> <code>insmod wl.ko</code>

    此时,无线网卡的指示灯应该开始闪烁,系统也开始搜索附近存在的wifi了。

    为了下次开机可以自动打开无线网卡驱动,可以将这个模块设为开机自启动:

<code>sudo</code> <code>echo</code> <code>modeprobe wl &gt;&gt; </code><code>/etc/rc</code><code>.</code><code>local</code>

    如果下次开机没有自动打开无线网卡驱动,再把配置和安装部分重新做一遍即可(注意在安装的时候切换到驱动程序所在文件夹下)。

    好了,驱动安装完成,最后来比较一下安装前后无线网卡的情况:

安装前

Ubuntu broadcom无线网卡驱动安装

安装后

Ubuntu broadcom无线网卡驱动安装