
配置wpa_supplicant
参照:http://douya.com/bbs/viewtopic.php?f=26&t=34834
在/etc目录下面新建wpa_supplicant.conf文件,内容样本:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=root
ap_scan=0
network={
key_mgmt=IEEE8021X
eap=PEAP
pairwise=CCMP TKIP
identity="学校登录id"
anonymous_identity="[email protected]"
password="学校登录密码"
ca_cert="/etc/certs/Equifax_Secure_CA.pem"
phase1="peaplabel=1"
phase2="auth=MSCHAPV2"
priority=1
}
最后,用命令行进行启动
wpa_supplicant -B -i eth0 -c/etc/wpa_supplicant.conf -D wired
编写一个staff.conf文件,使用wpa-eap认证方式:
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
scan_ssid=1
ssid="UMRnet_staff"
key_mgmt=WPA-EAP
eap=PEAP
identity="[email protected]"
password="yourpassword"
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
然后运行这个命令来尝试802.1x认证:
wpad wpa_supplicant -b br-wan -i wlan0-1 -D nl80211 -c /etc/staff.conf
尝试认证过程中遇到过的一些问题和解决办法:
- 运行上面命令后无线网络断掉,内部、外部无线网络都断掉,解决办法:用网线连接路由器的Lan来调试;
- 找不到lan接口、wlan接口的问题,以及wlan中找不到ssid的问题,文章2中介绍的是lan,需要改conf文件为wlan,scan_ssid从0改为1等,运行的命令也与文章中不同;
- 认证不通过的问题,一般是.conf文件各种参数设置有问题,参考文章4来修改设置;
- 显示认证通过,但接下来又显示认证被断开,reason=2和reason=3,查了好些资料,说是先通过了认证到后面又断开了,百思不得其解,我又改了用户名/密码,直接就显示认证错误,说明曾经通过了认证,但估计是后面其它地方的设置不符合还需要修改;
- 再复制staff.conf到/var/run/wpa_supplicant-wlan0-1.conf,还是不能解决,又参照文章2查看和修改/etc/config/wireless 终于是可以通过认证,ping通外面的网络了!
再接下来就是设法用无线中继、添加WiFi密码、自动通电设置:
- 找了半天终于找到需要修改的核心是/etc/config/wireless这个文件,估计/www/中的web管理界面中相关的部分就是读取和写入这个文件,默认是不支持802.1x认证,现在人工来修改这个文件实现:
config wifi-device 'radio0'
option noscan '1'
option type 'mac80211'
option hwmode '11ng'
option macaddr '00:15:6d:ae:a3:d3'
option htmode 'HT40-'
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'RX-STBC1'
list ht_capab 'DSSS_CCK-40'
option channel '5'
config wifi-iface 'ap_g'
option device 'radio0'
option mode 'ap'
option network 'lan'
option ssid 'WiFi'
option encryption 'psk2'
option key 'innerpassword'
config wifi-iface 'stacfg'
option device 'radio0'
option mode 'sta'
option network 'wan' option ssid 'UMRnet_staff'
option encryption 'wpa2'
option identity '[email protected]'
option password 'yourpassword'
option eap_type 'peap'
option auth 'MSCHAPV2'
这样就算大功告成了,运行网络重启命令就可以实现需要的网络功能:
/etc/init.d/network restart
这个命令运行后,/var/run/wpa_supplicant-wlan0-1.conf的内容也随之改变了,不再需要我另外设置的staff.conf或者自己修改wpa_supplicant-wlan0-1.conf,这说明wpa_supplicant-wlan0-1.conf的内容是自动从/etc/config/wireless读取生成的,而这个wireless的设置我也是摸索了一阵子,从文章5才得到正确的设置参数资料。
wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台 运行wpa_supplicant,可以使用wpa_cli来搜索、设置、和连接网络等,大部分情况下编辑好配置文件,运行wpa_supplicant 就可以连通网络了,创建一个wpa_supplicant.conf,键入以下内容:
#可有可无,没有的话无法用wpa_cli terminate来关闭wpa_supplicant ctrl_interface=/var/run/wpa_supplicant # 确保只有root用户能读取WPA的配置,可有可无,尤其是在嵌入式设备上 ctrl_interface_group=0 # 使用wpa_supplicant来扫描和选择AP,也可以设置成0或2,但只有1才能正确工作 ap_scan=1 network={ #AP的名字 ssid="my_network" #AP的key psk="my_key" }
配置文件弄好后就可以运行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指定配置文件。
接下来就可以看下网络是否连通了:
bash# iwconfig
bash# udhcpc -i eth1 -n
以下 : From http://blog.chinaunix.net/u1/38994/showart_1161421.html
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通信了


相关文章本文地址:https://blog.sxx1314.com/linux/120.html
版权声明:若无注明,本文皆为“unix 软硬件 技术宅 ”原创,转载请保留文章出处。百度已收录















