Universal Serial Bus (USB) is an industry standard that allows data exchange and delivery of power between many types of electronics. It specifies its architecture, in particular its physical interface, and communication protocols for data transfer and power delivery to and from hosts, such as personal computers, to and from peripheral devices, e.g. displays, keyboards, and mass storage devices, and to and from intermediate hubs, which multiply the number of a host's ports.
Type | Bus | ||
---|---|---|---|
Production history | |||
Designer |
| ||
Designed | January 1996 | ||
Produced | Since May 1996 | ||
Superseded | Serial port, parallel port, game port, Apple Desktop Bus, PS/2 port, and FireWire (IEEE 1394) |
Introduced in 1996, USB was originally designed to standardize the connection of peripherals to computers, replacing various interfaces such as serial ports, parallel ports, game ports, and ADB ports. Early versions of USB became commonplace on a wide range of devices, such as keyboards, mice, cameras, printers, scanners, flash drives, smartphones, game consoles, and power banks. USB has since evolved into a standard to replace virtually all common ports on computers, mobile devices, peripherals, power supplies, and manifold other small electronics.
In the current standard, the USB-C connector replaces the many various connectors for power (up to 240 W), displays (e.g. DisplayPort, HDMI), and many other uses, as well as all previous USB connectors.
As of 2024, USB consists of four generations of specifications: USB 1.x, USB 2.0, USB 3.x, and USB4. USB4 enhances the data transfer and power delivery functionality with
... a connection-oriented, tunneling architecture designed to combine multiple protocols onto a single physical interface so that the total speed and performance of the USB4 Fabric can be dynamically shared.
USB4 particularly supports the tunneling of the Thunderbolt 3 protocols, namely PCI Express (PCIe, load/store interface) and DisplayPort (display interface). USB4 also adds host-to-host interfaces.
Each specification sub-version supports different signaling rates from 1.5 and 12 Mbit/s total in USB 1.0 to 80 Gbit/s (in each direction) in USB4. USB also provides power to peripheral devices; the latest versions of the standard extend the power delivery limits for battery charging and devices requiring up to 240 watts (USB Power Delivery (USB-PD)). Over the years, USB(-PD) has been adopted as the standard power supply and charging format for many mobile devices, such as mobile phones, reducing the need for proprietary chargers.
USB was designed to standardize the connection of peripherals to personal computers, both to exchange data and to supply electric power. It has largely replaced interfaces such as serial ports and parallel ports and has become commonplace on various devices. Peripherals connected via USB include computer keyboards and mice, video cameras, printers, portable media players, mobile (portable) digital telephones, disk drives, and network adapters.
USB connectors have been increasingly replacing other types of charging cables for portable devices.
USB connector interfaces are classified into three types: the many various legacy Type-A (upstream) and Type-B (downstream) connectors found on hosts, hubs, and peripheral devices, and the modern Type-C (USB-C) connector, which replaces the many legacy connectors as the only applicable connector for USB4.
The Type-A and Type-B connectors came in Standard, Mini, and Micro sizes. The standard format was the largest and was mainly used for desktop and larger peripheral equipment. The Mini-USB connectors (Mini-A, Mini-B, Mini-AB) were introduced for mobile devices. Still, they were quickly replaced by the thinner Micro-USB connectors (Micro-A, Micro-B, Micro-AB). The Type-C connector, also known as USB-C, is not exclusive to USB, is the only current standard for USB, is required for USB4, and is required by other standards, including modern DisplayPort and Thunderbolt. It is reversible and can support various functionalities and protocols, including USB; some are mandatory, and many are optional, depending on the type of hardware: host, peripheral device, or hub.
USB specifications provide backward compatibility, usually resulting in decreased signaling rates, maximal power offered, and other capabilities. The USB 1.1 specification replaces USB 1.0. The USB 2.0 specification is backward-compatible with USB 1.0/1.1. The USB 3.2 specification replaces USB 3.1 (and USB 3.0) while including the USB 2.0 specification. USB4 "functionally replaces" USB 3.2 while retaining the USB 2.0 bus operating in parallel.
The USB 3.0 specification defined a new architecture and protocol named SuperSpeed (aka SuperSpeed USB, marketed as SS), which included a new lane for a new signal coding scheme (8b/10b symbols, 5 Gbit/s; later also known as Gen 1) providing full-duplex data transfers that physically required five additional wires and pins, while preserving the USB 2.0 architecture and protocols and therefore keeping the original four pins/wires for the USB 2.0 backward-compatibility resulting in 9 wires (with 9 or 10 pins at connector interfaces; ID-pin is not wired) in total.
The USB 3.1 specification introduced an Enhanced SuperSpeed System – while preserving the SuperSpeed architecture and protocol (SuperSpeed USB) – with an additional SuperSpeedPlus architecture and protocol (aka SuperSpeedPlus USB) adding a new coding schema (128b/132b symbols, 10 Gbit/s; also known as Gen 2); for some time marketed as SuperSpeed+ (SS+).
The USB 3.2 specification added a second lane to the Enhanced SuperSpeed System besides other enhancements so that the SuperSpeedPlus USB system part implements the Gen 1×2, Gen 2×1, and Gen 2×2 operation modes. However, the SuperSpeed USB part of the system still implements the one-lane Gen 1×1 operation mode. Therefore, two-lane operations, namely USB 3.2 Gen 1×2 (10 Gbit/s) and Gen 2×2 (20 Gbit/s), are only possible with Full-Featured USB-C. As of 2023, they are somewhat rarely implemented; Intel, however, started to include them in its 11th-generation SoC processor models, but Apple never provided them. On the other hand, USB 3.2 Gen 1(×1) (5 Gbit/s) and Gen 2(×1) (10 Gbit/s) have been quite common for some years.
Each USB connection is made using two connectors: a receptacle and a plug. Pictures show only receptacles:
Standard | USB 1.0 1996 |
USB 1.1 1998 |
USB 2.0 2000 |
USB 2.0 Revised |
USB 3.0 2008 |
USB 3.1 2013 |
USB 3.2 2017 |
USB4 2019 |
USB4 2.0 2022 | |
---|---|---|---|---|---|---|---|---|---|---|
Max Speed | Current marketing name | Basic-Speed | High-Speed | USB 5Gbps | USB 10Gbps | USB 20Gbps | USB 40Gbps | USB 80Gbps | ||
Original label | Low-Speed & Full-Speed | SuperSpeed, or SS | SuperSpeed+, or SS+ | SuperSpeed USB 20Gbps | ||||||
Operation mode | USB 3.2 Gen 1×1 | USB 3.2 Gen 2×1 | USB 3.2 Gen 2×2 | USB4 Gen 3×2 | USB4 Gen 4×2 | |||||
Signaling rate | 1.5 Mbit/s & 12 Mbit/s | 480 Mbit/s | 5 Gbit/s | 10 Gbit/s | 20 Gbit/s | 40 Gbit/s | 80 Gbit/s | |||
Connector | Standard-A | — | ||||||||
Standard-B | ||||||||||
Mini-A | — | |||||||||
Mini-AB | ||||||||||
Mini-B | ||||||||||
Micro-A | — | |||||||||
Micro-AB | ||||||||||
Micro-B | ||||||||||
Type-C (USB-C) | (Enlarged to show detail) | |||||||||
Remarks: |
The Universal Serial Bus was developed to simplify and improve the interface between personal computers and peripheral devices, such as cell phones, computer accessories, and monitors, when compared with previously existing standard or ad hoc proprietary interfaces.
From the computer user's perspective, the USB interface improves ease of use in several ways:
The USB standard also provides multiple benefits for hardware manufacturers and software developers, specifically in the relative ease of implementation:
As with all standards, USB possesses multiple limitations to its design:
For a product developer, using USB requires the implementation of a complex protocol and implies an "intelligent" controller in the peripheral device. Developers of USB devices intended for public sale generally must obtain a USB ID, which requires that they pay a fee to the USB Implementers Forum (USB-IF). Developers of products that use the USB specification must sign an agreement with the USB-IF. Use of the USB logos on the product requires annual fees and membership in the organization.
A group of seven companies began the development of USB in 1995: Compaq, DEC, IBM, Intel, Microsoft, NEC, and Nortel. The goal was to make it fundamentally easier to connect external devices to PCs by replacing the multitude of connectors at the back of PCs, addressing the usability issues of existing interfaces, and simplifying software configuration of all devices connected to USB, as well as permitting greater data transfer rates for external devices and plug and play features. Ajay Bhatt and his team worked on the standard at Intel; the first integrated circuits supporting USB were produced by Intel in 1995.
Released in January 1996, USB 1.0 specified signaling rates of 1.5 Mbit/s (Low Bandwidth or Low Speed) and 12 Mbit/s (Full Speed). It did not allow for extension cables, due to timing and power limitations. Few USB devices made it to the market until USB 1.1 was released in August 1998. USB 1.1 was the earliest revision that was widely adopted and led to what Microsoft designated the "Legacy-free PC".
Neither USB 1.0 nor 1.1 specified a design for any connector smaller than the standard type A or type B. Though many designs for a miniaturized type B connector appeared on many peripherals, conformity to the USB 1.x standard was hampered by treating peripherals that had miniature connectors as though they had a tethered connection (that is: no plug or receptacle at the peripheral end). There was no known miniature type A connector until USB 2.0 (revision 1.01) introduced one.
USB 2.0 was released in April 2000, adding a higher maximum signaling rate of 480 Mbit/s (maximum theoretical data throughput 53 MByte/s) named High Speed or High Bandwidth, in addition to the USB 1.x Full Speed signaling rate of 12 Mbit/s (maximum theoretical data throughput 1.2 MByte/s).
Modifications to the USB specification have been made via engineering change notices (ECNs). The most important of these ECNs are included into the USB 2.0 specification package available from USB.org:
The USB 3.0 specification was released on 12 November 2008, with its management transferring from USB 3.0 Promoter Group to the USB Implementers Forum (USB-IF) and announced on 17 November 2008 at the SuperSpeed USB Developers Conference.
USB 3.0 adds a new architecture and protocol named SuperSpeed, with associated backward-compatible plugs, receptacles, and cables. SuperSpeed plugs and receptacles are identified with a distinct logo and blue inserts in standard format receptacles.
The SuperSpeed architecture provides for an operation mode at a rate of 5.0 Gbit/s, in addition to the three existing operation modes. Its efficiency is dependent on a number of factors including physical symbol encoding and link-level overhead. At a 5 Gbit/s signaling rate with 8b/10b encoding, each byte needs 10 bits to transmit, so the raw throughput is 500 MB/s. When flow control, packet framing and protocol overhead are considered, it is realistic for about two thirds of the raw throughput, or 330 MB/s to transmit to an application.: 4–19 SuperSpeed's architecture is full-duplex; all earlier implementations, USB 1.0-2.0, are all half-duplex, arbitrated by the host.
Low-power and high-power devices remain operational with this standard, but devices implementing SuperSpeed can provide increased current of between 150 mA and 900 mA, by discrete steps of 150 mA.: 9–9
USB 3.0 also introduced the USB Attached SCSI protocol (UASP), which provides generally faster transfer speeds than the BOT (Bulk-Only-Transfer) protocol.
USB 3.1, released in July 2013 has two variants. The first one preserves USB 3.0's SuperSpeed architecture and protocol and its operation mode is newly named USB 3.1 Gen 1, and the second version introduces a distinctively new SuperSpeedPlus architecture and protocol with a second operation mode named as USB 3.1 Gen 2 (marketed as SuperSpeed+ USB). SuperSpeed+ doubles the maximum signaling rate to 10 Gbit/s (later marketed as SuperSpeed USB 10 Gbps by the USB 3.2 specification), while reducing line encoding overhead to just 3% by changing the encoding scheme to 128b/132b.
USB 3.2, released in September 2017, preserves existing USB 3.1 SuperSpeed and SuperSpeedPlus architectures and protocols and their respective operation modes, but introduces two additional SuperSpeedPlus operation modes (USB 3.2 Gen 1×2 and USB 3.2 Gen 2×2) with the new USB-C Fabric with signaling rates of 10 and 20 Gbit/s (raw data rates of 1212 and 2424 MB/s). The increase in bandwidth is a result of two-lane operation over existing wires that were originally intended for flip-flop capabilities of the USB-C connector.
Starting with the USB 3.2 specification, USB-IF introduced a new naming scheme. To help companies with the branding of the different operation modes, USB-IF recommended branding the 5, 10, and 20 Gbit/s capabilities as SuperSpeed USB 5Gbps, SuperSpeed USB 10 Gbps, and SuperSpeed USB 20 Gbps, respectively.
In 2023, they were replaced again, removing "SuperSpeed", with USB 5Gbps, USB 10Gbps, and USB 20Gbps. With new Packaging and Port logos.
This section needs to be updated. The reason given is: Incomplete, erroneous and not up-to-date; e.g. lacks differences between USB4 first version and 2.0. Applies also to main article..(August 2024) |
The USB4 specification was released on 29 August 2019 by the USB Implementers Forum.
The USB4 2.0 specification was released on 1 September 2022 by the USB Implementers Forum.
USB4 is based on the Thunderbolt 3 protocol. It supports 40 Gbit/s throughput, is compatible with Thunderbolt 3, and backward compatible with USB 3.2 and USB 2.0. The architecture defines a method to share a single high-speed link with multiple end device types dynamically that best serves the transfer of data by type and application.
During CES 2020, USB-IF and Intel stated their intention to allow USB4 products that support all the optional functionality as Thunderbolt 4 products.
USB4 2.0 with 80 Gbit/s speeds was to be revealed in November 2022. Further technical details were to be released at two USB developer days scheduled for November 2022.
The USB4 specification states that the following technologies shall be supported by USB4:
Connection | Mandatory for | Remarks | ||
---|---|---|---|---|
host | hub | device | ||
USB 2.0 (480 Mbit/s) | Yes | Yes | Yes | Contrary to other functions – which use the multiplexing of high-speed links – USB 2.0 over USB-C utilizes its own differential pair of wires. |
Tunneled USB 3.2 Gen 2×1 (10 Gbit/s) | Yes | Yes | No | |
Tunneled USB 3.2 Gen 2×2 (20 Gbit/s) | No | No | No | |
Tunneled USB 3 Gen T (5–80 Gbit/s) | No | No | No | A type of USB 3 Tunneling architecture where the Enhanced SuperSpeed System is extended to allow operation at the maximum bandwidth available on the USB4 Link. |
USB4 Gen 2 (10 or 20 Gbit/s) | Yes | Yes | Yes | Either one or two lanes |
USB4 Gen 3 (20 or 40 Gbit/s) | No | Yes | No | |
Tunneled DisplayPort 1.4a | Yes | Yes | No | The specification requires that hosts and hubs support the DisplayPort Alternate Mode. |
Tunneled PCI Express 3.0 | No | Yes | No | The PCI Express function of USB4 replicates the functionality of previous versions of the Thunderbolt specification. |
Host-to-Host communications | Yes | Yes | — | A LAN-like connection between two peers. |
Thunderbolt 3 Alternate Mode | No | Yes | No | Thunderbolt 3 uses USB-C cables; the USB4 specification allows hosts and devices and requires hubs to support interoperability with the standard using the Thunderbolt 3 Alternate Mode (namely DisplayPort and PCIe). |
Other Alternate Modes | No | No | No | USB4 products may optionally offer interoperability with the HDMI, MHL, and VirtualLink Alternate Modes. |
Because of the previous confusing naming schemes, USB-IF decided to change it once again. As of 2 September 2022, marketing names follow the syntax "USB xGbps", where x is the speed of transfer in Gbit/s. Overview of the updated names and logos can be seen in the adjacent table.
The operation modes USB 3.2 Gen 2×2 and USB4 Gen 2×2 – or: USB 3.2 Gen 2×1 and USB4 Gen 2×1 – are not interchangeable or compatible; all participating controllers must operate with the same mode.
Name | Release date | Maximum signaling rate | Note |
---|---|---|---|
USB 0.7 | November 1994 | ? | Pre-release. |
USB 0.8 | December 1994 | ? | |
USB 0.9 | April 1995 | 12 Mbit/s: Full Speed (FS) | |
USB 0.99 | August 1995 | ? | |
USB 1.0-RC | November 1995 | ? | Release Candidate. |
USB 1.0 | January 1996 | 1.5 Mbit/s: Low Speed (LS) 12 Mbit/s: Full Speed (FS) |
Renamed to Basic-Speed. |
USB 1.1 | September 1998 | ||
USB 2.0 | April 2000 | 480 Mbit/s: High Speed (HS) | |
USB 3.0 | November 2008 | 5 Gbit/s: SuperSpeed (SS) | Renamed to USB 3.1 Gen 1, and later to USB 3.2 Gen 1×1. |
USB 3.1 | July 2013 | 10 Gbit/s: SuperSpeed+ (SS+) | Renamed to USB 3.1 Gen 2, and later to USB 3.2 Gen 2×1. |
USB 3.2 | August 2017 | 20 Gbit/s: SuperSpeed+ two-lane | Includes new USB 3.2 Gen 1×2 and Gen 2×2 two-lane modes. Requires Full-Featured USB-C. |
USB4 | August 2019 | 40 Gbit/s: two-lane | Includes new USB4 Gen 2×2 (64b/66b encoding) and Gen 3×2 (128b/132b encoding) modes and introduces USB4 routing for tunneling of USB 3.2, DisplayPort 1.4a and PCI Express traffic and host-to-host transfers, based on the Thunderbolt 3 protocol; requires USB4 Fabric. |
USB4 2.0 | September 2022 | 120 ⇄ 40 Gbit/s: asymmetric | Includes new USB4 Gen 4×2 (PAM-3 encoding) mode to get 80 and 120 Gbit/s over Type-C connector. Requires USB4 Fabric. |
Release name | Release date | Max. power | Note |
---|---|---|---|
USB Battery Charging Rev. 1.0 | 2007-03-08 | 7.5 W (5 V, 1.5 A) | |
USB Battery Charging Rev. 1.1 | 2009-04-15 | 7.5 W (5 V, 1.5 A) | Page 28, Table 5–2, but with limitation on paragraph 3.5. In ordinary USB 2.0's standard-A port, 1.5 A only. |
USB Battery Charging Rev. 1.2 | 2010-12-07 | 7.5 W (5 V, 1.5 A) | |
USB Power Delivery Rev. 1.0 (V. 1.0) | 2012-07-05 | 100 W (20 V, 5 A) | Using FSK protocol over bus power (VBUS) |
USB Power Delivery Rev. 1.0 (V. 1.3) | 2014-03-11 | 100 W (20 V, 5 A) | |
USB Type-C Rev. 1.0 | 2014-08-11 | 15 W (5 V, 3 A) | New connector and cable specification |
USB Power Delivery Rev. 2.0 (V. 1.0) | 2014-08-11 | 100 W (20 V, 5 A) | Using BMC protocol over communication channel (CC) on USB-C cables. |
USB Type-C Rev. 1.1 | 2015-04-03 | 15 W (5 V, 3 A) | |
USB Power Delivery Rev. 2.0 (V. 1.1) | 2015-05-07 | 100 W (20 V, 5 A) | |
USB Type-C Rev. 1.2 | 2016-03-25 | 15 W (5 V, 3 A) | |
USB Power Delivery Rev. 2.0 (V. 1.2) | 2016-03-25 | 100 W (20 V, 5 A) | |
USB Power Delivery Rev. 2.0 (V. 1.3) | 2017-01-12 | 100 W (20 V, 5 A) | |
USB Power Delivery Rev. 3.0 (V. 1.1) | 2017-01-12 | 100 W (20 V, 5 A) | |
USB Type-C Rev. 1.3 | 2017-07-14 | 15 W (5 V, 3 A) | |
USB Power Delivery Rev. 3.0 (V. 1.2) | 2018-06-21 | 100 W (20 V, 5 A) | |
USB Type-C Rev. 1.4 | 2019-03-29 | 15 W (5 V, 3 A) | |
USB Type-C Rev. 2.0 | 2019-08-29 | 15 W (5 V, 3 A) | Enabling USB4 over USB Type-C connectors and cables. |
USB Power Delivery Rev. 3.0 (V. 2.0) | 2019-08-29 | 100 W (20 V, 5 A) | |
USB Power Delivery Rev. 3.1 (V. 1.0) | 2021-05-24 | 240 W (48 V, 5 A) | |
USB Type-C Rev. 2.1 | 2021-05-25 | 15 W (5 V, 3 A) | |
USB Power Delivery Rev. 3.1 (V. 1.1) | 2021-07-06 | 240 W (48 V, 5 A) | |
USB Power Delivery Rev. 3.1 (V. 1.2) | 2021-10-26 | 240 W (48 V, 5 A) | Including errata through October 2021
This version incorporates the following ECNs:
|
A USB system consists of a host with one or more downstream facing ports (DFP), and multiple peripherals, forming a tiered-star topology. Additional USB hubs may be included, allowing up to five tiers. A USB host may have multiple controllers, each with one or more ports. Up to 127 devices may be connected to a single host controller.: 8–29 USB devices are linked in series through hubs. The hub built into the host controller is called the root hub.
A USB device may consist of several logical sub-devices that are referred to as device functions. A composite device may provide several functions, for example, a webcam (video device function) with a built-in microphone (audio device function). An alternative to this is a compound device, in which the host assigns each logical device a distinct address and all logical devices connect to a built-in hub that connects to the physical USB cable.
USB device communication is based on pipes (logical channels). A pipe connects the host controller to a logical entity within a device, called an endpoint. Because pipes correspond to endpoints, the terms are sometimes used interchangeably. Each USB device can have up to 32 endpoints (16 in and 16 out), though it is rare to have so many. Endpoints are defined and numbered by the device during initialization (the period after physical connection called "enumeration") and so are relatively permanent, whereas pipes may be opened and closed.
There are two types of pipe: stream and message.
When a host starts a data transfer, it sends a TOKEN packet containing an endpoint specified with a tuple of (device_address, endpoint_number). If the transfer is from the host to the endpoint, the host sends an OUT packet (a specialization of a TOKEN packet) with the desired device address and endpoint number. If the data transfer is from the device to the host, the host sends an IN packet instead. If the destination endpoint is a uni-directional endpoint whose manufacturer's designated direction does not match the TOKEN packet (e.g. the manufacturer's designated direction is IN while the TOKEN packet is an OUT packet), the TOKEN packet is ignored. Otherwise, it is accepted and the data transaction can start. A bi-directional endpoint, on the other hand, accepts both IN and OUT packets.
Endpoints are grouped into interfaces and each interface is associated with a single device function. An exception to this is endpoint zero, which is used for device configuration and is not associated with any interface. A single device function composed of independently controlled interfaces is called a composite device. A composite device only has a single device address because the host only assigns a device address to a function.
When a USB device is first connected to a USB host, the USB device enumeration process is started. The enumeration starts by sending a reset signal to the USB device. The signaling rate of the USB device is determined during the reset signaling. After reset, the USB device's information is read by the host and the device is assigned a unique 7-bit address. If the device is supported by the host, the device drivers needed for communicating with the device are loaded and the device is set to a configured state. If the USB host is restarted, the enumeration process is repeated for all connected devices.
The host controller directs traffic flow to devices, so no USB device can transfer any data on the bus without an explicit request from the host controller. In USB 2.0, the host controller polls the bus for traffic, usually in a round-robin fashion. The throughput of each USB port is determined by the slower speed of either the USB port or the USB device connected to the port.
High-speed USB 2.0 hubs contain devices called transaction translators that convert between high-speed USB 2.0 buses and full and low speed buses. There may be one translator per hub or per port.
Because there are two separate controllers in each USB 3.0 host, USB 3.0 devices transmit and receive at USB 3.0 signaling rates regardless of USB 2.0 or earlier devices connected to that host. Operating signaling rates for earlier devices are set in the legacy manner.
The functionality of a USB device is defined by a class code sent to a USB host. This allows the host to load software modules for the device and to support new devices from different manufacturers.
Device classes include:
Class (hexadecimal) |
Usage | Description | Examples, or exception |
---|---|---|---|
00 | Device | Unspecified | Device class is unspecified, interface descriptors are used to determine needed drivers |
01 | Interface | Audio | Speaker, microphone, sound card, MIDI |
02 | Both | Communications and CDC control | UART and RS-232 serial adapter, modem, Wi-Fi adapter, Ethernet adapter. Used together with class 0Ah (CDC-Data) below |
03 | Interface | Human interface device (HID) | Keyboard, mouse, joystick |
05 | Interface | Physical interface device (PID) | Force feedback joystick |
06 | Interface | Media (PTP/MTP) | Scanner, Camera |
07 | Interface | Printer | Laser printer, inkjet printer, CNC machine |
08 | Interface | USB mass storage, USB Attached SCSI | USB flash drive, memory card reader, digital audio player, digital camera, external drive |
09 | Device | USB hub | High speed USB hub |
0A | Interface | CDC-Data | Used together with class 02h (Communications and CDC Control) above |
0B | Interface | Smart card | USB smart card reader |
0D | Interface | Content security | Fingerprint reader |
0E | Interface | Video | Webcam |
0F | Interface | Personal healthcare device class (PHDC) | Pulse monitor (watch) |
10 | Interface | Audio/Video (AV) | Webcam, TV |
11 | Device | Billboard | Describes USB-C alternate modes supported by device |
DC | Both | Diagnostic device | USB compliance testing device |
E0 | Interface | Wireless Controller | Bluetooth adapter |
EF | Both | Miscellaneous | ActiveSync device |
FE | Interface | Application-specific | IrDA Bridge, RNDIS, Test & Measurement Class (USBTMC), USB DFU (Device Firmware Upgrade) |
FFh | Both | Vendor-specific | Indicates that a device needs vendor-specific drivers |
The USB mass storage device class (MSC or UMS) standardizes connections to storage devices. At first intended for magnetic and optical drives, it has been extended to support flash drives and SD card readers. The ability to boot a write-locked SD card with a USB adapter is particularly advantageous for maintaining the integrity and non-corruptible, pristine state of the booting medium.
Though most personal computers since early 2005 can boot from USB mass storage devices, USB is not intended as a primary bus for a computer's internal storage. However, USB has the advantage of allowing hot-swapping, making it useful for mobile peripherals, including drives of various kinds.
Several manufacturers offer external portable USB hard disk drives, or empty enclosures for disk drives. These offer performance comparable to internal drives, limited by the number and types of attached USB devices, and by the upper limit of the USB interface. Other competing standards for external drive connectivity include eSATA, ExpressCard, FireWire (IEEE 1394), and most recently Thunderbolt.
Another use for USB mass storage devices is the portable execution of software applications (such as web browsers and VoIP clients) with no need to install them on the host computer.
Media Transfer Protocol (MTP) was designed by Microsoft to give higher-level access to a device's filesystem than USB mass storage, at the level of files rather than disk blocks. It also has optional DRM features. MTP was designed for use with portable media players, but it has since been adopted as the primary storage access protocol of the Android operating system from the version 4.1 Jelly Bean as well as Windows Phone 8 (Windows Phone 7 devices had used the Zune protocol—an evolution of MTP). The primary reason for this is that MTP does not require exclusive access to the storage device the way UMS does, alleviating potential problems should an Android program request the storage while it is attached to a computer. The main drawback is that MTP is not as well supported outside of Windows operating systems.
A USB mouse or keyboard can usually be used with older computers that have PS/2 ports with the aid of a small USB-to-PS/2 adapter. For mice and keyboards with dual-protocol support, a passive adapter that contains no logic circuitry may be used: the USB hardware in the keyboard or mouse is designed to detect whether it is connected to a USB or PS/2 port, and communicate using the appropriate protocol. Active converters that connect USB keyboards and mice (usually one of each) to PS/2 ports also exist.[66]
Device Firmware Upgrade (DFU) is a generic mechanism for upgrading the firmware of USB devices with improved versions provided by their manufacturers, offering (for example) a way to deploy firmware bug fixes. During the firmware upgrade operation, USB devices change their operating mode effectively becoming a PROM programmer. Any class of USB device can implement this capability by following the official DFU specifications. Doing so allows use of DFU-compatible host tools to update the device.[63][67][68]
DFU is sometimes used as a flash memory programming protocol in microcontrollers with built-in USB bootloader functionality. [69]
The USB Device Working Group has laid out specifications for audio streaming, and specific standards have been developed and implemented for audio class uses, such as microphones, speakers, headsets, telephones, musical instruments, etc. The working group has published three versions of audio device specifications:[70][71] USB Audio 1.0, 2.0, and 3.0, referred to as "UAC"[72] or "ADC".[73]
UAC 3.0 primarily introduces improvements for portable devices, such as reduced power usage by bursting the data and staying in low power mode more often, and power domains for different components of the device, allowing them to be shut down when not in use.[74]
UAC 2.0 introduced support for High Speed USB (in addition to Full Speed), allowing greater bandwidth for multi-channel interfaces, higher sample rates,[75] lower inherent latency,[76][72] and 8× improvement in timing resolution in synchronous and adaptive modes.[72] UAC2 also introduced the concept of clock domains, which provides information to the host about which input and output terminals derive their clocks from the same source, as well as improved support for audio encodings like DSD, audio effects, channel clustering, user controls, and device descriptions.[72][77]
UAC 1.0 devices are still common, however, due to their cross-platform driverless compatibility,[75] and also partly due to Microsoft's failure to implement UAC 2.0 for over a decade after its publication, having finally added support to Windows 10 through the Creators Update on 20 March 2017.[78][79][77] UAC 2.0 is also supported by macOS, iOS, and Linux,[72] however Android only implements a subset of the UAC 1.0 specification.[80]
USB provides three isochronous (fixed-bandwidth) synchronization types,[81] all of which are used by audio devices:[82]
While the USB spec originally described asynchronous mode being used in "low cost speakers" and adaptive mode in "high-end digital speakers",[86] the opposite perception exists in the hi-fi world, where asynchronous mode is advertised as a feature, and adaptive/synchronous modes have a bad reputation.[87][88][80] In reality, all types can be high-quality or low-quality, depending on the quality of their engineering and the application.[84][72][89] Asynchronous has the benefit of being untied from the computer's clock, but the disadvantage of requiring sample rate conversion when combining multiple sources.
The connectors the USB committee specifies support a number of USB's underlying goals, and reflect lessons learned from the many connectors the computer industry has used. The female connector mounted on the host or device is called the receptacle, and the male connector attached to the cable is called the plug.[30]: 2-5–2-6 The official USB specification documents also periodically define the term male to represent the plug, and female to represent the receptacle.[90]
The design is intended to make it difficult to insert a USB plug into its receptacle incorrectly. The USB specification requires that the cable plug and receptacle be marked so the user can recognize the proper orientation.[30] The USB-C plug however is reversible. USB cables and small USB devices are held in place by the gripping force from the receptacle, with no screws, clips, or thumb-turns as some connectors use.
The different A and B plugs prevent accidentally connecting two power sources. However, some of this directed topology is lost with the advent of multi-purpose USB connections (such as USB On-The-Go in smartphones, and USB-powered Wi-Fi routers), which require A-to-A, B-to-B, and sometimes Y/splitter cables.
USB connector types multiplied as the specification progressed. The original USB specification detailed standard-A and standard-B plugs and receptacles. The connectors were different so that users could not connect one computer receptacle to another. The data pins in the standard plugs are recessed compared to the power pins, so that the device can power up before establishing a data connection. Some devices operate in different modes depending on whether the data connection is made. Charging docks supply power, and do not include a host device or data pins, allowing any capable USB device to charge or operate from a standard USB cable. Charging cables provide power connections but not data. In a charge-only cable, the data wires are shorted at the device end; otherwise, the device may reject the charger as unsuitable.
The USB 1.1 standard specifies that a standard cable can have a maximum length of 5 meters (16 ft 5 in) with devices operating at full speed (12 Mbit/s), and a maximum length of 3 meters (9 ft 10 in) with devices operating at low speed (1.5 Mbit/s).[91][92][93]
USB 2.0 provides for a maximum cable length of 5 meters (16 ft 5 in) for devices running at high speed (480 Mbit/s).[93]
The USB 3.0 standard does not directly specify a maximum cable length, requiring only that all cables meet an electrical specification: for copper cabling with AWG 26 wires the maximum practical length is 3 meters (9 ft 10 in).[94]
USB bridge cables, or data transfer cables can be found within the market, offering direct PC to PC connections. A bridge cable is a special cable with a chip and active electronics in the middle of the cable. The chip in the middle of the cable acts as a peripheral to both computers and allows for peer-to-peer communication between the computers. The USB bridge cables are used to transfer files between two computers via their USB ports.
Popularized by Microsoft as Windows Easy Transfer, the Microsoft utility used a special USB bridge cable to transfer personal files and settings from a computer running an earlier version of Windows to a computer running a newer version. In the context of the use of Windows Easy Transfer software, the bridge cable can sometimes be referenced as Easy Transfer cable.
Many USB bridge / data transfer cables are still USB 2.0, but there are also a number of USB 3.0 transfer cables. Despite USB 3.0 being 10 times faster than USB 2.0, USB 3.0 transfer cables are only 2 to 3 times faster given their design.[clarification needed]
The USB 3.0 specification introduced an A-to-A cross-over cable without power for connecting two PCs. These are not meant for data transfer but are aimed at diagnostic uses.
USB bridge cables have become less important with USB dual-role-device capabilities introduced with the USB 3.1 specification. Under the most recent specifications, USB supports most scenarios connecting systems directly with a Type-C cable. For the capability to work, however, connected systems must support role-switching. Dual-role capabilities requires there be two controllers within the system, as well as a role controller. While this can be expected in a mobile platform such as a tablet or a phone, desktop PCs and laptops often will not support dual roles.[95]
Upstream USB connectors supply power at a nominal 5 V DC via the V_BUS pin to downstream USB devices.
This section describes the power distribution model of USB that existed before Power-Delivery (USB-PD). On devices that do not use PD, USB provides up to 7.5 W through Type-A and Type-B connectors, and up to 15 W through USB-C. All pre-PD USB power is provided at 5 V.
For a host providing power to devices, USB has a concept of the unit load. Any device may draw power of one unit, and devices may request more power in these discrete steps. It is not required that the host provide requested power, and a device may not draw more power than negotiated.
Devices that draw no more than one unit are said to be low-power devices. All devices must act as low-power devices when starting out as unconfigured. For USB devices up to USB 2.0 a unit load is 100 mA (or 500 mW), while USB 3.0 defines a unit load as 150 mA (750 mW). Full-featured USB-C can support low-power devices with a unit load of 250 mA (or 1250 mW).
Devices that draw more than one unit are high-power devices (such as typical 2.5-inch hard disk drives). USB up to 2.0 allows a host or hub to provide up to 2.5 W to each device, in five discrete steps of 100 mA, and SuperSpeed devices (USB 3.0 and up) allows a host or a hub to provide up to 4.5 W in six steps of 150 mA. USB-C supports high-power devices with up to 7.5 W, in six steps of 250 mA. Full-featured USB-C can support up to 15 W.
Specification | Current | Voltage | Power (max.) |
---|---|---|---|
Low-power device | 100 mA |
5 V [a] |
0.50 W
|
Low-power SuperSpeed (USB 3.0) device | 150 mA |
5 V [a] |
0.75 W
|
High-power device | 500 mA [b] |
5 V |
2.5 W
|
High-power SuperSpeed (USB 3.0) device | 900 mA [c] |
5 V |
4.5 W
|
USB 3.2 Gen 2×1 device | 1.5 A [d] |
5 V |
7.5 W
|
Battery Charging (BC) 1.1 | 1.5 A |
5 V |
7.5 W
|
Battery Charging (BC) 1.2 | 1.5 A |
5 V |
7.5 W
|
USB-C (single-lane) | 1.5 A [d] |
5 V |
7.5 W
|
USB-C (multi-lane) | 3 A |
5 V |
15 W
|
Power Delivery 1.0/2.0/3.0 Type-C | 5 A [e] |
20 V |
100 W
|
Power Delivery 3.1 Type-C | 5 A [e] |
48 V [f] |
240 W
|
|
To recognize Battery Charging mode, a dedicated charging port places a resistance not exceeding 200 Ω across the D+ and D− terminals. Shorted or near-shorted data lanes with less than 200 Ω of resistance across the D+ and D− terminals signify a dedicated charging port (DCP) with indefinite charging rates.[96][97]
In addition to standard USB, there is a proprietary high-powered system known as PoweredUSB, developed in the 1990s, and mainly used in point-of-sale terminals such as cash registers.
USB signals are transmitted using differential signaling on twisted-pair data wires with 90 Ω ± 15% characteristic impedance.[98] USB 2.0 and earlier specifications define a single pair in half-duplex (HDx). USB 3.0 and later specifications define one dedicated pair for USB 2.0 compatibility and two or four pairs for data transfer: two pairs in full-duplex (FDx) for single lane variants require at least SuperSpeed (SS) connectors; four pairs in full-duplex for two lane (×2) variants require USB-C connectors. USB4 Gen 4 requires the use of all four pairs but allow for asymmetrical pairs configuration.[99] In this case one lane is used for the upstream data and the other three for the downstream data or vice-versa. USB4 Gen 4 use pulse amplitude modulation on 3 levels, providing a trit of information every baud transmitted, the transmission frequency of 12.8 GHz translate to a transmission rate of 25.6 GBd[100] and the 11-bit–to–7-trit translation provides a theoretical maximum transmission speed just over 40.2 Gbit/s.[101]
Operation mode name | Introduced in | Lanes | Encoding | # data wires | Nominal signaling rate | Original label | USB-IF current[102] | ||
---|---|---|---|---|---|---|---|---|---|
current | old | marketing name | logo | ||||||
Low-Speed | USB 1.0 | 1 HDx | NRZI | 2 | 1.5 Mbit/s half-duplex |
Low-Speed USB (LS) | Basic-Speed USB | ||
Full-Speed | 12 Mbit/s half-duplex |
Full-Speed USB (FS) | |||||||
High-Speed | USB 2.0 | 480 Mbit/s half-duplex |
Hi-Speed USB (HS) | ||||||
USB 3.2 Gen 1×1 | USB 3.0, USB 3.1 Gen 1 |
USB 3.0 | 1 FDx (+ 1 HDx)[a] | 8b/10b | 6 | 5 Gbit/s symmetric |
SuperSpeed USB (SS) | USB 5Gbps | |
USB 3.2 Gen 2×1 | USB 3.1 Gen 2 | USB 3.1 | 128b/132b | 10 Gbit/s symmetric |
SuperSpeed+ (SS+) | USB 10Gbps | |||
USB 3.2 Gen 1×2 | USB 3.2 | 2 FDx (+ 1 HDx)[a] | 8b/10b | 10 | 10 Gbit/s symmetric |
— | |||
USB 3.2 Gen 2×2 | 128b/132b | 20 Gbit/s symmetric |
SuperSpeed USB 20Gbps | USB 20Gbps | |||||
USB4 Gen 2×1 | USB4 | 1 FDx (+ 1 HDx)[a] | 64b/66b[b] | 6 (used of 10) | 10 Gbit/s symmetric |
USB 10Gbps | |||
USB4 Gen 2×2 | 2 FDx (+ 1 HDx)[a] | 10 | 20 Gbit/s symmetric |
USB 20Gbps | |||||
USB4 Gen 3×1 | 1 FDx (+ 1 HDx)[a] | 128b/132b[b] | 6 (used of 10) | 20 Gbit/s symmetric | |||||
USB4 Gen 3×2 | 2 FDx (+ 1 HDx)[a] | 10 | 40 Gbit/s symmetric |
USB 40Gbps | |||||
USB4 Gen 4×2 | USB4 2.0 | 2 FDx (+ 1 HDx)[a] | PAM-3 11b/7t | 10 | 80 Gbit/s symmetric |
USB 80Gbps | |||
asymmetric | 40 Gbit/s up 120 Gbit/s down |
— | |||||||
120 Gbit/s up 40 Gbit/s down |
A USB connection is always between an A end, either a host or a downstream port of a hub, and a B end, either a peripheral device or the upstream port of a hub. Historically this was made clear by the fact that hosts had only Type-A ports and peripheral devices had only Type-B, and every (valid) cable had one Type-A plug and one Type-B plug. USB-C (Type-C) is a single connector that replaces all Type-A and Type-B connectors (legacy connectors), so when both sides are modern equipment with USB-C ports they negotiate which is the host (A) and which is the device (B).
During USB communication, data is transmitted as packets. Initially, all packets are sent from the host via the root hub, and possibly more hubs, to devices. Some of those packets direct a device to send some packets in reply.
The basic transactions of USB are:
The USB Implementers Forum introduced the Media Agnostic USB (MA-USB) v.1.0 wireless communication standard based on the USB protocol on 29 July 2015. Wireless USB is a cable-replacement technology, and uses ultra-wideband wireless technology for data rates of up to 480 Mbit/s.[103]
The USB-IF used WiGig Serial Extension v1.2 specification as its initial foundation for the MA-USB specification and is compliant with SuperSpeed USB (3.0 and 3.1) and Hi-Speed USB (USB 2.0). Devices that use MA-USB will be branded as "Powered by MA-USB", provided the product qualifies its certification program.[104]
InterChip USB is a chip-to-chip variant that eliminates the conventional transceivers found in normal USB. The HSIC physical layer uses about 50% less power and 75% less board area compared to USB 2.0.[105] It is an alternative standard to SPI and I2C.
USB-C (officially USB Type-C) is a standard that defines a new connector, and several new connection features. Among them it supports Alternate Mode, which allows transporting other protocols via the USB-C connector and cable. This is commonly used to support the DisplayPort or HDMI protocols, which allows connecting a display, such as a computer monitor or television set, via USB-C.
All other connectors are not capable of two-lane operations (Gen 1×2 and Gen 2×2) in USB 3.2, but can be used for one-lane operations (Gen 1×1 and Gen 2×1).[106]
DisplayLink is a technology which allows multiple displays to be connected to a computer via USB. It was introduced around 2006, and before the advent of Alternate Mode over USB-C it was the only way to connect displays via USB. It is a proprietary technology, not standardized by the USB Implementers Forum and typically requires a separate device driver on the computer.
At first, USB was considered a complement to FireWire (IEEE 1394) technology, which was designed as a high-bandwidth serial bus that efficiently interconnects peripherals such as disk drives, audio interfaces, and video equipment. In the initial design, USB operated at a far lower data rate and used less sophisticated hardware. It was suitable for small peripherals such as keyboards and pointing devices.
The most significant technical differences between FireWire and USB include:
These and other differences reflect the differing design goals of the two buses: USB was designed for simplicity and low cost, while FireWire was designed for high performance, particularly in time-sensitive applications such as audio and video. Although similar in theoretical maximum signaling rate, FireWire 400 is faster than USB 2.0 high-bandwidth in real-use,[107] especially in high-bandwidth use such as external hard drives.[108][109][110][111] The newer FireWire 800 standard is twice as fast as FireWire 400 and faster than USB 2.0 high-bandwidth both theoretically and practically.[112] However, FireWire's speed advantages rely on low-level techniques such as direct memory access (DMA), which in turn have created opportunities for security exploits such as the DMA attack.
The chipset and drivers used to implement USB and FireWire have a crucial impact on how much of the bandwidth prescribed by the specification is achieved in the real world, along with compatibility with peripherals.[113]
The IEEE 802.3af, 802.3at, and 802.3bt Power over Ethernet (PoE) standards specify more elaborate power negotiation schemes than powered USB. They operate at 48 V DC and can supply more power (up to 12.95 W for 802.3af, 25.5 W for 802.3at, a.k.a. PoE+, 71 W for 802.3bt, a.k.a. 4PPoE) over a cable up to 100 meters compared to USB 2.0, which provides 2.5 W with a maximum cable length of 5 meters. This has made PoE popular for Voice over IP telephones, security cameras, wireless access points, and other networked devices within buildings. However, USB is cheaper than PoE provided that the distance is short and power demand is low.
Ethernet standards require electrical isolation between the networked device (computer, phone, etc.) and the network cable up to 1500 V AC or 2250 V DC for 60 seconds.[114] USB has no such requirement as it was designed for peripherals closely associated with a host computer, and in fact it connects the peripheral and host grounds. This gives Ethernet a significant safety advantage over USB with peripherals such as cable and DSL modems connected to external wiring that can assume hazardous voltages under certain fault conditions.[115][116]
The USB Device Class Definition for MIDI Devices transmits Music Instrument Digital Interface (MIDI) music data over USB.[117] The MIDI capability is extended to allow up to sixteen simultaneous virtual MIDI cables, each of which can carry the usual MIDI sixteen channels and clocks.
USB is competitive for low-cost and physically adjacent devices. However, Power over Ethernet and the MIDI plug standard have an advantage in high-end devices that may have long cables. USB can cause ground loop problems between equipment, because it connects ground references on both transceivers. By contrast, the MIDI plug standard and Ethernet have built-in isolation to 500V or more.
The eSATA connector is a more robust SATA connector, intended for connection to external hard drives and SSDs. eSATA's transfer rate (up to 6 Gbit/s) is similar to that of USB 3.0 (up to 5 Gbit/s) and USB 3.1 (up to 10 Gbit/s). A device connected by eSATA appears as an ordinary SATA device, giving both full performance and full compatibility associated with internal drives.
eSATA does not supply power to external devices. This is an increasing disadvantage compared to USB. Even though USB 3.0's 4.5 W is sometimes insufficient to power external hard drives, technology is advancing, and external drives gradually need less power, diminishing the eSATA advantage. eSATAp (power over eSATA, a.k.a. ESATA/USB) is a connector introduced in 2009 that supplies power to attached devices using a new, backward compatible, connector. On a notebook eSATAp usually supplies only 5 V to power a 2.5-inch HDD/SSD; on a desktop workstation it can additionally supply 12 V to power larger devices including 3.5-inch HDD/SSD and 5.25-inch optical drives.
eSATAp support can be added to a desktop machine in the form of a bracket connecting the motherboard SATA, power, and USB resources.
eSATA, like USB, supports hot plugging, although this might be limited by OS drivers and device firmware.
Thunderbolt combines PCI Express and Mini DisplayPort into a new serial data interface. Original Thunderbolt implementations have two channels, each with a transfer speed of 10 Gbit/s, resulting in an aggregate unidirectional bandwidth of 20 Gbit/s.[118]
Thunderbolt 2 uses link aggregation to combine the two 10 Gbit/s channels into one bidirectional 20 Gbit/s channel.[119]
Thunderbolt 3 and Thunderbolt 4 use USB-C.[120][121][122] Thunderbolt 3 has two physical 20 Gbit/s bi-directional channels, aggregated to appear as a single logical 40 Gbit/s bi-directional channel. Thunderbolt 3 controllers can incorporate a USB 3.1 Gen 2 controller to provide compatibility with USB devices. They are also capable of providing DisplayPort Alternate Mode as well as DisplayPort over USB4 Fabric, making the function of a Thunderbolt 3 port a superset of that of a USB 3.1 Gen 2 port.
DisplayPort Alternate Mode 2.0: USB4 (requiring USB-C) requires that hubs support DisplayPort 2.0 over a USB-C Alternate Mode. DisplayPort 2.0 can support 8K resolution at 60 Hz with HDR10 color.[123] DisplayPort 2.0 can use up to 80 Gbit/s, which is double the amount available to USB data, because it sends all the data in one direction (to the monitor) and can thus use all eight data wires at once.[123]
After the specification was made royalty-free and custodianship of the Thunderbolt protocol was transferred from Intel to the USB Implementers Forum, Thunderbolt 3 has been effectively implemented in the USB4 specification – with compatibility with Thunderbolt 3 optional but encouraged for USB4 products.[124]
Various protocol converters are available that convert USB data signals to and from other communications standards.
Due to the prevalency of the USB standard, there are many exploits using the USB standard. One of the biggest instances of this today is known as the USB killer, a device that damages USB devices by sending high voltage pulses across the data lines.
In versions of Microsoft Windows before Windows XP, Windows would automatically run a script (if present) on certain devices via AutoRun, one of which are USB mass storage devices, which may contain malicious software.[125]
In applications where streaming latency is important, UAC2 offers up to an 8x reduction over UAC1. ... Each clocking method has pros and cons and best-fit applications.
ADC-2 refers to the USB Device Class Definition for Audio Devices, Release 2.0.
All operating systems (Win, OSX, and Linux) support USB Audio Class 1 natively. This means you don't need to install drivers, it is plug&play.
Note that Full Speed USB has a much higher intrinsic latency of 2ms
Class 2 support enables much higher sample rates such as PCM 24 bit / 384 kHz and DSD (DoP) up through DSD256.
We now have native support for USB Audio 2.0 devices with an inbox class driver! This is an early version of the driver that does not have all features enabled
Synchronous sub-mode is not commonly used with audio because both host and peripheral are at the mercy of the USB clock.
The PCM2906C employs SpAct architecture, TI's unique system that recovers the audio clock from USB packet data.
Early USB replay interfaces used synchronous mode but acquired a reputation for poor quality of the recovered clock (and resultant poor replay quality). This was primarily due to deficiencies of clocking implementation rather than inherent shortcomings of the approach.
The fact that there is no clock line within the USB cable leads to a thinner cable, which is an advantage. But, no matter how good the crystal oscillators are at the send and receive ends, there will always be some difference between the two...
Synchronous USB DAC is the lowest quality of the three ... Adaptive ... means that there is no continuous, accurate master clock in the DAC, which causes jitter in the audio stream. ... Asynchronous – this is the most complex to implement but it is a huge improvement on the other types.
Synchronous is not used in a quality DAC as it is very jittery. ... asynchronous is the better of these modes.
Some manufacturers may lead you to believe that Asynchronous USB transfers are superior to Adaptive USB transfers and that therefore you must believe in the asynchronous solution. This no more true than saying that you "must" hold the fork in your left hand. In fact, if you know what you are doing, you will feed yourself with either hand. The issue is really about good engineering practices.