Exemplo n.º 1
0
 def check_connect_wifi(self):
     if self.badnet is not None:
         self.badnets.append(self.badnet)
         self.badnet = None
     status = wpa_cli.connection_status()
     state = status["wpa_state"]
     if state == "COMPLETED":
         return status
     else:
         print("Not connected, retrying!")
         wpa_cli.scan()
         sleep(5)
         avail_networks = wpa_cli.get_scan_results()
         for network in avail_networks:
             if network["bssid"] in self.badnets:
                 print("Avoiding bad network {}".format(network["bssid"]))
                 continue
             elif wpa_cli.is_open_network(network):
                 #Adding net network, gotta reset the smash counter
                 self.smash_counter = 0
                 id = wpa_cli.add_open_network(network)
                 wpa_cli.select_network(id)
                 print("Selected '{}'".format(network["ssid"]))
                 sleep(5)
                 print("Hope we got the IP now")
                 return
         return None
Exemplo n.º 2
0
def select_network(id):
    try:
        wpa_cli.select_network(id)
    except wpa_cli.WPAException:
        Printer(['Failed to', 'select network'], i, o, skippable=True)
    else:
        wpa_cli.save_config()
        Printer(['Selected network', str(id)], i, o, skippable=True)
Exemplo n.º 3
0
def select_network(id):
    try:
        wpa_cli.select_network(id)
    except wpa_cli.WPAException:
        Printer(['Failed to', 'select network'], i, o, skippable=True)
    else:
        wpa_cli.save_config()
        Printer(['Selected network', str(id)], i, o, skippable=True)
Exemplo n.º 4
0
def connect_to_network(network_info):
    #First, looking in the known networks
    configured_networks = wpa_cli.list_configured_networks()
    for network in configured_networks:
        if network_info['ssid'] == network['ssid']:
            Printer([network_info['ssid'], "known,connecting"], i, o, 1)
            wpa_cli.select_network(network['network id'])
            return True
    #Then, if it's an open network, just connecting
    if wpa_cli.is_open_network(network_info):
        network_id = wpa_cli.add_network()
        Printer(["Network is open", "adding to known"], i, o, 1)
        wpa_cli.set_network(network_id, 'ssid',
                            '"' + network_info['ssid'] + '"')
        wpa_cli.set_network(network_id, 'key_mgmt', 'NONE')
        Printer(["Connecting to", network_info['ssid']], i, o, 1)
        wpa_cli.select_network(network_id)
        return True
    #No passkey/WPS PIN input possible yet and I cannot yet test WPS button functionality.
    else:
        o.display_data("Network password", "unknown")
        sleep(1)
        return False