p2p-group-formation.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/usr/bin/python
  2. #
  3. # P2P group formation test
  4. # Copyright (c) 2013, Jouni Malinen <j@w1.fi>
  5. #
  6. # This software may be distributed under the terms of the BSD license.
  7. # See README for more details.
  8. import os
  9. import sys
  10. import time
  11. import subprocess
  12. import logging
  13. import hwsim_utils
  14. from wpasupplicant import WpaSupplicant
  15. def main():
  16. if len(sys.argv) > 1 and sys.argv[1] == '-d':
  17. logging.basicConfig(level=logging.DEBUG)
  18. else:
  19. logging.basicConfig()
  20. dev0 = WpaSupplicant('wlan0')
  21. dev1 = WpaSupplicant('wlan1')
  22. dev0.request("hello")
  23. dev0.ping()
  24. if not dev0.ping() or not dev1.ping():
  25. print "No response from wpa_supplicant"
  26. return
  27. addr0 = dev0.p2p_dev_addr()
  28. addr1 = dev1.p2p_dev_addr()
  29. print "dev0 P2P Device Address: " + addr0
  30. print "dev1 P2P Device Address: " + addr1
  31. dev0.reset()
  32. dev1.reset()
  33. dev0.p2p_listen()
  34. dev1.p2p_listen()
  35. pin = dev0.wps_read_pin()
  36. dev0.p2p_go_neg_auth(addr1, pin, "display")
  37. print "Start GO negotiation"
  38. dev1.p2p_go_neg_init(addr0, pin, "enter", timeout=15)
  39. dev0.dump_monitor()
  40. dev1.dump_monitor()
  41. print "Group formed"
  42. hwsim_utils.test_connectivity('wlan0', 'wlan1')
  43. dev0.remove_group('wlan0')
  44. try:
  45. dev1.remove_group('wlan1')
  46. except:
  47. pass
  48. print "Test passed"
  49. if __name__ == "__main__":
  50. main()