我使用的是
Ralink的RT73usb,wifi模块,刚开始的时候,极度坎坷,,,但是后来,
第一步:驱动下载,
去Ralink的官网,去下载。
www.ralink tech.com
驱动的下载,当然轻松了,但是,编译却遇到问题,
我出现的情况,较少,
tar xf 2009_0713_RT73_Linux_STA_Drv1.1.0.3.zip
解压后
进入目录中有两个目录
Module WPA_Supplicant-0.5.8
驱动 网络工具
驱动编译过程中提示我,结构体中无某个成员。
wireless_handlers;
它的定义在,<kernel>/include/linux/netdevice.h + 357
具体代码如下:
#ifdef CONFIG_WIRELESS_EXT
const struct iw_handler_def * wireless_handlers;
struct iw_public_data * wireless_data;
#endif
可以看出,只有定义了这个宏才能有这个成员,
在目录中找rt_config.h文件
这是,rtmp_main.c的头文件
在其中靠前的部分,定义一个宏。
make
问题解决。
拷贝rt73.ko到开发板的根目录。
移植 wpa_supplicant
刚开始不知道它是什么东西,后来,发现,在Makefile中修改根本没有用。只有直接写环境变量了。
不过修改后编译却不通过了,因为,没有openssl支持。改Makefile不行,就也直接改环境变量。
现下载 openssl
http://www.openssl.org/source/
下最新版的就可以
./Configure linux-elf-arm -DB_ENDIA linux"arm-linux-gcc" --perfix=/openssl
make && make install
生成好之后,就可以解决,主角了
cd wpa_supplicant
cp defconfig .config
vi .config
在末尾加入
CC=arm-linux-gcc -L/openssl/lib
CFLAGS += -I/openssl/include/
LIBS += -L/openssl/lib/
make
它会生成三个可执行文件,wpa_supplicant ,,,,wpa_cli,,,,wpa_passphrase 拷贝到开发板的根目录。
就可以了。
现在就可以转到开发板了,理论上说,现在还没有完事但是,希望大家可以先从开发版开始,然后遇到问题再转在主机,如果你没有被绕晕的华,会有收获。在这之前:我的s3c2410 使用的是 make s3c2410_defconfig 配置的。
再加上一些,其他的辅助驱动,但是主体上是,defconfg,,,如果想使用wifi首先是对,无线模块的支持。
把Network,Device中的wireless都只选第一个,或是说,只打开,就可以。不用加别的,
之气,还有一个是,PACKET 的选项,这个选项是在应用程序发送原始数据包时使用的。如果内核不支持原始数据包,那么,程序无法运行。我使用的是2.6.22的内核,
这个选项的位置是,Networking-->Networking support --->Networking options--->Packet socket ###第一个就是
顺手把DHCPsupport 也加上。
主机上的问题就是将内核更新至可以支持wifi
开发板,,我使用的是NFS文件系统,在程序运行起来之后,可能会提示你无法初始化,控制接口。
在开发板的根目录建立
mkdir /var/run/ -p
目录结构,wpa_supplicant会访问这个路径。
wpa_supplicant 还需要一个配置文件才能正常工作。
这个文件在,wpa的源码目录中有模板,可以照写。在examples目录中。