RNDIS - Wikipedia
Driver on

Ethernet over USB – Wikipedia

Ethernet over USB means utilizing USB as an Ethernet community. Nevertheless it may be interpreted to imply some Ethernet machine which is related over USB (as a substitute of e.g. PCI or PCIe).


There are quite a few protocols for Ethernet-style networking over USB. The principle motivation for these protocols is to permit application-independent change of knowledge with USB units, as a substitute of specialised protocols resembling video or MTP. Although USB is just not a bodily Ethernet, the networking stacks of all main working programs are set as much as transport IEEE 802.three frames, with out caring a lot what the underlying transport actually is.

The principle business protocols are (in chronological order): Distant NDIS (RNDIS, a Microsoft vendor protocol), Ethernet Management Mannequin (ECM), Ethernet Emulation Mannequin (EEM), and Community Management Mannequin (NCM). The latter three are a part of the bigger Communications System Class (CDC) group of protocols of the USB Implementers Discussion board (USB-IF). They’re accessible for obtain from the USB-IF (see under). The RNDIS specification is accessible from Microsoft’s web page. Relating to de facto requirements, some requirements, resembling ECM, specify use of USB sources that early programs didn’t have. Nonetheless, minor modifications of the usual, so-called subsets, make sensible implementations attainable on such platforms. Remarkably, even a few of the most trendy platforms want minor lodging and subsequently help for these subsets continues to be wanted.

Of those protocols ECM is by far the only—frames are merely despatched and obtained with out modification separately. This was technique for USB 1.1 programs (present when the protocol was issued) with 64 byte packets however not for USB 2.zero programs which use 512 byte packets.

The issue is that Ethernet frames are about 1500 bytes in measurement—about three USB 2.zero packets, and 23 USB 1.1 packets. In accordance how the USB system works, every packet is shipped as a switch, a sequence of maximum-length packets terminated by a brief packet or a particular ZLP (zero-length packet). After this, there may be bus latency, the place nothing is shipped till one other switch may be initiated. This reduces bus occupancy, which means that nothing is shipped for appreciable fractions of bus time. A niche each 23 frames is just not noticeable, however a spot each three frames may be very pricey to throughput.

As USB has develop into sooner, units have additionally develop into hungrier for knowledge and so there may be now demand for sending massive quantities of knowledge – both to be saved on the machine, or be relayed over wi-fi hyperlinks (see 3GPP Lengthy Time period Evolution).

Because the new units, though sooner than earlier than, are nonetheless a lot decrease in energy than desktop PCs, the problem of cautious knowledge dealing with arises, to maximise use of DMA sources on the machine and decrease (or get rid of) copying of knowledge (zero-copy). The NCM protocol has elaborate provisions for this. See hyperlink under for cautious protocol comparisons.

Linux-specific driver[edit]

The USB-eth module in Linux makes the pc working it a variation of an Ethernet machine that makes use of USB because the bodily medium. It creates a Linux community interface, which may be assigned an IP tackle and in any other case handled the identical as a real Ethernet interface. Any functions that work over actual Ethernet interfaces will work over a USB-eth interface with out modification, as a result of they can not inform that they don’t seem to be utilizing actual Ethernet {hardware}.[1]

On Linux hosts, the corresponding Ethernet-over-USB kernel module is named usbnet. The Bahia Community Driver[2] is a usbnet-style driver accessible for Win32 hosts.

The method permits units with very restricted communications {hardware} to function over IP networks. The Linux kernel for the iPAQ makes use of this communications technique solely, because the iPAQ {hardware} has neither an accessible legacy (RS-232/RS-422) serial port nor a devoted community interface.


SEGGER gives an IP over USB implementation for USB units that doesn’t require any driver set up on the host whatever the host OS. Upon beginning the USB connection, the software program bundle determines, which host it’s related to, after which begins the required class, RNDIS or CDC-ECM (Communication System Class, Ethernet Management Mannequin) and all IP-Companies required for operation.
Micrium with IS2T collectively present an Ethernet over USB implementation that can be utilized each from Java and C/C++.

See additionally[edit]


Exterior hyperlinks[edit]

Leave a Reply

Your email address will not be published. Required fields are marked *