dev[1].p2p_listen()
dev[0].discover_peer(addr1)
dev[0].p2p_stop_find()
+ dev[0].dump_monitor()
peer = dev[0].get_peer(addr1)
dev[0].p2p_listen()
dev[1].discover_peer(addr0)
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("Unexpected GO Neg Resp while waiting for new GO Neg session")
if "FAIL" in dev[1].global_request("P2P_CONNECT " + addr0 + " pbc"):
raise Exception("Timeout on GO Neg Req")
dev[0].p2p_stop_find()
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=10 no_cck=1 action={}".format(addr1, addr1, peer['listen_freq'], binascii.hexlify(msg['payload'])))
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("Invalid attribute in GO Neg Response")
msg = p2p_hdr(addr1, addr0, type=P2P_GO_NEG_RESP, dialog_token=197)
frame = dev[0].mgmt_rx(timeout=0.1)
if frame is not None:
raise Exception("Unexpected GO Neg Confirm")
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("GO Neg Resp with unexpected dialog token")
dev[1].p2p_stop_find()
attrs += p2p_attr_operating_channel()
msg['payload'] += ie_p2p(attrs)
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=200 no_cck=1 action={}".format(addr1, addr1, p2p['freq'], binascii.hexlify(msg['payload'])))
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("GO Neg Resp without Status")
dev[1].p2p_stop_find()
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=200 no_cck=1 action={}".format(addr1, addr1, p2p['freq'], binascii.hexlify(msg['payload'])))
check_p2p_go_neg_fail_event(dev[1], P2P_SC_FAIL_INVALID_PARAMS)
rx_go_neg_conf(dev[0], P2P_SC_FAIL_INVALID_PARAMS, dialog_token)
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("GO Neg Resp without Intended Address")
dev[1].p2p_stop_find()
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=200 no_cck=1 action={}".format(addr1, addr1, p2p['freq'], binascii.hexlify(msg['payload'])))
check_p2p_go_neg_fail_event(dev[1], P2P_SC_FAIL_INVALID_PARAMS)
rx_go_neg_conf(dev[0], P2P_SC_FAIL_INVALID_PARAMS, dialog_token)
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("GO Neg Resp without GO Intent")
dev[1].p2p_stop_find()
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=200 no_cck=1 action={}".format(addr1, addr1, p2p['freq'], binascii.hexlify(msg['payload'])))
check_p2p_go_neg_fail_event(dev[1], P2P_SC_FAIL_INVALID_PARAMS)
rx_go_neg_conf(dev[0], P2P_SC_FAIL_INVALID_PARAMS, dialog_token)
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("GO Neg Resp with invalid GO Intent")
dev[1].p2p_stop_find()
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=200 no_cck=1 action={}".format(addr1, addr1, p2p['freq'], binascii.hexlify(msg['payload'])))
check_p2p_go_neg_fail_event(dev[1], P2P_SC_FAIL_INVALID_PARAMS)
rx_go_neg_conf(dev[0], P2P_SC_FAIL_INVALID_PARAMS, dialog_token)
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("GO Neg Resp with incompatible GO Intent")
dev[1].p2p_stop_find()
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=200 no_cck=1 action={}".format(addr1, addr1, p2p['freq'], binascii.hexlify(msg['payload'])))
check_p2p_go_neg_fail_event(dev[1], P2P_SC_FAIL_INCOMPATIBLE_PARAMS)
rx_go_neg_conf(dev[0], P2P_SC_FAIL_INCOMPATIBLE_PARAMS, dialog_token)
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("GO Neg Resp without P2P Group ID")
dev[1].p2p_stop_find()
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=200 no_cck=1 action={}".format(addr1, addr1, p2p['freq'], binascii.hexlify(msg['payload'])))
check_p2p_go_neg_fail_event(dev[1], P2P_SC_FAIL_INVALID_PARAMS)
rx_go_neg_conf(dev[0], P2P_SC_FAIL_INVALID_PARAMS, dialog_token)
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("GO Neg Resp without Operating Channel")
dev[1].p2p_stop_find()
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=200 no_cck=1 action={}".format(addr1, addr1, p2p['freq'], binascii.hexlify(msg['payload'])))
check_p2p_go_neg_fail_event(dev[1], P2P_SC_FAIL_INVALID_PARAMS)
rx_go_neg_conf(dev[0], P2P_SC_FAIL_INVALID_PARAMS, dialog_token)
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("GO Neg Resp without Channel List")
dev[1].p2p_stop_find()
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=200 no_cck=1 action={}".format(addr1, addr1, p2p['freq'], binascii.hexlify(msg['payload'])))
check_p2p_go_neg_fail_event(dev[1], P2P_SC_FAIL_INVALID_PARAMS)
rx_go_neg_conf(dev[0], P2P_SC_FAIL_INVALID_PARAMS, dialog_token)
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
logger.debug("GO Neg Resp without common channels")
dev[1].p2p_stop_find()
mgmt_tx(dev[0], "MGMT_TX {} {} freq={} wait_time=200 no_cck=1 action={}".format(addr1, addr1, p2p['freq'], binascii.hexlify(msg['payload'])))
check_p2p_go_neg_fail_event(dev[1], P2P_SC_FAIL_NO_COMMON_CHANNELS)
rx_go_neg_conf(dev[0], P2P_SC_FAIL_NO_COMMON_CHANNELS, dialog_token)
+ dev[0].dump_monitor()
+ dev[1].dump_monitor()
def test_p2p_msg_group_info(dev):
"""P2P protocol tests for Group Info parsing"""