Устранение неполадок с сетью

Проблемы с сетью, как известно, могут быть трудно диагностировать и устранить. Например, вы можете обнаружить, что Wi-Fi сеть работает нормально локально, но отключена от Интернета. В этом случае вы можете обнаружить, что устройство Azure Sphere обновляется неправильно. В этом разделе приведены некоторые рекомендации, которые могут помочь в диагностике проблем с сетью.

Проверка состояния сетевого интерфейса

  1. Откройте интерфейс командной строки с помощью PowerShell, командной строки Windows или командной оболочки Linux.

  2. Выполните команду az sphere device network list-interfaces , чтобы получить подробные сведения о сетевых интерфейсах для подключенного устройства.

    В выходных данных отображаются все интерфейсы, настроенные для устройства. Для каждого интерфейса на устройстве выходные данные показывают следующее:

    [
      {
        "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. Убедитесь, что следующие параметры интерфейса имеют значение True.

  • Сетевой интерфейс вверх. Если этот параметр имеет значение False, выполните следующие действия:

  • Подключено к сети. Если этот параметр имеет значение False, выполните следующие действия:

    • Выполните команду az sphere device wifi show-status, чтобы проверка, что значение SSID Wi-Fi соответствует параметрам Wi-Fi устройства.
    • Проверьте наличие сетей, чтобы убедиться, что SSID в параметрах устройства соответствует SSID в сети. Дополнительные сведения см. в статье Команда проверки wi-fi .
    • Если SSID для Wi-Fi сети скрыт и приложение использует целевую проверку, проверка, что целевая проверка включена.
  • Полученный IP-адрес. Если этот параметр имеет значение False, выполните следующие действия:

    • Дождитесь подключения.
    • Проверьте, подключена ли точка доступа и другие устройства в сети. Дополнительные сведения см. в разделе Функция Networking_IsNetworkingReady.
    • Проверьте диапазон разрешенных IP-адресов или ограничение разрешенных подключений в точке доступа и сети.
  • Подключено к Интернету. Если этот параметр имеет значение False, выполните следующие действия:

    • Убедитесь, что сеть подключена к Интернету.

Проверка состояния Wi-Fi

  1. Откройте интерфейс командной строки с помощью PowerShell, командной строки Windows или командной оболочки Linux.
  2. Выполните команду az sphere device wifi show-status , чтобы просмотреть сведения о текущем Wi-Fi подключении на устройстве.

Выходные данные должны выглядеть примерно так:

 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"
}

Если для параметра Состояние подключения установлено значение Отключено, включите Wi-Fi на устройстве.

Проверка состояния сети

Выполните команду az sphere device network show-status , чтобы просмотреть состояние сети для подключенного устройства.

Выходные данные должны выглядеть примерно так:

az sphere device network show-status
{
  "deviceAuthenticationIsReady": false,
  "networkTimeSync": "incomplete",
  "proxy": "disabled"
}
  • Если проверка подлинности устройства готова, возвращает значение False,
  • Если состояние синхронизации сетевого времени возвращает неполный,
    • Дождитесь подключения.
    • Убедитесь, что сеть настроена так, чтобы разрешить входящий и исходящий трафик. Дополнительные сведения см. в разделе Порты и протоколы.

Проверка параметров брандмауэра

Если приложению не удается подключиться к удаленному узлу:

  • Проверьте параметры брандмауэра приложения. Манифест приложения должен указать имена узлов или IP-адреса, к которым приложение может подключаться, задав AllowedConnections возможность.
  • Если приложение настроено для выполнения обнаружения служб, помимо записей в манифесте приложения, обнаруженные конечные точки также должны быть перечислены в конфигурации брандмауэра.

Если удаленным узлам не удается подключиться к серверным приложениям:

  • Проверьте параметры брандмауэра приложения. Манифест приложения должен указать порты UDP и TCP, к которым приложение открыто для входящих подключений AllowedTcpServerPorts, задав возможности и AllowedUdpServerPorts .

Если у вас по-прежнему возникают трудности:

Получение диагностика сети

При возникновении сбоя сети диагностические сведения о сбое можно получить двумя способами: с помощью вызова API WifiConfig и из командной строки.

Высокоуровневое приложение может вызывать WifiConfig_GetNetworkDiagnostics для сбора сведений о проблеме. Эта функция возвращает структуру WifiConfig_NetworkDiagnostics , содержащую сведения о последнем сбое в указанной сети. Объедините сведения из структуры диагностика с приведенными ниже советами по диагностике и восстановлению после распространенных сбоев сети.

В примере WiFi_HighLevelApp показано, как использовать диагностика.

Вы также можете использовать команду az sphere device network show-диагностика для отображения диагностических сведений о последней ошибке.

Неправильное сетевое подключение

Если устройство подключено к неправильной сети или подключено, но с неправильными атрибутами, убедитесь, что конфигурация сети правильна. Если вы изменили конфигурацию, ее необходимо перезагрузить. В приложении вызовите WifiConfig_ReloadConfig или в командной строке используйте команду az sphere device wifi reload-config , чтобы перезагрузить текущую конфигурацию. Чтобы обеспечить сохранение конфигурации сети при перезагрузках, приложение может вызывать WifiConfig_PersistConfig.

Проблемы с обновлением сертификата корневого ЦС

Если устройству не удается подключиться к сети EAP-TLS после обновления сертификата корневого ЦС, начните с состояния, возвращенного функцией WifiConfig_SetNetworkEnabled .

Если состояние указывает на ошибку сертификата корневого ЦС, причиной может быть одна из следующих причин:

  • Срок действия старого корневого ЦС1 истек или изменился на сервере RADIUS во время процесса обновления? В этом случае новый корневой ЦС2 может быть неправильным.
  • Произошла ли другая ошибка на стороне сервера? Обратитесь к администратору сети. Администратор мог использовать другой или неправильный центр сертификации, и может потребоваться исправить это централизованно.

Если состояние указывает на ошибку сертификата клиента:

  • Была ли конфигурация новой Network2 синхронизирована со свойствами Network1? Если свойства изменились в сети 1, но вы попытались подключиться с помощью устаревших свойств в Network2, подключение Network2 может завершиться ошибкой. Убедитесь, что свойства ключа идентичны для двух сетей.
  • Изменился ли сертификат клиента в процессе обновления сети? Проверьте сертификаты, связанные с Network1 и Network2, и убедитесь, что они одинаковы. Приложение может использовать функции в API CertStore для проверки сведений о сертификате.

Если корневой ЦС и сертификат клиента верны, сбой может быть связан с вашей точкой доступа Wi-Fi или с какой-либо другой проблемой.

Продолжайте проверка данные, возвращаемые WifiConfig_GetNetworkDiagnostics после каждой неудачной попытки узнать больше о проблеме.

Проблемы с обновлением сертификата клиента

Если устройство не может подключиться к сети EAP-TLS после обновления сертификата клиента, начните с состояния, возвращаемого функцией WifiConfig_SetNetworkEnabled .

Если состояние указывает на ошибку сертификата клиента:

  • Вернитесь к предыдущему сертификату и попробуйте повторно подключиться. Успешное выполнение указывает на проблему с новым сертификатом клиента; сбой означает, что новый сертификат является недопустимым или что срок действия старого сертификата истек в промежуточном периоде.

Если состояние указывает на ошибку другого типа:

  • Возникают ли другие проблемы в сети? Продолжайте пытаться подключиться с помощью любого из сертификатов клиента.

Продолжайте проверка данные, возвращаемые WifiConfig_GetNetworkDiagnostics после каждой неудачной попытки узнать больше о проблеме.