Ubuntu系统上使用BCM4312无线网卡
黄健  |  2019-01-22  |  科学网  |  382次阅读

有台用了十多年的戴尔Precision M6500移动工作站,不忍报废,准备装上Ubuntu系统废物利用一下。也懒得下载最新的长期支持版本18.04,将就着用几年前为教学准备的Live USB盘上的14.04版。心里很有些担心,因为以前做Live USB时,是按另外一台使用AMD芯片、64位系统笔记本电脑定制的,而现在的M6500是英特尔芯片,自带Windows系统是32位的。不管三七二十一,试试再说。结果一切顺利,只是没办法自动检测、连接WIFI。估计是无线网卡太老,没有合适的驱动安装。网上搜到M6500的无线网卡型号BCM4312,进一步搜到驱动程序包,32位的make就失败了;下载64位的(hybrid-v35_64-nodebug-pcoem-6_30_223_271),make, sudo make install;接着按照网友所云,去掉一些冲突的模块:sudo rmmod b43,sudo rmmod ssb,sudo rmmod wl;然后安装无线网卡驱动模块 sudo insmod wl.ko;系统马上检测到无线网络。手动选择并连接无线网络,测试,通过ssh远程连接服务器,一切正常,但Firefox无法上网。

重新启动,仍不能自动检测连接无线网络。系统目录已有无线网卡驱动模块/lib/modules/3.13.0-24-generic/kernel/drivers/net/wireless/wl.ko,但仍必须重新手动去掉冲突模块和装载wl.ko。这次的问题是sudo insmod /lib/modules/3.13.0-24-generic/kernel/drivers/net/wireless/wl.ko时反馈Unknown symbol in module,搜索查晓是依赖的模块没有加载)。使用命令
   modinfo /lib/modules/3.13.0-24-generic/kernel/drivers/net/wireless/wl.ko | grep depends
   结果是depends:        cfg80211
   接着用命令sudo modprobe cfg80211解决依赖性问题,然后
   sudo insmod /lib/modules/3.13.0-24-generic/kernel/drivers/net/wireless/wl.ko
   成功装载无线网卡模块,系统马上检测到无线网络。手动选择并连接无线网络,测试,通过ssh远程连接服务器,一切正常,但Firefox还是无法上网。

为了让系统自动检测连接无线网络,写脚本startwifi.sh,代码如下:
   #! /bin/bash
   sudo rmmod ssb
   sudo rmmod wl
   sudo modprobe cfg80211
   sudo insmod /lib/modules/3.13.0-24-generic/kernel/drivers/net/wireless/wl.ko
   接着chmod +x startwifi.sh
   sudo mv startwifi.sh /usr/bin/startwifi.sh
   然后在/etc/rc.local中加一行/usr/bin/startwifi.sh
   重启系统,结果仍不能自动检测连接无线网络。/etc/rc.local似乎不工作。网上一查,有网友说从Ubuntu 6.10开始,默认使用dash(the Debian Almquist Shell)而不是bash(the GNU Bourne-Again Shell),但Login Shell还是bash。因此,把rc.local文件第一行#!/bin/sh -e改成#!/bin/bash -e。重启系统,系统终于能够自动检测并连接无线网络了,但Firefox还是无法上网而使用ssh一切正常。

根据网友建议,编辑/etc/resolv.conf,添加nameserver 8.8.8.8。测试,Firwfox正常工作了。当然,按网友意见,继续编辑/etc/resolvconf/resolv.conf.d/head,添加nameserver 8.8.8.8,以免resolv.conf被动态修改覆盖。重启系统,Firwfox又连不上网了。右键点击左上角的WIFI图标,在弹出菜单中点Edit connections;在弹出窗口中选中相应无线网络,点Edit...,在新窗口的IPv4 Settings的Additional DNS severs中添加8.8.8.8,保存。反复多次重启,终于能自动检测并连接无线网络,且ssh与Firefox都能正常工作了。




文章原载于作者的科学网文章,所述内容属作者个人观点,不代表本平台立场。
本文经过系统重新排版,阅读原内容可点击 阅读原文