tzapu / WiFiManager

ESP8266 WiFi Connection manager with web captive portal
http://tzapu.com/esp8266-wifi-connection-manager-library-arduino-ide/
MIT License
6.5k stars 1.95k forks source link

wifi manager seems to redirect to 0.0.0.0 for the CaptivePortal #1543

Closed EtoTen closed 8 months ago

EtoTen commented 1 year ago

Basic Infos

Hardware

CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/az-delivery-devkit-v4.html PLATFORM: Espressif 32 (2022.12.2) > AZ-Delivery ESP-32 Dev Kit C V4 HARDWARE: ESP32 240MHz, 520KB RAM, 4MB Flash

WiFimanager Branch/Release: Master (latest from github not release)

Description

Problem description:

Everything seems to work, except I get redirected to 0.0.0.0 instead of the Captive Portal IP. I think the issue may have started after I upgraded to the 2022.12.2 release of the Espressif platform.

I identified the issue being at WifiManager.cpp, line 2403

  String serverLoc = toStringIp(server->client().localIP());
  if(_httpPort != 80) serverLoc += ":" + (String)_httpPort; // add port if not default
  bool doredirect = serverLoc != server->hostHeader(); // redirect if hostheader not server ip, prevent redirect loops

As a quick hack, this worked as a work arround:

  String serverLoc =  "192.168.4.1"
  if(_httpPort != 80) serverLoc += ":" + (String)_httpPort; // add port if not default
  bool doredirect = serverLoc != server->hostHeader(); // redirect if hostheader not server ip, prevent redirect loops

Settings in IDE

[env:node32s] platform = espressif32 board = az-delivery-devkit-v4 board_build.mcu = esp32 board_build.f_cpu = 240000000L framework = arduino monitor_speed = 115200 upload_protocol = esptool upload_flags = --connect-attempts= 200 lib_deps = paulstoffregen/Time@^1.6.1 jchristensen/Timezone@^1.2.4 plerup/EspSoftwareSerial@^6.15.2 sparkfun/SparkFun u-blox GNSS Arduino Library@^2.2.0 lennarthennigs/Button2@^2.2.2 rpolitex/ArduinoNvs@^2.5 earlephilhower/ESP8266Audio@^1.9.7 fabianoriccardi/Melody Player@^2.4.0 https://github.com/tzapu/WiFiManager.git

Sketch

#BEGIN
#include <Arduino.h>
#include <driver/dac.h>

#include <WiFi.h>
#include <SPI.h>
#include <TimeLib.h>
#include <Time.h>
#include <Timezone.h>
#include <DNSServer.h>
#include <WebServer.h>

#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager

#include "LEDControl.h"
#include "SPI_Nixie_Interface.h"
#include "NTP_time.h"
#include "GPS_time.h"
#include "main.h"

#include <stdio.h>
#include <stdlib.h>

#include "ArduinoNvs.h"
#include "Button2.h"

void setup() {
  wifiManager.setHostname("redacted");
  wifiManager.setCountry("US");
  wifiManager.setDebugOutput(true);
  wifiManager.setConfigPortalBlocking(false);
  WiFi.setSleep(false);
  WiFi.setTxPower(WIFI_POWER_19_5dBm); // Set WiFi RF power output to highest level
  wifiManager.startConfigPortal(AP_NAME);
}

void loop() {
     wifiManager.process();
}
#END

Debug Messages

*wm:[2] <- Request redirected to captive portal 
PaddyCube commented 1 year ago

It's the same on my end. Recently started using Wifi Manager and gets redirected to 0.0.0.0 Your workaround fixed it for me for now.

So after applying this workaround, I'm able to connect to my local network and I get an IP address. But I'm not able to start web Portal. It always redirects to 192.168.4.1 now, even if device got an IP from my DNS. By removing the fix you provided back to origin, it keeps redirecting to 0.0.0.0 again.

I used this way to get Wifi Manager to my project:

[env:esp32doit-devkit-v1]
platform = espressif32
board = esp32doit-devkit-v1
framework = arduino
monitor_speed = 115200

[env]
lib_deps =
    https://github.com/tzapu/WiFiManager.git

my code looks like this

#include <Arduino.h>
#include <WiFiManager.h> // https://github.com/tzapu/WiFiManager

// wifimanager can run in a blocking mode or a non blocking mode
// Be sure to know how to process loops with no delay() if using non blocking
bool wm_nonblocking = true; // change to true to use non blocking

WiFiManager wm; // global wm instance
WiFiManagerParameter custom_field; // global param ( for non blocking w params )

String getParam(String name){
  //read parameter from server, for customhmtl input
  String value;
  if(wm.server->hasArg(name)) {
    value = wm.server->arg(name);
  }
  return value;
}

void saveParamCallback(){
  Serial.println("[CALLBACK] saveParamCallback fired");
  Serial.println("PARAM customfieldid = " + getParam("customfieldid"));
}

void setup() {

  WiFi.mode(WIFI_STA); // explicitly set mode, esp defaults to STA+AP  
  Serial.begin(115200);
  Serial.setDebugOutput(true);  
  delay(3000);
  Serial.println("\n Starting");

 if(wm_nonblocking) wm.setConfigPortalBlocking(false);

  // define some special parameters
//  const char* custom_radio_str = "<br/><h3>here comes header 3 </h3><br/>";
//  new (&custom_field) WiFiManagerParameter(custom_radio_str);

  // add a custom input field
  int customFieldLength = 40;
new (&custom_field) WiFiManagerParameter("customfieldid", "Custom Field Label", "Custom Field Value", customFieldLength,"placeholder=\"Custom Field Placeholder\"");

    wm.addParameter(&custom_field);
  wm.setSaveParamsCallback(saveParamCallback);

    // custom menu via array or vector
  // 
  // menu tokens, "wifi","wifinoscan","info","param","close","sep","erase","restart","exit" (sep is seperator) (if param is in menu, params will not show up in wifi page!)
  // const char* menu[] = {"wifi","info","param","sep","restart","exit"}; 
  // wm.setMenu(menu,6);
  std::vector<const char *> menu = {"wifi","info","param","sep","restart","exit"};
  wm.setMenu(menu);

  // set dark theme
  wm.setClass("invert");

   wm.setConfigPortalTimeout(300); // auto close configportal after n seconds
     bool res;
  // res = wm.autoConnect(); // auto generated AP name from chipid
   res = wm.autoConnect("smartGreenhouse"); // anonymous ap
  //res = wm.autoConnect("AutoConnectAP","password"); // password protected ap

  if(!res) {
    Serial.println("Failed to connect or hit timeout");
    // ESP.restart();
  } 
  else {
    //if you get here you have connected to the WiFi    
    Serial.println("connected...yeey :)");
  }
  wm.startWebPortal();

}

void loop() {
  if(wm_nonblocking) wm.process(); // avoid delays() in loop when non-blocking and other long running code  
}
EtoTen commented 1 year ago

I messed with it more, and here is the fix that works for both cases:

