print "Please specify [ath0, ath1] for each interface. " sys.exit(0) print "Interfaces: [wa: %s] [wm: %s] [ba: %s] [bm: %s]" % (working_iface_adhoc, working_iface_monitor, backup_iface_adhoc, backup_iface_monitor) cf = Configure(working_iface_adhoc, backup_iface_adhoc) ff = FrameFilter(cf, snr_threshold, FILTER) p = pcap.pcapObject() p.open_live(backup_iface_monitor, 96, 0, 100) try: while 1: while ff.rx_frame < 10: # Approx. 100ms * 100 = 10s ; Only beacon frames counted apply(ff.filter, p.next()) #ff.print_rx_filter(backup_iface_monitor) ff.print_tx_filter(working_iface_adhoc) # maybe 1s stime = time.time() print "loop starts %f" % stime # Initialization try: current_lq = ff.addr_lq[cf.ether_daddr].lq # rtetx of scanned neighbor host except KeyError: current_lq = 10.0 print "No Link Quality of [%s] is acquired" % cf.ether_daddr ff.rx_frame = 0 # RX frame count set 0 for next channel ff.tx_frame = 0 # TX frame count set 0 for next channel cf.next() # Configuration for next channel set_interface(backup_iface_adhoc, cf) # Setup interface for next channel