Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions drivers/wifi/esp32/src/esp_wifi_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -890,6 +890,33 @@
return 0;
}

static int esp32_wifi_set_config(const struct device *dev, enum ethernet_config_type type,
const struct ethernet_config *config)
{
struct esp32_wifi_runtime *dev_data = dev->data;

switch (type) {
case ETHERNET_CONFIG_TYPE_MAC_ADDRESS:
esp_wifi_set_mode(ESP32_WIFI_MODE_STA);

esp_err_t ret = esp_wifi_set_mac(WIFI_IF_STA, config->mac_address.addr);

if (ret == ESP_OK) {
memcpy(dev_data->mac_addr, config->mac_address.addr, 6);
net_if_set_link_addr(esp32_wifi_iface, dev_data->mac_addr,
sizeof(dev_data->mac_addr), NET_LINK_ETHERNET);
} else {
printk("Failed to set mac address: %d\n", ret);
}

break;
default:
return -ENOTSUP;
}

return 0;
}

static const struct wifi_mgmt_ops esp32_wifi_mgmt = {
.scan = esp32_wifi_scan,
.connect = esp32_wifi_connect,
Expand All @@ -904,6 +931,7 @@

static const struct net_wifi_mgmt_offload esp32_api = {
.wifi_iface.iface_api.init = esp32_wifi_init,
.wifi_iface.set_config = esp32_wifi_set_config,

Check notice on line 934 in drivers/wifi/esp32/src/esp_wifi_drv.c

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

drivers/wifi/esp32/src/esp_wifi_drv.c:934 - .wifi_iface.iface_api.init = esp32_wifi_init, + .wifi_iface.iface_api.init = esp32_wifi_init,
.wifi_iface.send = esp32_wifi_send,
.wifi_mgmt_api = &esp32_wifi_mgmt,
};
Expand Down
2 changes: 2 additions & 0 deletions samples/net/wifi/shell/socs/esp32_procpu.conf
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ CONFIG_NET_DHCPV4=y
CONFIG_ESP32_WIFI_STA_AUTO_DHCPV4=y

CONFIG_NET_LOG=y

CONFIG_NET_L2_ETHERNET_MGMT=y
Loading