String serverLoc;
  if ((WiFi.status()) != WL_CONNECTED)
    serverLoc = toStringIp(WiFi.softAPIP());
  else
    serverLoc = toStringIp(WiFi.localIP());

  if (_httpPort != 80)
    serverLoc += ":" + (String)_httpPort;              // add port if not default
  bool doredirect = serverLoc != server->hostHeader(); // redirect if hostheader not server ip, prevent redirect loops
  // doredirect = !isIp(server->hostHeader()) // old check

I will try and create a fork / pull request with the fix.

EtoTen commented 1 year ago

Pull request created https://github.com/tzapu/WiFiManager/pull/1547

tablatronix commented 1 year ago

I am not seeing an issue... do you have more info about your env?

Works fine for me, this seems related to your dns issue, and have you tried full erase?

EtoTen commented 1 year ago

I don't have a DNS problem, I think you miss-read as I replied to someone else's issue offering a solution for DNS.

I am using this for the platform: https://github.com/espressif/arduino-esp32/releases/tag/2.0.6 (ESP32 Arduino 2.0.6 based on ESP-IDF 4.4.3)

and am using VS.code / platformIO for IDE

What about your self? What sdk versions are you building off?

Per your advise, I just did a full erase without positive results.

Any other items that I could give you?

tablatronix commented 1 year ago

oh my bad

Same env

[env:esp32_dev]
platform = https://github.com/platformio/platform-espressif32.git
board = esp32dev
framework = arduino
lib_extra_dirs = /Users/shawn/projects/microcontrollers/dev/libraries
build_flags = -DWM_DEBUG_PORT=Serial  -DWM_DEBUG_LEVEL=5 -DDEBUG_ESP_PORT=Serial -DCORE_DEBUG_LEVEL=5  -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM

Are you using anything odd like static ip or wificonfig()

What is your actual client address, is it getting 192.168.4.2

Must be something flaky with the wificlient and dns initializing order or something.

Also what is your client device and have you tried another?

Have you enabled esp debuggin, maybe there is something useful there. I think we can change the ip but I would really like to know why this is returning bad ip, it should not.

Also is there any possibility you have a duplicate library, say for webserver or dnsserver

tablatronix commented 1 year ago

heres what debug logs should contain dont forget Serial.setDebugOutput(true);

