[riot-notifications] [RIOT-OS/RIOT] cpu/esp8266: Tracking open problems of esp_wifi netdev driver (#10861)

Gunar Schorcht notifications at github.com
Fri Jan 25 01:26:46 CET 2019


#### Description

During the stress test of the `esp_wifi` module for esp8266, including de-authentication attacks, the following issues sporadically occurred

1. Reconnecting may fail after deauthentication and lead to system crash on heavy network load. If the AP send a deauthentication, esp8266 tries to reconnect automatically. If there is no network load, this reconnecting works as expected. However, on heavy network load, esp8266 cannot reconnect and repeat it until memory is exhausted and it crashes. The memory seems to be consumed by the Espressif SDK :worried:
   ```
   [esp_wifi] disconnected from ssid BSHS1, reason 7 (REASON_NOT_ASSOCED)
   [esp_wifi] heap: 15416 (used 5928, free 9488)
   [esp_wifi] disconnected from ssid BSHS1, reason 202 (REASON_AUTH_FAIL)
   [esp_wifi] heap: 15416 (used 6128, free 9288)
   [esp_wifi] disconnected from ssid BSHS1, reason 2 (REASON_AUTH_EXPIRE)
   [esp_wifi] heap: 15416 (used 7568, free 7848)
   [esp_wifi] disconnected from ssid BSHS1, reason 2 (REASON_AUTH_EXPIRE)
   [esp_wifi] heap: 15416 (used 10576, free 4840)
   [esp_wifi] disconnected from ssid BSHS1, reason 2 (REASON_AUTH_EXPIRE)
   [esp_wifi] heap: 15416 (used 13584, free 1832)
   [esp_wifi] trying to reconnect to ssid BSHS1
   heap: 15416 (used 14936, free 480)
   E:M 40
   ```
2. Send function may block completely on very heavy network load. Disconnecting and reconnecting helps sometimes but not always. Then, esp8266 has to be rebooted.

3. Sporadically, `LoadStoreProhibited` exception occurs on very heavy network load.

3. GNRC packet buffer runs full on very heavy network load since packets are hanging in the packet buffer. The communication with the esp8266 is no longer possible. Packet buffer can be checked with command `pktbuf` using module `gnrc_pktbuf_cmd`.

4. Sporadically, error message `dev 1500` occurs on very heavy network load and esp8266 crashes after that with `LoadStoreProhibited` exception.

5. Only once did a permanently repeated error message "LmacRxBlk: 1" appear. esp8266 was not usable.

#### Steps to reproduce the issue

Ping one esp8266 node from three different machines with different data sizes as fast as possible:
```
term1> sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s1392 -i 0
```
```
term2> sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s512 -i 0
```
```
term3> sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s52 -i 0
```

#### Expected results

All these problems occur only on very heavy network load. Under normal conditions `esp_wifi` is working stable, for example under following conditions:
```
term1> sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s1392 -i 0.15
```
```
term2> sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s512 -i 0.15
```
```
term3> sudo ping6 fe80::5ecf:7fff:fe80:3f08 -Ieth0 -s52 -i 0.05
```


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/issues/10861
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190124/37f46136/attachment.html>


More information about the notifications mailing list