Ethernet Over USB
   HOME

TheInfoList



OR:

Ethernet over USB refers to use of
USB Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply (interfacing) between computers, peripherals and other computers. A broad v ...
as an
Ethernet Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
network. It also refers to an Ethernet device which is connected over USB (instead of e.g.
PCI PCI may refer to: Business and economics * Payment card industry, businesses associated with debit, credit, and other payment cards ** Payment Card Industry Data Security Standard, a set of security requirements for credit card processors * Pro ...
or
PCIe PCI Express (Peripheral Component Interconnect Express), officially abbreviated as PCIe or PCI-e, is a high-speed serial computer expansion bus standard, designed to replace the older PCI, PCI-X and AGP bus standards. It is the common mo ...
).


Protocols

There are numerous protocols for Ethernet-style networking over USB. The use of these protocols is to allow application-independent exchange of data with USB devices, instead of specialized protocols such as video or MTP (Media Transfer Protocol). Even though the USB is not a physical Ethernet, the networking stacks of all major operating systems are set up to transport
IEEE 802.3 IEEE 802.3 is a working group and a collection standards defining the physical layer and data link layer's media access control (MAC) of wired Ethernet. The standards are produced by the working group of Institute of Electrical and Electronics Eng ...
frames, without needing a particular underlying transport. The main industry protocols are (in chronological order): Remote NDIS (RNDIS, a Microsoft vendor protocol), Ethernet Control Model (ECM), Ethernet Emulation Model (EEM), and Network Control Model (NCM). The latter three are part of the larger Communications Device Class (CDC) group of protocols of the
USB Implementers Forum The USB Implementers Forum (USB-IF) is a nonprofit organization created to promote and support USB (Universal Serial Bus). Its main activities are the promotion and marketing of USB, Wireless USB, USB On-The-Go, and the maintenance of the speci ...
(USB-IF). They are available for download from the USB-IF (see below). The RNDIS specification is available from Microsoft's web site. Regarding ''de facto'' standards, some standards, such as ECM, specify use of USB resources that early systems did not have. However, minor modifications of the standard subsets make practical implementations possible on such platforms. Remarkably, even some of the most modern platforms need minor accommodations and therefore support for these subsets is still needed. Of these protocols ECM could be classified the simplest—frames are simply sent and received without modification one at a time. This was a satisfactory strategy for USB 1.1 systems (current when the protocol was issued) with 64 byte packets but not for USB 2.0 systems which use 512 byte packets. One significant problem is, the Ethernet frames are about 1500 bytes in size—about 3 USB 2.0 packets, and 23 USB 1.1 packets. The USB system works by each packet being sent as a ''transfer'', a series of maximum-length packets terminated by a short packet or a special ZLP (zero-length packet). After this, there is bus latency, where nothing is sent until another transfer can be initiated. Such reduces bus occupancy, meaning that nothing is sent for considerable fractions of bus time. A gap every 23 frames is not noticeable, but a gap every three frames can be viewed as very costly to throughput. As USB has become faster, devices utilize more data and hence there is now demand for sending large amounts of data—either to be stored on the device, or be relayed over wireless links (see
3GPP Long Term Evolution In telecommunications, long-term evolution (LTE) is a standard for wireless broadband communication for mobile devices and data terminals, based on the GSM/EDGE and UMTS/HSPA standards. It improves on those standards' capacity and speed by usi ...
). These new devices are still much lower in power than desktop PCs, thus the issue of careful data handling arises, to maximize use of DMA resources on the device and minimize (or eliminate) copying of data (zero-copy). The NCM protocol has elaborate provisions for this. See the link below for protocol comparisons.


Linux-specific driver

The USB-eth module in Linux makes the computer running it a variation of an Ethernet device that uses USB as the physical medium. It creates a Linux network interface, which can be assigned an IP address and otherwise treated the same as a true Ethernet interface. Any applications that work over real Ethernet interfaces will work over a USB-Ethernet interface without modification, as there is no distinction between utilizing proper or improper Ethernet hardware. On Linux hosts, the corresponding Ethernet-over-USB kernel module is called usbnet. The Bahia Network DriverBND—Bahia Network Driver
/ref> is a usbnet-style driver available for Win32 hosts. The approach allows devices with very limited communications hardware to operate over IP networks. The Linux kernel for the
iPAQ The iPAQ is a discontinued Pocket PC and personal digital assistant which was first unveiled by Compaq in April 2000. HP's line-up of iPAQ devices included PDA-devices, smartphones and GPS-navigators. A substantial number of devices were ...
uses this communications strategy exclusively, since the iPAQ hardware has neither an accessible legacy (RS-232/
RS-422 RS-422, also known as TIA/EIA-422, is a technical standard originated by the Electronic Industries Alliance that specifies electrical characteristics of a digital signaling circuit. It was meant to be the foundation of a suite of standards that ...
) serial port nor a dedicated network interface.


See also

*
RNDIS The Remote Network Driver Interface Specification (RNDIS) is a Microsoft proprietary protocol used mostly on top of USB. It provides a virtual Ethernet link to most versions of the Windows, Linux, and FreeBSD operating systems. Multiple revisions o ...


References


External links


CDC Subclass Specification for Ethernet Emulation Model Devices 1.0
{{USB Computer networking Serial buses USB