Chinaunix首页 | 论坛 | 博客
  • 博客访问: 351736
  • 博文数量: 82
  • 博客积分: 3353
  • 博客等级: 中校
  • 技术积分: 742
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-20 19:13
文章分类

全部博文(82)

文章存档

2015年(1)

2014年(1)

2013年(1)

2012年(12)

2011年(3)

2010年(25)

2009年(37)

2008年(2)

我的朋友

分类: LINUX

2009-06-30 16:23:44

    最近老师给了个新任务,要作项目里的无线通信,于是,首先要在pc平台上实现,便开始了驱动编译。
无线网卡为Asus 的WL-167g,驱动是rt73。下面是我这几天编译过程的总结(很多内容源于网络的其他高手):
第一步:驱动的选择
    ASUS光盘自带的驱动,里面有个README.dat或者notice.doc,其中讲解了rt73驱动安装时的注意点。刚开始用这个一直编译不过,后来换了最新版本的,才能编译通过。
我用的驱动在上传文件里;

第二步:内核树的建立
    如果是ubuntu等的自带内核树的系统,那就没关系,可跳过。像fedora core版本的系统不带内核树,就要自己手动编译内核树。首先要下载kernel-***.src.rpm包,然后安装。
#rpm  -ivh  kernel-***.src.rpm
    进入到产生kernel.spec文件的文件夹下,运行
#sudo rpmbuild  -bp --target  i686  kernel.spec
会在BUILD文件夹里生成内核源代码,再进入内核代码
先运行 #make    完成后,再运行  #make install
全部结束,新内核生成,系统启动时会多了一个启动选择的,内核镜像在/boot/grub中,grub.conf或者menu.list中也有新的内容加入

rpmbuild的信息在最后。



第三步:驱动编译(下面的是在ubuntu8.04下过程)
    1、将驱动拷贝到/usr/src下,解压;
    2、进入到驱动的Module中,然后make,一切正常会生成rt73.ko文件
    3、利用sudo strip -S  rt73.ko可将该文件压缩成很小
    4、然后就是make  install
    5、再执行如下操作:
sudo ifconfig rausb0 down   #将网络设备rausb0卸下
sudo modprobe -r rt73usb      #将内核模块卸下
sudo modprobe -r rt2500usb
sudo modprobe -r rt2x00lib
       6、将上面模块设置非启动项,即装入黑名单blacklist,执行如下:
gksu gedit /etc/modprobe.d/blacklist (if you are using Ubuntu)
kdesu kate /etc/modprobe.d/blacklist (if you are using Kubuntu)
在文件里加入:
# Blacklist rt73usb, as it is a non-functional beta module which conflicts with the working rt73 module.
blacklist rt73usb
# Other modules that break rt73
blacklist rt2500usb
blacklist rt2x00lib

    7、加载模块:
sudo modprobe -v rt73
    8、检查是否已经加载了:
ifconfig -a
    9、编辑网络设备接口:
sudo ifconfig rausb0 up
sudo iwconfig rausb0 essid YOUR_NETWORK_NAME_HERE
sudo iwconfig rausb0 key YOUR_WEP_KEY_HERE_OR_"off"_FOR_NO_KEY

sudo dhclient rausb0       #让网络自动给设备分配ip地址

YOUR_NETWORK_NAME_HERE就是我们要使用的网络,比如我用的是TP-LINK
YOUR_WEP_KEY_HERE_OR_"off"_FOR_NO_KEY就是我们用的无线网络的密码

    9、要是上面一切顺利的话,现在ping  应该就能通了的。

以上主要参考下面网站内容:





关于rpmbuild:
rpmbuild的用法?
rpm是linux上一个非常好用的包管理工具,但是很多时候我们下载到的软件并不是一个rpm包,安装后就不好管理了;但是如果稍微留心一下就会发现,虽然开发者没有给我们直接提供一个现成的rpm包,但是关于制作rpm包的99%的工作已经帮我们做完了,就是spec文件的编写;只要我们发现源码包里面有一个.spec文件,我们就可以使用rpmbuild命令来自己制作rpm包了,制作完rpm包后再安装就比较好管理了,下面简单介绍一下rpmbuild的用法:

-bp 只作准备 (解压与打补丁)
-bc 准备并编译
-bi 编译并安装
-bl 检验文件是否齐全
-ba 编译后做成*.rpm和src.rpm
-bb 编译后做成*.rpm
-bs 只做成*.src.rpm

-tc -ti -ta -tb -ts 的功能类似,只是所需参数由spec文件变成tar包。

总体步骤概括:

当内核源码已存在在内核的 .src.rpm 文件中时,为内核源码提供一个独立的软件包就变得没有必要。因此,红帽企业 Linux 4 不再包括 kernel-source 软件包。需要这些内核源码的用户能在 kernel .src.rpm 文件中找到。
文件:2009_0206_RT73_Linux_STA_Drv1.1.0.2.tar.bz2
大小:330KB
下载:下载




阅读(2324) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~