Your new topic does not fit any of the above??? Check first. Then post here. Thanks.

Moderator: igrr

User avatar
By SwiCago
#21442
burkmurray wrote:Hmm - this is with your Nexus/Android? With my iPad, I see "New client" and "request handler not found" on my console as soon as it connects to the AP and tries to connect to Apple. Not sure it makes a difference, but I also have
Code: Select allSerial.setDebugOutput(true);

right after my serial.begin().

Yes, tested on both androids..again iPad is fine. Android never gets to the webserver.

burkmurray wrote:I'll have a closer look at your dump later tonight. Were you able to extract a URI from the "connectivitycheck.android.com" request? The Apple ones are long and random, but all point to success.html.


No, full uri would be visible if the request were going to port 80 while doing tcpdump..however connectivity. Android.com connects to 443 after it is resolved.

I am pretty sure something is not 100% correct in the DNS response and iOS may be more forgiving. I wonder if the Dev of DNSServer ever tested captiveportal.ino or any of his dnsserver code with android???? I know captive portals work on android, because I had been on them at hotels. And hotel would also resolve all DNS to the portal.

Again, thanks for helping with the debugging.
User avatar
By burkmurray
#21477
connectivity. Android.com connects to 443 after it is resolved.

And no URI for the initial request? Just connectivity. Android.com?

I know captive portals work on android, because I had been on them at hotels. And hotel would also resolve all DNS to the portal.

From what I've read this week, some commercial portals/gateways keep a whitelist of sites that they allow to poke through, so they don't have to deal with this sort of thing. Sounds like a mess.

There's a thread on github you may be interested in: https://github.com/esp8266/Arduino/pull/396 - I've asked the DNSServer developer about Android.

Again, thanks for helping with the debugging.

No worries - I'm learning a ton, and seeing troubles with other OSes helps me build more flexible programs.
User avatar
By SwiCago
#21509
burkmurray wrote:
connectivity. Android.com connects to 443 after it is resolved.

And no URI for the initial request? Just connectivity. Android.com?

URI is never exposed when connecting via 443 . So I have no way to see this with tcpdump, unless I setup a man in the middle Certificate Server. I don't think this is really the problem. Because again, I can type in the browser www.test.com and the DNSServer.ccp returns the APs IP, but the browsers never attempts to connect. This is what has me thinking that Android does not understand the DNS response.
burkmurray wrote:
I know captive portals work on android, because I had been on them at hotels. And hotel would also resolve all DNS to the portal.

From what I've read this week, some commercial portals/gateways keep a whitelist of sites that they allow to poke through, so they don't have to deal with this sort of thing. Sounds like a mess.

There's a thread on github you may be interested in: https://github.com/esp8266/Arduino/pull/396 - I've asked the DNSServer developer about Android.

Again, thanks for helping with the debugging.

No worries - I'm learning a ton, and seeing troubles with other OSes helps me build more flexible programs.


I saw you mention this thread and ask about android, do you think I should sign up there and ask as well...or you think one person asking is enough. I appreciate all the work others have done and I am confident it will work soon..

Anyone else out there try the CaptivePortal.ino on ANDROID yet??? Does not work for me, tried on 5.x.x and 4.x.x.
https://github.com/knovoselic/Arduino/b ... Portal.ino
User avatar
By SwiCago
#21561 @burkmurray I made contact with the guy that created a captive portal with lua code
https://github.com/reischle/CaptiveIntraweb
He also stated the following
AReResearch wrote:
I also have issues with Android. The fellow who tested it for me eventually got there by opening some random http/url. But their captive portal detection doesn't work for me as expected. I couldn't debug it properly yet, but one user suspects it tries https requests. I'll see if I can get a device to thoroughly test it with.