Na Visualização do desenvolvedor do Android M para Shamu (Nexus 6) e, possivelmente, em outras compilações deste sistema operacional, ele captive_portal_server global
é usado pelo sistema operacional, independentemente do estado de captive_portal_detection_enabled
, para determinar a integridade de uma rede Wi-Fi.
Para redes Wi-Fi, ele não apenas desenha um ponto de exclamação no ícone de força, como também coloca na lista negra o SSID da reconexão automática se não conseguir com êxito curl
o URL especificado no captive_portal_server global
SSID através do SSID. A reconexão manual é permitida, mas só permanecerá conectada se você tiver captive_portal_detection_enabled
e escolher "Usar esta rede como está" manualmente, sempre que você se conectar a esse SSID WiFi. Essa substituição é temporária.
Para redes de operadoras de telefonia móvel, captive_portal_server
apenas é usado para desenhar um ponto de exclamação no ícone de força, mas permanecerá conectado e o tráfego fluirá se a conexão estiver funcional.
No seu dispositivo raiz, a solução é reativá- captive_portal_detection_enabled
lo se você o desativou, conecte-se a essa rede WiFi, selecione "Usar esta rede como está" no menu suspenso do portal captivo, desative a sua rede móvel dados para se concentrar na determinação de um site que pode ser recuperado através da sua rede Wi-Fi fazendo login no seu portal cativo e, em seguida, use um navegador para encontrar um que funcione. Depois disso, você pode desativar captive_portal_detection_enabled
para impedir o pop-up irritante.
Para reativar o seu captive_portal_detection
, se você o desativou anteriormente, emita o comando:
settings put global captive_portal_detection_enabled 1
Desative sua rede móvel (em Configurações - Uso de dados - Dados móveis - Desativado), para forçar o telefone a usar a rede Wi-Fi para todo o tráfego, temporariamente. Isso não será necessário quando você tiver todas as suas configurações onde elas precisam estar.
O Android M parece exigir um site que seja carregado com êxito e não retorne ativamente um 204 (sem conteúdo).
Algumas opções incluem, entre outras, as
androidcheck.kiritostudio.com
captive.apple.com
www.textise.net
the network router
localhost
127.0.0.1 (if you have an onboard simple HTTP server)
and the list goes on...
Depois de encontrar um que funcione para sua rede WiFi (geralmente requer mais imaginação e tentativas por trás de proxies corporativos de gateway da web que não gostam de tráfego HTTPS antes da autenticação), você pode salvar o servidor.
Salve o servidor executando isso no seu aplicativo de terminal habilitado para raiz, substituindo o URL de exemplo pelo que você espera que funcione:
settings put global captive_portal_server androidcheck.kiritostudio.com
Reinicie seu dispositivo. Experimente. Quando você estiver satisfeito com o comportamento dos pontos de exclamação nos ícones, a etapa final é desativar o pop-up do portal cativo, que é uma das invenções mais infelizes desta década.
Comando de emissão:
settings put global captive_portal_detection_enabled 0
Se você se encontrar em um país diferente ou em uma situação de WiFi em que surgem problemas, infelizmente você precisará repetir o acima exposto desde o início captive_portal_detection_enabled
, reativando, reiniciando, localizando o servidor certo e desativando a detecção do portal posteriormente.