您的位置:首页 > 运维架构 > Linux

Ubuntu 14.04, Fedora 20, CentOS 6.5 下Broadcom4313网卡驱动安装以及上网问题

2014-05-24 16:31 1036 查看

问题描述:

博主Linux刚入门,按照鸟哥装好CentOS6.5,准备用linux代替Windows,这样就打不成游戏。安装Broadcom官方驱动的时候存在编译问题,在后文中有比较详细的编译方法。

装好CentOS后发现一个奇怪的现象,在宿舍可以有线无线联网,但是在学校的图书馆可以搜到无线信号,但是不能分配IP地址,一开始以为是DHCP的问题,或者操作系统的问题,后来更换到Fedora20和Ubuntu 14.04 都是同样的情况,有线网络没有问题,无线网络在图书馆不能正常连接。经过多次网上查阅资料,发现是Broadcom的网卡问题。

lspci |grep Broadcom
03:00.0 Network controller: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter (rev 01)
iwconfig wlan0
wlan0     IEEE 802.11abg  ESSID:""  
          Mode:Managed  Frequency:2.437 GHz  Access Point: 96:74:2A:AC:44:CC   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
可以看到网卡BCM4313 802.11bgn是支持802.11n的信号的。但是官方发布的最新驱动是不支持802.11n的信号,所以出现了以上描述的图书馆不能上网的问题。估计图书馆的路由器提供的是802.11n only的信号。

测试环境:

Thinkpad E530

OS :Ubuntu 14.04 Fedora 20
Kernel:3.13.0-24-generic

OS:CentOS 6.5
Kernel: 2.6.32

驱动安装:

先去Broadcom官方下载最新的驱动,博主下载的是64 位,另外README文件最好自己阅读一下。
http://www.broadcom.com/support/802.11/linux_sta.php

mkdir wireless-wl
 tar xf hybrid-v35_64-nodebug-pcoem-6_30_223_141.tar.gz -C wireless-wl
cd wireless-wl


CentOS 6.5 编译方式
make clean
make APT=WEXT

Ubuntu14.04 或Fedora 20编译方式,内核版本区别,这里编译稍微麻烦一些。需要下载一个补丁http://download.csdn.net/detail/th1019/7394595

把补丁放在 wireless-wl目录下

patch -p2 < wl_3.10_19717.patch
make


编译生成wl.ko文件,然后去掉系统自带的开源驱动


lsmod  | grep "brcmsmac\|b43\|ssb\|bcma\|wl"
 rmmod b43
 rmmod brcmsmac
 rmmod ssb
 rmmod bcma
 rmmod wl

echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf
echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
echo "blacklist brcmsmac" >> /etc/modprobe.d/blacklist.conf

加载驱动

cp wl.ko /lib/modules/`uname -r`/kernel/net/wireless/
depmod
modprobe wl
Broadcom驱动安装完成,已经可以连接网络,但是802.11n的网络仍旧连接不上。

添加外置网卡

博主采用小米随身WIFI,(非广告)别黑。。。。你也可以选用360或者猎豹,注意根据随身WIFI的芯片选择相应驱动
小米WIFI和360WIFI二代都是宣统 Rlink的MT7601U芯片,先去官方下载驱动http://www.mediatek.com/en/downloads/mt7601u-usb/,需要用登记一下,估计是方便做驱动统计和反馈吧。废话少说,开始装驱动。
tar xf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2 
cd  xf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913
修改common/rtusb_dev_id.c文件
#ifdef MT7601U
{USB_DEVICE(0x2717,0x4106)}, /* Xiaomi Wifi */
{USB_DEVICE(0x148f,0x760b)}, /* 360 Wifi */

然后

make
make install


如果有编译错误需要队驱动文件目录 os/linux/rt_linux.c 的1211行和1222行修改

pOSFSInfo->fsuid = current_fsuid();
pOSFSInfo->fsuid = current_fsuid();
修改为

pOSFSInfo->fsuid = *(int *)&t_fsuid();
pOSFSInfo->fsuid = *(int *)&t_fsuid();
再编译

make 
make install
modprobe mt7601Usta


大功告成!

重新启动,当系统遇见不能连接的802.11n的信号,小米WIFI或者360WIFI就能解决。其他时候使用Broadcom网卡。

感谢博主 MichaelBaker 无私分享


参考博文地址:http://blog.csdn.net/michaelbaker/article/details/23597741

如果有其他问题,可以留言交流,博主水平有限,会继续努力!

本文原创,转载请注明出处,Thx!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: