esp-idf: Fail to get IP from a Arris Router, no GOP_IP event after STA_CONNECTED (IDFGH-2778)

INSTRUCTIONS

Before submitting a new issue, please follow the checklist and try to find the answer.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

If the issue cannot be solved after the steps before, please follow these instructions so we can get the needed information to help you in a quick and effective fashion.

  1. Fill in all the fields under Environment marked with [ ] by picking the correct option for you in each case and deleting the others.
  2. Describe your problem.
  3. Include debug logs from the “monitor” tool, or coredumps.
  4. Providing as much information as possible under Other items if possible will help us locate and fix the problem.
  5. Use Markdown (see formatting buttons above) and the Preview tab to check what the issue will look like.
  6. Delete these instructions from the above to the below marker lines before submitting this issue.

IMPORTANT: If you do not follow these instructions and provide the necessary details, your issue may not be resolved.

----------------------------- Delete above -----------------------------

Environment

  • Development Kit: [ESP32-DevKitC]
  • Kit version (DevKitC): [v4]
  • Module or chip used: [ESP32-WROOM-32]
  • IDF version (run git describe --tags to find it): // v3.3.1-98-gf972606
  • Build System: [Make]
  • Compiler version (run xtensa-esp32-elf-gcc --version to find it): // 1.22.0-80-g6c4433a
  • Operating System: [macOS]
  • Using an IDE?: [No]
  • Power Supply: [USB]

Problem Description

We are building smart garage door opener with ESP-WROOM-32 module. Everything went well. But recently, with the increasing number of devices that we sold, more and more reports came from our customers that their devices can not connect with their router. (All the Routers in the reports are provided by Arris, for example Arris DG2460 and Arris TG3452A/CG).

We came to some of the customer’s house and did some basic investigation. We found:

  1. The ESP32 failed to get an IP address from the DHCP server of Arris Router.
  2. ESP32 can connect with the router(STA_CONNECTED event triggered), but failed to get IP address from the router( The GOP_IP event never get triggered).
  3. If we set the router to OPEN(not encrypted), ESP32 can get IP and work properly.
  4. If we set the router to any of the encrypted mode(for example WPA2), ESP32 CAN NOT get IP from the Arris Router.
  5. For most routers from other vendor, ESP32 can work properly.

Expected Behavior

Connect with Arris Router and IP assigned.

Actual Behavior

STA connect with Arris Router but fail to get GOT_IP event before ‘TIMEOUT’.

Steps to reproduce

Just try connecting ESP32 to a Arris Router

// If possible, attach a picture of your setup/wiring here.

Code to reproduce this issue

BluFi example in IDF. Or sta connect example in IDF.

// If your code is longer than 30 lines, [GIST](https://gist.github.com) is preferred.

## Debug Logs

