ESP-IDF have exported function esp_err_t esp_wifi_80211_tx(wifi_interface_t ifx, const void *buffer, int len, bool en_sys_seq);
It allows user to send raw ieee802.11 packets, it allows only certain types of packet.
To bypass check and send all packets you want you need to remove one call and replace it with mov instruction.
To use bypass copy "bypass.S" next to your "main.c", change CMakeLists.txt to something like this:
idf_component_register(SRCS "main.c" "bypass.S" "other_c_files.c" INCLUDE_DIRS ".")
and use esp_wifi_80211_tx_mod
to send any packet you want using example code from bypass.c
This is only for educational purposes and provided "AS IS"
@wojtess Hi! Thanks for this contribution. After minor adjustments, this fix fit properly to my code.
I am searching for a way to make a wireless device (ieee802.11) to transmit a frame, any kind, in order to detect device presence. It's only needed that device transmit a frame with its MAC as source address.
Any clue?