Udostępnij za pośrednictwem


Rozwiązywanie problemów z siecią

Problemy z siecią mogą być notorycznie trudne do zdiagnozowania i rozwiązania. Na przykład może się okazać, że sieć Wi-Fi działa prawidłowo lokalnie, ale jest odłączona od Internetu. W takim przypadku może się okazać, że urządzenie usługi Azure Sphere nie jest poprawnie aktualizowane. Ten temat zawiera sugestie, które mogą pomóc w diagnozowaniu problemów z siecią.

Sprawdzanie stanu interfejsu sieciowego

  1. Otwórz interfejs wiersza polecenia przy użyciu programu PowerShell, wiersza polecenia systemu Windows lub powłoki poleceń systemu Linux.

  2. Uruchom polecenie az sphere device network list-interfaces , aby wyświetlić szczegóły interfejsów sieciowych dołączonego urządzenia.

    W danych wyjściowych zostaną wyświetlone wszystkie interfejsy skonfigurowane dla urządzenia. Dla każdego interfejsu na urządzeniu dane wyjściowe przedstawiają następujące dane:

    [
      {
        "connectedToInternet": false,
        "connectedToNetwork": false,
        "hardwareAddress": null,
        "interfaceName": "azspheresvc",
        "interfaceUp": true,
        "ipAcquired": false,
        "ipAddresses": [
          "192.168.35.2"
        ],
        "ipAssignment": null
      },
      {
        "connectedToInternet": false,
        "connectedToNetwork": false,
        "hardwareAddress": "b2:30:bb:f0:d1:44",
        "interfaceName": "eth0",
        "interfaceUp": true,
        "ipAcquired": false,
        "ipAddresses": null,
        "ipAssignment": "dynamic"
      },
      {
        "connectedToInternet": false,
        "connectedToNetwork": false,
        "hardwareAddress": null,
        "interfaceName": "lo",
        "interfaceUp": true,
        "ipAcquired": false,
        "ipAddresses": [
          "127.0.0.1"
        ],
        "ipAssignment": null
      },
      {
        "connectedToInternet": false,
        "connectedToNetwork": false,
        "hardwareAddress": "00:02:b5:03:69:ea",
        "interfaceName": "wlan0",
        "interfaceUp": true,
        "ipAcquired": false,
        "ipAddresses": null,
        "ipAssignment": "dynamic"
      }
    ]
    
  3. Sprawdź, czy następujące ustawienia interfejsu mają wartość True.

  • Interfejs sieciowy w górę. Jeśli to ustawienie ma wartość False:

  • Połączono z siecią. Jeśli to ustawienie ma wartość False:

    • Uruchom polecenie az sphere device wifi show-status , aby sprawdzić, czy wartość SSID sieci Wi-Fi jest zgodna z ustawieniami sieci Wi-Fi urządzenia.
    • Skanuj sieci, aby sprawdzić, czy identyfikator SSID w ustawieniach urządzenia jest zgodny z identyfikatorem SSID w sieci. Aby uzyskać więcej informacji, zobacz polecenie skanowania sieci Wi-Fi.
    • Jeśli identyfikator SSID dla sieci Wi-Fi jest ukryty, a aplikacja opiera się na docelowym skanowaniu, sprawdź, czy skanowanie docelowe jest włączone.
  • Uzyskany adres IP. Jeśli to ustawienie ma wartość False:

    • Poczekaj na nawiązanie połączenia.
    • Sprawdź sieć, aby sprawdzić, czy punkt dostępu i inne urządzenia w sieci są w pełni połączone. Aby uzyskać więcej informacji, zobacz funkcja Networking_IsNetworkingReady.
    • Sprawdź zakres dozwolonych adresów IP lub limit dozwolonych połączeń w punkcie dostępu i sieci.
  • Połączone z Internetem. Jeśli to ustawienie ma wartość False:

    • Sprawdź, czy sieć jest połączona z Internetem.