*wm:[1] Starting Web Portal 
[   892][V][WiFiServer.h:42] WiFiServer(): WiFiServer::WiFiServer(port=80, ...)
[   893][V][WebServer.cpp:87] WebServer(): WebServer::Webserver(port=80)
*wm:[2] HTTP server started 
*wm:[2] WiFi Scan ASYNC started 
[   917][V][WiFiGeneric.cpp:340] _arduino_event_cb(): STA Started
[   919][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 2 - STA_START
*wm:[3] setupDNSD 
*wm:[3] dns server started with ip:  192.168.4.1
*wm:[2] Config Portal Running, non blocking (processing) 
[  7568][V][WiFiGeneric.cpp:383] _arduino_event_cb(): SCAN Done: ID: 128, Status: 0, Results: 5
[  7569][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 1 - SCAN_DONE
[ 10960][V][WiFiGeneric.cpp:407] _arduino_event_cb(): AP Station Connected: MAC: 14:98:77:55:c1:e3, AID: 1
[ 10961][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 12 - AP_STACONNECTED
[ 11015][V][WiFiGeneric.cpp:421] _arduino_event_cb(): AP Station IP Assigned:192.168.4.2
[ 11016][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 14 - AP_STAIPASSIGNED
[ 11503][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=192.168.4.1
[ 11504][V][Parsing.cpp:122] _parseRequest(): method: GET url: /hotspot-detect.html search: 
[ 11509][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 11514][V][Parsing.cpp:227] _parseRequest(): headerValue: captive.apple.com
[ 11521][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 11527][V][Parsing.cpp:227] _parseRequest(): headerValue: close
[ 11533][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 11539][V][Parsing.cpp:227] _parseRequest(): headerValue: CaptiveNetworkSupport-428.120.3 wispr
[ 11547][V][Parsing.cpp:254] _parseArguments(): args: 
[ 11552][V][Parsing.cpp:237] _parseRequest(): Request: /hotspot-detect.html
[ 11559][V][Parsing.cpp:238] _parseRequest():  Arguments: 
[ 11564][E][WebServer.cpp:649] _handleRequest(): request handler not found
*wm:[2] captivePortal check 
*wm:[4] -> captive.apple.com 
*wm:[2] <- Request redirected to captive portal 
[ 11593][W][WebServer.cpp:436] send(): content length is zero
[ 11639][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=192.168.4.1
[ 11640][V][Parsing.cpp:122] _parseRequest(): method: GET url: / search: 
[ 11642][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 11648][V][Parsing.cpp:227] _parseRequest(): headerValue: 192.168.4.1
[ 11654][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 11660][V][Parsing.cpp:227] _parseRequest(): headerValue: close
[ 11666][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 11672][V][Parsing.cpp:227] _parseRequest(): headerValue: CaptiveNetworkSupport-428.120.3 wispr
[ 11680][V][Parsing.cpp:254] _parseArguments(): args: 
[ 11685][V][Parsing.cpp:237] _parseRequest(): Request: /
[ 11690][V][Parsing.cpp:238] _parseRequest():  Arguments: 
*wm:[2] <- HTTP Root 
*wm:[4] -> 192.168.4.1 
*wm:[3] [WIFI] reportStatus prev: WL_IDLE_STATUS
EtoTen commented 1 year ago

Stand-by, let me build a skeleton project that just has the WifiManager code to test with on my end.

EtoTen commented 1 year ago
Starting...
nvsTimeOffset: 492
time_offset: 4294967288
*wm:[1] resetSettings
*wm:[3] WiFi_enableSTA enable
*wm:[1] SETTINGS ERASED 
Starting Wifi AP
*wm:[2] Starting Config Portal
*wm:[3] WiFi station disconnect
*wm:[3] WiFi_enableSTA enable
*wm:[2] Disabling STA
*wm:[2] Enabling AP
*wm:[1] StartAP with SSID:  NixieClock
*wm:[2] AP has anonymous access!
*wm:[1] SoftAP Configuration
*wm:[1] -------------------- 
*wm:[1] ssid:             NixieClock
*wm:[1] password:
*wm:[1] ssid_len:         10
*wm:[1] channel:          1
*wm:[1] authmode:
*wm:[1] ssid_hidden:     
*wm:[1] max_connection:   4
*wm:[1] country:          US ␁␋␔
*wm:[1] beacon_interval:  100(ms)
*wm:[1] --------------------
*wm:[1] AP IP address: 192.168.4.1
*wm:[2] setting softAP Hostname: nixie-clock
*wm:[3] hostname: AP:  nixie-clock
*wm:[2] WiFiSetCountry to US
*wm:[2] [OK] esp_wifi_set_country:  US
*wm:[3] setupConfigPortal
*wm:[1] Starting Web Portal
*wm:[2] HTTP server started 
*wm:[2] WiFi Scan ASYNC started
*wm:[3] setupDNSD
*wm:[3] dns server started with ip:  192.168.4.1
*wm:[2] Config Portal Running, non blocking (processing)
*wm:[1] [SYS] WM version:  v2.0.15-rc.1
*wm:[1] [SYS] Arduino version:  2.0.6
*wm:[1] [SYS] ESP SDK version:  v4.4.3.20221227
*wm:[1] [SYS] Free heap:        267928
*wm:[1] [SYS] Chip ID: 64496192
*wm:[1] [SYS] Chip Model: ESP32-D0WDQ6
*wm:[1] [SYS] Chip Cores: 2
*wm:[1] [SYS] Chip Rev: 1
Ready!
*wm:[2] NUM CLIENTS:  0
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] NUM CLIENTS:  1
*wm:[2] <- HTTP Root
*wm:[2] <- Request redirected to captive portal
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] <- Request redirected to captive portal 
*wm:[2] NUM CLIENTS:  1

Whole skeleton package I put here: (https://github.com/EtoTen/WifiManager_issue_1543_test

tablatronix commented 1 year ago

No esp debug there

EtoTen commented 1 year ago

Ahh sorry I was going crazy trying to enable full debuging, then I just copied your build_flags from above, and it worked. Thanks!

I also updated the example I made here: https://github.com/EtoTen/WifiManager_issue_1543_test

Here is an example of when it redirects to 0.0.0.0.:

Starting...
[MEM] free: 319216 | max: 45044 | frag:  86%
*wm:[1] resetSettings
[MEM] free: 319216 | max: 45044 | frag:  86%
*wm:[3] WiFi_enableSTA enable
[   861][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 0 - WIFI_READY
[   966][V][WiFiGeneric.cpp:338] _arduino_event_cb(): STA Started
[   967][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 2 - STA_START
[  1476][V][WiFiGeneric.cpp:341] _arduino_event_cb(): STA Stopped
[  1477][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 3 - STA_STOP
[MEM] free: 303940 | max: 45044 | frag:  86%
*wm:[1] SETTINGS ERASED
[  1505][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 0 - WIFI_READY
[  1509][W][WiFiGeneric.cpp:1299] setTxPower(): Neither AP or STA has been started
[  1509][V][WiFiGeneric.cpp:338] _arduino_event_cb(): STA Started
[  1514][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 2 - STA_START
I (1504) main: SSID: , BSSID: ff:ff:ff:ff:ff:ff
Starting Wifi AP
[MEM] free: 276860 | max: 45044 | frag:  84% 
*wm:[2] Starting Config Portal
[  1539][V][WiFiGeneric.cpp:390] _arduino_event_cb(): AP Started
[  1539][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 10 - AP_START
[MEM] free: 273480 | max: 45044 | frag:  84% 
*wm:[3] WiFi station disconnect
[MEM] free: 273480 | max: 45044 | frag:  84%
*wm:[3] WiFi_enableSTA enable
[  1569][V][WiFiGeneric.cpp:341] _arduino_event_cb(): STA Stopped
[  1569][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 3 - STA_STOP
[MEM] free: 275188 | max: 45044 | frag:  84%
*wm:[2] Disabling STA 
[MEM] free: 275188 | max: 45044 | frag:  84%
*wm:[2] Enabling AP
[MEM] free: 275188 | max: 45044 | frag:  84%
*wm:[1] StartAP with SSID:  NixieClock
[MEM] free: 275188 | max: 45044 | frag:  84%
*wm:[2] AP has anonymous access!
[  1607][V][WiFiGeneric.cpp:393] _arduino_event_cb(): AP Stopped
[  1607][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 11 - AP_STOP
[MEM] free: 275316 | max: 45044[  1614][V][WiFiGeneric.cpp:390] _arduino_event_cb(): AP Started
[  1620][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 10 - AP_START
 | frag:  84%
*wm:[1] SoftAP Configuration
[MEM] free: 275180 | max: 45044 | frag:  84%
*wm:[1] --------------------
[MEM] free: 275180 | max: 45044 | frag:  84% 
*wm:[1] ssid:             NixieClock
[MEM] free: 275180 | max: 45044 | frag:  84%
*wm:[1] password:
[MEM] free: 275180 | max: 45044 | frag:  84% 
*wm:[1] ssid_len:         10
[MEM] free: 275180 | max: 45044 | frag:  84%
*wm:[1] channel:          1
[MEM] free: 275180 | max: 45044 | frag:  84% 
*wm:[1] authmode:
[MEM] free: 275180 | max: 45044 | frag:  84%
*wm:[1] ssid_hidden:
[MEM] free: 275180 | max: 45044 | frag:  84%
*wm:[1] max_connection:   4
[MEM] free: 275180 | max: 45044 | frag:  84% 
*wm:[1] country:          US ␁␋␔
[MEM] free: 275180 | max: 45044 | frag:  84%
*wm:[1] beacon_interval:  100(ms)
[MEM] free: 275180 | max: 45044 | frag:  84% 
*wm:[1] --------------------
[MEM] free: 275164 | max: 45044 | frag:  84% 
*wm:[1] AP IP address: 192.168.4.1
[MEM] free: 275140 | max: 45044 | frag:  84%
*wm:[2] setting softAP Hostname: nixie-clock
[MEM] free: 275140 | max: 45044 | frag:  84%
*wm:[3] hostname: AP:  nixie-clock
[MEM] free: 275140 | max: 45044 | frag:  84%
*wm:[2] WiFiSetCountry to US
[MEM] free: 275140 | max: 45044 | frag:  84%
*wm:[2] [OK] esp_wifi_set_country:  US
[MEM] free: 275140 | max: 45044 | frag:  84%
*wm:[3] setupConfigPortal 
[MEM] free: 275140 | max: 45044 | frag:  84%
*wm:[1] Starting Web Portal
[  2257][V][WiFiServer.h:41] WiFiServer(): WiFiServer::WiFiServer(port=80, ...)
[  2257][V][WebServer.cpp:87] WebServer(): WebServer::Webserver(port=80)
[  2266][E][WiFiServer.cpp:91] begin(): ---------------- IPv6
[MEM] free: 272152 | max: 45044 | frag:  84%
*wm:[2] HTTP server started 
[MEM] free: 272152 | max: 45044 | frag:  84%
*wm:[2] WiFi Scan ASYNC started
[  2293][V][WiFiGeneric.cpp:338] _arduino_event_cb(): STA Started
[  2293][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 2 - STA_START
[MEM] free: 270304 | max: 45044 | frag:  84% 
*wm:[3] setupDNSD
[MEM] free: 269880 | max: 45044 | frag:  84%
*wm:[3] dns server started with ip:  192.168.4.1
[MEM] free: 267684 | max: 45044 | frag:  84% 
*wm:[2] Config Portal Running, non blocking (processing)
Ready!
[  9370][V][WiFiGeneric.cpp:381] _arduino_event_cb(): SCAN Done: ID: 128, Status: 0, Results: 7
[  9371][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 1 - SCAN_DONE
[MEM] free: 267220 | max: 45044 | frag:  84% 
*wm:[2] NUM CLIENTS:  0
[MEM] free: 267220 | max: 45044 | frag:  84% 
*wm:[2] NUM CLIENTS:  0
[ 66355][V][WiFiGeneric.cpp:405] _arduino_event_cb(): AP Station Connected: MAC: b2:9c:75:1a:4d:95, AID: 1
[ 66356][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 12 - AP_STACONNECTED
[ 66736][V][WiFiGeneric.cpp:419] _arduino_event_cb(): AP Station IP Assigned:192.168.4.2
[ 66736][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 14 - AP_STAIPASSIGNED
[ 66984][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 66985][V][Parsing.cpp:122] _parseRequest(): method: GET url: /generate_204 search:
[ 66989][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 66994][V][Parsing.cpp:227] _parseRequest(): headerValue: close
[ 67000][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 67006][V][Parsing.cpp:227] _parseRequest(): headerValue: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36
[ 67021][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 67026][V][Parsing.cpp:227] _parseRequest(): headerValue: www.google.us
[ 67033][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 67039][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 67045][V][Parsing.cpp:254] _parseArguments(): args:
[ 67050][V][Parsing.cpp:237] _parseRequest(): Request: /generate_204
[ 67056][V][Parsing.cpp:238] _parseRequest():  Arguments: 
[ 67061][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 262480 | max: 45044 | frag:  83%
*wm:[4] -> www.google.us 
[MEM] free: 262624 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal
[ 67089][W][WebServer.cpp:436] send(): content length is zero
[ 67108][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 67109][V][Parsing.cpp:122] _parseRequest(): method: GET url: /generate204 search:
[ 67112][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 67118][V][Parsing.cpp:227] _parseRequest(): headerValue: close
[ 67124][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 67130][V][Parsing.cpp:227] _parseRequest(): headerValue: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36
[ 67145][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 67150][V][Parsing.cpp:227] _parseRequest(): headerValue: conn-service-us-04.allawnos.com
[ 67158][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 67164][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 67170][V][Parsing.cpp:254] _parseArguments(): args:
[ 67175][V][Parsing.cpp:237] _parseRequest(): Request: /generate204
[ 67181][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 67186][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 262108 | max: 45044 | frag:  83%
*wm:[4] -> conn-service-us-04.allawnos.com 
[MEM] free: 262348 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal
[ 67215][W][WebServer.cpp:436] send(): content length is zero
[ 67220][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 67222][V][Parsing.cpp:122] _parseRequest(): method: GET url: /generate_204 search: 
[ 67230][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 67235][V][Parsing.cpp:227] _parseRequest(): headerValue: close
[ 67241][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 67247][V][Parsing.cpp:227] _parseRequest(): headerValue: Dalvik/2.1.0 (Linux; U; Android 13; LE2125 Build/TP1A.220624.014)
[ 67258][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 67264][V][Parsing.cpp:227] _parseRequest(): headerValue: www.google.com
[ 67270][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 67277][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 67282][V][Parsing.cpp:254] _parseArguments(): args:
[ 67287][V][Parsing.cpp:237] _parseRequest(): Request: /generate_204
[ 67293][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 67299][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 261368 | max: 45044 | frag:  83% 
*wm:[4] -> www.google.com
[MEM] free: 261732 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal
[ 67327][W][WebServer.cpp:436] send(): content length is zero
[ 67332][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 67333][V][Parsing.cpp:122] _parseRequest(): method: POST url: /chat search: 
[ 67340][V][Parsing.cpp:154] _parseRequest(): headerName: Host
[ 67345][V][Parsing.cpp:155] _parseRequest(): headerValue: c.whatsapp.net
[ 67352][V][Parsing.cpp:154] _parseRequest(): headerName: User-Agent
[ 67358][V][Parsing.cpp:155] _parseRequest(): headerValue: Mozilla/5.0 (compatible; WAChat/1.2; +http://www.whatsapp.com/contact)
[ 67369][V][Parsing.cpp:154] _parseRequest(): headerName: Transfer-Encoding
[ 67376][V][Parsing.cpp:155] _parseRequest(): headerValue: chunked
[ 67382][V][Parsing.cpp:254] _parseArguments(): args: 
[ 67387][V][Parsing.cpp:237] _parseRequest(): Request: /chat
[ 67392][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 67398][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 259260 | max: 45044 | frag:  83%
*wm:[4] -> c.whatsapp.net
[MEM] free: 259444 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal 
[ 67426][W][WebServer.cpp:436] send(): content length is zero
[ 67694][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 67696][V][Parsing.cpp:122] _parseRequest(): method: POST url: /mtuprobe search: 
[ 67698][V][Parsing.cpp:154] _parseRequest(): headerName: Connection
[ 67704][V][Parsing.cpp:155] _parseRequest(): headerValue: Keep-Alive
[ 67711][V][Parsing.cpp:154] _parseRequest(): headerName: Content-Type
[ 67717][V][Parsing.cpp:155] _parseRequest(): headerValue: multipart/form-data; boundary=-----------hello world-----------
[ 67728][V][Parsing.cpp:154] _parseRequest(): headerName: Charsert
[ 67733][V][Parsing.cpp:155] _parseRequest(): headerValue: UTF-8
[ 67739][V][Parsing.cpp:154] _parseRequest(): headerName: User-Agent
[ 67745][V][Parsing.cpp:155] _parseRequest(): headerValue: Dalvik/2.1.0 (Linux; U; Android 13; LE2125 Build/TP1A.220624.014)
[ 67756][V][Parsing.cpp:154] _parseRequest(): headerName: Host
[ 67762][V][Parsing.cpp:155] _parseRequest(): headerValue: conn-service-us-04.allawnos.com
[ 67770][V][Parsing.cpp:154] _parseRequest(): headerName: Accept-Encoding
[ 67776][V][Parsing.cpp:155] _parseRequest(): headerValue: gzip
[ 67782][V][Parsing.cpp:154] _parseRequest(): headerName: Content-Length
[ 67788][V][Parsing.cpp:155] _parseRequest(): headerValue: 1462
[ 67794][V][Parsing.cpp:254] _parseArguments(): args:
[ 67799][V][Parsing.cpp:355] _parseForm(): Parse Form: Boundary: -----------hello world----------- Length: 1462
[ 67809][E][Parsing.cpp:548] _parseForm(): Error: line: -----------hello world-----------
[ 67820][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 67824][V][Parsing.cpp:122] _parseRequest(): method: GET url: /mobile/status.php search:
[ 67832][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 67838][V][Parsing.cpp:227] _parseRequest(): headerValue: Facebook
[ 67844][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 67849][V][Parsing.cpp:227] _parseRequest(): headerValue: portal.fb.com
[ 67856][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 67862][V][Parsing.cpp:227] _parseRequest(): headerValue: Keep-Alive
[ 67868][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 67875][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 67880][V][Parsing.cpp:254] _parseArguments(): args: 
[ 67885][V][Parsing.cpp:237] _parseRequest(): Request: /mobile/status.php
[ 67892][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 67897][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 262244 | max: 45044 | frag:  83%
*wm:[4] -> portal.fb.com
[MEM] free: 262388 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal 
[ 67925][W][WebServer.cpp:436] send(): content length is zero
[ 68213][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 68218][V][Parsing.cpp:122] _parseRequest(): method: POST url: /chat search:
[ 68220][V][Parsing.cpp:154] _parseRequest(): headerName: Host
[ 68225][V][Parsing.cpp:155] _parseRequest(): headerValue: c.whatsapp.net
[ 68232][V][Parsing.cpp:154] _parseRequest(): headerName: User-Agent
[ 68238][V][Parsing.cpp:155] _parseRequest(): headerValue: Mozilla/5.0 (compatible; WAChat/2.0; +http://www.whatsapp.com/contact)
[ 68249][V][Parsing.cpp:154] _parseRequest(): headerName: Transfer-Encoding
[ 68256][V][Parsing.cpp:155] _parseRequest(): headerValue: chunked
[ 68262][V][Parsing.cpp:254] _parseArguments(): args:
[ 68267][E][WiFiClient.cpp:545] flush(): fail on fd 50, errno: 11, "No more processes"
[ 68276][V][Parsing.cpp:237] _parseRequest(): Request: /chat
[ 68280][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 68285][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 263112 | max: 45044 | frag:  83%
*wm:[4] -> c.whatsapp.net
[MEM] free: 262644 | max: 45044 | frag:  83% 
*wm:[2] <- Request redirected to captive portal
[ 68313][W][WebServer.cpp:436] send(): content length is zero
[ 68315][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 68319][V][Parsing.cpp:122] _parseRequest(): method: GET url: / search:
[ 68326][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 68332][V][Parsing.cpp:227] _parseRequest(): headerValue: Facebook
[ 68338][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 68343][V][Parsing.cpp:227] _parseRequest(): headerValue: 192.168.4.1
[ 68349][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 68355][V][Parsing.cpp:227] _parseRequest(): headerValue: Keep-Alive
[ 68362][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 68368][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 68374][V][Parsing.cpp:254] _parseArguments(): args: 
[ 68379][V][Parsing.cpp:237] _parseRequest(): Request: /
[ 68384][V][Parsing.cpp:238] _parseRequest():  Arguments:
[MEM] free: 262516 | max: 45044 | frag:  83%
*wm:[2] <- HTTP Root 
[MEM] free: 262452 | max: 45044 | frag:  83%
*wm:[4] -> 192.168.4.1
[MEM] free: 258452 | max: 45044 | frag:  83%
*wm:[3] [WIFI] reportStatus prev: WL_IDLE_STATUS
[MEM] free: 258452 | max: 45044 | frag:  83%
*wm:[3] [WIFI] reportStatus current: WL_DISCONNECTED
[MEM] free: 247200 | max: 45044 | frag:  82%
*wm:[2] WiFi Scan ASYNC started
[ 68576][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 68577][V][Parsing.cpp:122] _parseRequest(): method: GET url: /mobile/status.php search: 
[ 68581][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 68587][V][Parsing.cpp:227] _parseRequest(): headerValue: Facebook
[ 68593][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 68598][V][Parsing.cpp:227] _parseRequest(): headerValue: portal.fb.com
[ 68605][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 68611][V][Parsing.cpp:227] _parseRequest(): headerValue: Keep-Alive
[ 68617][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 68623][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 68629][V][Parsing.cpp:254] _parseArguments(): args:
[ 68634][V][Parsing.cpp:237] _parseRequest(): Request: /mobile/status.php
[ 68640][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 68646][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 262604 | max: 45044 | frag:  83%
*wm:[4] -> portal.fb.com 
[MEM] free: 262748 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal
[ 68674][W][WebServer.cpp:436] send(): content length is zero
[ 69095][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 69096][V][Parsing.cpp:122] _parseRequest(): method: GET url: / search:
[ 69098][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 69104][V][Parsing.cpp:227] _parseRequest(): headerValue: Facebook
[ 69110][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 69116][V][Parsing.cpp:227] _parseRequest(): headerValue: 192.168.4.1
[ 69122][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 69128][V][Parsing.cpp:227] _parseRequest(): headerValue: Keep-Alive
[ 69134][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 69141][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 69146][V][Parsing.cpp:254] _parseArguments(): args:
[ 69151][V][Parsing.cpp:237] _parseRequest(): Request: /
[ 69156][V][Parsing.cpp:238] _parseRequest():  Arguments:
[MEM] free: 262412 | max: 45044 | frag:  83%
*wm:[2] <- HTTP Root
[MEM] free: 262348 | max: 45044 | frag:  83% 
*wm:[4] -> 192.168.4.1
[MEM] free: 258348 | max: 45044 | frag:  83%
*wm:[3] [WIFI] reportStatus prev: WL_IDLE_STATUS
[MEM] free: 258348 | max: 45044 | frag:  83% 
*wm:[3] [WIFI] reportStatus current: WL_DISCONNECTED
[MEM] free: 250672 | max: 45044 | frag:  83%
*wm:[2] WiFi Scan ASYNC started
[ 75255][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 75274][V][WiFiGeneric.cpp:381] _arduino_event_cb(): SCAN Done: ID: 129, Status: 0, Results: 5
[ 75275][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 1 - SCAN_DONE
[ 75717][V][Parsing.cpp:122] _parseRequest(): method: GET url: / search: 
[ 75718][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 75718][V][Parsing.cpp:227] _parseRequest(): headerValue: 192.168.4.1
[ 75725][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 75730][V][Parsing.cpp:227] _parseRequest(): headerValue: keep-alive
[ 75737][V][Parsing.cpp:226] _parseRequest(): headerName: Upgrade-Insecure-Requests
[ 75744][V][Parsing.cpp:227] _parseRequest(): headerValue: 1
[ 75750][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 75755][V][Parsing.cpp:227] _parseRequest(): headerValue: Mozilla/5.0 (Linux; Android 13; LE2125 Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/108.0.5359.128 Mobile Safari/537.36
[ 75775][V][Parsing.cpp:226] _parseRequest(): headerName: Accept
[ 75780][V][Parsing.cpp:227] _parseRequest(): headerValue: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
[ 75798][V][Parsing.cpp:226] _parseRequest(): headerName: X-Requested-With
[ 75804][V][Parsing.cpp:227] _parseRequest(): headerValue: com.google.android.captiveportallogin
[ 75813][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 75819][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip, deflate
[ 75826][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Language
[ 75832][V][Parsing.cpp:227] _parseRequest(): headerValue: en-US,en-GB;q=0.9,en;q=0.8,ru-RU;q=0.7,ru;q=0.6
[ 75841][V][Parsing.cpp:254] _parseArguments(): args: 
[ 75846][V][Parsing.cpp:237] _parseRequest(): Request: /
[ 75851][V][Parsing.cpp:238] _parseRequest():  Arguments:
[MEM] free: 258624 | max: 45044 | frag:  83% 
*wm:[2] <- HTTP Root
[MEM] free: 258560 | max: 45044 | frag:  83%
*wm:[4] -> 192.168.4.1
[MEM] free: 254560 | max: 45044 | frag:  83%
*wm:[3] [WIFI] reportStatus prev: WL_IDLE_STATUS
[MEM] free: 254560 | max: 45044 | frag:  83%
*wm:[3] [WIFI] reportStatus current: WL_DISCONNECTED
[MEM] free: 243312 | max: 45044 | frag:  82%
*wm:[2] WiFi Scan ASYNC started
[ 75899][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 75901][V][Parsing.cpp:122] _parseRequest(): method: POST url: /mmtls/716e7958 search: 
[ 75908][V][Parsing.cpp:154] _parseRequest(): headerName: Accept
[ 75913][V][Parsing.cpp:155] _parseRequest(): headerValue: */*
[ 75919][V][Parsing.cpp:154] _parseRequest(): headerName: Cache-Control
[ 75925][V][Parsing.cpp:155] _parseRequest(): headerValue: no-cache
[ 75932][V][Parsing.cpp:154] _parseRequest(): headerName: Connection
[ 75937][V][Parsing.cpp:155] _parseRequest(): headerValue: close
[ 75943][V][Parsing.cpp:154] _parseRequest(): headerName: Content-Length
[ 75950][V][Parsing.cpp:155] _parseRequest(): headerValue: 546
[ 75955][V][Parsing.cpp:154] _parseRequest(): headerName: Content-Type
[ 75961][V][Parsing.cpp:155] _parseRequest(): headerValue: application/octet-stream
[ 75969][V][Parsing.cpp:154] _parseRequest(): headerName: Host
[ 75974][V][Parsing.cpp:155] _parseRequest(): headerValue: sgshort.wechat.com
[ 75981][V][Parsing.cpp:154] _parseRequest(): headerName: Upgrade
[ 75987][V][Parsing.cpp:155] _parseRequest(): headerValue: mmtls
[ 75993][V][Parsing.cpp:154] _parseRequest(): headerName: User-Agent
[ 75999][V][Parsing.cpp:155] _parseRequest(): headerValue: MicroMessenger Client
[ 76007][V][Parsing.cpp:254] _parseArguments(): args:
[ 76011][V][Parsing.cpp:197] _parseRequest(): Plain: ␙�␄
[ 76016][V][Parsing.cpp:237] _parseRequest(): Request: /mmtls/716e7958
[ 76022][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 76028][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 259880 | max: 45044 | frag:  83%
*wm:[4] -> sgshort.wechat.com
[MEM] free: 260072 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal 
[ 76056][W][WebServer.cpp:436] send(): content length is zero
[ 76063][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 76065][V][Parsing.cpp:122] _parseRequest(): method: GET url: /generate204 search:
[ 76070][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 76075][V][Parsing.cpp:227] _parseRequest(): headerValue: close
[ 76082][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 76087][V][Parsing.cpp:227] _parseRequest(): headerValue: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36
[ 76102][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 76107][V][Parsing.cpp:227] _parseRequest(): headerValue: conn-service-us-04.allawnos.com
[ 76115][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 76122][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 76127][V][Parsing.cpp:254] _parseArguments(): args:
[ 76132][V][Parsing.cpp:237] _parseRequest(): Request: /generate204
[ 76138][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 76144][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 260572 | max: 45044 | frag:  83% 
*wm:[4] -> conn-service-us-04.allawnos.com
[MEM] free: 260812 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal
[ 76172][W][WebServer.cpp:436] send(): content length is zero
[ 76180][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 76181][V][Parsing.cpp:122] _parseRequest(): method: GET url: /generate_204 search: 
[ 76187][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 76193][V][Parsing.cpp:227] _parseRequest(): headerValue: close
[ 76199][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 76204][V][Parsing.cpp:227] _parseRequest(): headerValue: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36
[ 76219][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 76224][V][Parsing.cpp:227] _parseRequest(): headerValue: www.google.us
[ 76231][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 76237][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 76243][V][Parsing.cpp:254] _parseArguments(): args: 
[ 76248][V][Parsing.cpp:237] _parseRequest(): Request: /generate_204
[ 76254][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 76259][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 261096 | max: 45044 | frag:  83%
*wm:[4] -> www.google.us
[MEM] free: 261240 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal 
[ 76288][W][WebServer.cpp:436] send(): content length is zero
[ 76292][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 81294][E][Parsing.cpp:90] _parseRequest(): Invalid request: ␖�␄
[ 81296][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 81297][V][Parsing.cpp:122] _parseRequest(): method: GET url: / search: 
[ 81303][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 81308][V][Parsing.cpp:227] _parseRequest(): headerValue: Dalvik/2.1.0 (Linux; U; Android 13; LE2125 Build/TP1A.220624.014)
[ 81319][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 81325][V][Parsing.cpp:227] _parseRequest(): headerValue: 192.168.4.1
[ 81331][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 81337][V][Parsing.cpp:227] _parseRequest(): headerValue: Keep-Alive
[ 81343][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 81350][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 81355][V][Parsing.cpp:254] _parseArguments(): args:
[ 81360][V][Parsing.cpp:237] _parseRequest(): Request: /
[ 81365][V][Parsing.cpp:238] _parseRequest():  Arguments:
[MEM] free: 261036 | max: 45044 | frag:  83%
*wm:[2] <- HTTP Root
[MEM] free: 260972 | max: 45044 | frag:  83% 
*wm:[4] -> 192.168.4.1
[MEM] free: 256968 | max: 45044 | frag:  83%
*wm:[3] [WIFI] reportStatus prev: WL_IDLE_STATUS
[MEM] free: 256968 | max: 45044 | frag:  83% 
*wm:[3] [WIFI] reportStatus current: WL_DISCONNECTED
[MEM] free: 245724 | max: 45044 | frag:  82%
*wm:[2] WiFi Scan ASYNC started
[ 82539][V][WiFiGeneric.cpp:381] _arduino_event_cb(): SCAN Done: ID: 130, Status: 0, Results: 3
[ 82539][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 1 - SCAN_DONE
[ 83410][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 83412][V][Parsing.cpp:122] _parseRequest(): method: GET url: /generate_204 search: 
[ 83415][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 83421][V][Parsing.cpp:227] _parseRequest(): headerValue: close
[ 83427][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 83433][V][Parsing.cpp:227] _parseRequest(): headerValue: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36
[ 83447][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 83453][V][Parsing.cpp:227] _parseRequest(): headerValue: www.google.us
[ 83459][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 83466][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 83471][V][Parsing.cpp:254] _parseArguments(): args: 
[ 83476][V][Parsing.cpp:237] _parseRequest(): Request: /generate_204
[ 83482][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 83488][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 259780 | max: 45044 | frag:  83%
*wm:[4] -> www.google.us
[MEM] free: 259924 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal 
[ 83516][W][WebServer.cpp:436] send(): content length is zero
[ 83520][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 83522][V][Parsing.cpp:122] _parseRequest(): method: GET url: /generate204 search: 
[ 83529][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 83535][V][Parsing.cpp:227] _parseRequest(): headerValue: close
[ 83541][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 83547][V][Parsing.cpp:227] _parseRequest(): headerValue: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.32 Safari/537.36
[ 83561][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 83567][V][Parsing.cpp:227] _parseRequest(): headerValue: conn-service-us-04.allawnos.com
[ 83575][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 83581][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 83587][V][Parsing.cpp:254] _parseArguments(): args:
[ 83592][V][Parsing.cpp:237] _parseRequest(): Request: /generate204
[ 83598][V][Parsing.cpp:238] _parseRequest():  Arguments: 
[ 83603][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 260632 | max: 45044 | frag:  83%
*wm:[4] -> conn-service-us-04.allawnos.com 
[MEM] free: 260872 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal
[ 83632][W][WebServer.cpp:436] send(): content length is zero
[ 86230][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[MEM] free: 260812 | max: 45044 | frag:  83% 
*wm:[2] NUM CLIENTS:  1
[ 91236][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 91237][V][Parsing.cpp:122] _parseRequest(): method: POST url: /mmtls/065b6cfc search:
[ 91240][V][Parsing.cpp:154] _parseRequest(): headerName: Accept
[ 91246][V][Parsing.cpp:155] _parseRequest(): headerValue: */*
[ 91251][V][Parsing.cpp:154] _parseRequest(): headerName: Cache-Control
[ 91258][V][Parsing.cpp:155] _parseRequest(): headerValue: no-cache
[ 91264][V][Parsing.cpp:154] _parseRequest(): headerName: Connection
[ 91270][V][Parsing.cpp:155] _parseRequest(): headerValue: close
[ 91275][V][Parsing.cpp:154] _parseRequest(): headerName: Content-Length
[ 91282][V][Parsing.cpp:155] _parseRequest(): headerValue: 655
[ 91288][V][Parsing.cpp:154] _parseRequest(): headerName: Content-Type
[ 91294][V][Parsing.cpp:155] _parseRequest(): headerValue: application/octet-stream
[ 91301][V][Parsing.cpp:154] _parseRequest(): headerName: Host
[ 91306][V][Parsing.cpp:155] _parseRequest(): headerValue: sgshort.wechat.com
[ 91313][V][Parsing.cpp:154] _parseRequest(): headerName: Upgrade
[ 91319][V][Parsing.cpp:155] _parseRequest(): headerValue: mmtls
[ 91325][V][Parsing.cpp:154] _parseRequest(): headerName: User-Agent
[ 91331][V][Parsing.cpp:155] _parseRequest(): headerValue: MicroMessenger Client
[ 91339][V][Parsing.cpp:254] _parseArguments(): args:
[ 91343][V][Parsing.cpp:197] _parseRequest(): Plain: ␙�␄
[ 91348][V][Parsing.cpp:237] _parseRequest(): Request: /mmtls/065b6cfc
[ 91354][V][Parsing.cpp:238] _parseRequest():  Arguments:
[ 91360][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 260396 | max: 45044 | frag:  83% 
*wm:[4] -> sgshort.wechat.com
[MEM] free: 260588 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal
[ 91388][W][WebServer.cpp:436] send(): content length is zero
[ 93975][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[ 93976][V][Parsing.cpp:122] _parseRequest(): method: GET url: /generate_204 search:
[ 93979][V][Parsing.cpp:226] _parseRequest(): headerName: Connection
[ 93985][V][Parsing.cpp:227] _parseRequest(): headerValue: close
[ 93991][V][Parsing.cpp:226] _parseRequest(): headerName: User-Agent
[ 93997][V][Parsing.cpp:227] _parseRequest(): headerValue: Dalvik/2.1.0 (Linux; U; Android 13; LE2125 Build/TP1A.220624.014)
[ 94008][V][Parsing.cpp:226] _parseRequest(): headerName: Host
[ 94013][V][Parsing.cpp:227] _parseRequest(): headerValue: www.google.com
[ 94020][V][Parsing.cpp:226] _parseRequest(): headerName: Accept-Encoding
[ 94026][V][Parsing.cpp:227] _parseRequest(): headerValue: gzip
[ 94032][V][Parsing.cpp:254] _parseArguments(): args: 
[ 94037][V][Parsing.cpp:237] _parseRequest(): Request: /generate_204
[ 94043][V][Parsing.cpp:238] _parseRequest():  Arguments: 
[ 94049][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 260412 | max: 45044 | frag:  83%
*wm:[4] -> www.google.com
[MEM] free: 260588 | max: 45044 | frag:  83% 
*wm:[2] <- Request redirected to captive portal
[ 94077][W][WebServer.cpp:436] send(): content length is zero
[MEM] free: 262620 | max: 45044 | frag:  83% 
*wm:[2] NUM CLIENTS:  1
[128472][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[128484][V][Parsing.cpp:122] _parseRequest(): method: POST url: /chat search:
[128485][V][Parsing.cpp:154] _parseRequest(): headerName: Host
[128486][V][Parsing.cpp:155] _parseRequest(): headerValue: c.whatsapp.net
[128492][V][Parsing.cpp:154] _parseRequest(): headerName: User-Agent
[128498][V][Parsing.cpp:155] _parseRequest(): headerValue: Mozilla/5.0 (compatible; WAChat/1.2; +http://www.whatsapp.com/contact)
[128510][V][Parsing.cpp:154] _parseRequest(): headerName: Transfer-Encoding
[128516][V][Parsing.cpp:155] _parseRequest(): headerValue: chunked
[128522][V][Parsing.cpp:254] _parseArguments(): args:
[128527][V][Parsing.cpp:237] _parseRequest(): Request: /chat
[128532][V][Parsing.cpp:238] _parseRequest():  Arguments:
[128538][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 260404 | max: 45044 | frag:  83% 
*wm:[4] -> c.whatsapp.net
[MEM] free: 260580 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal
[128566][W][WebServer.cpp:436] send(): content length is zero
[128671][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[128680][V][Parsing.cpp:122] _parseRequest(): method: POST url: /chat search:
[128680][V][Parsing.cpp:154] _parseRequest(): headerName: Host
[128681][V][Parsing.cpp:155] _parseRequest(): headerValue: c.whatsapp.net
[128688][V][Parsing.cpp:154] _parseRequest(): headerName: User-Agent
[128694][V][Parsing.cpp:155] _parseRequest(): headerValue: Mozilla/5.0 (compatible; WAChat/1.2; +http://www.whatsapp.com/contact)
[128705][V][Parsing.cpp:154] _parseRequest(): headerName: Transfer-Encoding
[128712][V][Parsing.cpp:155] _parseRequest(): headerValue: chunked
[128718][V][Parsing.cpp:254] _parseArguments(): args:
[128723][V][Parsing.cpp:237] _parseRequest(): Request: /chat
[128728][V][Parsing.cpp:238] _parseRequest():  Arguments: 
[128733][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 260196 | max: 45044 | frag:  83%
*wm:[4] -> c.whatsapp.net
[MEM] free: 260372 | max: 45044 | frag:  83% 
*wm:[2] <- Request redirected to captive portal
[128762][W][WebServer.cpp:436] send(): content length is zero
[MEM] free: 262520 | max: 45044 | frag:  83% 
*wm:[2] NUM CLIENTS:  1
[MEM] free: 262520 | max: 45044 | frag:  83% 
*wm:[2] NUM CLIENTS:  1
[189535][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[189572][V][Parsing.cpp:122] _parseRequest(): method: POST url: /chat search: 
[189572][V][Parsing.cpp:154] _parseRequest(): headerName: Host
[189573][V][Parsing.cpp:155] _parseRequest(): headerValue: c.whatsapp.net
[189580][V][Parsing.cpp:154] _parseRequest(): headerName: User-Agent
[189586][V][Parsing.cpp:155] _parseRequest(): headerValue: Mozilla/5.0 (compatible; WAChat/1.2; +http://www.whatsapp.com/contact)
[189597][V][Parsing.cpp:154] _parseRequest(): headerName: Transfer-Encoding
[189604][V][Parsing.cpp:155] _parseRequest(): headerValue: chunked
[189610][V][Parsing.cpp:254] _parseArguments(): args: 
[189615][V][Parsing.cpp:237] _parseRequest(): Request: /chat
[189620][V][Parsing.cpp:238] _parseRequest():  Arguments:
[189626][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 261200 | max: 45044 | frag:  83%
*wm:[4] -> c.whatsapp.net
[MEM] free: 261376 | max: 45044 | frag:  83% 
*wm:[2] <- Request redirected to captive portal
[189654][W][WebServer.cpp:436] send(): content length is zero
[196564][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0
[196572][V][Parsing.cpp:122] _parseRequest(): method: POST url: /chat search:
[196573][V][Parsing.cpp:154] _parseRequest(): headerName: Host
[196574][V][Parsing.cpp:155] _parseRequest(): headerValue: c.whatsapp.net
[196580][V][Parsing.cpp:154] _parseRequest(): headerName: User-Agent
[196586][V][Parsing.cpp:155] _parseRequest(): headerValue: Mozilla/5.0 (compatible; WAChat/1.2; +http://www.whatsapp.com/contact)
[196598][V][Parsing.cpp:154] _parseRequest(): headerName: Transfer-Encoding
[196604][V][Parsing.cpp:155] _parseRequest(): headerValue: chunked
[196610][V][Parsing.cpp:254] _parseArguments(): args:
[196615][V][Parsing.cpp:237] _parseRequest(): Request: /chat
[196620][V][Parsing.cpp:238] _parseRequest():  Arguments: 
[196626][E][WebServer.cpp:649] _handleRequest(): request handler not found
[MEM] free: 262088 | max: 45044 | frag:  83%
*wm:[4] -> c.whatsapp.net 
[MEM] free: 262268 | max: 45044 | frag:  83%
*wm:[2] <- Request redirected to captive portal
[196654][W][WebServer.cpp:436] send(): content length is zero
[MEM] free: 265212 | max: 45044 | frag:  84% 
*wm:[2] NUM CLIENTS:  1
tablatronix commented 1 year ago

[196564][V][WebServer.cpp:296] handleClient(): New client: client.localIP()=0.0.0.0

thats is soo bizarre, hmm

tablatronix commented 1 year ago

aha

[ 2266][E][WiFiServer.cpp:91] begin(): ---------------- IPv6

tablatronix commented 1 year ago

This is not in my library, you are using some alternative libraries?

tablatronix commented 1 year ago

https://github.com/espressif/arduino-esp32/pull/7520

you are using experimental PRs?

EtoTen commented 1 year ago

I don't think I am on using alternative libraries or experimental PRs (not sure what those are actually). Can you tell based on the sample project I put up?

EtoTen commented 1 year ago

Okay I know what happened now. I had this installed: https://github.com/tasmota/platform-espressif32/releases/tag/2022.12.2 "Tasmota Core 2.0.6 with IPv6 support" because I was testing single core mode and, did not realize it was defaulting to it vs the normal framework core. Reverting to the normal framework made redirects work ok. I also confirmed manually disabling ipv6 for the connection fixed it. I guess if they do merge that patch for ipv6 into the normal espressif core it would also create the same issue, so the issue / patch may still be valid.

tablatronix commented 1 year ago

I already added a note to that PR asking about this

aFunkyBass commented 11 months ago

Reverting to the normal framework made redirects work ok. I also confirmed manually disabling ipv6 for the connection fixed it.

Hello @EtoTen I had exactly the same situation: installed Tasmota-32 on my ESP and now reinstalling my app which uses WiFiManager, it redirects on 0.0.0.0

Sorry for my newbie question how did you get it back to the normal behaviour?

P.S. I'm using platformio with Arduino Framework

tablatronix commented 11 months ago

There is a workaround, but I have not added it to wm, because it seems like an edge case bug, not sure tho. I thought this was fixed in esp core

EtoTen commented 11 months ago

How I fixed it was to not use "Tasmota Core". Have they since merged those changes to the normal core? Note: You can also use the "Tasmota Core w/ ipv6" if you apply the fix that I mentioned in my original post, to WifiManager.cpp.

tablatronix commented 11 months ago

afaik tasmota is constantly updating from esp core/idf but not sure as it does use a custom fork

aFunkyBass commented 11 months ago

I noticed that on PIO Homepage -> Platforms I had 2 Espressif 32 installed, one was probably installed by the Tasmota source.

My solution was to uninstall both of them and reinstall just the official one.

tablatronix commented 10 months ago

https://github.com/espressif/arduino-esp32/pull/7520

Adding workaround proposed above, but wrapped it in a ip check.

Ideally I can add an ipv6 check and handle it special that way. but I am not sure the ideal workaround without rereading all that.

mineshaftgap commented 8 months ago

I am experiencing this and do not have Tasmota installed, hard coding the "192.168.4.1" as mentioned in https://github.com/tzapu/WiFiManager/issues/1543#issue-1523775677 fixed it.

tablatronix commented 8 months ago

This is fixed in master

mineshaftgap commented 8 months ago

@tablatronix thanks!

For anyone who is developing with PlatformIO, I explicitly used the master branch in my platformio.ini:

lib_deps = 
    https://github.com/tzapu/WiFiManager.git
tablatronix commented 8 months ago

Ill start pushing releases for pio since they don support pre releases