BLUFI_EXAMPLE: BLUFI VERSION 0102 [0;32mI (899) BLUFI_EXAMPLE: BLUFI init finish [0;32mI (225289) BLUFI_EXAMPLE: BLUFI ble connect [0;32mI (227449) BLUFI_EXAMPLE: BLUFI get wifi status from AP [0;32mI (243919) BLUFI_EXAMPLE: BLUFI ble disconnect [0;32mI (259399) BLUFI_EXAMPLE: BLUFI ble connect [0;32mI (261439) BLUFI_EXAMPLE: BLUFI get wifi status from AP [0;32mI (275149) BLUFI_EXAMPLE: BLUFI Set WIFI opmode 1 I (275209) wifi: clear blacklist [0;32mI (275209) BLUFI_EXAMPLE: Recv STA SSID RCMP Surveillance Van I (275269) wifi: clear blacklist [0;32mI (275269) BLUFI_EXAMPLE: Recv STA PASSWORD Antonio1948 [0;32mI (275329) BLUFI_EXAMPLE: BLUFI requset wifi connect to AP I (275329) wifi: Start wifi disconnect I (275329) wifi: connect status 0 -> 0 I (275329) wifi: filter: set rx policy=8 I (275329) wifi: Start wifi connect I (275339) wifi: connect status 0 -> 0 I (275339) wifi: connect chan=0 I (275339) wifi: nvs=0, ssid=RCMP Surveillance Van, channel=255 I (275349) wifi: ssid=RCMP Surveillance Van match nvs 0, channel=255 I (275349) wifi: first chan=1 I (275359) wifi: connect status 0 -> 1 I (275359) wifi: filter: set rx policy=3 I (275359) wifi: clear scan ap list I (275369) wifi: start scan: type=0x50f, priority=2, cb=0x400eb8cc, arg=0x0, ss_state=0x1, time=274819360, index=0 … I (277069) wifi: scan_done: arg=0x0, status=0, cur_time=276521021, scan_id=128, scan state=0 I (277079) wifi: call scan_done cb, arg=0x0 I (277079) wifi: handoff_cb: status=0 I (277089) wifi: best bss has set. I (277089) wifi: ap found, mac=88:71:b1:a5:58:a1 I (277089) wifi: bssid=88:71:b1:a5:58:a1, LR=0 I (277099) wifi: new_bss=0x3ffc6c28, cur_bss=0x0, new_chan=<11,0>, cur_chan=1 I (277099) wifi: filter: set rx policy=5 I (277109) wifi: new:<11,0>, old:<1,0>, ap:<255,255>, sta:<11,0>, prof:1 I (277109) wifi: ht20 freq=2462, chan=11 I (277119) wifi: connect_op: status=0, auth=5, cipher=3 I (277119) wifi: auth mode is not none I 278129) wifi: connect_bss: auth=1, reconnect=0 I (278129) wifi: state: init -> auth (b0) I (278129) wifi: start 1s AUTH timer I (278129) wifi: clear scan ap list I (278139) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278139) wifi: set max rate: from <rate=130, phy=3, sig=0> to <rate=144, phy=3 sig=0> I (278149) wifi: sig_b=1, sig_g=0, sig_n=0, max_b=0, max_g=108, max_n=144 I (278149) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278159) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278159) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278169) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278169) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278179) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278179) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278189) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278189) wifi: recv auth: seq=2, status=0 I (278199) wifi: state: auth -> assoc (0) I (278199) wifi: restart connect 1s timer for assoc I (278209) wifi: recv auth: seq=2, status=0 I (278209) wifi: not auth state, ignore I (278209) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278239) wifi: recv assoc: type=0x10 I (278239) wifi: filter: set rx policy=6 I (278239) wifi: state: assoc -> run (10) I (278239) wifi: start 10s connect timer for 4 way handshake I (278259) wifi: wpa_psk start I (278269) wifi: wpa_psk handle succeed I (278269) wifi: sta recv dup seq=32832 tid=16, discard I (278269) wifi: wpa_psk start I (278269) wifi: wpa_psk handle succeed I (278289) wifi: connected with RCMP Surveillance Van, aid = 6, channel 11, BW20, bssid = 88:71:b1:a5:58:a1 I (278289) wifi: security type: 3, phy: bgn, rssi: -89 I (278299) wifi: remove all except 88:71:b1:a5:58:a1 from rc list I (278299) wifi: clear blacklist I (278309) wifi: filter: set rx policy=7 I (278309) wifi: pm start, type: 1 I (278309) wifi: Send sta connected event I (278319) wifi: connect status 1 -> 5 I (278319) wifi: obss scan is disabled I (278319) wifi: start obss scan: obss scan is stopped I (278399) wifi: AP’s beacon interval = 102400 us, DTIM period = 2 I (278399) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278499) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278599) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278699) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278799) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (278909) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (279009) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (279109) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 I (279209) wifi: rsn valid: gcipher=3 ucipher=3 akm=5 … Repeating log like above, no GOP_IP event and no IP assigned.


About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 34 (16 by maintainers)

Most upvoted comments

@bgintz-rsc,

  • Can you describe about your setup (is there any change in wifi configuration apart from default configuration)?
  • Can you share console log (including boot up log) when you try to connect with WiFi router?
  • Can you try running station example in ESP-IDF on release/v3.3 branch and check if you can connect to the router?

We also have some follow up questions, can you ping me on shubham dot kulkarni at espressif dot com?

This will help better communication.