1. 程式人生 > >通過指令碼除錯miracast的p2p部分

通過指令碼除錯miracast的p2p部分

     在進行miracast開發和除錯的過程中, 首先應該除錯P2P, 然後在除錯RTSP/媒體等工作.      除錯P2P的工作比較多: 新網絡卡除錯/新手機連線不上/手機連線速度慢/等等問題, 都需要現在P2P層面排除問題.       本文展示的是,如何通過指令碼來進行P2P除錯. 通過指令碼來P2P除錯,主要有兩點: 排除本身C/C++程式碼引入的問題/提高除錯效率.      指令碼如下:
#!/bin/sh
#刪除之前啟動的程式 killall -9 udhcpd killall -9 wpa_supplicant killall -9 wpa_cli
#解除安裝網絡卡驅動 rmmod bcmdhd
sleep 1
#啟動 #載入網絡卡驅動,本例以博通網絡卡說明 ./bcmdl -n nv_fw/bcm943569usbir_p102.txt nv_fw/fw_569a2_cusb.bin.trx
sleep 1 insmod bcmdhd.ko mv /dev/random /dev/random.bak ln -s /dev/urandom /dev/random
sleep 2 #啟動wpa_supplicant ./wpa_supplicant -Dnl80211 -c ./Broadcomm.conf -i wlan0 -dd &
sleep 2 #配置WFD及P2P引數
./wpa_cli -i wlan0 WFD_SUBELEM_SET 0 000600111c440014 ./wpa_cli -i wlan0 SET device_name miratest ./wpa_cli -i wlan0 p2p_group_add freq=5 ssid="direct-miratest"  vht ht40 persistent
sleep 2 #配置P2P地址 ifconfig p2p-wlan0-0 192.168.49.1
#啟動udhcpd udhcpd ./udhcpd.conf
#啟動互動指令碼 ./extest.sh

下面是互動指令碼extest.sh的內容 #!/usr/bin/expect -f
#啟動wps_cli,接收訊息 spawn ./wpa_cli -i p2p-wlan0-0 set timeout -1
#當收到手機發來的連線請求時,回覆wps_pbc while 1 { send "wps_pbc\n" expect { "*WPS-TIMEOUT" {;} "*WPS-PBC-DISABLE" {;} } }
#interact
對DLNA/Airplay/Miracast/Widi感興趣的同學可進QQ群 582349005交流。
也可訪問https://github.com/wirelessdisplay