Android WiFi diz "conectado, sem internet", mas a Internet funciona muito bem -- wi-fi campo com bugs campo com dns camp android Relacionado O problema

Android wifi says “Connected, no internet” but internet works just fine


8
vote

problema

português

Esta é uma coisa estranha que começou a acontecer com a rede WiFi no meu trabalho. Dispositivos Android conectados à rede dizem "conectado, sem internet", no entanto, a Internet funciona perfeitamente bem. Isso aconteceu com dispositivos que executam o Android 6 e 7. Este é um pequeno negócio nos EUA e não há proxy ou portal cativo que esteja bloqueando qualquer DNS. O Windows e o Ubuntu Laptops se conectam e dizem que tudo está bem, parece ser algo específico do Android.

Alguém sabe como exatamente o Android determina o clima uma rede tem acesso à Internet? Isso parece que a solução acabará na configuração do roteador, mas sabendo o que poderia fazer com que Android se comportasse dessa maneira seria útil. Quais etapas poderiam tomar para solucionar esse problema?

english

This is a strange thing that started happening with the wifi network at my work. Android devices connected to the network say "Connected, no internet" however the internet works perfectly well. This has happened to devices running android 6 and 7. This is a small business in the US and theres no proxy or captive portal that is blocking any DNS. Windows and Ubuntu laptops connect and say everything is fine, seems to be something Android specific.

Does anyone know how exactly Android determines weather a network has internet access? This seems like the solution will end up in the router configuration, but knowing what could cause Android to behave this way would be helpful. What steps could one take to troubleshoot this issue?

        
     
     

Lista de respostas

2
 
vote

Talvez isso seja provável que seja um problema em conectar-se a Servidores do Google (Servidor Portal Captive) Não o navegador Configurado Portal Captive Login Você parece estar se referindo no seu post.

(em algum momento desde o Lollipop (5.1+)) quando conectado a redes (especialmente redes Wi-Fi), o sistema Android verifica se há uma conexão de Internet ativa por verificações de desempenho em certos URLs pré-definidos pertencentes aos servidores do Google. Se falhar, haverá uma marca de exclamação no ícone do sinal Wi-Fi e uma notificação "conectada e sem internet" é mostrada (mesmo que você possa acessar outros sites e a Internet é uma corrida) por isso pode ser um problema temporário com conectividade a esse URL específico:

.

Android tenta atingir um arquivo chamado generate_204 em um do Google servidores e se não houver resposta positiva, isso significa que existe Nenhuma conexão com a Internet, e a notificação é gerada também, a URL de detecção difere entre Versões diferentes Android.

  • clients3.google.com/generate_204 check (kitkat)

  • connectivitycheck.gstatic.com/generate_204 (marshmallow)

Parece que o Google mudou o portal cativo Detecção em versões recentes do Android e.g Oreo.

Parece que o Google agora verifica para um generate_204 em ambos connectivitycheck.gstatic.com e um vid=3623490 em vid=3623491 .

Novamente é um problema em sua própria ESP em regiões onde o acesso ao serviço do Google está bloqueado. Este resposta No entanto explica bem como ignorar isso e você faz dar uma olhada nele .

Um pedaço de informação foi extraído de Esta discussão

Com base nisso, você tem algumas opções para contornar isso:

    .
  1. servidor de portal em cativeiro

    • Instalar um aplicativo de terminal Alternativamente, esses comandos também podem ser executados através do abcdefghgjklmnabcdefghijklmn12 .

    • Abra o aplicativo de terminal e execute vid=3623493 .

    • execute vid=3623494 . Isso mostrará o atual servidor de portal cativo. Uma resposta "null" é geralmente o padrão.

    • Executar vid=3623495 . Você pode adicionar google.com como o servidor de portal em cativeiro, vid=3623496 .

    • Executar vid=3623497 uma vez para sair de SU, em seguida, saia mais uma vez para fechar o terminal.

    • Reinicie o dispositivo Android. Não funcionará sem uma reinicialização.

  1. portal cativo desabilitando
