# Mode switch between Infra mode and Host Driven mode

define!$TESTING_CNT!100!
define!$PING_CNT!100!

wfa_control_agent_dut1!wlan_reset,interface,wl0!ID,$DUT_WTS_VERSION

info!Start Detect HD mode!
wfa_control_agent_dut1!wlan_initiation,interface,wl0,mode,hostdriven!ID,$DUT_WTS_VERSION
wfa_control_agent_dut1!detect_hd_start,send,enable,interval,500,hash,1a2b3c4d5e6f7980,datasize,1000,channel,11!ID,$DUT_WTS_VERSION
sleep!1!

wfa_control_agent_dut1!detect_hd_stop,interface,wl0!ID,$DUT_WTS_VERSION
wfa_control_agent_dut1!wlan_uninitiation,interface,wl0!ID,$DUT_WTS_VERSION

math!$RAND_NUMBER!rand!1:2:3:4:5:6:7:8:9:10!
math!$RAND_NUMBER!%!2!
if!$RAND_NUMBER!=!1!
GotoLine!39!
endif!

# Connect to 5G AP in infra mode
info!Start Infra mode(5G)!
wfa_control_agent_dut1!wlan_initiation,interface,wl0,mode,infra!ID,$DUT_WTS_VERSION
wfa_control_agent_dut1!wlan_connect,ssid,test5g,security,wpa2aes,password,12345678!ID,$DUT_WTS_VERSION
wfa_control_agent_dut1!wlan_ifconfig,interface,wl0,state,up,dhcp,1,ip,0.0.0.0!ID,$DUT_WTS_VERSION
wfa_control_agent_dut1!wlan_ifstate,interface,wl0!ID,$IF_MODE,$IF_IP_ADDRESS,$IF_SUB_NET,$IF_GATE_WAY
wfa_control_agent_dut1!send_ping,ip,$IF_GATE_WAY,pktsize,200,interval,10,sendcnt,$PING_CNT!ID,$PING_SEND_CNT,$PING_RECV_CNT

mexpr!$PING_SEND_CNT!%!90!
if!$PING_RECV_CNT!<!$PING_SEND_CNT!
r_info!Background ping loss higher than expected!
endif!
wfa_control_agent_dut1!wlan_uninitiation,interface,wl0!ID,$DUT_WTS_VERSION

GotoLine!52!

# Connect to 2G AP in infra mode
info!Start Infra mode(2G)!
wfa_control_agent_dut1!wlan_initiation,interface,wl0,mode,infra!ID,$DUT_WTS_VERSION
wfa_control_agent_dut1!wlan_connect,ssid,test2g,security,wpa2aes,password,12345678!ID,$DUT_WTS_VERSION
wfa_control_agent_dut1!wlan_ifconfig,interface,wl0,state,up,dhcp,1,ip,0.0.0.0!ID,$DUT_WTS_VERSION
wfa_control_agent_dut1!wlan_ifstate,interface,wl0!ID,$IF_MODE,$IF_IP_ADDRESS,$IF_SUB_NET,$IF_GATE_WAY
wfa_control_agent_dut1!send_ping,ip,$IF_GATE_WAY,pktsize,200,interval,10,sendcnt,$PING_CNT!ID,$PING_SEND_CNT,$PING_RECV_CNT

mexpr!$PING_SEND_CNT!%!90!
if!$PING_RECV_CNT!<!$PING_SEND_CNT!
r_info!Background ping loss higher than expected!
endif!
wfa_control_agent_dut1!wlan_uninitiation,interface,wl0!ID,$DUT_WTS_VERSION

math!$LOOP_COUNTER!+!1!
info!list the iteration number!
echo!$LOOP_COUNTER!

if!$LOOP_COUNTER!<!$TESTING_CNT!
GotoLine!8!
endif!

sleep!2!

r_info!PASS!