2017-06-09 11:41 AM
[reposting after 30 days of no responses]
Hello all,
I have been making great progress using CubeMX and HAL for lots of things, now I want to try ethernet. My application is very simple, I only want to send and receive raw ethernet frames -- no UDP or TCP at all. I also prefer not to use LWiP for something so basic. Can anyone point me to an example of raw ethernet frame IO using just HAL? I will be using Nucleo F429ZI.
My requirements:
[ ] send a raw frame (source and destination MAC address, type IP and payload, total less than 1500 bytes)
[ ] receive interrupt upon receipt of a raw ethernet frame
My transactions are slow and simple, I do not even need any buffer queuing.
Thanks for any tips.
#raw-ethernet-frame2019-09-26 04:15 AM
2019-09-26 04:16 AM
2019-10-18 10:03 PM
Which software can we use for raw ethernet frames?
2020-06-16 11:09 AM
Hello,
I want to execute the exact same thing on STM32f429NI Eval Board and I am new to ethernet. I have to check the basic ethernet functionality. Can you please share the example program if you got one ? Thanks.
2020-06-16 02:56 PM
With your experience level, I'd probably choose the path of least resistance, not the path least traveled
STM32Cube_FW_F4_V1.25.0\Projects\STM324x9I_EVAL\Applications\LwIP\LwIP_HTTP_Server_Raw
2020-06-20 02:01 AM
This code is simple and a good starting point for both - Ethernet and lwIP:
2022-03-23 12:56 AM
Hello @Elwood Downey I'm just starting with using ETH with STM and I'm trying to do the same application can you please share with me the source code if you still have it ?
2022-07-30 12:19 PM
This is an extremely useful application. Sending/receiving raw ethernet frames is very liberating and empowering.
I've tried using LWiP, and after horrible experiences on the STM32H743 (works for 5 to 8 hours and hangs) without any code on my part (completely out-of-the-box), I can't even ping after 8 hours. Months later, we did not have a product that we could ship, because we couldn't get LWIP to work forever.
Even with LWIP working reliably, there are times when the raw frames are the best. I'm trying to avoid an LWIP-centric defense argument.
Anyway, back to the central point. Is there a body of code somewhere, where I can send/transmit frames from one MCU to another? No protocol. Just transfer one byte stream to another.
Thanks!
2022-08-01 04:22 PM
> No protocol. Just transfer one byte stream to another.
Just look at the low_level_input and low_level_output functions. Remove anything related to LwIP (especially the buffer/packet allocation); roll your own.
2022-08-09 04:23 AM
The lwIP has no problem living friendly with a custom protocols. For example, one can implement LWIP_HOOK_UNKNOWN_ETH_PROTOCOL() and process in it any custom layer 2 protocols one needs.
> Months later, we did not have a product that we could ship, because we couldn't get LWIP to work forever.
Well, then stop clicking and using Cube/HAL, which is developed by incompetent fools, and start developing real code.