在最近的一次客戶端上的調試p2p的wifi display, 他們中的一半Android該調整了,整個前所以沒有太多的研究p2p過程連接, 客戶現在使用的非Android平台架構。 需要協助客戶這么多東西debug
之前debug wifi 連接時用到了wpa_cli 來協助調試連接。那p2p怎么去調試呢? 能夠用wpa_cli協助調試嗎?
查看了代碼有了肯定的答案, 命令中有p2p_find , p2p_connect , p2p_stop_find ...非常多命令
那這些命令怎么使用呢?
首先你編譯wpa_supplicant 時候須要配置CONFIG_P2P這個宏。
run wpa_supplicant
wpa_supplicant -iwlan1 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -N -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf
用wpa_cl連接你的你的wpa_supplicant p2p deamon
wpa_cli -iwlan1
wpa_supplicant$ sudo ./wpa_cli -iwlan1 wpa_cli v2.0-devel_rtw_r8680.20130821 Copyright (c) 2004-2012, Jouni Malinen <j@w1.fi> and contributors This software may be distributed under the terms of the BSD license. See README for more details. Interactive mode |
連線流程
>p2p_find
啟動p2p 掃面設備, 假設掃描到p2p設備, wpa_supplciant 會發一個P2P_EVENT_DEVICE_FOUND給wpa_cli提示已經掃描到p2p設備了 能夠去連線了
> p2p_find OK <3>P2P-DEVICE-FOUND 16:b9:68:57:da:de p2p_dev_addr=16:b9:68:57:da:de pri_dev_type=10-0050F204-5 name='HUAWEI C8816D_de36' config_methods=0x188 dev_capab=0x24 group_capab=0x0 <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE |
>p2p_connect device_mac pbc
表示用push button connect的方式進行p2p 連接, 中間填寫掃到設備的mac地址,此時還有一端(Android手機)會彈出對話框提示是否連接,點擊連接,此時就正式進入P2P FORMATION 階段,待NEGO SUCCESS, 就會建立GROUP 由CLI連線GROUP owner.
> p2p_connect 16:b9:68:57:da:de pbc OK <3>P2P-FIND-STOPPED <3>P2P-DEVICE-FOUND 16:b9:68:57:da:de p2p_dev_addr=16:b9:68:57:da:de pri_dev_type=10-0050F204-5 name='HUAWEI C8816D_de36' config_methods=0x80 dev_capab=0x24 group_capab=0x2a <3>P2P-GO-NEG-SUCCESS <3>CTRL-EVENT-CONNECTED - Connection to 02:e0:4c:03:c0:86 completed (auth) [id=1 id_str=] <3>CTRL-EVENT-STATE-CHANGE id=1 state=9 BSSID=02:e0:4c:03:c0:86 SSID=DIRECT-Ku <3>CTRL-EVENT-EAP-STARTED 16:b9:68:57:da:de <3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1 <3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=254 <3>WPS-REG-SUCCESS 16:b9:68:57:da:de 1d40cd60-67ab-58bd-9fb4-bc914d0fb25c <3>P2P-GROUP-FORMATION-SUCCESS <3>P2P-GROUP-STARTED wlan1 GO ssid="DIRECT-Ku" freq=2412 passphrase="QM9ldAUy" go_dev_addr=02:e0:4c:03:c0:86 <3>WPS-SUCCESS <3>AP-STA-CONNECTED 16:b9:68:57:da:de p2p_dev_addr=16:b9:68:57:da:de |
over
結束流程:
>p2p_stop_find
顧名思義結束p2p掃描發現設備
>disconnect 斷開
>p2p_group_remove 建立與刪除p2p_group
>p2p_flush 拆除p2p 相關國家