当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [教学]在Ubuntu 5.10安装Realtek 8180的无线网卡(含deb包)
帖子发表于 : 2005-11-30 0:08 

注册: 2005-11-25 11:57
帖子: 32
送出感谢: 0 次
接收感谢: 0 次
我的笔记本用的是一张Cardbus接口的802.11b的无线网卡。网卡的生产商是DWnet(中怡数宽),型号是WLB1100。网卡用的802.11b处理芯片是Realtek的8180,无线射频芯片是Philips SA2400。Realtek 818x系列芯片+Philips的SA2400,这是很多无线网卡的标准组合。Realtek 818x芯片组的网卡,可以通过三种不同的方式驱动。
1、使用 ndiswrapper,然后用Realtek芯片的Windows驱动程序。很多在Linux没有驱动程序的网卡都可以通过这种方式来驱动,不过一来用ndiswrapper实际上还是用到了close source的驱动程序;二来Windows的驱动程序也不能利用Realtek网卡的丰富功能(包括AP、Ad-hoc等链接方式)。所以这只是最后的选择。http://forum.ubuntu.org.cn/viewtopic.php?t=2764 这篇文章提供了使用ndiswrapper的方法。
2、使用 realtek 自己提供的Linux驱动程序。realtek的Linux支持中规中矩,驱动程序也做得不错。不过我们现在用的kernel是 2.6.12 的,使用了新的module格式,驱动程序也不支持。而且这款驱动程序实际上也是close source的,我也不太喜欢用。
3、不过值得庆幸的是,Realtek作为低价位的芯片生产商,永远不乏用户。其中便有geek等级的用户为它编写了Linux下的完全开源的驱动程序,就是rtl8180-sa2400系列的驱程。现在rtl8180-sa2400已经使用了新的架构重新开发,新的驱动可以应用在 2.6.12 的内核上。想要看你的网卡是否被这款驱动程序支持,可以看看他的主页:http://rtl8180-sa2400.sourceforge.net

下面说一下这个驱程的安装要点。

首先,因为我们需要编译内核,所以需要内核的源码支持。而编译内核不能用默认的gcc-4.0版本,我们需要安装gcc-3.4。
代码:
$ sudo apt-get install gcc-3.4 linux-source-2.6.12
$ cd /usr/src
$ sudo tar -jxf linux-source-2.6.12.tar.bz2
$ cd linux-source-2.6.12
$ sudo cp /boot/config-$(uname -r) .config
$ sudo make oldconfig

修改Makefile中的EXTRAVERSION,例如我的是-10-686。
代码:
$ sudo make bzImage


然后我们要从rtl8180-sa2400的CVS中获取最新版本的驱程。如果你还没安装cvs的话,可以从源中安装:
代码:
$ sudo apt-get install cvs

获取了cvs之后,我们就可以登录sourceforge的服务器,下载rtl8180-sa2400的代码。下面截取至我的安装记录:
代码:
kid@venus:~/Build$  cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/rtl8180-sa2400 login
Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/rtl8180-sa2400
CVS password:

当询问CVS密码的时候,直接回车。
然后继续执行:
代码:
kid@venus:~/Build$  cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/rtl8180-sa2400 co -P ieee80211 rtl818x-newstack
cvs checkout: Updating ieee80211
U ieee80211/LICENSE
U ieee80211/Makefile
U ieee80211/README
U ieee80211/ieee80211.h
U ieee80211/ieee80211_crypt.c
U ieee80211/ieee80211_crypt.h
U ieee80211/ieee80211_crypt_ccmp.c
U ieee80211/ieee80211_crypt_tkip.c
U ieee80211/ieee80211_crypt_wep.c
U ieee80211/ieee80211_module.c
U ieee80211/ieee80211_rx.c
U ieee80211/ieee80211_softmac.c
U ieee80211/ieee80211_softmac_wx.c
U ieee80211/ieee80211_tx.c
U ieee80211/ieee80211_wx.c
cvs checkout: Updating rtl818x-newstack
U rtl818x-newstack/AUTHORS
U rtl818x-newstack/CHANGES
U rtl818x-newstack/COPYING
U rtl818x-newstack/INSTALL
U rtl818x-newstack/LICENSE
U rtl818x-newstack/Makefile
U rtl818x-newstack/README
U rtl818x-newstack/README.adhoc
U rtl818x-newstack/README.master
U rtl818x-newstack/a
U rtl818x-newstack/ieee80211.h
U rtl818x-newstack/ieee80211_crypt.h
U rtl818x-newstack/r8180.h
U rtl818x-newstack/r8180_93cx6.c
U rtl818x-newstack/r8180_93cx6.h
U rtl818x-newstack/r8180_core.c
U rtl818x-newstack/r8180_gct.c
U rtl818x-newstack/r8180_gct.h
U rtl818x-newstack/r8180_hw.h
U rtl818x-newstack/r8180_max2820.c
U rtl818x-newstack/r8180_max2820.h
U rtl818x-newstack/r8180_pm.c
U rtl818x-newstack/r8180_pm.h
U rtl818x-newstack/r8180_rtl8225.c
U rtl818x-newstack/r8180_rtl8225.h
U rtl818x-newstack/r8180_rtl8255.c
U rtl818x-newstack/r8180_rtl8255.h
U rtl818x-newstack/r8180_sa2400.c
U rtl818x-newstack/r8180_sa2400.h
U rtl818x-newstack/r8180_wx.c
U rtl818x-newstack/r8180_wx.h
kid@venus:~/Build$

