Je soupçonne que ce scénario est causé par un manque de connectivité internet par rapport au point d'accès Wi-Fi. En d'autres termes, le périphérique est correctement connecté à la connexion Wi-Fi mais la connectivité internet pourrait être en panne en raison d'un ou de quelques cas.
Ce problème peut être attribué à un ou plusieurs problèmes :
-
Problème de résolution DNS avec votre fournisseur de services Internet (FSI) ou votre routeur.
- Cela pourrait signifier que la route vers vos adresses/serveurs DNS est inaccessible à un moment donné, donc le problème vient de votre fournisseur de services et non de votre téléphone.
-
Paramètres DHCP/DNS mal configurés
- Cela se traduit normalement par le serveur DNS ne répondant pas aux tentatives de connexion. De plus, des paramètres DCHP défectueux peuvent causer des difficultés au périphérique pour obtenir une adresse IP attribuée par le serveur DCHP.
-
Problèmes de connexion aux serveurs Google (serveur de portail captif)
Android tente d'accéder à un fichier nommé generate_204
sur l'un des serveurs Google et s'il n'y a pas de réponse positive, cela signifie qu'il n'y a pas de connexion à internet, et une notification est générée
Comme souligné dans la discussion ci-dessus, l'URL de détection diffère selon les différentes versions d'Android.
Solutions possibles :
-
Changer l'adresse DNS du routeur/modem
- Vérifiez les paramètres DNS de votre routeur et de votre téléphone. Essayez de définir manuellement les serveurs DNS sur les serveurs DNS publics de Google
8.8.8.8
et/ou 8.8.4.4
.
- Redémarrer l'appareil (avec la carte SIM retirée)
Vous pouvez essayer de redémarrer l'appareil selon une procédure similaire à un "démarrage propre" sur un PC en suivant la procédure :
- Bypasser la vérification Wi-Fi lors de l'initialisation (création d'un nouvel utilisateur).
Un utilisateur a réussi à contourner ce problème en créant un nouvel utilisateur pour contourner la vérification de connectivité lors de l'initialisation. Voici leur procédure :
- Redémarrez le téléphone et attendez que le Wi-Fi se connecte
- Allez dans Paramètres et créez un nouvel utilisateur
- Poursuivez la configuration de l'utilisateur jusqu'à ce que vous voyiez "vérification de la connexion"
- Dès que vous voyez "vérification de la connexion", éteignez votre téléphone
- Rallumez votre téléphone à nouveau
-
Activez le Wi-Fi, et le point d'exclamation devrait disparaître rapidement
Vous pouvez éventuellement supprimer le nouvel utilisateur que vous avez créé
Les méthodes suivantes nécessitent un accès root :
-
Changer le serveur de portail captif
-
Installez une application terminal ou ces commandes peuvent également être exécutées via adb shell
.
-
Ouvrez l'application terminal et exécutez su
.
-
Exécutez settings get global captive_portal_server
. Cela affichera le serveur de portail captif actuel. Une réponse "null" est généralement la valeur par défaut.
-
Exécutez settings put global captive_portal_server VOTRE_ADRESSE_SERVEUR
. Vous pouvez ajouter google.com comme serveur de portail captif, c'est-à-dire settings put global captive_portal_server google.com
.
-
Exécutez exit
une fois pour quitter su, puis sortez une fois de plus pour fermer le terminal.
-
Redémarrez l'appareil Android. Cela ne fonctionnera pas sans redémarrage.
- Désactiver le portail captif
- Étant donné que le coupable est une méthode
isCaptivePortal()
qui accède à clients3.google.com/generate_204
pour tester si une connexion est considérée comme "utilisable". La page, comme son nom l'indique, est conçue pour renvoyer toujours un code d'état HTTP 204
. Sur cette base, vous avez quelques options :
i. Désactivez complètement isCaptivePortal()
- Avec adb configuré, exécutez
adb shell su -c "settings put global captive_portal_detection_enabled 0"
Remarque : Le revers de la médaille est que isCaptivePortal() est en réalité utile pour détecter, par exemple, quand un réseau Wi-Fi nécessite une connexion. Si la requête vers la page 204 est redirigée vers une page de connexion (pas un 204), le système comprendra et affichera le point d'exclamation comme prévu.
ii. Changez la cible de isCaptivePortal()
-
une autre solution consiste à remplacer l'hôte Google par un hôte accessible dans la région spécifique. Cet hôte doit également renvoyer 204
à chaque fois que /generate_204
est accédé.
c'est-à-dire adb shell su -c "settings put global captive_portal_server {hôte_alternatif} "
Autres méthodes
Utilisation de hosts
- Vous pouvez modifier
hosts
pour bloquer l'URL de détection du portail captif, contournant ainsi l'envoi des requêtes au serveur de portail captif.
Références et remerciements
0 votes
Je crois que Wifi avec un point d'interrogation signifie que le wifi est disponible et à portée, mais non connecté. Est-ce que d'autres appareils peuvent se connecter à ce point d'accès ? Essayez de redémarrer votre point d'accès. Essayez également de supprimer et de reconfigurer la connexion.