Weryfikowanie stanu sieci Wi-Fi

  1. Otwórz interfejs wiersza polecenia przy użyciu programu PowerShell, wiersza polecenia systemu Windows lub powłoki poleceń systemu Linux.
  2. Uruchom polecenie az sphere device wifi show-status , aby wyświetlić informacje o bieżącym połączeniu sieci Wi-Fi na urządzeniu.

Powinny zostać wyświetlone dane wyjściowe podobne do następujących:

 az sphere device wifi show-status
{
  "SSID": "MSFTGUEST",
  "configurationState": "enabled",
  "connectionState": "connected",
  "frequency": 5660,
  "ipAddress": "10.106.106.40",
  "keyManagement": "NONE",
  "macAddress": "00:02:b5:03:69:ea",
  "mode": "station",
  "securityState": "open",
  "wpaState": "COMPLETED"
}

Jeśli stan Połączenia jest ustawiony na rozłączony, włącz sieć Wi-Fi na urządzeniu.

Weryfikowanie stanu sieci

Uruchom polecenie az sphere device network show-status , aby wyświetlić stan sieci dla dołączonego urządzenia.

Powinny zostać wyświetlone dane wyjściowe podobne do następujących:

az sphere device network show-status
{
  "deviceAuthenticationIsReady": false,
  "networkTimeSync": "incomplete",
  "proxy": "disabled"
}
  • Jeśli uwierzytelnianie urządzenia jest gotowe , zwraca wartość False,
    • Uruchom ponownie urządzenie i spróbuj ponownie wykonać polecenie.
    • Upewnij się, że sieć jest skonfigurowana tak, aby zezwalała na ruch przychodzący i wychodzący. Aby uzyskać więcej informacji, zobacz Porty i protokoły.
  • Jeśli stan synchronizacji czasu sieciowego zwraca wartość Niekompletne,
    • Poczekaj na nawiązanie połączenia.
    • Upewnij się, że sieć jest skonfigurowana tak, aby zezwalała na ruch przychodzący i wychodzący. Aby uzyskać więcej informacji, zobacz Porty i protokoły.

Weryfikowanie ustawień zapory

Jeśli aplikacja nie może nawiązać połączenia z hostem zdalnym:

  • Sprawdź ustawienia zapory aplikacji. Manifest aplikacji musi określać nazwy hostów lub adresy IP, z którymi aplikacja może się łączyć, ustawiając AllowedConnections możliwość.
  • Jeśli aplikacja została skonfigurowana do wykonywania odnajdywania usług, oprócz wpisów w manifeście aplikacji odnalezione punkty końcowe powinny być również wymienione w konfiguracji zapory.

Jeśli hosty zdalne nie mogą nawiązać połączenia z aplikacją serwera:

  • Sprawdź ustawienia zapory aplikacji. Manifest aplikacji musi określać porty UDP i TCP, do których aplikacja jest otwarta dla połączeń przychodzących, ustawiając AllowedTcpServerPortsfunkcje i AllowedUdpServerPorts .

Jeśli nadal występują problemy:

Uzyskiwanie diagnostyki sieci

Gdy wystąpi awaria sieci, możesz uzyskać informacje diagnostyczne o awarii na dwa sposoby: za pośrednictwem wywołania interfejsu API WifiConfig i z wiersza polecenia.

Aplikacja wysokiego poziomu może wywołać WifiConfig_GetNetworkDiagnostics w celu zebrania informacji o problemie. Ta funkcja zwraca strukturę zawierającą WifiConfig_NetworkDiagnostics szczegółowe informacje o najnowszej awarii w określonej sieci. Połącz informacje ze struktury diagnostyki z poradami, które należy wykonać, aby zdiagnozować i odzyskać dane po typowych awariach sieci.

W przykładzie WiFi_HighLevelApp pokazano, jak korzystać z diagnostyki.

Możesz również użyć polecenia az sphere device network show-diagnostics , aby wyświetlić informacje diagnostyczne dotyczące ostatniego błędu.

Nieprawidłowe połączenie sieciowe