OK. 现在我们可以看见当前目录中生成两个新的目录:ieee80211 和 rtl818x-newstack。ieee80211是 Realtek 需要用到的 802.11 协议的driver,与系统本身的driver有所不同,所以必须安装。而rtl818x-newstack是818x系列(除8187)的驱程。
小提示:如果你用的是Realtek 8187芯片(802.11b/g)的网卡,可以checkout rtl8187-newstack,获取8187芯片的驱程。
下面我们就可以开始编译驱动了。
代码:
kid@venus:~/Build$ cd ieee80211/
kid@venus:~/Build/ieee80211$ ls
CVS                     ieee80211_crypt_tkip.c  ieee80211_rx.c          ieee80211_wx.c
ieee80211_crypt.c       ieee80211_crypt_wep.c   ieee80211_softmac.c     LICENSE
ieee80211_crypt_ccmp.c  ieee80211.h             ieee80211_softmac_wx.c  Makefile
ieee80211_crypt.h       ieee80211_module.c      ieee80211_tx.c          README
kid@venus:~/Build/ieee80211$ make KSRC=/usr/src/linux-source-2.6.12

比较遗憾的是ieee80211并没有自动安装的方法,我们需要手工把编译好的module拷贝到/lib/modules/`uname -r`中:
代码:
kid@venus:~/Build/ieee80211$ ls *.ko
ieee80211_crypt_ccmp-rtl.ko  ieee80211_crypt_tkip-rtl.ko  ieee80211-rtl.ko
ieee80211_crypt-rtl.ko       ieee80211_crypt_wep-rtl.ko
kid@venus:~/Build/ieee80211$ sudo rm /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ieee80211/* # !!此步危险,请先备份!
kid@venus:~/Build/ieee80211$ sudo cp *.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ieee80211

安装好以后,我们可以继续编译rtl8180的驱程。
代码:
kid@venus:~/Build$ cd rtl818x-newstack/
kid@venus:~/Build/rtl818x-newstack$ ls
a                  ieee80211.h    r8180_core.c     r8180_max2820.h  r8180_rtl8255.h  README.adhoc
AUTHORS            INSTALL        r8180_gct.c      r8180_pm.c       r8180_sa2400.c   README.master
CHANGES            LICENSE        r8180_gct.h      r8180_pm.h       r8180_sa2400.h
COPYING            Makefile       r8180.h          r8180_rtl8225.c  r8180_wx.c
CVS                r8180_93cx6.c  r8180_hw.h       r8180_rtl8225.h  r8180_wx.h
ieee80211_crypt.h  r8180_93cx6.h  r8180_max2820.c  r8180_rtl8255.c  README
kid@venus:~/Build/rtl818x-newstack$ make KSRC=/usr/src/linux-source-2.6.12

然后我们就可以安装它:
代码:
kid@venus:~/Build/rtl818x-newstack$ sudo make install KSRC=/usr/src/linux-source-2.6.12
kid@venus:~/Build/rtl818x-newstack$ sudo depmod -ae

这样我们的网卡驱动程序就编译安装完成了。

下面是这篇文章的最后一步,要把wlan设备填进modprobe的启动参数中。
代码:
kid@venus:~/Build/rtl818x-newstack$ sudo echo "install wlan0 modprobe ieee80211_crypt-rtl && modprobe ieee80211_crypt_wep-rtl && modprobe ieee80211-rtl && modprobe r8180" > /etc/modprobe.d/wireless-r8180
kid@venus:~/Build/rtl818x-newstack$ sudo echo "remove wlan0 modprobe -r r8180 && modprobe -r ieee80211_crypt_wep-rtl && modprobe -r ieee80211-rtl && modprobe -r ieee80211_crypt-rtl" >> /etc/modprobe.d/wireless-r8180
kid@venus:~/Build/rtl818x-newstack$ sudo modprobe wlan0


现在就Realtek的驱动程序就已经安装好了。下面的步骤我们可以按照 http://forum.ubuntu.org.cn/viewtopic.php?t=2764 提到的Step #6,从这一步开始进行无线网络的设置。

update: deb包的安装
请首先将 /lib/modules/2.6.12-10-686/kernel/drivers/net/wireless/ieee80211 删除。(注意备份!)
代码:
sudo dpkg -i rtl818x-modules-2.6.12-10-686-i386.deb


附件:
rtl818x-modules-2.6.12-10-686-i386.deb.gz [100.5 KiB]
被下载 119 次
页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译