svn wifi able / svn wif disable 關閉和打開wifi
adb shell 和adb區別!
常用的adb shell命令 :如果輸入命令無效'b,確認是不是在root目錄下!su切換
1. 打開wlan0
這個沒什麼好說的,ifconfig wlan0 up
命令如下:可以參考下自己init.xxx.rc是如何配置的,參數可能會不一樣。
wpa_supplicant –iwlan0 –Dnl80211 –c 配置文件 &
-i:指定網口;
-D:指定驅動類型;
-c:指定了wpa_supplicant的配置文件。
輸入:wpa_supplicant -d –iwlan0 –Dnl80211 –c/etc/wifi/wpa_supplicant.conf & 出現如下
所以就輸入:
執行完命令後:確保wpa_supplicant已經運行起來了,可以ps看下
2.啓動WPA_CLI
wpa_cli -i網口 -p socket所在路徑
例如像我剛纔那麼調用的話,則用下面命令啓動:
wpa_cli -iwlan0 -p /data/misc/wifi/sockets/
shell@n74001:/system/bin # wpa_cli -iwlan0 -p /data/misc/wifi/sockets/
4、掃描ap
輸入scan命令
依次輸入紅色標註的命令
> scan
OK
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=3 BSSID=00:00:00:00:00:00 SSID=
<3>CTRL-EVENT-SCAN-RESULTS
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=0 BSSID=00:00:00:00:00:00 SSID=
> 123456
wpa_supplicant有“CTRL-EVENT-SCAN-RESULTS ”的回覆,則可以輸入scan_results可以看到掃描結果,如下圖。
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> scan_results
bssid / frequency / signal level / flags / ssid
18:52:82:28:c3:1d 2467 -59 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] ChinaNet-Vz6E
14:75:90:f0:21:ec 2437 -56 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] Systemtec
fc:2f:ef:d8:99:68 2417 -77 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] YTZQ01
a8:57:4e:5b:61:28 2437 -80 [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS] hobartchina1811
fc:2f:ef:d8:99:69 2417 -77 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] YTZQ02
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> add_network
1
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
> set_network 1 ssid "Systemtec"
OK
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> set_network 1 key_mgmt WPA-PSK
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> set_network 1 psk "Net9400668600"
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> set_network 1 pairwise CCMP
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> set_network 1 group CCMP
OK
<3>CTRL-EVENT-SCAN-STARTED
> set_network 1 proto WPA2
OK
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
>
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
> enable_network 1
OK
<3>Trying to associate with 14:75:90:f0:21:ec (SSID='Systemtec' freq=2437 MHz)
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=5 BSSID=00:00:00:00:00:00 SSID=
<3>CTRL-EVENT-STATE-CHANGE id=1 state=6 BSSID=00:00:00:00:00:00 SSID=Systemtec
<3>Associated with 14:75:90:f0:21:ec
<3>CTRL-EVENT-STATE-CHANGE id=1 state=7 BSSID=14:75:90:f0:21:ec SSID=Systemtec
<3>CTRL-EVENT-STATE-CHANGE id=1 state=8 BSSID=14:75:90:f0:21:ec SSID=Systemtec
<3>WPA: Key negotiation completed with 14:75:90:f0:21:ec [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to 14:75:90:f0:21:ec completed [id=1 id_str=]
<3
> save
OK
步驟如下:
(1)“add_network”,這裏返回網絡ID 爲 1。
(2) 配置網絡的 SSID,執行 set_network 1 ssid AP 的 SSID。
(3)配置網絡的加密方式和密碼。
(4)啓動網絡,執行“enable_network 0”。
(5)收到“CTRL-EVENT-CONNECTED”表示連接成功。
6、分配IP
此時已經連接上ap,dhcp分配一個IP即可。
輸入 q 退出 wpa_cli,執行命令:dhcpcd wlan0
此時已經可以ping通了,在Android系統裏,還需要設置DNS這些,在Android裏,這些流程會有netd來完成,這裏就不說了。
順利ping通外網