Jeśli urządzenie jest połączone z nieprawidłową siecią lub jest połączone, ale z nieprawidłowymi atrybutami, upewnij się, że konfiguracja sieci jest poprawna. Jeśli konfiguracja została zmieniona, należy ją ponownie załadować. W aplikacji wywołaj WifiConfig_ReloadConfig lub w wierszu polecenia, użyj polecenia az sphere device wifi reload-config, aby ponownie załadować bieżącą konfigurację. Aby upewnić się, że konfiguracja sieci będzie się powtarzać po ponownym uruchomieniu, aplikacja może wywołać WifiConfig_PersistConfig.

Problemy z aktualizowaniem certyfikatu głównego urzędu certyfikacji

Jeśli urządzenie nie może nawiązać połączenia z siecią protokołu EAP-TLS po zaktualizowaniu certyfikatu głównego urzędu certyfikacji, zacznij od stanu zwróconego przez funkcję WifiConfig_SetNetworkEnabled .

Jeśli stan wskazuje błąd certyfikatu głównego urzędu certyfikacji, jedną z następujących przyczyn może być:

  • Czy stary główny urząd certyfikacji 1 wygasł lub zmienił się na serwerze RADIUS podczas procesu aktualizacji? Jeśli tak, nowy główny urząd certyfikacji 2 może być niepoprawny.
  • Czy po stronie serwera wystąpił inny błąd? Sprawdź się z administratorem sieci. Administrator mógł użyć innego lub nieprawidłowego urzędu certyfikacji i może być konieczne rozwiązanie tego problemu centralnie.

Jeśli stan wskazuje błąd certyfikatu klienta:

  • Czy konfiguracja nowej sieci Network2 nie została zsynchronizowana z właściwościami Network1? Jeśli właściwości uległy zmianie w sieci 1, ale próbowano nawiązać połączenie przy użyciu nieaktualnych właściwości w sieci Network2, połączenie z siecią Network2 może zakończyć się niepowodzeniem. Upewnij się, że właściwości klucza są identyczne dla dwóch sieci.
  • Czy certyfikat klienta zmienił się podczas procesu aktualizacji sieci? Sprawdź certyfikaty skojarzone z siecią Network1 i Network2 i upewnij się, że są one takie same. Aplikacja może używać funkcji w interfejsie API magazynu certyfikatów w celu sprawdzenia szczegółów certyfikatu.

Jeśli zarówno główny urząd certyfikacji, jak i certyfikat klienta są poprawne, błąd może być związany z punktem dostępu sieci Wi-Fi lub innym problemem.

Kontynuuj sprawdzanie danych zwróconych przez WifiConfig_GetNetworkDiagnostics po każdej nieudanej próbie uzyskania dodatkowych informacji na temat problemu.

Problemy z aktualizowaniem certyfikatu klienta

Jeśli urządzenie nie może nawiązać połączenia z siecią protokołu EAP-TLS po zaktualizowaniu certyfikatu klienta, zacznij od stanu zwróconego przez funkcję WifiConfig_SetNetworkEnabled .

Jeśli stan wskazuje błąd certyfikatu klienta:

  • Wróć do poprzedniego certyfikatu i spróbuj ponownie nawiązać połączenie. Powodzenie wskazuje problem z nowym certyfikatem klienta; błąd wskazuje, że nowy certyfikat jest nieprawidłowy lub stary certyfikat wygasł w międzyczasie.

Jeśli stan wskazuje inny typ błędu:

  • Czy w sieci występują inne problemy? Kontynuuj próbę nawiązania połączenia z każdym certyfikatem klienta.

Kontynuuj sprawdzanie danych zwróconych przez WifiConfig_GetNetworkDiagnostics po każdej nieudanej próbie uzyskania dodatkowych informacji na temat problemu.

Problemy z nawiązywaniem połączenia z siecią 5GHz, która nie emituje identyfikatora SSID

Istnieje znany problem w mt3620, w którym urządzenia mogą nie być w stanie nawiązać połączenia z sieciami 5GHz, które nie emitują identyfikatora SSID, mimo że korzystają z skanowania docelowego. Zalecamy wyłączenie emisji SSID lub wykonanie tej czynności w sieci tylko 2,4 GHz.