Good day.
I’d like to connect ethernet controller W5500 to my ESP32. Are there any drivers or libraries to implement this?
Long time I don’t check Wiznet products, if it is one of those that does not expose any layer-2 interfaces you’ll be out of luck. If it exposes at least a proprietary layer-2 interface you may find or write an lwIP netif driver for that.
Thanks for the answer. Layer-2 you mean “Data Link layer” of OSI?
w5500 supports TCP/IP protocol stack
Sorry about the networking jargon, yes, layer-2 refers to data-link layer, the second of the 7 levels of the OSI model, where the lowest one is layer-1 and refers to the physical interface.
Ethernet controllers usually provide a way to interact with the MAC (sub)layer and have their own PHY (layer-1) or a standard interface to a PHY chip like MII.
The Wiznet controllers I’ve seen (long ago) work on a TCP off-loading model, they provide a register API to layer-4 where the user reads and writes to registers/memory spaces that contain what will be sent or has been received. Some also provide a way to send UDP or even IP (layer-3) datagrams.
mOS uses lwIP, which implements a TCP/IP protocol stack and interfaces to layer-2 via an API called “netif” (for ‘network interface’). It is relatively easy to write a netif driver for a device that will take some bytes and frame them into Ethernet and take an Ethernet frame and provide its payload as a number of bytes.
Thanks for clarifying! I understood you. If there is a free one, I will try to write a driver.