From d210b60a03bce4ec21dd421fe27819a7251f78cc Mon Sep 17 00:00:00 2001 From: "Morgan 'ARR\\!' Allen" Date: Fri, 5 Jan 2024 13:29:57 -0800 Subject: [PATCH] acknowledgments and references --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 98ef2a9..7185747 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,11 @@ A Linux network interface device for communication over the ESP-Now wireless bro NOTE: This is EXTREMELY work in progress and as it requires root permissions is not recommended to be run unmonitored. +This code would not be possible without the groundwork done by the [Linux-ESPNOW](https://hackaday.io/project/161896-linux-espnow)[[github](https://github.com/thomasfla/Linux-ESPNOW)] project. They put in a huge amount of work to reverse engineer the ESP-Now protocol and provided some [example code](https://github.com/thomasfla/Linux-ESPNOW) that this was heavily based on. + +Additionally [this article by John Millikin](https://john-millikin.com/creating-tun-tap-interfaces-in-linux) +was an extremely helpful refresher on working with a Tun/Tap interface. + # Build ``` git clone https://git.oit.cloud/morgan/ifnow.git @@ -31,3 +36,13 @@ be used to intercept raw packets but if used with LwIP on the ESP32 end, which c [esp_netif_now](https://git.oit.cloud/morgan/esp_netif_now), any IP stack should work. Has been testing with UDP and some [CoAP](https://libcoap.net). There are definitely still issues with parsing some incoming packets. + +# Reference Material +These are resources I relied on during development to help me better understand the +Linux network interface stack. Unfortunately there is not a lot of reference material on ESP-Now, +Espressif only ships a binary blob and header file. + +### UDP/IP Stack +* [IPv4 Header](https://en.wikipedia.org/wiki/Internet_Protocol_version_4) +* [UDP Datagram structure](https://en.wikipedia.org/wiki/User_Datagram_Protocol#UDP_datagram_structure) +* [Universal TUN/TAP device driver](https://www.kernel.org/doc/html/latest/networking/tuntap.html)