public void ConnectToDrone() { lock (sync) { isBinding = true; try { //String xmlProfile = networkInterface.GetProfileXml(networkDrone.profileName); //networkInterface.SetProfile(Wlan.WlanProfileFlags.AllUser, xmlProfile, true); String xmlProfile = CreateProfile(networkDrone.SSID, "", false);// networkInterface.GetProfileXml(networkRouter.profileName); networkInterface.SetProfile(Wlan.WlanProfileFlags.AllUser, xmlProfile, true); Status("Connecting to " + networkDrone.SSID); bool bSuccess = networkInterface.ConnectSynchronously(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, networkDrone.SSID, 10000); //bool bSuccess = networkInterface.ConnectSynchronously(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, networkDrone.profileName, 10000); //networkInterface.Connect(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, drone.profileName); } catch (Exception e) { Status("ERROR: " + e.Message); this.Invoke(stoppedBindDelegate); } } }
void ConnectNewSecureNetwork(string ssid, string key, WlanClient.WlanInterface nic, Wlan.WlanAvailableNetwork network) { var log = ServiceRegistration.Get <ILogger>(); log.Info("WifiConfiguration: Building new Profile to connect to WLAN '{0}'", ssid); string profileXml = Helper.GetProfileXml(ssid, key, network.dot11DefaultAuthAlgorithm, network.dot11DefaultCipherAlgorithm); if (profileXml != null) { string error = null; try { Wlan.WlanReasonCode reasonCode = nic.SetProfile(Wlan.WlanProfileFlags.User, profileXml, true); if (reasonCode != Wlan.WlanReasonCode.Success) { error = reasonCode.ToString(); } } catch (Exception ex) { error = ex.Message; } if (error == null) { nic.ConnectSynchronously(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, ssid, CONNECTION_TIMEOUT_SECONDS); } else { log.Warn("WifiConfiguration: Setting Profile for WLAN '{0}' failed: '{1}'", ssid, error); ServiceRegistration.Get <IDialogManager>().ShowDialog("[Dialogs.ErrorHeaderText]", error, DialogType.OkDialog, false, DialogButtonType.Ok); } } else { // don't know how to build profile log.Warn("WifiConfiguration: No known Mapping to create Profile '{0}' for AuthAlg: '{1}' and CipherAlg: '{2}'", ssid, network.dot11DefaultAuthAlgorithm, network.dot11DefaultCipherAlgorithm); ServiceRegistration.Get <IDialogManager>().ShowDialog("[Dialogs.ErrorHeaderText]", "Unable to build profile. Connect in Windows.", DialogType.OkDialog, false, DialogButtonType.Ok); } }
void ConnectNetwork(string ssid, WlanClient.WlanInterface nic, Wlan.WlanAvailableNetwork network) { var log = ServiceRegistration.Get <ILogger>(); if (!string.IsNullOrEmpty(network.profileName)) { try { log.Info("WifiConfiguration: Using existing Profile to connect to WLAN '{0}'", ssid); bool success = nic.ConnectSynchronously(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, network.profileName, CONNECTION_TIMEOUT_SECONDS); if (success) { FindNetworks(); } else { log.Warn("Connection to WLAN '{0}' failed.", ssid); } } catch (Exception ex) { log.Warn("Connection to WLAN '{0}' failed: {1}", ex, ssid, ex.Message); } } else { if (network.securityEnabled) { ServiceRegistration.Get <IScreenManager>().ShowDialog("dialogWifiPassword"); } else { log.Info("WifiConfiguration: Connecting to unsecured WLAN '{0}'", ssid); nic.Connect(Wlan.WlanConnectionMode.Auto, Wlan.Dot11BssType.Any, network.dot11Ssid, 0); } } }
public bool ConnectSynchronously(Wlan.WlanConnectionMode connectionMode, Wlan.Dot11BssType bssType, string profile, int connectTimeout) { return(_wlanInterface.ConnectSynchronously(connectionMode, bssType, profile, connectTimeout)); }