public void InitialiseWiFi() { NetworkInterface[] adapters = null; adapters = ( NetworkInterface[]) WirelessZeroConfigNetworkInterface.GetAllNetworkInterfaces(); EAPParameters eapParam = new EAPParameters(); eapParam.Enable8021x = false; foreach (NetworkInterface adapterToCast in adapters) { if (adapterToCast.NetworkInterfaceType == NetworkInterfaceType.Wireless80211) { WirelessZeroConfigNetworkInterface adapter = (WirelessZeroConfigNetworkInterface)adapterToCast; if (adapter.AssociatedAccessPoint != SensorShareConfig.WiFiName) { //log.Append("InitialiseWiFi", "Setting Wireless Settings"); try { if (adapter.AssociatedAccessPoint != SensorShareConfig.WiFiName) { adapter.AddPreferredNetwork(SensorShareConfig.WiFiName, false, SensorShareConfig.WiFiKey, 1, AuthenticationMode.WPAAdHoc, WEPStatus.WEPEnabled, eapParam); adapter.ConnectToPreferredNetwork(SensorShareConfig.WiFiName); } } catch (Exception ex) { } } } } }
static void Main() { WirelessZeroConfigNetworkInterface wzc = null; foreach (var intf in NetworkInterface.GetAllNetworkInterfaces()) { if (intf is WirelessZeroConfigNetworkInterface) { wzc = (WirelessZeroConfigNetworkInterface)intf; break; } } if (wzc == null) { Output("No WZC adapter found"); Debugger.Break(); return; } int PAD = 20; foreach (var ap in wzc.PreferredAccessPoints) { Output("AP: " + ap.Name); Output("\tPrivacy: ".PadRight(PAD, ' ') + ap.Privacy.ToString()); Output("\tSignal: ".PadRight(PAD, ' ') + ap.SignalStrength); Output("\tChannel: ".PadRight(PAD, ' ') + ap.Channel); } foreach (var ap in wzc.NearbyAccessPoints) { Output("AP: " + ap.Name); Output("\tPrivacy: ".PadRight(PAD, ' ') + ap.Privacy.ToString()); Output("\tSignal: ".PadRight(PAD, ' ') + ap.SignalStrength); Output("\tChannel: ".PadRight(PAD, ' ') + ap.Channel); if ((ap.Privacy == WEPStatus.WEPEnabled) && (ap.Name.ToLower().StartsWith("opennetcf"))) { continue; string key = "badf00d"; wzc.AddPreferredNetwork(ap.Name, true, key, 1, AuthenticationMode.Shared, WEPStatus.WEPEnabled, null); } else if (ap.Privacy == WEPStatus.TKIPEnabled) { //continue; string key = "sharedkey"; EAPParameters eap = null; wzc.AddPreferredNetwork(ap.Name, true, key, 1, AuthenticationMode.WPAPSK, WEPStatus.TKIPEnabled, eap); } else if (ap.Privacy == WEPStatus.AESEnabled) { //continue; string key = "sharedkey"; EAPParameters eap = null; wzc.AddPreferredNetwork(ap.Name, true, key, 1, AuthenticationMode.WPA, WEPStatus.AESEnabled, eap); } } Output("Press <ENTER> to continue"); Console.ReadLine(); // Application.Run(new Form1()); }
private bool ConnectToNetwork(string ssid, string passphrase, bool adhoc, AuthenticationMode mode, WEPStatus encryption) { Debug.WriteLine("+WiFiService.ConnectToNetwork"); bool success = false; if (!SanityCheckPassphrase(passphrase, mode, encryption)) { Debug.WriteLine("Invalid passphrase for requested WiFi network type"); return(success); } EAPParameters eap = null; switch (mode) { case AuthenticationMode.WPA: case AuthenticationMode.WPAPSK: case AuthenticationMode.WPA2: case AuthenticationMode.WPA2PSK: eap = new EAPParameters() { Enable8021x = true, EapType = EAPType.Default, EapFlags = EAPFlags.Enabled, }; break; } // stop scanning while connecting var wasScanning = Scanning; StopScanning(); Thread.Sleep(ScanPeriod); int retries = 5; bool retry = false; try { do { if (!Monitor.TryEnter(m_syncRoot)) { Debug.WriteLine("Unable to get WiFiService SyncRoot: " + retries); retry = (retries-- > 0); Thread.Sleep(2000); } else { Debug.WriteLine("WiFiService.Calling AddPreferredNetwork"); try { if (!string.IsNullOrEmpty(m_wzc.AssociatedAccessPoint)) { m_wzc.RemovePreferredNetwork(m_wzc.AssociatedAccessPoint); } success = m_wzc.AddPreferredNetwork(ssid, !adhoc, passphrase, 1, mode, encryption, eap); return(success); } finally { Monitor.Exit(m_syncRoot); } } } while (retry); return(success); } catch (Exception ex) { Debug.WriteLine("WiFiService.ConnectToNetwork threw: " + ex.Message); return(false); } finally { if (wasScanning) { StartScanning(); } if (success) { var handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs("AssociatedAP")); } } SaveRegsitry(); Debug.WriteLine("-WiFiService.ConnectToNetwork"); } }
public bool createPreferredNetwork(string ssid) { EAPParameters eapParams = new EAPParameters(); eapParams.Enable8021x = false; eapParams.EapFlags = EAPFlags.Disabled; bool success = wzcController.AddPreferredNetwork(ssid, false, "", 1, AuthenticationMode.Open, WEPStatus.WEPDisabled, eapParams); return success; }
public bool connectToOtherAP(string ssid) { try { wzcController.Refresh(); } catch (Exception) { ;//It is OK if this fails } try { EAPParameters eapParams = new EAPParameters(); eapParams.Enable8021x = false; eapParams.EapFlags = EAPFlags.Disabled; bool ssidPresent = ssidAlreadyPresent(ssid); if (ssidPresent == false) { AccessPoint ssidAP = ssidNearby(ssid); if (ssidAP == null) { Logger.addEntry("Expected AP Not Found : " + ssid); return false; } else { Logger.addEntry("ConnectToOtherAP: Trying to connect to nearby AP: " + ssid); if (wzcController.PreferredAccessPoints.FindBySSID(ssid) == null) ssidPresent = wzcController.AddPreferredNetwork(ssidAP); else ssidPresent = true; } } if (ssidPresent) { if (wzcController.AssociatedAccessPoint.Equals(ssid) == false) { SsidToConnect = ssid; ThreadStart connectionJob = new ThreadStart(connectToPreferredNetwork); Thread connectionThread = new Thread(connectionJob); connectionThread.Start(); connectionThread.Join(); } if (wzcController.AssociatedAccessPoint == ssid) return true; } return false; } catch (Exception ex) { Logger.addEntry("WiFiCardInterface-connectToAP-2: " + ex.ToString()); return false; } }