A medium dependent interface (MDI) describes the interface (both physical and electrical/optical) in a computer network from a physical layer implementation to the physical medium used to carry the transmission. Ethernet over twisted pair also defines a medium dependent interface crossover (MDI-X) interface. Auto MDI-X ports on newer network interfaces detect if the connection would require a crossover, and automatically chooses the MDI or MDI-X configuration to properly match the other end of the link.
The popular Ethernet family defines common medium dependent interfaces. For 10BASE5, connection to the coaxial cable was made with either a vampire tap or a pair of N connectors. For 10BASE2, the connection to the coaxial cable was typically made with a single BNC connector to which a T-piece was attached. For twisted pair cabling 8P8C, modular connectors are used (often incorrectly called "RJ45" in this context). For fiber, a variety of connectors are used depending on manufacturer and physical space availability.
With 10BASE-T and 100BASE-TX, separate twisted pairs are used for the two directions of communication. Since twisted pair cables are conventionally wired pin to pin there are two different pinouts used for the medium dependent interface. These are referred to as MDI and MDI-X (medium dependent interface crossover). When connecting an MDI port to an MDI-X port, a straight through cable is used while to connect two MDI ports or two MDI-X ports, a crossover cable must be used. Conventionally, MDI is used on end devices while MDI-X is used on hubs and switches. Some hubs and switches have an MDI port (often switchable) to connect to other hubs or switches without a crossover cable.
The X refers to the fact that transmit wires on an MDI device must be connected to receive wires on an MDI-X device. Straight through cables connect pins 1 and 2 (transmit) on an MDI device to pins 1 and 2 (receive) on an MDI-X device. Similarly, pins 3 and 6 are receive pins on an MDI device and transmit pins on an MDI-X device. The general convention is for network hubs, bridges and switches to use the MDI-X configuration, while all other nodes such as personal computers, workstations, servers and routers use an MDI interface. Some routers and other devices had an uplink/normal switch to go back and forth between MDI and MDI-X on a specific port.
The requirement of connecting the transmitter of one side to the receiver on the other side and vice versa makes it necessary to always have an odd number of crossovers between two devices, with an MDI-X port containing an internal crossover. Thus, connecting MDI to MDI-X requires a straight-through cable (one crossover in total). Connecting MDI to MDI (no crossover) or MDI-X to MDI-X (two crossovers) requires a(nother) crossover in the cable to get an odd number. When using more complicated setups through multiple patch panels in structured cabling, the connection can use multiple patch and building cable segments. It is a good idea to have all necessary crossovers on one side, i.e. either on the central hub/switch or on each secondary hub/switch.
To connect two ports of the same configuration (MDI to MDI or MDI-X to MDI-X) with a 10 or 100 Mbit/s connection (10BASE-T or 100BASE-TX), an Ethernet crossover cable is needed to cross over the transmit and receive signals in the cable, so that they are matched at the connector level. The confusion of needing two different kinds of cables for anything but hierarchical star network topologies prompted a more automatic solution.
Auto MDI-X automatically detects the required cable connection type and configures the connection appropriately, removing the need for crossover cables to interconnect switches or connecting PCs peer-to-peer. As long as it is enabled on either end of a link, either type of cable can be used. For auto MDI-X to operate correctly, the data rate on the interface and duplex setting must be set to "auto". Auto MDI-X was developed by Hewlett-Packard engineers Daniel Joseph Dove and Bruce W. Melvin. A pseudo-random number generator decides whether or not a network port will attach its transmitter, or its receiver to each of the twisted pairs used to auto-negotiate the link.
When two auto MDI-X ports are connected together, which is normal for modern products, the algorithm resolution time is typically < 500 ms. However, a ~1.4 second asynchronous timer is used to resolve the extremely rare case (with a probability of less than 1 in 5×1021) of a loop where each end keeps switching.
Subsequently, Dove promoted auto MDI-X within the 1000BASE-T standard and also developed patented algorithms for "forced mode auto MDI-X" which allow a link to be automatically established even if the port does not auto-negotiate. This may or may not be implemented on a given device, so occasionally a crossover cable may still be necessary when connecting auto MDI-X to MDI-X (hub or switch), especially when autonegotiation is deactivated.
Newer routers, hubs and switches (including some 10/100, and all 1 gigabit or 10 gigabit devices in practice) use auto MDI-X for 10/100 Mbit connections to automatically switch to the proper configuration once a cable is connected.
Gigabit and faster Ethernet links over twisted pair cable use all four cable pairs for simultaneous transmission in both directions. For this reason, there are no dedicated transmit and receive pairs, and consequently, crossover cables are never required for 1000BASE-T communication. The physical medium attachment sublayer (PMA) provides identification of each pair and usually continues to work even over cables where the pairs are unusually swapped or crossed.