39 votes

Comment désactiver la détection du portail captif? Comment supprimer le point d'exclamation sur l'icône Wi-Fi ou signal dans Lollipop?

Lorsqu'il est connecté à Internet, le système vérifie s'il se trouve dans un jardin clos, simplement en essayant de se connecter à Google. S'il échoue, sous Android 5, il y aura un point d'exclamation sur l'icône WiFi ou l'icône de signal.

Dans certaines situations, cela peut être ennuyeux. Par exemple, en Chine, Google est bloqué, le point d'exclamation sera toujours là, ce qui est sans signification.

Comment puis-je désactiver cette vérification et faire en sorte que le système suppose que le WiFi connecté/les données mobiles connectées sont connectées à Internet?

0 votes

0 votes

0 votes

35voto

Qian Points 876

C'est simple. Dans le terminal (nécessite les droits root), ou dans adb shell (ne nécessite pas les droits root), exécuter la commande

settings put global captive_portal_detection_enabled 0

et redémarrer. Cela devrait être désactivé. L'état existant peut également être vérifié via la commande

settings get global captive_portal_detection_enabled

Une réponse de "null" indique que la valeur de la clé globale n'a pas été définie et Android reviendra à la valeur par défaut activée et effectuera la détection. Si la détection est désactivée, une réponse de "0" sera reçue.

Plus d'informations : Android : Comment supprimer la détection de "portail captif" sur Android 4.2.2 et 4.3

Cela fonctionne également en 5.

0 votes

Génial! Je remarque que le lien décrit comment faire cela dans 4.2.2 et 4.3. Avez-vous (ou quelqu'un d'autre) vérifié que cela fonctionne également dans 5.0.x?

0 votes

@SimonW oui, ça marche. C'est pourquoi j'ai balisé la question lollipop. Je suis en train d'utiliser CyanogenMod 12 cependant.

1 votes

Commentaire par Gery, manquant de la réputation pour cela : Pour ceux qui utilisent le terminal pour la première fois, n'oubliez pas de taper la commande "su" avant de faire quoi que ce soit, pour permettre l'accès aux permissions superutilisateur. (Il m'a fallu un certain temps pour comprendre pourquoi j'obtenais "permission refusée") Après ça, tout a fonctionné comme un charme.

14voto

Tal Points 358

Dans la prévisualisation des développeurs Android M pour Shamu (Nexus 6), et éventuellement pour d'autres versions de ce système d'exploitation, le captive_portal_server global est utilisé par le système d'exploitation indépendamment de l'état de captive_portal_detection_enabled afin de déterminer la santé d'un réseau WiFi.

Pour les réseaux WiFi, il dessinera non seulement un point d'exclamation sur l'icône de force, mais il placera le SSID sur liste noire pour éviter la reconnexion automatique si le curl l'URL spécifiée dans le captive_portal_server global n'est pas réussi via ce SSID. Une reconnexion manuelle est autorisée mais ne restera connectée que si vous avez captive_portal_detection_enabled et choisissez "Utiliser ce réseau tel quel" manuellement, à chaque fois que vous vous connectez à ce réseau WiFi. Cette annulation est temporaire.

Pour les réseaux mobiles des opérateurs, le captive_portal_server est seulement utilisé pour dessiner un point d'exclamation sur l'icône de force mais restera connecté, et le trafic passera si la connexion est fonctionnelle.

Sur votre appareil rooté, la solution est de réactiver captive_portal_detection_enabled si vous l'avez désactivé, vous connecter à ce réseau WiFi, sélectionner "Utiliser ce réseau tel quel" dans le menu déroulant de la page captive, désactiver les données de votre réseau mobile pour vous concentrer sur la détermination d'un site Web qui peut être récupéré via votre réseau Wifi en vous connectant à votre page captive et ensuite utiliser un navigateur pour en trouver un qui fonctionne. Ensuite, vous pouvez désactiver captive_portal_detection_enabled pour éviter la fenêtre contextuelle ennuyeuse.

Pour réactiver votre détection de portail captif, si vous l'avez précédemment désactivée, lancez la commande :

settings put global captive_portal_detection_enabled 1

Désactivez votre réseau mobile (dans Paramètres - Utilisation des données - Données mobiles - Éteint), pour forcer le téléphone à utiliser le réseau WiFi pour tout le trafic, temporairement. Cela ne sera pas nécessaire une fois que vous aurez configuré tous vos paramètres comme il se doit.

Android M semble requérir un site Web qui se charge avec succès et ne renvoie pas activement un 204 (pas de contenu).

Quelques options comprennent mais ne se limitent pas à

androidcheck.kiritostudio.com
captive.apple.com
www.textise.net
le routeur réseau
localhost
127.0.0.1 (si vous avez un serveur HTTP simple embarqué)
et la liste continue...

Après en avoir trouvé un qui fonctionne pour votre réseau WiFi (ce qui nécessite souvent plus d'imagination et d'essais derrière les proxies de passerelle Web d'entreprise qui n'aiment pas le trafic HTTPS avant l'authentification), vous pouvez enregistrer le serveur.

Enregistrez le serveur en exécutant ceci dans votre application terminal autorisée root, en remplaçant l'URL exemple par celle sur laquelle vous espérez que ça fonctionnera :

settings put global captive_portal_server androidcheck.kiritostudio.com

Redémarrez votre appareil. Essayez-le. Une fois satisfait du comportement des points d'exclamation sur les icônes, la dernière étape est de désactiver la fenêtre contextuelle du portail captif, l'une des inventions les plus malheureuses de cette décennie.

Lancez la commande :

settings put global captive_portal_detection_enabled 0

Si vous vous retrouvez dans un pays différent ou dans une situation WiFi où des problèmes surgissent, malheureusement vous devrez recommencer depuis le début, en réactivant captive_portal_detection_enabled, en redémarrant, en trouvant le bon serveur puis en désactivant la détection de portail par la suite.

0 votes

Est-ce que vous voulez dire HTTP 204 (pas de contenu) ou HTTP 404 (non trouvé) ? Actuellement, j'ai changé pour "pas de contenu" en me basant sur une autre réponse

0 votes

Cela a résolu le problème de "connexion, pas d'internet" sur Nougat. Exécution de CM14.1 (7.1.2) fraîchement flashé sur Nexus.

1voto

Aaron Hoffman Points 2696

Vous pouvez configurer l'adresse de votre serveur de portail captif à cela.

settings put global captive_portal_server g.cn

Ensuite, redémarrez votre téléphone.

PS: Avant cela, vous pouvez valider que le serveur est disponible.

http://g.cn/generate_204

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X