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

Unable to auth wifi with +32 chars #32

Closed
sirovermark opened this issue Nov 23, 2022 · 5 comments
Closed

Unable to auth wifi with +32 chars #32

sirovermark opened this issue Nov 23, 2022 · 5 comments

Comments

@sirovermark
Copy link

Hi guys,

I can't authenticate to my AP when the WiFi password is longer than 32 characters:

00:29:45.090 > [ 51937][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 10 - AP_START
00:29:45.096 > [ 51969][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 11 - AP_STOP
00:29:45.104 > [ 51972][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 0 - WIFI_READY
00:29:45.110 > [ 51986][V][WiFiGeneric.cpp:97] set_esp_interface_ip(): Configuring Station static IP: 0.0.0.0, MASK: 0.0.0.0, GW: 0.0.0.0
00:29:45.120 > [ 51984][V][WiFiGeneric.cpp:338] _arduino_event_cb(): STA Started
00:29:45.126 > [ 51995][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 2 - STA_START
00:29:45.136 > State changed from: 2 to 3
00:29:48.215 > [ 55094][V][WiFiGeneric.cpp:360] _arduino_event_cb(): STA Disconnected: SSID: TestWifi, BSSID: *************, Reason: 15
00:29:48.224 > [ 55095][D][WiFiGeneric.cpp:929] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
00:29:48.232 > [ 55102][W][WiFiGeneric.cpp:950] _eventCallback(): Reason: 15 - 4WAY_HANDSHAKE_TIMEOUT
00:30:15.073 > Giving up.

I've tried to remove all the characters of the same password until ending with 32 and it works perfectly.

If it's impossible to fix this and reach the maximum length (63 characters), I think this should be documented somewhere :)

Thanks for your work!

@rzeldent
Copy link
Owner

Hi sirovermark,

Yes, you are right. The password is limited to 32 characters. Basically this is just a define in another library used: iotwebconf. There in file iotwebconfsettings.h at line 25 the following is defined:

// -- Maximal length of password used in IotWebConfig configuration.
#ifndef IOTWEBCONF_PASSWORD_LEN
# define IOTWEBCONF_PASSWORD_LEN 33
#endif

This should be resolved in the library but for now I added a define to the build to support passwords up to 63 characters.
This should fix this issue. Unfortunately this changes the configuration size so, after updating, the configuration will be lost.
Could you give it a try to see if this solves the issue? It is located in the branch bugfix_wifi_password_lenght.

Regards,

Rene

@sirovermark
Copy link
Author

Hi @rzeldent ,

I'm unable to build it using the new code. I've cleaned everything before running it and I've tried many times:

Processing esp32cam (platform: espressif32; board: esp32cam; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32cam.html
PLATFORM: Espressif 32 (5.2.0) > AI Thinker ESP32-CAM
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-arduinoespressif32 @ 3.20005.220925 (2.0.5)
 - tool-esptoolpy @ 1.40201.0 (4.2.1)
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 37 compatible libraries
Scanning dependencies...
Dependency Graph
|-- IotWebConf @ 3.2.1     
|   |-- DNSServer @ 2.0.0  
|   |   |-- WiFi @ 2.0.0   
|   |-- WebServer @ 2.0.0  
|   |   |-- WiFi @ 2.0.0   
|   |   |-- FS @ 2.0.0     
|   |-- WiFi @ 2.0.0       
|   |-- EEPROM @ 2.0.0     
|   |-- ESPmDNS @ 2.0.0    
|   |   |-- WiFi @ 2.0.0   
|-- Micro-RTSP @ 0.1.6     
|   |-- WiFi @ 2.0.0       
|-- micro-moustache @ 1.0.0
|-- ArduinoOTA @ 2.0.0
|   |-- Update @ 2.0.0
|   |-- WiFi @ 2.0.0
|   |-- ESPmDNS @ 2.0.0
|   |   |-- WiFi @ 2.0.0
|-- ESPmDNS @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- RTSPServer @ 1.0.0
|   |-- arduino-timer @ 2.3.1
|   |-- Micro-RTSP @ 0.1.6
|   |   |-- WiFi @ 2.0.0
|   |-- ESPmDNS @ 2.0.0
|   |   |-- WiFi @ 2.0.0
|   |-- WiFi @ 2.0.0
Building in release mode
Compiling .pio\build\esp32cam\src\main.cpp.o
Building .pio\build\esp32cam\bootloader.bin
Generating partitions .pio\build\esp32cam\partitions.bin
esptool.py v4.2.1
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Compiling .pio\build\esp32cam\libdfd\WiFi\WiFi.cpp.o
Compiling .pio\build\esp32cam\libdfd\WiFi\WiFiAP.cpp.o
Compiling .pio\build\esp32cam\libdfd\WiFi\WiFiClient.cpp.o
Compiling .pio\build\esp32cam\libdfd\WiFi\WiFiGeneric.cpp.o
Compiling .pio\build\esp32cam\libdfd\WiFi\WiFiMulti.cpp.o
Compiling .pio\build\esp32cam\libdfd\WiFi\WiFiSTA.cpp.o
Compiling .pio\build\esp32cam\libdfd\WiFi\WiFiScan.cpp.o
Compiling .pio\build\esp32cam\libdfd\WiFi\WiFiServer.cpp.o
Compiling .pio\build\esp32cam\libdfd\WiFi\WiFiUdp.cpp.o
Compiling .pio\build\esp32cam\lib0f8\DNSServer\DNSServer.cpp.o
Compiling .pio\build\esp32cam\libacc\FS\FS.cpp.o
Compiling .pio\build\esp32cam\libacc\FS\vfs_api.cpp.o
Compiling .pio\build\esp32cam\lib07a\WebServer\Parsing.cpp.o
Compiling .pio\build\esp32cam\lib07a\WebServer\WebServer.cpp.o
Compiling .pio\build\esp32cam\lib07a\WebServer\detail\mimetable.cpp.o
Compiling .pio\build\esp32cam\lib8d6\EEPROM\EEPROM.cpp.o
Archiving .pio\build\esp32cam\libdfd\libWiFi.a
Compiling .pio\build\esp32cam\lib497\ESPmDNS\ESPmDNS.cpp.o
Archiving .pio\build\esp32cam\lib0f8\libDNSServer.a
Compiling .pio\build\esp32cam\libab5\IotWebConf\IotWebConf.cpp.o
Archiving .pio\build\esp32cam\libacc\libFS.a
Compiling .pio\build\esp32cam\libab5\IotWebConf\IotWebConfMultipleWifi.cpp.o
Compiling .pio\build\esp32cam\libab5\IotWebConf\IotWebConfOptionalGroup.cpp.o
Compiling .pio\build\esp32cam\libab5\IotWebConf\IotWebConfParameter.cpp.o
Archiving .pio\build\esp32cam\lib8d6\libEEPROM.a
Compiling .pio\build\esp32cam\lib873\Micro-RTSP\CRtspSession.cpp.o
Archiving .pio\build\esp32cam\lib07a\libWebServer.a
Compiling .pio\build\esp32cam\lib873\Micro-RTSP\CStreamer.cpp.o
Compiling .pio\build\esp32cam\lib873\Micro-RTSP\JPEGSamples.cpp.o
Compiling .pio\build\esp32cam\lib873\Micro-RTSP\OV2640.cpp.o
Archiving .pio\build\esp32cam\lib497\libESPmDNS.a
Compiling .pio\build\esp32cam\lib873\Micro-RTSP\OV2640Streamer.cpp.o
Compiling .pio\build\esp32cam\lib873\Micro-RTSP\SimStreamer.cpp.o
Compiling .pio\build\esp32cam\libe2e\Update\HttpsOTAUpdate.cpp.o
Compiling .pio\build\esp32cam\libe2e\Update\Updater.cpp.o
Archiving .pio\build\esp32cam\libab5\libIotWebConf.a
Compiling .pio\build\esp32cam\lib423\ArduinoOTA\ArduinoOTA.cpp.o
Compiling .pio\build\esp32cam\libf8e\rtsp_server\rtsp_server.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\Esp.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\FirmwareMSC.cpp.o
Archiving .pio\build\esp32cam\lib873\libMicro-RTSP.a
Compiling .pio\build\esp32cam\FrameworkArduino\FunctionalInterrupt.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\HWCDC.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\HardwareSerial.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\IPAddress.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\IPv6Address.cpp.o
Archiving .pio\build\esp32cam\libe2e\libUpdate.a
Compiling .pio\build\esp32cam\FrameworkArduino\MD5Builder.cpp.o
Archiving .pio\build\esp32cam\lib423\libArduinoOTA.a
Compiling .pio\build\esp32cam\FrameworkArduino\Print.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\Stream.cpp.o
Archiving .pio\build\esp32cam\libf8e\librtsp_server.a
Compiling .pio\build\esp32cam\FrameworkArduino\StreamString.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\Tone.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\USB.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\USBCDC.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\USBMSC.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\WMath.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\WString.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\base64.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\cbuf.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-adc.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-bt.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-cpu.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-dac.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-gpio.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-i2c-slave.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-i2c.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-ledc.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-matrix.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-misc.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-psram.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-rgb-led.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-rmt.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-sigmadelta.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-spi.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-time.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-timer.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-tinyusb.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-touch.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\esp32-hal-uart.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\firmware_msc_fat.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\libb64\cdecode.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\libb64\cencode.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\main.cpp.o
Compiling .pio\build\esp32cam\FrameworkArduino\stdlib_noniso.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\esp32cam\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\esp32cam\libFrameworkArduino.a
*** [.pio\build\esp32cam\firmware.elf] Implicit dependency `C:\Users\********\.platformio\platforms\espressif32\builder\64' not found, needed by target `.pio\build\esp32cam\firmware.elf'.
============================================================================================================ [FAILED] Took 46.25 seconds ============================================================================================================

No problems with the main one, of course :)

Thank you!

@rzeldent
Copy link
Owner

Hi sirovermark,

Was a typo. Should compile now...

@sirovermark
Copy link
Author

Looks good @rzeldent !! :)

I have now been able to log into the WIFI using a long password.

Thank you so much for your fast response!

@rzeldent
Copy link
Owner

Nice.

I will merge it for the other users and made a bug report for the library.
prampec/IotWebConf#273

Thanks for confirming.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants