之前的博客实现了编译RT3070的驱动程序实现STA模式和SoftAP模式的wifi,这里实现另一种方式,貌似是现在比较新的,那两种也可实现就是略旧。
主机开发环境:ubuntu14.04
交叉编译器:arm-xilinx-linux-gnueabi-gcc
Linux内核版本:Linux-3.6.0
开发平台:zynq数字板
作者:zhu
感谢http://blog.csdn.net/zhengnice/article/details/51694474
和http://www.07net01.com/2015/07/888012.html两篇博客为本次开发提供的宝贵经验。
1:内核编译
内核是使用德致伦官方的xilinx内核linux-digilent-master,
github地址:德致伦linux-xilinx-master
我的CSDN下载地址:
内核配置用的之前的配置文件:digilent_zed_1_defconfig,
配置文件
然后参考网上的配置:
[*] Networking support --->
-*- Wireless --->
<*> cfg80211 - wireless configuration API
[ ] nl80211 testmode command
[ ] enable developer warnings
[ ] cfg80211 regulatory debugging
[*] enable powersave by default
[ ] cfg80211 DebugFS entries
[*] cfg80211 wireless extensions compatibility
[*] Wireless extensions sysfs files
{*} Common routines for IEEE802.11 drivers
[ ] lib80211 debugging messages
<*> Generic IEEE 802.11 Networking Stack (mac80211)
Default rate control algorithm (Minstrel) --->
[ ] Enable mac80211 mesh networking (pre-802.11s) support
[ ] Export mac80211 internals in DebugFS
[ ] Select mac80211 debugging features --->
Device Drivers --->
Generic Driver Options --->
(/sbin/hotplug) path to uevent helper
[ ] Maintain a devtmpfs filesystem to mount at /dev
[ ] Select only drivers that don't need compile-time external firmware
[ ] Prevent firmware from being built
-*- Userspace firmware loading support
[*] Include in-kernel firmware blobs in kernel binary
() External firmware blobs to build into the kernel binary
[ ] Driver Core verbose debug messages
[ ] Managed device resources verbose debug messages
[*] Network device support --->
[*] Wireless LAN --->
<*> Ralink driver support --->
< > Ralink rt2500 (USB) support
< > Ralink rt2501/rt73 (USB) support
<*> Ralink rt27xx/rt28xx/rt30xx (USB) support
[ ] rt2800usb - Include support for rt33xx devices
[ ] rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)
[ ] rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)
[ ] rt2800usb - Include support for unknown (USB) devices
[*] Ralink debug output
这样内核配置第一步就实现了STA模式,这里主要是加载了linux内核源码里面的驱动。
2:wifi工具移植
目前可以使用wireless-tools或wpa_supplicant工具来配置无线网络。但要注意对无线网络的配置是全局性的,而非针对具体的接口。wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。另外,wpa_supplicant目前只能连接到那些你已经配置好ESSID的无线网络。而wireless-tools支持几乎所有的无线网卡和驱动,但它不能连接到那些只支