.
  • Como o culpado é um método vid=3623498 qual acesso vid=3623499 para testar se uma conexão é considerada "utilizável". A página, como sugere seu nome, é projetado para sempre retornar um ABCDEFGHIJKLMNABCDEFGHIJKLMN20 Código de Status. Com base nisso, você tem algumas opções:

i. Matar ABCDEFGHIJKLMNABCDEFGHIJKLMN21 Completamente

  • com adb definido, executar private=12 (Android 7.1+) ou usando private=13

Nota: O lado do baixo é que IsCaptivePortal () é realmente útil para detectar, por exemplo, quando uma rede WiFi exige login. Se a solicitação para a página 204 for redirecionada para uma página de login (não um 204), o sistema entenderá e exibirá a marca de exclamação como pretendido.

II. Alterar o alvo de private=14

  • Outra solução alternativa está substituindo o host do Google por um host que é acessível dentro da região específica. Este host também deve voltar private=15 toda vez private=16 é acessado.

    I.E private=17


  1. usando hosts

    • Você pode editar private=18 para bloquear a URL de detecção do portal cativo, ignorando assim o envio das solicitações para o servidor do portal em cativeiro.


Por que o Linux e o Windows se conectam sem problemas?

Como você mencionou em sua postagem que isso parece ser específico do Android, Inde D A discussão acima destaca isso. A razão é que para esses dispositivos (Linux e Windows), o mecanismo de conexão é completamente diferente.

Esses dispositivos não precisarão se conectar aos servidores do Google para detectar primeiro se uma Internet estiver ativa.

 

Perhaps this seems likely to be a problem connecting to Google servers (captive portal server) not the browser configured captive portal login you seem to be refering to in your post.

(Sometime since Lollipop (5.1+)) When connected to networks (especially Wi-Fi networks), android system checks if there is an active internet connection by perfoming checks on certain pre-defined URLs belonging to Google servers. If it fails, there'll be an exclamation mark on the Wi-Fi signal icon and a xe2x80x9cConnected, no internetxe2x80x9d notification is shown (even though you can access other websites and the internet is up an running) so it may be a temporary problem with connectivity to that specific URL:

Android tries to reach a file named generate_204 on one of the Google servers and if there is no positive response, it means that there is no connection to the internet, and notification is generated also, the detection url differs between different Android versions.

  • clients3.google.com/generate_204 check (kitkat)

  • connectivitycheck.gstatic.com/generate_204 (marshmallow)

It seems that google has changed the captive portal detection on recent versions of android e.g oreo.

looks like google now checks for both a generate_204 on both connectivitycheck.gstatic.com and a gen_204 on www.google.com.

Again is a problem on its own esp in regions where access to google services is blocked. This answer however explains well how to bypass such and you make take a look at it.

A chunk of information has been extracted from this discussion.

Based on this you have some options to bypass this:

  1. Changing captive portal server

    • Install a terminal app alternatively these commands can also be run via the adb shell.

    • Open the terminal app and run su.

    • Run settings get global captive_portal_server. This will show the current captive portal server. A "null" reply is usually the default.

    • Run settings put global captive_portal_server YOUR_SERVER_ADDRESS. You can add google.com as the captive portal server, i.e settings put global captive_portal_server google.com.

    • Run exit once to exit from su, then exit one more time to close the terminal.

    • Reboot the Android device. Will not work without a reboot.

  1. Disabling captive portal
  • Since the culprit is a method isCaptivePortal() which access clients3.google.com/generate_204 to test if a connection is deemed "usable". The page, as its name suggest, is designed to always return a HTTP 204 status code. Based on this you have a couple options:

i. Kill isCaptivePortal() completely

  • with adb set, run adb shell su -c "settings put global captive_portal_detection_enabled 0" (Android 7.1+) or using adb shell su -c "settings put global captive_portal_mode 0"

Note: The down side is that isCaptivePortal() is actually useful to detect for example when a WiFi network requires login. If the request to the 204 page gets redirected to a login page (not a 204), the system will understand and display the exclamation mark as intended.

