本次移植主要是按照monopoly的博客http://blog.chinaunix.net/uid/7406469.html所述内容进行的,在此非常感谢博主monopoly。
这里主要是针对移植过程中遇到的具体问题作记录。
主要步骤:
a.下载官方驱动包,编译生成驱动模块;放了目标板加载;
b.下载openssl-1.0.0d,编译生成libssl.so和libcrypto.so放入目标板;
c.下载wpa_supplicant,编译生成wpa_supplicant可执行文件放入目标板;
d.如果需要做wifi的基本测试,则下载wireless_tools(主要有iwconfig,iwlist等管理工具)进行编译;
e.具体按<测试步骤>进行测试。
问题:
1.编译驱动时,将include/iface/rtmp_usb.h中的RXBULKAGGRE_SIZE,从12改为8。
2.编译内核时,需要做DHCP的支持,wireless的支持,PF_PACKET的支持:
DHCP:
-*- Networking support
Networking options --->
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
wireless:
Networking supportà
Wirelessà
-*-Wireless extensions
[*]Wireless extensions sysfs files
Device Driversà
Network device supportà
Wierless LANà
[*]Wireless LAN(IEEE 802.11)
Ralink driver support
PF_PACKET:
-*- Networking support
Networking options --->
<*> Packet socket
3.编译openssl时默认的是编译出静态库.a文件的,为了编译出.so,对于下载到的openssl包后,用"./Configure no-asm shared linux-elf-arm --prefix=/usr/local/arm/openssl"目录生成新的Makefile,修改Makefile中的CC,AR,RANLIB为相应编译环境。还有一点很重要,找到makefile中"pentium"相关的设置全删掉。编译完的.so可以/usr/local/arm/openssl目录下找到。
4.一定要注意,如果目标板中没有openssl的相关库,wpa_supplicant运行不会报错!
openssl用新的编译工具重新编译后,wpa_supplicant一定也要重新编译,否则现成的wpa_supplicant运行不会出错,但实际上会有问题!
5.wap_supplicant工具运行时,驱动要指定“-D wext”,而非"-D ralink",否则将找不到ralink驱动出错。
测试步骤:
1.将驱动源码中的文件"RT2870STA.dat"拷到目标板的"/etc/Wireless/RT2870STA/"目录下;
2.将驱动模块“rt3070sta.ko”拷到目标板应用目录下;
3.将"./wireless/"目录下的"libiw.so.29"拷到目标板的目录"/usr/lib/"下;将"./wireless/"目录下的其它可执行程序 拷到目标板的"/usr/bin"下;
4.将"libcrypto.so.1.0.0"和"libssl.so.1.0.0"两个文件拷到目标板的"/usr/lib"下;
5.将"wpa_supplicant"拷到目标板的"/usr/bin"目录下;
6.将"wpa_supplicant.conf"和"udhcpd.conf"两个文件拷到目标板的"/etc"目录下;
7.插上usb-wifi设备后,执行以下命令:
insmod rt3070sta.ko
ifconfig ra0 up
wpa_supplicant -D wext -B -ira0 -c /etc/wpa_supplicant.conf (注意修改这个配置文件.conf里面的ssid和psk)
udhcpc -b -i ra0 -s /etc/udhcpd.conf -p /var/ru/udhcpc.pid &
如果成功,可进行ping路由器了。
ps:
iwlist ra0 scan可列出所有AP;
iwconfig ra0 可察看ra0所接AP的具体情况。
阅读(4080) | 评论(0) | 转发(0) |