This problem has been driving me crazy. I am an embedded software engineer and I am familiar with the gritty details of IP based networking. I am not familiar with the inner workings of Android, though. I would appreciate any specific suggestions on how to root cause this issue via adb.
Wifi connects just fine with a very strong signal. My phone has an IP address, and initially I can load up websites through chrome and opera. After a few minutes, though, web sites stop loading. The web browser seems to initiate a connection, but then it seems to stall out loading forever. This happens in both chrome and opera. Other apps like slack report "connecting..." indefinitely. This persists until I turn off wifi. If I turn on wifi again, it will work for a few minutes and then crap out again. If I reboot the phone, it seems to work a bit longer than a few minutes, but still eventually craps out. At no point does the OS complain about wifi lacking an internet connection.
If I open a shell with adb, I can reliably ping remote servers. I've examined the routing tables on my phone, and they look fine. I've collected packets on my router using tcpdump, and I can see the initial TCP connection packets and their response at least. Interestingly, if I listen for connections on port 80 using socat on my desktop and connect to it through my phone's browser, I can get text to show up in the browser. It seems that ICMP packets and very short TCP connections generally work at least.
It's not a signal strength issue, it's not a DHCP issue, it's not a route tables issue, it's not a DNS issue. It just doesn't work! Any ideas?
Wifi connects just fine with a very strong signal. My phone has an IP address, and initially I can load up websites through chrome and opera. After a few minutes, though, web sites stop loading. The web browser seems to initiate a connection, but then it seems to stall out loading forever. This happens in both chrome and opera. Other apps like slack report "connecting..." indefinitely. This persists until I turn off wifi. If I turn on wifi again, it will work for a few minutes and then crap out again. If I reboot the phone, it seems to work a bit longer than a few minutes, but still eventually craps out. At no point does the OS complain about wifi lacking an internet connection.
If I open a shell with adb, I can reliably ping remote servers. I've examined the routing tables on my phone, and they look fine. I've collected packets on my router using tcpdump, and I can see the initial TCP connection packets and their response at least. Interestingly, if I listen for connections on port 80 using socat on my desktop and connect to it through my phone's browser, I can get text to show up in the browser. It seems that ICMP packets and very short TCP connections generally work at least.
It's not a signal strength issue, it's not a DHCP issue, it's not a route tables issue, it's not a DNS issue. It just doesn't work! Any ideas?