电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

移植wpa_supplicantVIP免费

移植wpa_supplicant_第1页
1/7
移植wpa_supplicant_第2页
2/7
移植wpa_supplicant_第3页
3/7
移植wpa_supplicant到arm-linux宿主機開發環境:Ubuntu10.10/Fedora1232bits目標開發板:Mini6410arm-linux內核Kernel:2.6.38交叉編譯器CROSS_COMPILE:arm-linux-gcc-4.5.11.移植準備a.下載openssl源代碼(使用openssl-0.9.8e)官網:http://www.openssl.org/source/源碼:http://www.openssl.org/source/openssl-0.9.8e.tar.gzb.下載wpa_supplicant源代碼(使用wpa_supplicant-0.7.3)官網:http://hostap.epitest.fi/wpa_supplicant/源碼:http://hostap.epitest.fi/releases/wpa_supplicant-0.7.3.tar.gzc:下載:libtommath源代碼(libtommath_0.39.orig.tar.gz)源碼:ftp://220.165.12.10/debian/pool/main/libt/libtommath/libtommath_0.39.orig.tar.gz2.編譯openssla.將openssl解到wpa_supplicant/patches目錄下#tarzxvfopenssl-0.9.8e.tar.gz-C../wpa_supplicant-0.7.3/patches/b.將openssl-0.9.8-tls-extensions.patch拷貝到wpa_supplicant/patches/openssl-0.9.8e目錄下#cpwpa_supplicant-0.7.3/patches/openssl-0.9.8e-tls-extensions.patchopenssl-0.9.8e/c.patchopenssl-0.9.8e#patch-p1>產生libssl.a及libcrypto.a方式2.#./Configureno-asm--prefix=/usr/local/openssl#makeCC=arm-linux-gccinstall>>產生libssl.so及libcrypto.so3.編譯libtommath-0.39a.將libtommath-0.39解到/usr/src/目錄下#tarzxvflibtommath_0.39.orig.tar.gz-C/usr/srcb.編譯libtommath#makeCC=arm-linux-gcc產生libtommath.a4.編譯wpa_supplicant(增加WPS功能)#cpdefconfig.configCONFIG_DRIVER_WEXT=yCONFIG_IEEE8021X_EAPOL=yCONFIG_EAP_FAST=yCONFIG_TLS=opensslCONFIG_TLS=internalCONFIG_INTERNAL_LIBTOMMATH=yifndefCONFIG_INTERNAL_LIBTOMMATHLTM_PATH=/usr/src/libtommath-0.39CFLAGS+=-I$(LTM_PATH)LIBS+=-L$(LTM_PATH)LIBS_p+=-L$(LTM_PATH)endifCONFIG_WPS=yCONFIG_EAP_WPS=y#vim.configCC=gcc-L/usr/local/ssl/lib/CFLAGS+=-I/usr/local/ssl/include/LIBS+=-L/usr/local/ssl/lib/#makeCC=arm-linux-gccinstall修正WEP中open/share無法正確選擇WPA_SUPPLICANT當遇到WEP加密時,由於無法判斷是採用OPEN/SHARE,通常會在聲稱.conf檔中加入auth_alg=OPENSHARED(至少Android遇到),但事實上某些wifi網卡驅動不能實現同時OPEN和SHARED同時設置,任意時刻只能用一個,這裏給出解決不能同時設置的方法,在wpa_supplicant.c:wpa_supplicant_associate()中加入以下內容:if(ssid->auth_alg){algs=0;if(ssid->auth_alg&WPA_AUTH_ALG_OPEN)algs|=AUTH_ALG_OPEN_SYSTEM;if(ssid->auth_alg&WPA_AUTH_ALG_SHARED)algs|=AUTH_ALG_SHARED_KEY;if(ssid->auth_alg&WPA_AUTH_ALG_LEAP)algs|=AUTH_ALG_LEAP;wpa_printf(MSG_DEBUG,"Overridingauth_algselection:0x%x",algs);//新增這段if((algs&AUTH_ALG_OPEN_SYSTEM)&&(algs&AUTH_ALG_SHARED_KEY)){algs=AUTH_ALG_SHARED_KEY;G_TRY_CONNECT++;if(G_TRY_CONNECT>=4){algs=AUTH_ALG_OPEN_SYSTEM;wpa_printf(MSG_DEBUG,"RAYDEBUG--------------------changetoALG_OPEN_SYSTEM");}}}Wpa_supplicant.conf說明#Arm-linux/linux//建立socketctrl_interface=/var/run/wpa_supplicantctrl_interface_group=wheelupdate_config=1(可以在wpa_cli中保存配置檔)#ap_scan=1#Android//建立socketctrl_interface=DIR=/data/misc/wifictrl_interface_group=wifiupdate_config=1(可以在wpa_cli中保存配置檔)#ap_scan=1##WPA/WPA2#WPA-PSK,PSKuseASCII(只要密碼正確就允許)#network={#ssid="AcSiP"//AP名稱#psk="1111111111"//密碼##Higherpriorityusefirst#priority=5#}#Thesameasabove,assignSSIDforAPwithoutbrocastSSID(針對那些拒絕廣播SSID的AP)#network={#network={#ssid="secondssid"#scan_ssid=1#psk="verysecretpassphrase"#priority=2#}#AllowWPA-PSKonly.Allowanyvalidpasswordse...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

移植wpa_supplicant

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部