ii. Change the target of isCaptivePortal()

  • another workaround is replacing the Google host with a host that is accessible within the specific region. This host should also be returning 204 every time /generate_204 is accessed.

    i.e adb shell su -c "settings put global captive_portal_server {alternate_host} "


  1. Using hosts

    • You can edit hosts to block the captive portal detection url thus bypassing the sending of the requests to captive portal server.

Why Linux and Windows connect with no issues?

As you mentioned in your post that this seems to be Android specific, indeed the above discussion highlights that. The reason is that for those devices (Linux and Windows) the mechanism of connection is completely different.

These devices won't need to connect to Google servers to first detect if an internet is active.

 
 
 
 
0
 
vote

Verifique a hora e a data no seu dispositivo Android. Na era HTTPS é muito importante ter data e hora em sincronia com a realidade. Eu tive essa questão hoje com a minha TV e foram alguns anos atrasados. :)

 

Check time and date on your android device. In https era is very important to have date and time in sync with reality. I had this issue today with my TV and it was a few years late. :)

 
 

Perguntas relacionadas

0  Driver Android redefine o DNS no meu host Win7  ( Android driver resets dns on my win7 host ) 
alguns dias atrás eu conectou meu telefone Android (HTC1) à minha máquina Win7 que nunca tinha nenhum problema de rede. Quando eu conectar, também fiz a seg...

6  Posso substituir as configurações de DNS padrão em um HTC EVO sem acesso root?  ( Can i override the default dns settings on an htc evo without root access ) 
Existe alguma maneira de substituir o (s) servidor (s) Sprint DNS usado por padrão na conexão 3G de um HTC EVO executando Froyo sem acesso root? A razão que...

5  Como definir o servidor DNS no Nexus One?  ( How to set the dns server on nexus one ) 
O ISP que uso no meu N1 não me permite abrir o Facebook. Usando um PC, posso usar o servidor DNS do Google (8.8.8.8) para passá-los, mas no N1, não consigo en...

1  Como bloquear o acesso a domínios com DNS66?  ( How to block access to domains with dns66 ) 
Estou usando o open source android app dns66 para bloquear anúncios no meu smartphone. É possível bloquear domínios inteiros (como facebook.com, twitter.com...

8  Android WiFi diz "conectado, sem internet", mas a Internet funciona muito bem  ( Android wifi says connected no internet but internet works just fine ) 
Esta é uma coisa estranha que começou a acontecer com a rede WiFi no meu trabalho. Dispositivos Android conectados à rede dizem "conectado, sem internet", no ...

28  Como chegar a um computador local via nome da máquina em vez de IP?  ( How to reach local computer via machine name instead of ip ) 
Desenvolvedor aqui Prototipando um aplicativo móvel, um pouco novo para celular: Eu tenho um serviço HTTP simples em execução (atualmente) no meu laptop pr...

24  Como alterar o DNS dos Conexões Móveis no Android Kitkat?  ( How to change mobile connectionss dns on android kitkat ) 
Eu quero evitar a censura do meu ISP móvel local (bloqueia Imgur, por exemplo, por algum motivo desconhecido. screenshot (clique em Imagem para maior var...

2  Problema acessando a Internet em 4,0 ics  ( Problem accessing internet in 4 0 ics ) 
Por alguma razão estranha, meu tablet ICs Android 4.0 não é mais capaz de acessar a Internet. Primeiro, via WiFi, pode conectar-se a duas redes distintas. Ent...

7  Eu quero um telefone inteligente que eu possa bloquear as configurações de DNS. É android "o único"  ( I want a smart phone that i can lock in dns settings is android the one ) 
É tudo sobre ser o Chefe da Internet . Eu quero ser capaz de bloquear ou senha proteger as configurações de DNS para OpenDns, para que eu possa ter um smartp...

6  Phone Gingerbread somente consultas para registros AAAA?  ( Gingerbread phone only queries for aaaa records ) 
Desde ontem eu tenho (além do IPv4 regular) IPv6 na minha LAN em casa (IPv6 nativo é fornecido pelo My ISP). Eu tenho o Windows XP, o Windows 7 e o Linux de...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.