还在搞8634,看不到头了。。唉。wireless_tools的缺点是不支持WPA认证,所以有必要把wpa_supplicant也移植过来。无线网卡是基于zydas芯片的,正好可以在网上搜到wpa_supplicant的zydas专用包:wpa_supplicant- 0.4.7_zydas_pre3.tar.gz
移植很简单,解包直接修改Makefile,把CC改成mipsel-linux-gcc,然后编译直接通过。编译完成后可以发现有几个可执行程序:wpa_supplicant,wpa_cli等。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
wpa_supplicant有一堆参数,可以把这些参数放在一个配置文件中,也可以直接在运行程序的时候指定。每次都要用的参数肯定还是存到配置文件里方便,创建一个wpa_supplicant.conf,键入以下内容(抄来的):
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
... 配置文件同时会存储网络配置,这取决于使用wpa_cli所做的操作。配置文件弄好后就可以运行wpa_supplicant了。在那之前当然要先插好无线网卡,载入驱动:
bash# insmod zd1211b.ko
bash# ifconfig eth1 up
bash# wpa_supplicant -B -ieth1 -Dzydas -c/etc/wpa_supplicant.conf
参数-B代表后台运行,-ieth1代表使用设备eth1,-Dzydas代表网卡芯片是zydas,-c指定配置文件。
接下来就可以使用wpa_cli来配置网络了,
bash# wpa_cli -ieth1 scan //搜索无线网
bash# wpa_cli -ieth1 scan_results //显示搜索结果
bash# wpa_cli -ieth1 add_network
bash# iwconfig eth1 essid "you_wifi_net"
bash# wpa_cli -ieth1 password 0 "password"
bash# wpa_cli -ieth1 enable_network
luther.gliethttp add here
-ieth1也是wpa_cli和wpa_supplicant进行unix方式进行进程见通信的文件名.
wpa_supplicant执行时会在/data/system/wpa_supplicant目录下创建eth1文件,所以就能unix通信了
阅读(2507) | 评论(0) | 转发(1) |