Looking at how I can find esp32 (olimex PoE) board on a wired network without dhcp and then set its ip address.
Many IP Cameras support this and it would appear that it can be done by using another ethertype and then sending out a broadcast packet and receiving responses. Happy with what I need to do but have not managed to track down the right place to add support.
I had assumed that lwip raw would be available but seems not to be the case with esp32.
Has anyone done anything similar, pointers to ready-made solution! or any idea how I can intercept in this way?
They really send a different ethertype in the Ethernet layer? But if you say they talk IP, the layer above Ethernet has to be IP though and thus have 0x0800 (IPv4) as ethertype? But then how could any other network device recognize these packets as IP packets if the ethertype is wrong?
## Netconn API
lwIP supports two lower level APIs as well as the BSD Sockets API: the Netconn API and the Raw API.
The lwIP Raw API is designed for single threaded devices and is not supported in ESP-IDF.
Ehm I’m not a 100% a lwIP expert but there might be a difference between a raw socket and the RAW API vs the Netconn API, with which connections are managed and interacted with in lwip.
So looking at UDP now, have got multicast udp working on the ssdp setup, Simple Service Discovery Protocol - Wikipedia
now sending packets and see them on wireshark even if the ip address is out of subnet, and seeing out of subnet packets on the esp32 so should be able to knock something together