A null modem is a cable or adapter which allows two serial devices to communicate without a modem. Some null modems connect only the data lines between devices while others include handshaking signals as well. Null modems are often used by engineers or technicians to communicate with devices which have no built-in console. These include many types of embedded systems, network switches and servers. They are also frequently used for debugging operating systems when no keyboard or video services are available.
A crossover cable is a null modem connection where the serial data lines are cross-connected within the cable. The Transmit-Data signal on one end of the cable is connected to the Receive-Data pin on the other and vice versa. This cross-connection may also be implemented in a null modem adapter. In this case, a standard serial cable connects one device with the adapter. An identical cable connects the adapter to the other device and the crossover is wired inside the adapter itself.
The serial hardware handshaking signals may also be wired in an adapter or crossover cable. The Request-To-Send line of one device may be wired to the Clear-To-Send line of the other and vice versa. Depending on the hardware and software on both sides of the connection, this may be enough for communication to proceed.
Three additional hardware handshaking signals may be implemented in a null modem. Some serial devices require that the Data-Terminal-Ready, Data-Set-Ready and Carrier-Detect signals are functioning. When all three of these signals are asserted, each device recognizes that the other is powered up and connected. Many null modems wire Data-Terminal-Ready on one end to Carrier-Detect and Data-Set-Ready on the other. Some null modems may not connect the Carrier-Detect signal, however.
Prior to the development of the Universal Serial Bus (USB), a null modem was often used to share files between two computers. A direct cable connection was made between the two systems, using their serial ports and a null modem. File transfer software designed for a modem link was then used to copy files from one system to the other. This was particularly useful for very large files which would not fit on a floppy diskette or other removable storage media. For the same reason, a direct connection was commonly used to transfer large numbers of files in a single batch.
A common modern use is to access an operating system (OS) kernel or console-less device with a separate computer. Often when debugging an OS kernel or diagnosing a kernel panic, the standard keyboard and display cannot be used. A null modem can give an engineer control of the system during the debugging session. Many devices are designed to operate without a console, such as network switches, blade servers and embedded systems. When a keyboard and display are temporarily needed for diagnostics or maintenance, a null modem is a common means of access.