Esempio n. 1
0
        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)
                  { }
               }
            }
             }
        }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
        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");
            }
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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;
            }
        }