Résoudre les problèmes réseau
Les problèmes réseau peuvent être notoirement difficiles à diagnostiquer et à résoudre. Par exemple, vous pouvez constater que votre réseau Wi-Fi fonctionne correctement localement, mais qu’il est déconnecté d’Internet. Dans ce cas, vous pouvez constater que votre appareil Azure Sphere ne se met pas à jour correctement. Cette rubrique fournit quelques suggestions qui peuvent aider à diagnostiquer les problèmes de mise en réseau.
Vérifier l’état de l’interface réseau
Ouvrez une interface de ligne de commande à l’aide de PowerShell, de l’invite de commandes Windows ou de l’interpréteur de commandes Linux.
Exécutez az sphere device list-interfaces pour répertorier les détails des interfaces réseau de l’appareil attaché.
La sortie affiche toutes les interfaces configurées pour votre appareil. Pour chaque interface sur l’appareil, la sortie affiche les éléments suivants :
[ { "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" } ]
Vérifiez que les paramètres suivants pour l’interface sont True.
Interface réseau vers le haut. Si ce paramètre a la valeur False :
- Vérifiez que les appareils locaux utilisant le point d’accès sont connectés. Pour plus d’informations, consultez Networking_IsNetworkingReady fonction.
- Vérifiez que l’interface réseau est activée. Vous pouvez activer l’interface requise à l’aide de la commande az sphere device device enable ou à l’aide de l’API de fonction Networking_SetInterfaceState.
Connecté au réseau. Si ce paramètre a la valeur False :
- Exécutez az sphere device wifi show-status pour vérifier que la valeur SSID Wi-Fi correspond aux paramètres Wi-Fi de l’appareil.
- Recherchez les réseaux pour vérifier que l’ID SSID dans les paramètres de l’appareil correspond à l’ID SSID sur votre réseau. Pour plus d’informations, consultez la commande d’analyse wifi.
- Si le SSID de votre réseau Wi-Fi est masqué et que votre application s’appuie sur une analyse ciblée, vérifiez que l’analyse ciblée est activée.
Adresse IP acquise. Si ce paramètre a la valeur False :
- Attendez qu’une connexion soit établie.
- Vérifiez que votre réseau vérifie si le point d’accès et d’autres appareils du réseau sont entièrement connectés. Pour plus d’informations, consultez Networking_IsNetworkingReady fonction.
- Vérifiez la plage d’adresses IP autorisées ou la limite des connexions autorisées sur votre point d’accès et votre réseau.
Connecté à Internet. Si ce paramètre a la valeur False :
- Vérifiez que votre réseau est connecté à Internet.
Vérifier l’état du Wi-Fi
- Ouvrez une interface de ligne de commande à l’aide de PowerShell, de l’invite de commandes Windows ou de l’interpréteur de commandes Linux.
- Exécutez az sphere device wifi show-status pour afficher des informations sur la connexion Wi-Fi actuelle sur l’appareil.
Vous devez obtenir une sortie similaire à la suivante :
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"
}
Si l’état de connexion est défini sur déconnecté, activez le Wi-Fi sur votre appareil.
Vérifier l’état du réseau
Exécutez az sphere device network show-status pour afficher l’état réseau de l’appareil attaché.
Vous devez obtenir une sortie similaire à la suivante :
az sphere device network show-status
{
"deviceAuthenticationIsReady": false,
"networkTimeSync": "incomplete",
"proxy": "disabled"
}
- Si l’authentification de l’appareil est prête retourne False,
- Redémarrez votre appareil et réessayez la commande.
- Vérifiez que votre réseau est configuré pour autoriser le trafic entrant et sortant. Pour plus d’informations, consultez Ports et protocoles.
- Si l’état de synchronisation de l’heure réseau retourne incomplet,
- Attendez qu’une connexion soit établie.
- Vérifiez que votre réseau est configuré pour autoriser le trafic entrant et sortant. Pour plus d’informations, consultez Ports et protocoles.
Vérifier les paramètres du pare-feu
Si votre application ne parvient pas à se connecter à un hôte distant :
- Vérifiez les paramètres de pare-feu de l’application.
Le manifeste de l’application doit spécifier les noms d’hôte ou les adresses IP auxquels l’application est autorisée à se connecter, en définissant la
AllowedConnections
fonctionnalité. - Si l’application a été configurée pour effectuer la découverte de service, en plus des entrées du manifeste de l’application, les points de terminaison découverts doivent également être répertoriés dans la configuration du pare-feu.
Si les hôtes distants ne peuvent pas se connecter à votre application serveur :
- Vérifiez les paramètres de pare-feu de l’application.
Le manifeste de l’application doit spécifier les ports UDP et TCP auxquels l’application est ouverte pour les connexions entrantes, en définissant les fonctionnalités et
AllowedUdpServerPorts
lesAllowedTcpServerPorts
fonctionnalités.
Si vous rencontrez toujours des difficultés :
- Exécutez az sphere device network list-firewall-rules et vérifiez que l’adresse IP dans les règles de pare-feu et le fichier manifeste de l’application correspondent.
- Vérifiez que les connexions par défaut système sont présentes par défaut.
Obtenir des diagnostics réseau
En cas de défaillance du réseau, vous pouvez obtenir des informations de diagnostic sur l’échec de deux manières : via un appel à l’API WifiConfig et à partir de la ligne de commande.
Une application de haut niveau peut appeler WifiConfig_GetNetworkDiagnostics pour recueillir des informations sur le problème. Cette fonction retourne une structure WifiConfig_NetworkDiagnostics
qui contient des détails sur l’échec le plus récent sur le réseau spécifié. Combinez les informations de la structure de diagnostics avec les conseils qui suivent pour diagnostiquer et récupérer après des défaillances réseau courantes.
L’exemple WiFi_HighLevelApp montre comment utiliser les diagnostics.
Vous pouvez également utiliser la commande az sphere device show-diagnostics pour afficher des informations de diagnostic sur la dernière erreur.
Connexion réseau incorrecte
Si votre appareil est connecté au réseau incorrect ou s’il est connecté mais avec des attributs incorrects, vérifiez que la configuration du réseau est correcte. Si vous avez modifié la configuration, vous devez la recharger. Dans une application, appelez WifiConfig_ReloadConfig ou sur la ligne de commande, utilisez la commande az sphere device wifi reload-config pour recharger la configuration actuelle. Pour garantir que la configuration réseau est conservée entre des redémarrages, une application peut appeler WifiConfig_PersistConfig.
Problèmes de mise à jour d’un certificat d’autorité de certification racine
Si votre appareil ne peut pas se connecter à un réseau EAP-TLS après la mise à jour du certificat d’autorité de certification racine, commencez par l’état retourné par la fonction WifiConfig_SetNetworkEnabled.
Si l’état indique une erreur de certificat d’autorité de certification racine, la cause peut être une des suivantes :
- L’ancienne autorité de certification racine Root CA1 a-t-elle expiré ou changé sur le serveur RADIUS pendant le processus de mise à jour ? Si oui, la nouvelle autorité de certification racine Root CA2 est peut-être incorrecte.
- Une autre défaillance s’est-elle produite côté serveur ? Vérifiez auprès de votre administrateur réseau. L’administrateur peut avoir utilisé une autorité de certification différente ou incorrecte, et il peut être nécessaire de corriger cela de façon centralisée.
Si l’état indique une erreur de certificat client :
- La configuration du nouveau réseau Network2 a-t-elle hors synchronisation avec les propriétés du réseau Network1 ? Si les propriétés ont changé sur le réseau Network1 mais que vous avez essayé de vous connecter en utilisant des propriétés obsolètes sur le réseau Network2, la connexion au réseau Network2 peut échouer. Vérifiez que les propriétés principales sont identiques pour les deux réseaux.
- Le certificat client a-t-il changé pendant le processus de mise à jour du réseau ? Regardez les certificats qui sont associés aux réseaux Network1 et Network2, et vérifiez qu’ils sont identiques. Une application peut utiliser des fonctions dans l’API CertStore pour inspecter les détails du certificat.
Si l’autorité de certification racine et le certificat client sont corrects, l’échec peut être lié à votre point d’accès Wi-Fi ou à un autre problème.
Continuez à vérifier les données retournées par WifiConfig_GetNetworkDiagnostics après chaque tentative en échec pour en savoir plus sur le problème.
Problèmes de mise à jour d’un certificat client
Si votre appareil ne peut pas se connecter à un réseau EAP-TLS après la mise à jour du certificat client, commencez par l’état retourné par la fonction WifiConfig_SetNetworkEnabled.
Si l’état indique une erreur de certificat client :
- Rétablissez le certificat précédent et essayez de vous reconnecter. La réussite indique un problème avec le nouveau certificat client ; l’échec indique que le nouveau certificat n’est pas valide ou que l’ancien certificat a expiré dans l’intervalle.
Si l’état indique un autre type d’erreur :
- Le réseau rencontre-t-il d’autres problèmes ? Continuez à essayer de vous connecter avec l’un ou l’autre des certificats clients.
Continuez à vérifier les données retournées par WifiConfig_GetNetworkDiagnostics après chaque tentative en échec pour en savoir plus sur le problème.
Problèmes de connexion à un réseau 5GHz qui ne diffuse pas un SSID
Il existe un problème connu sur le MT3620 où les appareils peuvent ne pas se connecter à des réseaux 5GHz qui ne diffusent pas de SSID, malgré l’utilisation de l’analyse ciblée. Nous vous recommandons de ne pas désactiver la diffusion SSID ou de le faire sur un réseau de 2,4 GHz uniquement.