Go Down

Topic: Ethernet over USB for Leonardo board (Read 3288 times) previous topic - next topic


Is there anyone interested on extending the ethernet library to allow the Leonardo board to act as a ethernet device over USB ?

According to http://en.wikipedia.org/wiki/Ethernet_over_USB there is 4 possible protocols:

1) Remote NDIS (RNDIS)
    Old protocol not recommended for new design.

2) Ethernet Control Model (ECM)
    Simple but design limited to low bandwidth and high latency.
    WARNING URL not from usb.org !!!! http://catalog.gaw.ru/project/download.php?id=18514

3) Ethernet Emulation Model (EEM)
    New design for higher bandwidth and low latency.

4) Network Control Model (NCM)
    Improved EEM design with provision to get even more bandwidth.
    http://www.usb.org/developers/devclass_docs/NCM10_012011.zip NCM10-20101124-track.pdf

As the ATmega32U4 only support 64 byte USB packet, It look like ECM is the only way to go.

Massimo Banzi

hey this could be a great project! It might be better for the Due that has a full blown 480MB/s Usb interface.

Would you work on this if we send you a due?? :)



The SAM3U4E require the Network Control Model (NCM) to show his power instead of the Ethernet Control Model (ECM) that can only run the ATmega32U4. My understanding from the documents specification of ECM and NCM is that those two protocols share almost nothing in common: the framing and control are much complex in NCM . My conclusion is that there are two distinct projects.

However, ECM will work on the two processors, even if it will be slow compared to NCM. So I propose to first start with a simpler ECM protocol to see if the ethernet over USB feature take some interest from the Arduino users community. Maybe the few Mbps bandwidth of ECM will already satisfy a lot of them.

Thanks for the offer of the Due, but I think i't a bit too early at this stage because aside of you, nobody have showed interest in this feature yet. So I am not so motivated to start burning a lot of time alone on a high end implementation. For the high end projects I already use cheap ARM with Linux that have ethernet over USB, host and device.


Hi jcamdr, my name is Marco and I am really interested in following up this discussion. I need to use Arduino to emulate a CDC ECM device, and I believe Arduino Micro is the way to go.

Is there any activity going on this topic? I would like to provide support

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131