三天时间!终于让 Boardcom BCM4310/4312 无线网卡在Ubuntu 9.10下工作起来了
发表于 : 2010-01-27 22:04
先抱怨一下我这该死的破网卡,差一点我就准备买Intel的网卡了。不过运气不错,三天的努力没有白费。
还没来得及享受安装完Ubuntu的喜悦,就发现Ubuntu没有识别我的无线网卡。郁闷啊,对于没有经验的我来说,只好上网搜索现成的安装方法了。
我以前在Windows下用Everest查看过我的网卡,型号显示为Boardcom BCM4310 USB Controller。所以我也就坚信我的网卡就是这个型号了啊,然后就去百度,谷歌找到了几篇我这个型号网卡的安装方法,全部试了一通,完全没用,我这该死的网卡就是无法工作起来。
我那个郁闷啊,我心想:为什么同型号的网卡,别人可以,我就不行呢?难道真的是人品问题?于是开始对我网卡的型号产生怀疑,结果果然不出我所料。我在Windows设备管理器里查看记下了我无线网卡的硬件ID并去Ubuntu的网站查了查,又去Linux下用 lspci 命令查看了一下我的设备,BCM4312的字样映在了我的眼里。当时那个愤怒啊,Everest!我看错你了!浪费了两天的时间,原来是型号搞错了啊!这也可以解释为什么标题是BCM4310/BCM4312了。。。
于是去搜BCM4312的安装方法,也找到了几篇安装方法,又照葫芦画瓢的试了,结果。。。它还是不工作,当时的心情已经无法用言语来表达了,大概这就是命吧!哎!看了看表,凌晨3点,睡觉!明天上淘宝买一个5300AGN算了,信号又好又省心。
带着想哭的心情上了床,滚过来滚过去突然想起有个文章里说要先卸载掉原来的模块什么的,冲突问题突然一闪而过。好吧,明天试试!
第二天去查了下卸载模块的命令和黑名单的命令,然后卸载了原来无线网卡的模块,又试着安装了驱动。YES!无线网卡的灯亮了,看到了没?它亮了!终于不用买网卡了。我还没来得及高兴就发现虽然灯亮了,网卡也识别了,可惜就是搜不到无线信号,手动打命令也连不上我的无线路由,难道本大爷就是倒霉的化身吗?于是去网上以搜索不到无线网络为关键词,得到了一条信息,就是说Ubuntu自带的Network-Manager很不好用,有BUG什么的,于是我就卸掉了。然后再手动打命令成功连上了我的无线路由。哎,现在连个路由都要打几条命令,拨个号还要用pppoeconf,不过也不错,总比买一个无线网卡要好。
好了,长篇大论的废话说完了,下面说说BCM4312驱动的安装方法吧!这是总结网上一些大人的方法自己整理的方法。
安装这个无线网卡的驱动有两种方法,一种是用ndiswrapper,这个软件可以模拟Windows的API,直接使用Windows的驱动就可以。这种方法只有在你的无线网卡没有原生Linux驱动的情况下才用。
我的BCM4312有官方的驱动,所以我就不用这个方法了。写出来也麻烦。BCM4310(还请确定你不是BCM4312)的朋友只能用上面那个方法来安装驱动,具体方法可以百度之,很多,只需要注意卸载相冲突的模块并加入黑名单就可以了。
先去官网下载BCM4312的驱动
http://www.broadcom.com/support/802.11/linux_sta.php
我的系统是32位的,所以就下32位的驱动。
下载下来的应该是hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz这种压缩包,解压出来放那边先别管。
第一步是卸载掉你系统里其他有关BCM无线网卡的模块
rmmod b43
rmmod ssb
rmmod wl
然后把这些有冲突的模块加入黑名单防止下次启动系统自动加载
echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
只把这两个加入就行了,wl就是现在要安装的驱动的模块,所以不能加入黑名单
第二步进入你刚刚解压出来的驱动的文件夹,输入命令
make clean
清理掉临时文件
make
编译驱动
第三步就是把你现在的驱动文件复制到特定文件夹以便让系统可以调用
cp -rf wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/
最后一步就是加载你的驱动了
depmod
重建驱动的依赖列表
modprobe wl
加载你的驱动
这步完成后你的无线网卡应该被识别了,你可以通过 iwconfig 或者 ifconfig 来查看,BCM4312是eth1不是wlan0。
为了让系统每次启动都能加载无线网卡驱动,还需要在/etc/modules里面加上你要每次开机都加载的模块名称。
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
lp
wl
至此,无线网卡的驱动全部安装完成了,下面需要卸载掉Ubuntu9.10自带的network-manager(如果你使用network-manager也能正常上网,那么可以无视下面的内容)
首先打开你的新立得软件包管理,搜索network,找到network-manager和network-manager-gnome这两个软件包,标记一下彻底删除。
删除后就需要手动配置/etc/network/interface这个文件,我提供个模板,大家可以自己修改,如果不懂这个文件,大家自己去百度学习吧。
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp # or static
#address xxx.xxx.xxx.xxx
#netmask 255.255.255.0
#gateway xxx.xxx.xxx.xxx
# The wireless network interface
auto eth1
iface eth1 inet dhcp # or static
#wireless-essid xxxx
#address xxx.xxx.xxx.xxx
#netmask 255.255.255.0
#gateway xxx.xxx.xxx.xxx
更改完成后用 /etc/init.d/networking restart 命令重启网络服务使你新配置的设置生效(重要,你每次修改配置都需要重启这个服务才能生效的)。
好了,所有的配置全部完成,接下来你就可以使用无线网络来上网了。
还没来得及享受安装完Ubuntu的喜悦,就发现Ubuntu没有识别我的无线网卡。郁闷啊,对于没有经验的我来说,只好上网搜索现成的安装方法了。
我以前在Windows下用Everest查看过我的网卡,型号显示为Boardcom BCM4310 USB Controller。所以我也就坚信我的网卡就是这个型号了啊,然后就去百度,谷歌找到了几篇我这个型号网卡的安装方法,全部试了一通,完全没用,我这该死的网卡就是无法工作起来。
我那个郁闷啊,我心想:为什么同型号的网卡,别人可以,我就不行呢?难道真的是人品问题?于是开始对我网卡的型号产生怀疑,结果果然不出我所料。我在Windows设备管理器里查看记下了我无线网卡的硬件ID并去Ubuntu的网站查了查,又去Linux下用 lspci 命令查看了一下我的设备,BCM4312的字样映在了我的眼里。当时那个愤怒啊,Everest!我看错你了!浪费了两天的时间,原来是型号搞错了啊!这也可以解释为什么标题是BCM4310/BCM4312了。。。
于是去搜BCM4312的安装方法,也找到了几篇安装方法,又照葫芦画瓢的试了,结果。。。它还是不工作,当时的心情已经无法用言语来表达了,大概这就是命吧!哎!看了看表,凌晨3点,睡觉!明天上淘宝买一个5300AGN算了,信号又好又省心。
带着想哭的心情上了床,滚过来滚过去突然想起有个文章里说要先卸载掉原来的模块什么的,冲突问题突然一闪而过。好吧,明天试试!
第二天去查了下卸载模块的命令和黑名单的命令,然后卸载了原来无线网卡的模块,又试着安装了驱动。YES!无线网卡的灯亮了,看到了没?它亮了!终于不用买网卡了。我还没来得及高兴就发现虽然灯亮了,网卡也识别了,可惜就是搜不到无线信号,手动打命令也连不上我的无线路由,难道本大爷就是倒霉的化身吗?于是去网上以搜索不到无线网络为关键词,得到了一条信息,就是说Ubuntu自带的Network-Manager很不好用,有BUG什么的,于是我就卸掉了。然后再手动打命令成功连上了我的无线路由。哎,现在连个路由都要打几条命令,拨个号还要用pppoeconf,不过也不错,总比买一个无线网卡要好。
好了,长篇大论的废话说完了,下面说说BCM4312驱动的安装方法吧!这是总结网上一些大人的方法自己整理的方法。
安装这个无线网卡的驱动有两种方法,一种是用ndiswrapper,这个软件可以模拟Windows的API,直接使用Windows的驱动就可以。这种方法只有在你的无线网卡没有原生Linux驱动的情况下才用。
我的BCM4312有官方的驱动,所以我就不用这个方法了。写出来也麻烦。BCM4310(还请确定你不是BCM4312)的朋友只能用上面那个方法来安装驱动,具体方法可以百度之,很多,只需要注意卸载相冲突的模块并加入黑名单就可以了。
先去官网下载BCM4312的驱动
http://www.broadcom.com/support/802.11/linux_sta.php
我的系统是32位的,所以就下32位的驱动。
下载下来的应该是hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz这种压缩包,解压出来放那边先别管。
第一步是卸载掉你系统里其他有关BCM无线网卡的模块
rmmod b43
rmmod ssb
rmmod wl
然后把这些有冲突的模块加入黑名单防止下次启动系统自动加载
echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
只把这两个加入就行了,wl就是现在要安装的驱动的模块,所以不能加入黑名单
第二步进入你刚刚解压出来的驱动的文件夹,输入命令
make clean
清理掉临时文件
make
编译驱动
第三步就是把你现在的驱动文件复制到特定文件夹以便让系统可以调用
cp -rf wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/
最后一步就是加载你的驱动了
depmod
重建驱动的依赖列表
modprobe wl
加载你的驱动
这步完成后你的无线网卡应该被识别了,你可以通过 iwconfig 或者 ifconfig 来查看,BCM4312是eth1不是wlan0。
为了让系统每次启动都能加载无线网卡驱动,还需要在/etc/modules里面加上你要每次开机都加载的模块名称。
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
lp
wl
至此,无线网卡的驱动全部安装完成了,下面需要卸载掉Ubuntu9.10自带的network-manager(如果你使用network-manager也能正常上网,那么可以无视下面的内容)
首先打开你的新立得软件包管理,搜索network,找到network-manager和network-manager-gnome这两个软件包,标记一下彻底删除。
删除后就需要手动配置/etc/network/interface这个文件,我提供个模板,大家可以自己修改,如果不懂这个文件,大家自己去百度学习吧。
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp # or static
#address xxx.xxx.xxx.xxx
#netmask 255.255.255.0
#gateway xxx.xxx.xxx.xxx
# The wireless network interface
auto eth1
iface eth1 inet dhcp # or static
#wireless-essid xxxx
#address xxx.xxx.xxx.xxx
#netmask 255.255.255.0
#gateway xxx.xxx.xxx.xxx
更改完成后用 /etc/init.d/networking restart 命令重启网络服务使你新配置的设置生效(重要,你每次修改配置都需要重启这个服务才能生效的)。
好了,所有的配置全部完成,接下来你就可以使用无线网络来上网了。