Transparent Wi-Fi module with RMII input
Posted: Wed Dec 28, 2016 7:12 am
I need to convert a Ethernet-connected embedded project with wireless connection.
I'm looking for a low-cost (main constraint, less than USD $15) and most open-source/-hardware possible Wi-Fi bridge module, like Vonets.
It need to behave transparent, redirecting all network frames (transport layer) to existent-and-already-stable IP stack implemented at current ETH hardware with minimal firmware modification; if possible, using existent RMII pins.
My first attempt was with ESP8266, but there's some very painful challenges:
I couldn't just change transceiver and RJ-45 with it, because it's communication is UART-based (some module variants support SPI). To workaround that, I tried enabling PPPoS to communicate uC<->ESP8266, then sending data through ESP's built-in IP stack and forwarding it to Wi-Fi adapter and then to Internet.
However, although it's LwIP port had PPP_SUPORT #define's at source code (which seems to be added in a recent release v1.4.0 from March-2016), there's no documentation about enabling it and it's usage. Furthermore, IP forwarding also seems not be supported between virtual interface (e.g. ppp0) and "real" interface (e.g. wlan0).
Do you suggest some other hardware to do the "Wi-Fi bridge" job? Should ESP32 the solution to convert RMII signals?
In the case of keep using ESP8266, there's another protocol or way to made it transparent?
I'm looking for a low-cost (main constraint, less than USD $15) and most open-source/-hardware possible Wi-Fi bridge module, like Vonets.
It need to behave transparent, redirecting all network frames (transport layer) to existent-and-already-stable IP stack implemented at current ETH hardware with minimal firmware modification; if possible, using existent RMII pins.
My first attempt was with ESP8266, but there's some very painful challenges:
I couldn't just change transceiver and RJ-45 with it, because it's communication is UART-based (some module variants support SPI). To workaround that, I tried enabling PPPoS to communicate uC<->ESP8266, then sending data through ESP's built-in IP stack and forwarding it to Wi-Fi adapter and then to Internet.
However, although it's LwIP port had PPP_SUPORT #define's at source code (which seems to be added in a recent release v1.4.0 from March-2016), there's no documentation about enabling it and it's usage. Furthermore, IP forwarding also seems not be supported between virtual interface (e.g. ppp0) and "real" interface (e.g. wlan0).
Do you suggest some other hardware to do the "Wi-Fi bridge" job? Should ESP32 the solution to convert RMII signals?
In the case of keep using ESP8266, there's another protocol or way to made it transparent?