通过脚本调试miracast的p2p部分

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wirelessdisplay/article/details/56833189
     在进行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

猜你喜欢

转载自blog.csdn.net/wirelessdisplay/article/details/56833189
P2P