Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP32 Testing doesn't get past WiFi.enableSTA(true) #542

Closed
renegadeandy opened this issue Mar 1, 2018 · 14 comments
Closed

ESP32 Testing doesn't get past WiFi.enableSTA(true) #542

renegadeandy opened this issue Mar 1, 2018 · 14 comments
Labels
bug Validated BUG
Milestone

Comments

@renegadeandy
Copy link

renegadeandy commented Mar 1, 2018

I can't seem to get very far using the development branch.

Basic Infos

Using ESP32 dev board oooouuuu board.

Hardware

WiFimanager Branch/Release: Development

Hardware: ESP32

Core Version: 2.4.0, staging

Description

When I try to incorporate the dev WiFiManager into an old project which ran fine on esp8266, It seems to hang and crash directly after WiFi.enableSTA(true);

My call from main sketch is as follows:


 //Start WiFi Setup
  Serial.println("Setting up WiFi...");
  WiFiManager wifiManager;
  wifiManager.autoConnect("AP Setup", NULL);

The added Debug to autoconnect is as follows:


boolean WiFiManager::autoConnect(char const *apName, char const *apPassword) {
  DEBUG_WM(F("AutoConnect"));
 //digitalWrite(apLED,HIGH);
  // attempt to connect using saved settings, on fail fallback to AP config portal
    DEBUG_WM(F("2"));
  WiFi.enableSTA(true);
    DEBUG_WM(F("22"));
  _usermode = WIFI_STA;
  DEBUG_WM(F("222"));

Note my debug output is:

Setting up WiFi...
*WM: AutoConnect 
*WM: 2 

As we can see, we never hit the *WM: 22 message, The sketch appears to simply hang. Is there some kind of setup I need to do? Do I need to declare I am on an ESP32 to the library somehow?

Settings in IDE

Module: ESP32 DEV BOARD

@tablatronix
Copy link
Collaborator

Whats the debug from wifimanager???

@renegadeandy
Copy link
Author

How do I turn that on? Not sure what you mean?

@tablatronix
Copy link
Collaborator

It should be on, unless you are setting it to off in your code.
It outputs lots of info

@renegadeandy
Copy link
Author

I see no debug output at all in my code, apart from what i've shown to you above?

@tablatronix
Copy link
Collaborator

hmmm

@tablatronix
Copy link
Collaborator

works for me

*WM: AutoConnect 
*WM: ESP32 event handler enabled 
*WM: Connecting as wifi client... 
*WM: wifi station disconnect 
*WM: Connecting to saved AP 
*WM: connectTimeout not set, ESP waitForConnectResult... 
WM: EVENT: WIFI_REASON: 201
*WM: Event: SYSTEM_EVENT_STA_DISCONNECTED, reconnecting
*WM: Connection result: WL_NO_SSID_AVAIL
*WM: lastconxresult: WL_NO_SSID_AVAIL
*WM: wifi station disconnect 
*WM: Disabling STA 
*WM: Enabling AP 
*WM: StartAP with SSID:  AutoConnectAP
*WM: AP has anonymous access! 
*WM: SoftAP Configuration 
*WM: -------------------- 
*WM: ssid:             AutoConnectAP
*WM: password:         
*WM: ssid_len:         13
*WM: channel:          1
*WM: authmode:        
*WM: ssid_hidden:     
*WM: max_connection:   4
*WM: beacon_interval:  100(ms)
*WM: -------------------- 
*WM: AP IP address: 192.168.4.1
*WM: setupConfigPortal 
*WM: Starting Web Portal 
*WM: HTTP server started 
*WM: Scan done 
*WM: Config Portal Running, blocking, waiting for clients... 

@renegadeandy
Copy link
Author

Ahh, well you see you never get past WiFi.enableSTA(true); so the rest of the debug output never gets executed!

@tablatronix
Copy link
Collaborator

tablatronix commented Mar 1, 2018

ohh, well that is not wifimanager then, there is nothing in that function to get stuck, is your module crashing?

you should have an exception or something

@tablatronix
Copy link
Collaborator

enable esp debugging also maybe?

@renegadeandy
Copy link
Author

No, although I have made a couple of alterations, and now I see

Brownout detector was triggered....

Wondering if this is a USB power problem...

@renegadeandy
Copy link
Author

Yes! This was the problem, a really rubbish USB Hub, time to put that one back into the garage, sorry tablatronix!

@tablatronix
Copy link
Collaborator

Yeah power issue, below 300 ma or so, the wifi radio cannot turn on

tablatronix added a commit that referenced this issue Mar 1, 2018
@tablatronix tablatronix added the bug Validated BUG label Mar 1, 2018
@tablatronix tablatronix added this to the dev milestone Mar 1, 2018
@tablatronix
Copy link
Collaborator

added a catch for this

@renegadeandy
Copy link
Author

Fantastic - thanks mate!

isots-code added a commit to isots-code/WiFiManager that referenced this issue May 31, 2018
* update library.properties

* clean up parameters

* oops

* clean up .h file

* fix tabs

* fix up parameters

* fixup debugging

* fixes paramid issues

paramid must be alphanumeric and adds {I} token support to use ids as input names if we make that optional.

* debugging clean

* oops

* adds exit to readme

* moved http strings to include, added token flags

* typo

* cleanup

* moved all html strings out of code

* more string tokens

* fix paramscount, oops

* doh...

* tzapu#454 adds WIFI_MANAGER_OVERRIDE_STRINGS

I dont feel like resolving conflicts

* fixup merge

* ajax test

* Bug fix for problem discovered when setting length to 1 for additional parameters

The initialization of the buffer holding the value stopped before the last character and storage did not take into account the extra-byte for end of string.

* debugsoftapconfig for esp32

* make debug funcs public

* fix esp32 examples

* fix esp32 wifi.ssid

* Update README.md

Esp32 warning

* camelcase _staShowStaticFields

* readme

* adds webclient checking for timeout delay

* remove reset, no reason for it

* converting token strings, in progress broken

* all tokens now in strings

* implemented info strings for esp32

* fix some html bugs

* change uptime

* infohelp align html

* added webserver precompiler warning

updates readme

* readme

* template

* Lower RAM usage of library

Place remaining debug messages into Flash using F().

* Update WiFiManager.cpp

* Update WiFiManager.cpp

* Update WiFiManager.cpp

* Create contributing.md

* Create ISSUE_TEMPLATE.md

* rename

* rename

* fix esp32 esp8266 bug

* moved strings to flash

* refactor ip form outputs

* adds disconnect method for users

non persistent disconnect

* publicized debug helpers

* ugh aliases

* moved all tokens to strings.h

* adds toggle for scan quality as percentage

`setScanDispPerc` until we have decent remplating

* oops

* defaulting to icons

* cleanup

* some more strings in progmem

* fix sketch size

* editing strings

* more strings cleanup

* refix memsketch

* more string cleanup

* left in debug

* comments

* typo

* dup define

* moved _wifissidprefix to progmem

* esp32 strings progmem

* strings

* file headers

* missed one file header

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* documenting source

* change wifiscan detaisl to css for toggling

* more strings progmem

* oops broke lock icons

* bugged

* tzapu#528 adds getLastConxResult

* gitignore

no gitignore? add more stuff

* fix info page and adds esp32 aphostname

* testing tzapu#527

* fixes tzapu#527

* fix tzapu#527 for esp8266

* adds getWiFiIsSaved()

* doc blocks, reformatting code

* stability tzapu#527

* clean up

* remove debugging

* add result checking tzapu#527

* remove debugging

* change some uneeded ints

* feature tzapu#533 failure details

* allow empty ssids, bail earlier

* template update

* debuggin esp32 auth fail events

* tzapu#528

using a static var for esp32 event for now to get this working and test. Probably not the best, not sure what the best option is here for esp32 onevent static member function callbacks

* tzapu#528 WL_DISCONNECTED support for testing

* tzapu#534

* change webserver pointer to using

* remove warning

* fix some minor warnings

* adding menu control, in progress

* fix bug

* finish up menu customization

* fix template

* add param help

* fix up menus

* fix param crash

* fix menu and param save

* fix resetsettings

* adds mdns support

* change defs

* simplify debug

* comments

* fix menuids

* add wifiscan preloading with cache

This uses core scan object and assumes its lifetime, I am not sure what the scope is or how long it lives, will have to convert to local copy if its being lost, caching for 60s after startweb portal and 10s after root load, refresh bypasses cache

* fix order

* add preloadscan enable

* fix webserver pointer

* comments

* tzapu#542 handler

* tzapu#546 fix?

Since I do not know how to fix the delegated constructors properly, this should fix the issue for now

* oops tzapu#546

* adds erase

* add debugging

* remove dnsserver from readme

* adds nvs erase

// #define WM_ERASE_NVS // esp32 erase() will erase NVS

* oops

* adds opt erase flag

* fix savecallback tzapu#543

* fixup tzapu#548

* fix constructor

* move routes to strings

* oops fix constructor again

* remove preallocation of params memory

* init params as null

I started gettting odd exceptions, so I thought this should be null and not on the stack or pointing to garbage. I might be totally in the wrong here.

* fix customhtml parameters

* remove debug

* fixes tzapu#551

* disable ssid input autoformatting

autocorrect='off' autocapitalize='none'

* remove serial.prints

* fix up connection result for ondemand portal

* fix autoreconnect on auth failure

* notes

* fixes tzapu#555 oops

* added debug levels

* add esp shields

* Update README.md

* add WM_RTC def for rtc.h

* Added Custom DNS, fix newlines

* fix tabs

* comments

* oops

* remove testing

* minor layout fix to config

* add setShowDnsFields, adds edge case force hide ip fields

* adds section hrs

* showinfoerase toggle

* kludge setmenu with size so it works

Prboably going to add a vector for this, I do not want to add the overhead of std::array for something optional

* debug remove

* menuids as vector to deal with size

This kind of makes it a pain in the ass for users, not sure how to make this easier, I can take in an array of string ids, with a count arg, makes it easier, but then users can pass nonsense in, this way its enum ids, but damn it sure is convoluted. Welcome to ideas here...

```c++
  std::vector<WiFiManager::menu_page_t> menu = {wm.MENU_WIFI,wm.MENU_INFO,wm.MENU_PARAM,wm.MENU_CLOSE,wm.MENU_SEP,wm.MENU_ERASE,wm.MENU_EXIT};
  wm.setMenu(menu);
```

* adds handleClose

* add bug workaround for esp8266 softap

* oops

* fix debug blank

* travis testing

* change setmenu to take vector or array of strnig tokens

* travis testing

* change varnames

* fixing travis

* datatype fixes

* fix section compile error

* fix compiler warnings

* add esp32

* add esp32

* move menutokens

* add esp32

* add esp32

* fix debug levels

* ugh

* add esp32

* add esp32

* add esp32

* add esp32

* add esp32

* make travis build again

* Delete OnDemandConfigPortal.ino.cpp

Sigh

* fix fsparam spiffs examples for esp32

* spiffs case

* refactor connectwifi, adds save timeout

wifi save now no longer uses settimeout timeout

* fixes tzapu#573

* ugh remove test example

* fix parenths tzapu#573

* add setEnableConfigPortal(boolean enable) - if false dont open condig portal from autoConnect()

* getmodestr, handleerase(bool)

* fix handleerase add softapconfig catch fail

* fix nvs erase

* fix erroneous error debug

* adds chip revision efuse

not sure what use this is, as getChipRevision is usually the same anyway... shrug

* clean up defines, removed stuff for memory

* workaround for esp32 webserver parsearguments bug

* fixup scnanetworks

* fix some error logging

* fixes tzapu#581

adds htmlentities to ssid outputs, limited replacements for now

* comment

* fix savetimeout, too short, made optional

* fix menu output

removed test menu output, removed ref , not sure why I put that there....

* comments, debugging

* fixing up setmenu docblocks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Validated BUG
Projects
None yet
Development

No branches or pull requests

2 participants