OpenEtherCATsociety / SOEM

Simple Open Source EtherCAT Master
Other
1.23k stars 653 forks source link

Which network cards support RAW socket? #783

Open kkmserver opened 5 months ago

kkmserver commented 5 months ago

Hello.

Your documentation says:

NIC that can connect to a RAW socket. Can you decipher what this means?

  1. Which network cards are suitable for experimenting on a PC?
  2. And will they work on network cards on Raspberry pi and Orange Pi boards?

Thank you

ArthurKetels commented 5 months ago

A RAW socket means that every byte of the packet that is going to be transmitted can be controlled by SOEM (except the 32bit CRC). This is necessary because EtherCAT is a protocol that is not supported by any standard OS network stack. In principle all NIC support RAW packets. The question is do the OS and NIC driver support RAW packets?

For windows this is difficult, NPCAP is needed as a shim between the NDIS driver and SOEM. THis works well, but windows is not a very good real-time OS.

Linux is in general easy, no special drivers or hardware is needed. Real-time performance is mostly good, but depends on the exact hardware.

RPi works too, but older RPi's have the network adapter connected via USB, this is not fast, and has quite some timing jitter.

kkmserver commented 5 months ago

Thanks for the quick response.