最近老师给了个新任务,要作项目里的无线通信,于是,首先要在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 |
下载: | 下载 |
|
阅读(2334) | 评论(0) | 转发(0) |