esp-idf: WiFi auth not working on WROOM-32E (custom PCB) but working on the WROOM-32 (DevKitC) (IDFGH-4612)
Environment
- Development Kit: Custom PCB and ESP32-DevKitC clone
- Module or chip used: ESP32-WROOM-32E 4 MB
- IDF version: v4.2-47-g2532ddd9f
- Build System: CMake
- Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2020r3) 8.4.0
- Operating System: Linux
- Using an IDE?: No
- Power Supply: Custom step-down converter based on the LM7525.
Problem Description
For some reason the minimal wifi station example is working on the DevKitC (ESP32-WROOM-32), however on my custom PCB with ESP32-WROOM-32E it is not. It’s exactly the same software I’m flashing. On both boards, I first erased the flash via idf.py erase_flash.
More details regarding the boards
The dev board’s HW:
- DevKit 4 C clone
- Powered through USB (Thinkpad docking station)
The custom PCB:
- Powered through custom step down converter based on the LM7525. Can deliver up to 1A. I verified via scope: The Output voltage is less noisy than the USB powered DevKit supply.
- The ESP module is placed on the top right corner of the PCB. There’s no PCB under the antenna area.
- Other functions I checked so far worked flawlessly. E.g. LED fading, TWAI, regular GPIO switching.
Attached find the full log of the devkit and the custom PCB variant.
Expected Behavior
WiFi auth is successful and an IP is received.
Actual Behavior
- On my custom PCB (WROOM-32E) the board is stuck in an init -> auth, auth -> init loop.
- On my DevKitC (WROOM-32), the connection is successful.
Both times I flash the exact same software and use the same access point.
Steps to reproduce
- Adapt WiFi credentails and build
- idf.py erase_flash
- Flash the software
- Observe the log
Code to reproduce this iss
I use the WiFi station example. Just adapted the WiFi credentials directly in the C file.
Debug Logs
The relevant part of the log given by the WROOM-32E board:
I (677) wifi_init: WiFi IRAM OP enabled
I (677) wifi_init: WiFi RX IRAM OP enabled
I (787) phy: phy_version: 4500, 0cd6843, Sep 17 2020, 15:37:07, 0, 0
I (797) wifi:mode : sta (7c:9e:bd:d9:b6:50)
I (797) wifi station: wifi_init_sta finished.
I (1517) wifi:new:<6,0>, old:<1,0>, ap:<255,255>, sta:<6,0>, prof:1
I (3467) wifi:state: init -> auth (b0)
I (4467) wifi:state: auth -> init (200)
I (4467) wifi:new:<6,0>, old:<6,0>, ap:<255,255>, sta:<6,0>, prof:1
I (4467) wifi station: retry to connect to the AP
I (4467) wifi station: connect to the AP fail
I (6517) wifi station: retry to connect to the AP
I (6517) wifi station: connect to the AP fail
I (6637) wifi:new:<6,0>, old:<6,0>, ap:<255,255>, sta:<6,0>, prof:1
I (6637) wifi:state: init -> auth (b0)
I (7637) wifi:state: auth -> init (200)
I (7637) wifi:new:<6,0>, old:<6,0>, ap:<255,255>, sta:<6,0>, prof:1
I (7647) wifi station: retry to connect to the AP
Full logs attached:
Other items if possible
- sdkconfig.zip – Note: Wifi credentials are set in the source file itself.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 20 (8 by maintainers)
I think this issue still happens on ESP32-S3-WROOM1 DevKitC1. I have two routers Asus RX-AX3000 and UniFi UDM, when those routers perform automatic channel optimisation and sometimes the dev boards will fail to connect with repeated logs and I’m using IDF4.4.1. Until I hit the reset button then it may or may not re-connect.
I don’t think the issue is related to custom boards as it still happens in the DevKit without anything connected to it.