<ahref="#lost-connection-with-the-captive-portal-after-ap-established"title=" Lost connection with the captive portal after AP established."class="md-nav__link">
<ahref="#connection-lost-immediately-after-establishment-with-ap"title=" Connection lost immediately after establishment with AP"class="md-nav__link">
Lost connection with the captive portal after AP established.
Connection lost immediately after establishment with AP
</a>
</a>
</li>
</li>
@ -817,8 +817,8 @@
</li>
</li>
<liclass="md-nav__item">
<liclass="md-nav__item">
<ahref="#autoconnect-behaves-not-stable-with-my-sketch-yet"title=" AutoConnect behaves not stable with my sketch yet."class="md-nav__link">
<ahref="#still-not-stable-with-my-sketch"title=" Still, not stable with my sketch."class="md-nav__link">
AutoConnect behaves not stable with my sketch yet.
<ahref="#2-change-the-arduino-core-version"title="2. Change the arduino core version"class="md-nav__link">
2. Change arduino core version
2. Change the arduino core version
</a>
</a>
<navclass="md-nav">
<navclass="md-nav">
@ -866,8 +866,8 @@
</li>
</li>
<liclass="md-nav__item">
<liclass="md-nav__item">
<ahref="#4-reports-the-issue-to-autoconnect-repository-on-github"title="4. Reports the issue to AutoConnect repository on Github"class="md-nav__link">
<ahref="#4-reports-the-issue-to-autoconnect-github-repository"title="4. Reports the issue to AutoConnect Github repository"class="md-nav__link">
4. Reports the issue to AutoConnect repository on Github
4. Reports the issue to AutoConnect Github repository
</a>
</a>
</li>
</li>
@ -945,8 +945,8 @@
</li>
</li>
<liclass="md-nav__item">
<liclass="md-nav__item">
<ahref="#lost-connection-with-the-captive-portal-after-ap-established"title=" Lost connection with the captive portal after AP established."class="md-nav__link">
<ahref="#connection-lost-immediately-after-establishment-with-ap"title=" Connection lost immediately after establishment with AP"class="md-nav__link">
Lost connection with the captive portal after AP established.
Connection lost immediately after establishment with AP
</a>
</a>
</li>
</li>
@ -1076,8 +1076,8 @@
</li>
</li>
<liclass="md-nav__item">
<liclass="md-nav__item">
<ahref="#autoconnect-behaves-not-stable-with-my-sketch-yet"title=" AutoConnect behaves not stable with my sketch yet."class="md-nav__link">
<ahref="#still-not-stable-with-my-sketch"title=" Still, not stable with my sketch."class="md-nav__link">
AutoConnect behaves not stable with my sketch yet.
<ahref="#2-change-the-arduino-core-version"title="2. Change the arduino core version"class="md-nav__link">
2. Change arduino core version
2. Change the arduino core version
</a>
</a>
<navclass="md-nav">
<navclass="md-nav">
@ -1125,8 +1125,8 @@
</li>
</li>
<liclass="md-nav__item">
<liclass="md-nav__item">
<ahref="#4-reports-the-issue-to-autoconnect-repository-on-github"title="4. Reports the issue to AutoConnect repository on Github"class="md-nav__link">
<ahref="#4-reports-the-issue-to-autoconnect-github-repository"title="4. Reports the issue to AutoConnect Github repository"class="md-nav__link">
4. Reports the issue to AutoConnect repository on Github
4. Reports the issue to AutoConnect Github repository
</a>
</a>
</li>
</li>
@ -1161,13 +1161,13 @@ For AutoConnect menus to work properly, call <a href="api.html#handlerequest"><e
<p>See also the explanation <ahref="basicusage.html#esp8266webserver-hosted-or-parasitic">here</a>.</p>
<p>See also the explanation <ahref="basicusage.html#esp8266webserver-hosted-or-parasitic">here</a>.</p>
<h2id="an-esp8266ap-as-softap-was-connected-but-captive-portal-does-not-start"><iclass="fa fa-question-circle"></i> An esp8266ap as SoftAP was connected but Captive portal does not start.<aclass="headerlink"href="#an-esp8266ap-as-softap-was-connected-but-captive-portal-does-not-start"title="Permanent link">¶</a></h2>
<h2id="an-esp8266ap-as-softap-was-connected-but-captive-portal-does-not-start"><iclass="fa fa-question-circle"></i> An esp8266ap as SoftAP was connected but Captive portal does not start.<aclass="headerlink"href="#an-esp8266ap-as-softap-was-connected-but-captive-portal-does-not-start"title="Permanent link">¶</a></h2>
<p>Captive portal detection could not be trapped. It is necessary to disconnect and reset ESP8266 to clear memorized connection data in ESP8266. Also, It may be displayed on the smartphone if the connection information of esp8266ap is wrong. In that case, delete the connection information of esp8266ap memorized by the smartphone once.</p>
<p>Captive portal detection could not be trapped. It is necessary to disconnect and reset ESP8266 to clear memorized connection data in ESP8266. Also, It may be displayed on the smartphone if the connection information of esp8266ap is wrong. In that case, delete the connection information of esp8266ap memorized by the smartphone once.</p>
<h2id="lost-connection-with-the-captive-portal-after-ap-established"><iclass="fa fa-question-circle"></i>Lost connection with the captive portal after AP established.<aclass="headerlink"href="#lost-connection-with-the-captive-portal-after-ap-established"title="Permanent link">¶</a></h2>
<h2id="connection-lost-immediately-after-establishment-with-ap"><iclass="fa fa-question-circle"></i>Connection lost immediately after establishment with AP<aclass="headerlink"href="#connection-lost-immediately-after-establishment-with-ap"title="Permanent link">¶</a></h2>
<p>A captive portal is disconnected immediately after the connection establishes with the new AP. This is a known problem of ESP32, and it may occur if the following conditions are satisfied at the same time.</p>
<p>A captive portal is disconnected immediately after the connection establishes with the new AP. This is a known problem of ESP32, and it may occur when the following conditions are satisfied at the same time.</p>
<ul>
<ul>
<li>SoftAP channel on ESP32 and the connecting AP channel you specified are different. (The default channel of SoftAP is 1.)</li>
<li>SoftAP channel on ESP32 and the connecting AP channel you specified are different. (The default channel of SoftAP is 1.)</li>
<li>NVS had erased by erase_flash causes the connection data lost. The NVS partition has been moved. Never connected to the AP in the past.</li>
<li>NVS had erased by erase_flash causes the connection data lost. The NVS partition has been moved. Never connected to the AP in the past.</li>
<li>There are receivable multiple WiFi signals which are the same SSID with different channels using the WiFi repeater etc. (This condition is loose, it may occur even if there is no WiFi repeater.)</li>
<li>There are receivable multiple WiFi signals which are the same SSID with different channels using the WiFi repeater etc. (This condition is loose, it may occur even if there is no WiFi repeater.)</li>
<li>Or the using channel of the AP which established a connection is congested with the radio signal of the same band. (If the channel crowd, connections to known APs may also fail.)</li>
<li>Or the using channel of the AP which established a connection is congested with the radio signal on the same band. (If the channel crowd, connections to known APs may also fail.)</li>
<p>Because AutoConnect does not send a login success response to the captive portal requests from the smartphone. The login success response varies iOS, Android and Windows. By analyzing the request URL of different login success inquiries for each OS, the correct behavior can be implemented, but not yet. Please resets ESP8266 from the AutoConnect menu.</p>
<p>Because AutoConnect does not send a login success response to the captive portal requests from the smartphone. The login success response varies iOS, Android and Windows. By analyzing the request URL of different login success inquiries for each OS, the correct behavior can be implemented, but not yet. Please resets ESP8266 from the AutoConnect menu.</p>
<h2id="i-cannot-see-the-custom-web-page"><iclass="fa fa-question-circle"></i> I cannot see the custom Web page.<aclass="headerlink"href="#i-cannot-see-the-custom-web-page"title="Permanent link">¶</a></h2>
<h2id="i-cannot-see-the-custom-web-page"><iclass="fa fa-question-circle"></i> I cannot see the custom Web page.<aclass="headerlink"href="#i-cannot-see-the-custom-web-page"title="Permanent link">¶</a></h2>
<p>If the sketch is correct, a JSON syntax error may have occurred. In this case, activate the <ahref="faq.html#3-turn-on-the-debug-log-options">AC_DEBUG</a> and rerun. If you take the message of JSON syntax error, the <ahref="https://arduinojson.org/v5/assistant/">Json Assistant</a> helps syntax checking. This online tool is provided by the author of ArduinoJson and is most consistent for the AutoConnect. </p>
<p>If the sketch is correct, a JSON syntax error may have occurred. In this case, activate the <ahref="faq.html#3-turn-on-the-debug-log-options">AC_DEBUG</a> and rerun. If you take the message of JSON syntax error, the <ahref="https://arduinojson.org/v5/assistant/">Json Assistant</a> helps syntax checking. This online tool is provided by the author of ArduinoJson and is most consistent for the AutoConnect. </p>
<h2id="autoconnect-behaves-not-stable-with-my-sketch-yet"><iclass="fa fa-question-circle"></i>AutoConnect behaves not stable with my sketch yet.<aclass="headerlink"href="#autoconnect-behaves-not-stable-with-my-sketch-yet"title="Permanent link">¶</a></h2>
<h2id="still-not-stable-with-my-sketch"><iclass="fa fa-question-circle"></i>Still, not stable with my sketch.<aclass="headerlink"href="#still-not-stable-with-my-sketch"title="Permanent link">¶</a></h2>
<p>If AutoConnect behavior is not stable with your sketch, you can try the following measures.</p>
<p>If AutoConnect behavior is not stable with your sketch, you can try the following measures.</p>
<p>Both ESP8266 and ESP32 can only work on one channel at any given moment. This will cause your station to lose connectivity on the channel hosting the captive portal. If the channel of the AP which you want to connect is different from the SoftAP channel, the operation of the captive portal will not respond with the screen of the AutoConnect connection attempt remains displayed. In such a case, please try to configure the <ahref="apiconfig.html#channel">channel</a> with <ahref="apiconfig.html#autoconnectconfig">AutoConnectConfig</a> to match the access point.</p>
<p>Both ESP8266 and ESP32 can only work on one channel at any given moment. This will cause your station to lose connectivity on the channel hosting the captive portal. If the channel of the AP which you want to connect is different from the SoftAP channel, the operation of the captive portal will not respond with the screen of the AutoConnect connection attempt remains displayed. In such a case, please try to configure the <ahref="apiconfig.html#channel">channel</a> with <ahref="apiconfig.html#autoconnectconfig">AutoConnectConfig</a> to match the access point.</p>
<p>Espressif Systems has released a <ahref="https://www.espressif.com/sites/default/files/esp8266_wi-fi_channel_selection_guidelines.pdf">channel selection guide</a>.</p>
<p>Espressif Systems has released a <ahref="https://www.espressif.com/sites/default/files/esp8266_wi-fi_channel_selection_guidelines.pdf">channel selection guide</a>.</p>
<p>To stabilize the behavior, You can select the <ahref="http://lwip.wikia.com/wiki/LwIP_Wiki">lwIP</a> variant to contribute. Lower memory option of Arduino IDE for core version 2.4.2 is based on the lwIP-v2. On the other hand, the core version 2.5.0 upstream is based on the lwIP-2.1.2 stable release.</p>
<p>You can select the <ahref="http://lwip.wikia.com/wiki/LwIP_Wiki">lwIP</a> variant to contribute for the stable behavior. The <strong>lwIP v2 Lower memory</strong> option of Arduino IDE for core version 2.4.2 is based on the lwIP-v2. On the other hand, the core version 2.5.0 upstream is based on the lwIP-2.1.2 stable release.</p>
<p>You can select the option from Arduino IDE as <strong>Tool</strong> menu, if you are using ESP8266 core 2.5.0. It can be select <code>lwIP v2 Lower Memory</code> option. (not <code>lwIP v2 Lower Memory (no features)</code>) It is expected to improve response performance and stability.</p>
<p>You can select the option from Arduino IDE as <strong>Tool</strong> menu, if you are using ESP8266 core 2.5.0. It can be select <code>lwIP v2 Lower Memory</code> option. (not <code>lwIP v2 Lower Memory (no features)</code>) It is expected to improve response performance and stability.</p>
<p>The <ahref="https://github.com/espressif/arduino-esp32">arduino-esp32</a> is still under development even if it is a stable release. It is necessary to judge whether the cause of the problem is the core or AutoConnect. Trace the log with the esp32 core and the AutoConnect debug option enabled for problem diagnosis and please you check the <ahref="https://github.com/espressif/arduino-esp32/issues">issue of arduino-esp32</a>. The problem that your sketch possesses may already have been solved.</p>
<p>The <ahref="https://github.com/espressif/arduino-esp32">arduino-esp32</a> is still under development. It is necessary to judge whether the problem cause of the core or AutoConnect. Trace the log with the esp32 core and the AutoConnect debug option enabled for problem diagnosis and please you check the <ahref="https://github.com/espressif/arduino-esp32/issues">issue of arduino-esp32</a>. The problem that your sketch possesses may already have been solved.</p>
<h3id="3-turn-on-the-debug-log-options">3. Turn on the debug log options<aclass="headerlink"href="#3-turn-on-the-debug-log-options"title="Permanent link">¶</a></h3>
<h3id="3-turn-on-the-debug-log-options">3. Turn on the debug log options<aclass="headerlink"href="#3-turn-on-the-debug-log-options"title="Permanent link">¶</a></h3>
<p>To fully enable for the AutoConnect debug logging options, change the following two files.</p>
<p>To fully enable for the AutoConnect debug logging options, change the following two files.</p>
<h3id="4-reports-the-issue-to-autoconnect-repository-on-github">4. Reports the issue to AutoConnect repository on Github<aclass="headerlink"href="#4-reports-the-issue-to-autoconnect-repository-on-github"title="Permanent link">¶</a></h3>
<h3id="4-reports-the-issue-to-autoconnect-github-repository">4. Reports the issue to AutoConnect Github repository<aclass="headerlink"href="#4-reports-the-issue-to-autoconnect-github-repository"title="Permanent link">¶</a></h3>
<p>If you can not solve AutoConnect problems please report to <ahref="https://github.com/Hieromon/AutoConnect/issues">Issues</a>. And please make your question comprehensively, not a statement. Include all relevant information to start the problem diagnostics as follows:<supid="fnref:3"><aclass="footnote-ref"href="#fn:3"rel="footnote">3</a></sup></p>
<p>If you can not solve AutoConnect problems please report to <ahref="https://github.com/Hieromon/AutoConnect/issues">Issues</a>. And please make your question comprehensively, not a statement. Include all relevant information to start the problem diagnostics as follows:<supid="fnref:3"><aclass="footnote-ref"href="#fn:3"rel="footnote">3</a></sup></p>
<liclass="task-list-item"><inputtype="checkbox"disabled/> Problem description</li>
<liclass="task-list-item"><inputtype="checkbox"disabled/> Problem description</li>
@ -1419,6 +1419,8 @@ wdt reset
<liclass="task-list-item"><inputtype="checkbox"disabled/> The sketch code with formatted by the code block tag (Reduce to the reproducible minimum code for the problem)</li>
<liclass="task-list-item"><inputtype="checkbox"disabled/> The sketch code with formatted by the code block tag (Reduce to the reproducible minimum code for the problem)</li>
<li><ahref="apiconfig.html#portaltimeout">portalTimeout</a> : Time out limit for the portal.</li>
<li><ahref="apiconfig.html#portaltimeout">portalTimeout</a> : Time out limit for the portal.</li>
<li><ahref="apiconfig.html#retainportal">retainPortal</a> : Keep DNS server functioning for the captive portal.</li>
<li><ahref="apiconfig.html#retainportal">retainPortal</a> : Keep DNS server functioning for the captive portal.</li>
</ul>
</ul>
<p>You can use these parameters in combination with your sketch requirements. To make your sketch work as you intended, you need to understand the behavior caused by the parameter correctly. The chart below shows those parameters which are embedded in the AutoConnect::begin logic sequence.</p>
<p>You can use these parameters in combination with sketch requirements and need to understand correctly the behavior caused by the parameters. The following chart shows the AutoConnect::begin logic sequence including the effect of these parameters.</p>
<p>For example, AutoConnect::begin will not exits without the portalTimeout while the connection not establishes, but WebServer will start to work. So, your sketch may work seemingly, but it will close with inside a loop of the AutoConnect::begin function. Especially when invoking AutoConnect::begin in the <strong>setup()</strong>, execution control does not pass to the <strong>loop()</strong>.</p>
<p>For example, AutoConnect::begin will not exits without the portalTimeout while the connection not establishes, but WebServer will start to work. So, your sketch may work seemingly, but it will close with inside a loop of the AutoConnect::begin function. Especially when invoking AutoConnect::begin in the <strong>setup()</strong>, execution control does not pass to the <strong>loop()</strong>.</p>
<p>As different scenes, you may use the immediateStart effectively. Equipped the external switch to activate the captive portal with the ESP module, combined with the portalTime and the retainPortal it will become WiFi active connection feature. You can start AutoConnect::begin at any point in the <strong>loop()</strong>, which allows your sketch can behave both the offline mode and the online mode.</p>
<p>As different scenes, you may use the immediateStart effectively. Equipped the external switch to activate the captive portal with the ESP module, combined with the portalTime and the retainPortal it will become WiFi active connection feature. You can start AutoConnect::begin at any point in the <strong>loop()</strong>, which allows your sketch can behave both the offline mode and the online mode.</p>
<p>Please consider these kinds of influence when you make sketches.</p>
<p>Please consider these kinds of influence when you make sketches.</p>