Skip to content

ESP-WiFi netdev interface

Network device driver for the ESP SoC WiFi interface

Related CPUs

This module realizes a netdev interface for the built-in WiFi interface of ESP SoCs.

To use the WiFi netdev driver in WPA2 Personal Mode with a preshared key (PSK), module esp_wifi has to be enabled.

USEMODULE += esp_wifi

Furthermore, the following configuration parameters have to be defined:

Parameter Default Description
WIFI_SSID “RIOT_AP” SSID of the AP to be used.
WIFI_PASS - Passphrase used for the AP as clear text (max. 64 chars).
ESP_WIFI_STACKSIZE THREAD_STACKSIZE_DEFAULT Stack size used for the WiFi netdev driver thread.

These configuration parameter definitions, as well as enabling the esp_wifi module, can be done either in the makefile of the project or at make command line, for example:

USEMODULE=esp_wifi \
CFLAGS='-DWIFI_SSID=\"MySSID\" -DWIFI_PASS=\"MyPassphrase\"' \
make -C examples/networking/gnrc/networking BOARD=...

To use the WiFi netdev driver in WPA2 Enterprise Mode with IEEE 802.1X/EAP authentication, module esp_wifi_enterprise has to be enabled.

USEMODULE += esp_wifi_enterprise

It supports the following EAP authentication methods:

  • PEAPv0
  • PEAPv1
  • TTLS

As inner (phase 2) EAP authentication method, only MSCHAPv2 is supported.

To use module esp_wifi_enterprise with these authentication methods, the following configuration parameters have to be defined:

Parameter Default Description
WIFI_SSID “RIOT_AP” SSID of the AP to be used.
WIFI_EAP_ID none Optional anonymous identity used in phase 1 (outer) EAP authentication. If it is not defined, the user name defined for phase 2 (inner) EAP authentication is used as identity in phase 1.
WIFI_EAP_USER none User name used in phase 2 (inner) EAP authentication.
WIFI_EAP_PASS none Password used in phase 2 (inner) EAP authentication.
ESP_WIFI_STACKSIZE THREAD_STACKSIZE_DEFAULT Stack size used for the WiFi netdev driver thread.

These configuration parameter definitions, as well as enabling the esp_wifi module, can be done either in the makefile of the project or at make command line, for example:

USEMODULE=esp_wifi_enterprise \
CFLAGS='-DWIFI_SSID=\"MySSID\" -DWIFI_EAP_ID=\"anonymous\" -DWIFI_EAP_USER=\"MyUserName\" -DWIFI_EAP_PASS=\"MyPassphrase\"' \
make -C examples/networking/gnrc/networking BOARD=...

Author: Gunar Schorcht