Jeija / esp32free80211

Send arbitrary IEEE 802.11 frames with Espressif's ESP32
487 stars 73 forks source link

Not work with latest esp-idf #3

Closed Nicholas3388 closed 6 years ago

Nicholas3388 commented 7 years ago

Hi, the esp32free80211 is not work with the latest esp-idf. Is it possible to fix it?

Jeija commented 7 years ago

It might be possible to fix. I see two approaches here:

The first solution is cleaner, but it means reverse enginnering the new ieee80211_freedom_output. You could do this by decompiling your compiled ELF file (xtensa-esp32-elf-objdump -D esp32free80211.elf), reading up on the xtensa instruction set and trying to decode what ieee80211_freedom_output is doing and where it fails. Running the code on the ESP32 will give you the program counter PC as well as an error description and register values when the program crashes. I might be able to do this myself at some point, but I can't promise when that will be.

Nicholas3388 commented 7 years ago

@Jeija Thanks for you advice. I'll try to reverse engineer

chaotaklon commented 7 years ago

Hi, Can you tell me more about how to compile it? You have mentioned it needs specific version of esp32-wifi-lib, but what I see is it depends on esp-idf repository only. My error message is "undefined reference to `ieee80211_freedom_output'".

Alan

JanLochi commented 7 years ago

@chaotaklon I used a specific tag of esp-idf, I think it was v2.0, which will use a working version of esp32-wifi-lib.

chaotaklon commented 7 years ago

@JanLochi Thanks for your quick response. It works for me. In esp-idf repo, type the following cmd: $ git checkout tags/v2.0 $ git submodule update --init --recursive

malaimoo commented 6 years ago

@Jeija Reverse engineer is a good idea!

Jeija commented 6 years ago

It's also mentioned in the README now, but in case someone didn't notice: Please use https://github.com/Jeija/esp32-80211-tx instead if you want to use the latest esp-idf.