RT73 wifi无线网卡驱动移植过程

移植环境:

       主机操作系统:Ubantu 8.10

       目标系统:linux-2.6.22.6

       交叉编译器:arm-softfloat-linux-gnu-gcc-3.4.5

一、RT73驱动编译

1、 下载RT73驱动源码

http://www.ralinktech.com/网站上下载2009_0713_RT73_Linux_STA_Drv1[1].1.0.3.zip

解压unzip 2009_0713_RT73_Linux_STA_Drv1/[1/].1.0.3.zip

生成两个目录:

Module(驱动)  WPA_Supplicant-0.5.8(wpa网络工具)

2、 修改Makefile

5 #PLATFORM=PC

6 PLATFORM=CMPC

33 #EXTRA_CFLAGS += -DDBG

40 ifeq ($(PLATFORM),CMPC)

41 LINUX_SRC = /source/kernel/linux-2.6.22

42 endif

 

注:#EXTRA_CFLAGS += -DDBG 一定要关掉,否则终端会不停的循环打印扫描网络的信息

 

3、 配置内核支持wifi网络

否则会出现如下错误:

/mnt/sdc/rt73/2009_0713_RT73_Linux_STA_Drv1.1.0.3/Module/rtmp_main.c:1163: error: structure has no member named `wireless_handlers'

<*> Packet socket

配置完毕后,需要编译下内核,目的是使配置在include/linux/autoconfig.h中生效

 

1、  编译源码,生成rt73.ko

/rt73/2009_0713_RT73_Linux_STA_Drv1.1.0.3/Module# make

拷贝驱动到目标系统

#cp rt73.ko /source/rootfs/rt73/

 

2、  拷贝固件到目标系统

#cp rt73.bin /source/rootfs/etc/Wireless/RT73STA/

#cp rt73.rt73.dat /source/rootfs/etc/Wireless/RT73STA/

 

 

 

二、         移植wpa_supplicant

       因为现在的无线wifi网络大多是wpa加密。所以需要移植wpa_supplicant工具

1、 下载源码

http://hostap.epitest.fi/wpa_supplicant/

下载wpa_supplicant-0.7.2.tar.gz (openssl用到0.7.2提供的补丁)

下载wpa_supplicant-0.5.8.tar.gz  (最终工具版本)

#tar xvfz wpa_supplicant-0.7.2.tar.gz

#tar xvfz wpa_supplicant-0.5.8.tar.gz

下载www.openssl.org/source/openssl-0.9.8e.tar.gz

#tar zxvf openssl-0.9.8e.tar.gz

2、编译openssl库

将wpa_supplicant中的补丁拷贝到openssl中

# cp wpa_supplicant-0.7.2/patches/openssl-0.9.8e-tls-extensions.patch openssl-0.9.8e/

#cd openssl-0.9.8e

#mkdir  /usr/local/ssl

#vim  Makefile

CC= arm-softfloat-linux-gnu-gcc

AR= arm-softfloat-linux-gnu- r $(ARFLAGS) r

RANLIB= arm-softfloat-linux-gnu-ranlib

INSTALLTOP=/usr/local/ssl

OPENSSLDIR=/usr/local/ssl

#make 

#make install

在/usr/local/ssl目录下安装了ssl库

 

3、 编译wpa_supplicant

参照rt73驱动源码包中的2009_0713_RT73_Linux_STA_Drv1.1.0.3/ WPA_Supplicant-0.5.8/readme文件提示的步骤完成下面的操作

进入pa_supplicant-0.5.8.tar.gz解压生成的wpa_supplicant-0.5.8目录中:

#cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/driver_ralink.* ./

#cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/driver.h ./

#cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/events.c ./

#cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/wpa_supplicant.c ./

#cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/wpa_supplicant_i.h ./

#cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/defconfig ./

#cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/drivers.c ./

#cp ../2009_0713_RT73_Linux_STA_Drv1.1.0.3/WPA_Supplicant-0.5.8/Makefile ./

#cp defconfig   .config

#vim .config

CC= arm-softfloat-linux-gnu-gcc -L /usr/local/ssl/lib/
     CFLAGS += -I/usr/local/ssl/include/
     LIBS += -L/usr/local/ssl/lib/

#make

生成wpa_supplicant

#cp wpa_supplicant  /source/rootfs/bin

#cp wpa_supplicant-0.7.2/wpa_supplicant/examples/wpa-psk-tkip.conf /source/rootfs/etc/wpa_supplicant.conf

#vi /source/rootfs/etc/wpa_supplicant.conf

修改内容如下:

# WPA-PSK/TKIP

 

ctrl_interface=/var/run/wpa_supplicant

 

network={

      ssid="farsight"   //填写无线网络的的用户名

      key_mgmt=WPA-PSK

      proto=WPA

      pairwise=TKIP

      group=TKIP

      psk="12345678"   //填写密码

}

在开发板终端:

#mkdir –p /var/run/wpa_supplicant

 

4、 wireless_tools移植

下载wireless_tools.28.tar.bz2

#tar xvfj wireless_tools.28.tar.bz2

#cd wireless_tools.28

#mkdir ../wireless_tools

#vi Makefile

     PREFIX=$(PWD)/../wireless_tools

     CC= arm-softfloat-linux-gnu-gcc

     AR= arm-softfloat-linux-gnu-ar

#make

#make install

#cp ../wireless_tools/lib/*  /source/rootfs/lib/

#cp ../wireless_tools/sbin/*  /source/rootfs/sbin/

 

5、 设置开发板启动脚本

insmod /rt73/rt73.ko

ifconfig rausb0 192.168.0.12

/bin/wpa_supplicant -B -irausb0 –c /etc/wpa_supplicant.conf –Dralink

   无线网卡将被激活。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值