配色: 字号:
wpa_supplicant配置
2014-06-17 | 阅:  转:  |  分享 
  
wpa_supplicant无线网络配置
(2010-09-2116:19:31)
HYPERLINK"javascript:;"转载
标签:
HYPERLINK"http://uni.sina.com.cn/c.php?t=blog&k=%D4%D3%CC%B8&ts=bpost&stype=tag"\t"_blank"杂谈分类:HYPERLINK"http://blog.sina.com.cn/s/articlelist_1430674247_5_1.html"\t"_blank"WIFI目前可以使用wireless-tools或wpa_supplicant工具来配置无线网络。请记住重要的一点是,对无线网络的配置是全局性的,而非针对具体的接口。
wpa_supplicant是一个较好的选择,但缺点是它不支持所有的驱动。请浏览wpa_supplicant网站获得它所支持的驱动列表。另外,wpa_supplicant目前只能连接到那些你已经配置好ESSID的无线网络。wireless-tools支持几乎所有的无线网卡和驱动,但它不能连接到那些只支持WPA的AP。
经过编译后的wpa_supplicant源程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
如何用wpa_supplicant使能一个wifi连接?
Stepbystep:
1、运行wpa_supplicant程序;
执行:/system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_supplicant.conf
其中:
-d:增加调试信息
-Dwext:wext,驱动名称
-iwlan0:wlan0,网络接口名称
/system/bin/wpa_supplicant:wpa_supplicant可执行程序path
/data/misc/wifi/wpa_supplicant.conf:wpa_supplicant的配置文件path
2、运行命令行工具wpa_cli;
执行:wpa_cli-iwlan0-p/data/system/wpa_supplicant
注,-p/data/system/wpa_supplicant中的wpa_supplicant并不是可执行程序,而是个控制套接字。
此时会进入交互模式。其中交互模式的命令如下表:
FullcommandShortcommandDescriptionstatusstatdisplaysthecurrentconnectionstatusdisconnectdiscpreventswpa_supplicantfromconnectingtoanyaccesspointquitqexitswpa_cliterminatetermkillswpa_supplicantreconfigurereconreloadswpa_supplicantwiththeconfigurationfilesupplied(-cparameter)scanscanscansforavailableaccesspoints(onlyscansit,doesn''tdisplayanything)scan_resultscan_rdisplaystheresultsofthelastscanlist_networkslist_ndisplaysalistofconfigurednetworksandtheirstatus(activeornot,enabledordisabled)select_networkselect_nselectanetworkamongthosedefinedtoinitiateaconnection(ieselect_network0)enable_networkenable_nmakesaconfigurednetworkavailableforselection(ieenable_network0)disable_networkdisable_nmakesaconfigurednetworkunavailableforselection(iedisable_network0)remove_networkremove_nremovesanetworkanditsconfigurationfromthelist(ieremove_network0)add_networkadd_naddsanewnetworktothelist.Itsidwillbecreatedautomaticallyset_networkset_nshowsaveryshortlistofavailableoptionstoconfigureanetworkwhensuppliedwithnoparameters.
Seenextsectionforalistofextremelyusefulparameterstobeusedwithset_networkandget_network.get_networkget_ndisplaystherequiredparameterforthespecifiednetwork.Seenextsectionforalistofparameterssave_configsave_csavestheconfiguration
设置网络的基本格式:set_network[]
显示网络信息的基本格式:get_network
相应的参数如下表:
KeyDescriptionParametersssidAccesspointnamestringid_strStringidentifyingthenetworkstringpriorityConnectionpriorityoverotherAPsnumber(0beingthedefaultlowpriority)bssidMacaddressoftheaccesspointmacaddressscan_ssidEnable/disbalessidscan0,1,2key_mgmtTypeofkeymanagementWPA-PSK,WPA_EAP,NonepairwisePairwiseciphersforWPACCMP,TKIPgroup=TKIPGroupciphersforWPACCMP,TKIP,WEP104,WEP40pskPre-SharedKey(clearorencrypted)stringwep_key0WEPkey(upto4:wep_key[0123])stringeapExtensibleAuthenticationProtocolMD5,MSCHAPV2,OTP,GTC,TLS,PEAP,TTLSidentityEAPidentitystringstringpasswordEAPpasswordstringca_certPathnametoCAcertificatefile/full/path/to/certificateclient_certPathnametoclientcertificate/full/path/to/certificate(PEM/DER)private_keyPathnametoaclientprivatekeyfile/full/path/to/private_key(PEM/DER/PFX)eg.1、连接无加密的AP
>add_network(Itwilldisplayanetworkidforyou,assumeitreturns0)
>set_network0ssid"666"
>set_network0key_mgmtNONE
>enable_network0
>quit
eg.2、连接WEP加密AP
>add_network(assumereturn1)
>set_network1ssid"666"
>set_network1key_mgmtNONE
>set_network1wep_key0"yourappassword"
>enable_network1
eg.3、连接WPA-PSK/WPA2-PSK加密的AP
>add_network(assumereturn2)
>set_network2ssid"666"
>set_network2psk"yourpre-sharedkey"
>enable_network2
到此,wifi模块就能连接上AP了。
3、以上是通过命令行工具wpa_cli来实现wifi网络的连接。当然,也可以通过wpa_supplicant的配置文件来实现连接。
再回顾下运行wpa_supplicant时执行的命令:
/system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_supplicant.conf
我们在执行时加上了-c/data/misc/wifi/wpa_supplicant.conf,我们可以将我们要连接的AP的设置以一定的格式写入wpa_supplicant.conf配置文件中即可。
eg.
ctrl_interface=DIR=/data/system/wpa_supplicantGROUP=systemupdate_config=1
network={
ssid="myaccesspoint"
proto=WPA
key_mgmt=WPA-PSK
psk="youpasswords"
}
献花(0)
+1
(本文系海漩涡首藏)