Recent from talks
Contribute something
Nothing was collected or created yet.
Null modem
View on Wikipedia
Null modem is a communication method to directly connect two DTEs (computer, terminal, printer, etc.) using an RS-232 serial cable. The name stems from the historical use of RS-232 cables to connect two teleprinter devices or two modems in order to communicate with one another; null modem communication refers to using a crossed-over RS-232 cable to connect the teleprinters directly to one another without the modems. It is also used to serially connect a computer to a printer, since both are DTE, and is known as a Printer Cable.
The RS-232 standard is asymmetric as to the definitions of the two ends of the communications link, assuming that one end is a DTE and the other is a DCE, e.g. a modem. With a null modem connection the transmit and receive lines are crosslinked. Depending on the purpose, sometimes also one or more handshake lines are crosslinked. Several wiring layouts are in use because the null modem connection is not covered by the RS-232 standard.
Origins
[edit]Originally, the RS-232 standard was developed and used for teleprinter machines which could communicate with each other over phone lines. Each teleprinter would be physically connected to its modem via an RS-232 connection and the modems could call each other to establish a remote connection between the teleprinters. If a user wished to connect two teleprinters directly without modems (null modem) then they would crosslink the connections. The term null modem may also refer to the cable or adapter itself as well as the connection method.[1] Null modem cables were a popular method for transferring data between the early personal computers from the 1980s to the early 1990s.
Cables and adapters
[edit]
A null modem cable is a RS-232 serial cable where the transmit and receive lines are crosslinked. In some cables there are also handshake lines crosslinked. In many situations a straight-through serial cable is used, together with a null modem adapter. The adapter contains the necessary crosslinks between the signals.[2][3]
Wiring diagrams
[edit]

Below is a very common wiring diagram for a null modem cable to interconnect two DTEs (e.g. two PCs) providing full handshaking, which works with software relying on proper assertion of the Data Carrier Detect (DCD) signal:[2]
| One side | Signal direction |
Other side | |||||
|---|---|---|---|---|---|---|---|
| Signal and abbreviations | DB-25 pin | DE-9 pin | DE-9 pin | DB-25 pin | Signal | ||
| Frame Ground | FG | 1 | — | Common | — | 1 | FG |
| Transmitted Data | TxD, TD | 2 | 3 | → | 2 | 3 | RxD |
| Received Data | RxD, RD | 3 | 2 | ← | 3 | 2 | TxD |
| Request To Send | RTS | 4 | 7 | → | 8 | 5 | CTS |
| Clear To Send | CTS | 5 | 8 | ← | 7 | 4 | RTS |
| Signal Ground | SG | 7 | 5 | Common | 5 | 7 | SG |
| Data Set Ready | DSR | 6 | 6 | ← | 4 | 20 | DTR |
| Data Carrier Detect | DCD, CD | 8 | 1 | ||||
| Data Terminal Ready | DTR | 20 | 4 | → | 1 | 8 | DCD |
| 6 | 6 | DSR | |||||
Applications
[edit]The original application of a null modem was to connect two teleprinter terminals directly without using modems. As the RS-232 standard was adopted by other types of equipment, designers needed to decide whether their devices would have DTE-like or DCE-like interfaces. When an application required that two DTEs (or two DCEs) needed to communicate with each other, then a null modem was necessary.[4]
Null modems were commonly used for file transfer between computers, or remote operation. Under the Microsoft Windows operating system, the direct cable connection can be used over a null modem connection. The later versions of MS-DOS were shipped with the InterLnk program. Both pieces of software allow the mapping of a hard disk on one computer as a network drive on the other computer. No Ethernet hardware (such as a network interface card or a modem) is required for this.[5] On the Amiga computer, a null modem connection was a common way of playing multiplayer games between two machines.
The popularity and availability of faster information exchange systems such as Ethernet made the use of null modem cables less common. In modern systems, such a cable can still be useful for kernel mode development, since it allows the user to remotely debug a kernel with a minimum of device drivers and code (a serial driver mainly consists of two FIFO buffers and an interrupt service routine). KGDB for Linux, ddb for BSD, and WinDbg or KD for Windows can be used to remotely debug systems, for example. This can also provide a serial console through which the in-kernel debugger can be dropped to in case of kernel panics, in which case the local monitor and keyboard may not be usable anymore (the GUI reserves those resources and dropping to the debugger in the case of a panic won't free them).
Another context where these cables can be useful is when administering "headless" devices providing a serial administration console (i.e. managed switches, rackmount server units, and various embedded systems). An example of embedded systems that widely use null modems for remote monitoring include RTUs, device controllers, and smart sensing devices. These devices tend to reside in close proximity and lend themselves to short run serial communication through protocols such as DNP3, Modbus, and other IEC variants. The Electric, Oil, Gas, and Water Utilities are slow to respond to newer networking technologies which may be due to large investments in capital equipment that has useful service life measured in decades. Serial ports and null modem cables are still widely used in these industries with Ethernet just slowly becoming a widely available option.
Types of null modem
[edit]Connecting two DTE devices together requires a null modem that acts as a DCE between the devices by swapping the corresponding signals (TD-RD, DTR-DSR, and RTS-CTS). This can be done with a separate device and two cables, or using a cable wired to do this. If devices require Carrier Detect, it can be simulated by connecting DSR and DCD internally in the connector, thus obtaining CD from the remote DTR signal. One feature of the Yost standard is that a null modem cable is a "rollover cable" that just reverses pins 1 through 8 on one end to 8 through 1 on the other end.[1]
No hardware handshaking
[edit]The simplest type of serial cable has no hardware handshaking. This cable has only the data and signal ground wires connected. All of the other pins have no connection. With this type of cable flow control has to be implemented in the software. The use of this cable is restricted to data-traffic only on its cross-connected Rx and Tx lines. This cable can also be used in devices that do not need or make use of modem control signals.[1]
Loopback handshaking
[edit]Because of the compatibility issues and potential problems with a simple null modem cable, a solution was developed to trick the software into thinking there was handshaking available. However, the cable pin out merely loops back, and does not physically support the hardware flow control.[1]
This cable could be used with more software but it had no actual enhancements over its predecessor. The software would work thinking it had hardware flow control but could suddenly stop when higher speeds were reached and with no identifiable reason.
Partial handshaking
[edit]In this cable the flow control lines are still looped back to the device. However, they are done so in a way that still permits Request To Send (RTS) and Clear To Send (CTS) flow control but has no actual functionality. The only way the flow control signal would reach the other device is if the opposite device checked for a Carrier Detect (CD) signal (at pin 1 on a DE-9 cable and pin 8 on a DB-25 cable). As a result, only specially designed software could make use of this partial handshaking. Software flow control still worked with this cable.[1]
Full handshaking
[edit]This cable is incompatible with the previous types of cables' hardware flow control, due to a crossing of its RTS/CTS pins. With suitable software, the cable is capable of much higher speeds than its predecessors. It also supports software flow control.[1]
Virtual null modem
[edit]A virtual null modem is a communication method to connect two computer applications directly using a virtual serial port. Unlike a null modem cable, a virtual null modem is a software solution which emulates a hardware null modem within the computer.[6][7] All features of a hardware null modem are available in a virtual null modem as well. There are some advantages to this:
- Higher transmission speed of serial data, limited only by computer performance and network speed
- Virtual connections over local network or Internet, mitigating cable length restrictions
- Virtually unlimited number of virtual connections
- No need for a serial cable
- The computer's physical serial ports remain free
For instance, DOSBox has allowed older DOS games to use virtual null modems.
Another common example consists of Unix pseudoterminals (pty) which present a standard tty interface to user applications, including virtual serial controls. Two such ptys may easily be linked together by an application to form a virtual null modem communication path.
See also
[edit]References
[edit]- ^ a b c d e f Lammert Bies. "RS232 serial null modem cable wiring and tutorial". lammertbies.nl. Retrieved 2013-12-26.
- ^ a b "Null Modem". nullmodem.com. 2008-11-07. Retrieved 2013-12-26.
- ^ "Nullmodem (9-9) - HwB". hardwarebook.info. 2006-12-27. Retrieved 2013-12-26.
- ^ "ADTPro - ADTPro Serial Cabling". sourceforge.net. 2011-01-25. Retrieved 2013-12-26.
- ^ "MS-DOS External commands - INTERLNK". Angelfire. Retrieved 2013-12-26.
- ^ "Null-modem emulator | Download Null-modem emulator software for free at". sourceforge.net. Retrieved 2013-12-26.
- ^ "BerliOS Developer: Project Summary - N8VB_vCOM Virtual Null Modem Cable". berlios.de. 2005-07-15. Archived from the original on 2013-12-26. Retrieved 2013-12-26.
External links
[edit]
Media related to Null modems at Wikimedia Commons
Null modem
View on GrokipediaFundamentals
Definition and Purpose
A null modem is a specialized cable or adapter that facilitates direct communication between two Data Terminal Equipment (DTE) devices, such as computers or terminals, using the RS-232 serial interface standard. It achieves this by crossing the transmit data (TxD) and receive data (RxD) lines, effectively emulating the role of a Data Communications Equipment (DCE) intermediary, like a modem, without requiring actual modem hardware. This crossover inverts the conventional DTE-to-DCE wiring, where TxD from one device connects directly to RxD on the other, and vice versa, while sharing a common signal ground.[1][4][8] The primary purpose of a null modem is to enable point-to-point serial data transfer, debugging, and device control between compatible DTEs over short distances, bypassing the need for telephone lines, modems, or broader network infrastructure. In early computing environments, where devices were inherently designed for DTE-to-DCE connections, this setup addressed the fundamental incompatibility of direct DTE-to-DTE links by simulating the intermediary DCE functionality. Common applications include file sharing between legacy systems, terminal emulation, and protocol testing in industrial or embedded setups.[9][10][11] Key benefits of null modems include their simplicity in design and implementation, low cost compared to full modem-based systems, and high reliability for reliable, low-latency communication at data rates up to 115,200 bps. They are particularly suited for short-distance connections, with the RS-232 standard specifying a maximum cable length of 15 meters (50 feet) at typical speeds to maintain signal integrity. This makes null modems an efficient solution for direct, unmediated serial interactions in scenarios where modern networking options are unavailable or impractical.[1][12][10]RS-232 Protocol Overview
The RS-232 standard, formally known as EIA-232 and later revised as TIA/EIA-232-F, is a widely adopted protocol for serial binary data communication between Data Terminal Equipment (DTE), such as computers, and Data Circuit-terminating Equipment (DCE), such as modems. It specifies the electrical characteristics, signal timing, functional meanings of interchange signals, and mechanical connectors to enable reliable point-to-point links over asynchronous or synchronous modes. Originally developed in the early 1960s by the Electronic Industries Association (EIA), the standard has undergone multiple revisions to address evolving needs in data interchange, with the 1997 version (TIA/EIA-232-F) incorporating updates for compatibility with modern transceivers while maintaining backward compatibility.[5][13][14] Central to RS-232 are its defined signals, which facilitate data transmission, control, and status monitoring. The primary data signals include Transmit Data (TxD or TD) for sending information from DTE to DCE and Receive Data (RxD or RD) for incoming data. Control and handshaking signals encompass Request to Send (RTS) to initiate transmission, Clear to Send (CTS) to acknowledge readiness, Data Terminal Ready (DTR) to indicate DTE operational status, Data Set Ready (DSR) for DCE readiness, Data Carrier Detect (DCD) to signal an active carrier, and Ring Indicator (RI) for incoming calls. All signals reference a common Signal Ground (GND) to establish a shared voltage reference. These signals are assigned to specific pins on connectors designed for DTE devices, typically using a 25-pin D-subminiature (DB-25) connector for the full set of up to 25 signals or a more compact 9-pin variant (DE-9 or DB-9) that supports the most common subset, including TxD (pin 3), RxD (pin 2), RTS (pin 7), CTS (pin 8), DTR (pin 4), DSR (pin 6), DCD (pin 1), RI (pin 9), and GND (pin 5).[5][13][14] Electrically, RS-232 employs unbalanced, single-ended signaling with bipolar voltage levels to represent binary states: a logic 0 (space) uses +3 V to +15 V, while a logic 1 (mark) uses -3 V to -15 V, with a transition region between -3 V and +3 V treated as invalid. Transmitters must drive signals within ±5 V to ±15 V, and receivers tolerate inputs up to ±25 V for robustness against noise. Timing is governed by baud rates, which define bits per second; common rates range from 110 baud to 115,200 baud, though the standard caps reliable operation at 20 kbps over specified cable loads. The protocol primarily operates in asynchronous mode, where start and stop bits frame each data byte without a separate clock line, though synchronous modes use additional timing signals like Transmitter Clock (TC).[5][13][14][15] Despite its ubiquity, RS-232 has inherent limitations that constrain its performance. The unbalanced signaling is susceptible to electromagnetic interference and ground potential differences, making it less suitable for noisy environments compared to balanced alternatives like RS-422. Cable length is restricted by capacitive loading and signal attenuation, typically to about 15 meters (50 feet) at lower baud rates like 19.2 kbps, dropping to shorter distances at higher speeds due to the 2,500 pF maximum load specification. Additionally, the requirement for dual-rail power supplies (±12 V nominal) adds complexity, and while enhancements allow rates up to 1 Mbps, practical deployments often adhere to lower speeds for reliability.[5][13][14]Historical Development
Origins
The null modem concept emerged in the 1960s as a practical adaptation of the newly standardized RS-232 serial communication protocol, which was introduced in 1962 to facilitate connections between data terminal equipment (DTE) like teletypewriters (TTY) and modems for telephone-based data transmission.[14] In environments where devices such as teleprinters needed to communicate locally within the same facility, using a full modem setup was inefficient and costly due to the need for telephone lines and associated hardware. Instead, engineers developed a simple cable configuration that crossed the transmit (TX) and receive (RX) lines, effectively simulating the role of a modem without the actual device—hence the term "null modem," originating from early efforts to connect teleprinters directly without modems.[10][16] This approach allowed direct, short-distance connections for asynchronous serial data exchange, leveraging the RS-232 voltage levels and signaling without remote transmission overhead.[10] Early motivations for null modems stemmed from telecommunications and laboratory settings during the 1960s and 1970s, where cost savings and simplified setup were paramount for interconnecting TTYs and teleprinters in newsrooms, research labs, or government offices. Early vendor documentation outlined interface specifications that could bypass modems for local loops, emphasizing reliable control signal handling like request-to-send (RTS) and clear-to-send (CTS) for error-free data flow. The technique gained traction amid the rise of time-sharing systems, where direct cabling reduced expenses compared to dial-up modems.[17] By the 1970s, null modems were popularized among early computer hobbyists and minicomputer users for linking terminals directly to host systems, avoiding the expense of proprietary modems from vendors like AT&T. A notable early example was their use in Digital Equipment Corporation's PDP-11 minicomputers, introduced in 1970, where null modem cables facilitated console connections between the CPU and operator terminals for debugging and system control in university and research environments. This hands-on adoption by hobbyists, often documented in technical newsletters and user groups, underscored the null modem's role in democratizing serial communications before the widespread availability of personal computers.Adoption in Computing
The adoption of null modems surged in the 1980s alongside the proliferation of personal computers, enabling direct serial connections for file transfers between devices like the IBM PC and Commodore 64. These cables facilitated protocols such as XMODEM and Kermit, which allowed users to exchange data without modems or telephone lines, addressing the limitations of early floppy disk drives and storage capacities.[18] Null modems proved useful for local setups in hobbyist and educational environments.[19] In the 1990s, null modems expanded into broader networking applications before Ethernet became dominant, supporting printer sharing and remote access in resource-constrained setups. They were integrated into operating systems like MS-DOS through utilities such as INTERLNK, which used null modem cables to link computers for drive and printer redirection, enabling file synchronization without dedicated network hardware.[20] This era saw null modems as a cost-effective bridge for small-office and home users transitioning from standalone PCs to interconnected systems. The decline of null modems began in the late 1990s and accelerated through the 2000s, driven by the rise of USB for peripherals, Ethernet for networking, and TCP/IP protocols that rendered physical serial links obsolete for most consumer applications. By 2004, major PC manufacturers ceased including RS-232 ports as standard features, shifting reliance to USB-serial adapters for legacy needs, though support persisted in industrial and embedded systems.[21][22] Key milestones included the evolution of null modem practices within EIA standards, starting with RS-232 in 1962 and refined through revisions like EIA-232-D (1986) and TIA/EIA-232-F (1997), which formalized serial interfacing and indirectly supported null modem wiring for DTE-to-DTE connections. The last significant hardware advancements, such as improved cabling for higher baud rates, occurred around 2000, coinciding with the final wave of serial port integration in consumer PCs.[23][14]Physical Implementations
Cables and Connectors
Null modem cables are constructed with shielded twisted-pair wiring, where multiple conductors—typically 24 AWG stranded tinned copper—are arranged in twisted pairs to reduce crosstalk and noise, enclosed in an overall foil or braid shield for electromagnetic interference protection.[24][25] These cables adhere to RS-232 electrical specifications, with typical lengths ranging from 1 to 10 meters to maintain signal integrity within the standard's capacitance limit of 2500 pF, equivalent to approximately 15 meters at baud rates up to 9600.[26] Longer lengths risk signal degradation due to increased capacitance and attenuation.[27] The primary connectors for null modem cables are the DB-25, which supports the full 25-pin RS-232 standard, and the DE-9 (commonly called DB-9), a 9-pin variant used in simplified implementations for personal computers.[28] These are usually configured as male-to-female to facilitate direct DTE-to-DTE connections, though male-to-male versions exist and require gender changers—short adapters that swap connector genders—for compatibility with standard serial ports.[29] Insulation materials for null modem cables commonly include PVC for the outer jacket, offering flexibility, durability, and resistance to abrasion in general-purpose applications, while Teflon (PTFE) provides superior heat resistance up to 260°C and chemical inertness for specialized or harsh environments.[30][24] Off-the-shelf null modem cables in these specifications are readily available from vendors like StarTech and C2G, often featuring molded hoods for strain relief and gold-plated contacts for reliable connectivity.[31][32] These cables are optimized for RS-232 serial ports on legacy hardware such as older computers, terminals, and industrial equipment, ensuring direct peer-to-peer communication without a modem.[26] In modern setups, USB-to-RS-232 adapters with built-in null modem options extend compatibility to USB-equipped devices, supporting the same wiring and length constraints.[12]Wiring Diagrams
Null modem wiring diagrams illustrate the internal connections required to cross over key RS-232 signals between two Data Terminal Equipment (DTE) devices, effectively simulating the intermediary role of a modem. The fundamental crossover involves swapping the Transmit Data (TxD) and Receive Data (RxD) lines while maintaining a straight connection for Signal Ground (GND), enabling direct bidirectional communication.[33][34] For the basic configuration without hardware handshaking, the wiring crosses TxD from one connector to RxD on the other and vice versa, with GND connected straight through. On a DE-9 (DB-9) connector, this means pin 3 (TxD) connects to pin 2 (RxD) on the opposite end, pin 2 (RxD) to pin 3 (TxD), and pin 5 (GND) to pin 5. Similarly, for DB-25 connectors, pin 2 (TxD) connects to pin 3 (RxD), pin 3 (RxD) to pin 2 (TxD), and pin 7 (GND) to pin 7. This minimal setup supports asynchronous serial data transfer at standard RS-232 voltages, typically ±3 to ±15 V.[33][34] A full DE-9 null modem diagram, including optional flow control lines, is shown below in table form for clarity:| Pin (End 1) | Signal | Pin (End 2) | Signal |
|---|---|---|---|
| 2 | RxD | 3 | TxD |
| 3 | TxD | 2 | RxD |
| 5 | GND | 5 | GND |
| 7 (optional) | RTS | 8 (optional) | CTS |
| 8 (optional) | CTS | 7 (optional) | RTS |
| Pin (End 1) | Signal | Pin (End 2) | Signal |
|---|---|---|---|
| 2 | TxD | 3 | RxD |
| 3 | RxD | 2 | TxD |
| 7 | GND | 7 | GND |
| 4 (optional) | RTS | 5 (optional) | CTS |
| 5 (optional) | CTS | 4 (optional) | RTS |
Adapters and Variations
Null modem adapters provide modular solutions for adapting standard serial connections to null modem configurations, often incorporating crossover wiring internally to swap transmit and receive lines without requiring full cable replacement. Common types include DB-9 to DB-25 converters, which bridge the two prevalent connector standards used in RS-232 interfaces, such as those featuring built-in null modem crossovers to facilitate compatibility between devices with mismatched pin counts.[35] Gender changers, available in male-to-female (M/F) configurations, address port mismatches by combining gender conversion with null modem functionality, allowing direct attachment to devices with opposite connector genders while crossing key signal lines.[36] Variations extend to inline adapters that transform existing straight-through serial cables into null modem setups by inserting crossover logic at the connection point, typically using compact DB-9 male-to-male or female-to-female designs for seamless integration. USB null modem adapters emulate RS-232 ports via USB interfaces, often employing FTDI chipset-based modules to provide a null modem DB-9 endpoint, enabling legacy serial communication on modern USB-equipped systems without native RS-232 support.[37][38] Custom builds offer flexible alternatives for specialized needs, such as DIY assemblies using RJ45 connectors over Cat5 cabling paired with DB-9 to RJ45 null modem adapters, which repurpose inexpensive Ethernet infrastructure for serial links up to 100 feet while maintaining signal integrity. Loopback plugs, configured as short null modem-style connectors that internally route transmit to receive pins, serve as diagnostic tools for testing serial port functionality by simulating a remote connection and verifying data loopback.[39][40] These adapters and variations remain widely available from electronics suppliers, with modern products from manufacturers like USconverters and retailers such as Amazon typically priced between $5 and $20, depending on connector type and build quality.[41][42]Types Based on Handshaking
No Hardware Handshaking
The no hardware handshaking null modem represents the most basic implementation of a null modem cable, relying exclusively on the data transmission lines without any involvement of control signals for flow management. In this configuration, the transmit data (TxD) line from one device is crossed over to the receive data (RxD) line of the other device, and vice versa, while the signal ground (GND) lines are directly connected to provide a common reference; all other pins, including those for Request to Send (RTS), Clear to Send (CTS), Data Terminal Ready (DTR), and Data Set Ready (DSR), are left unconnected or ignored.[4] This minimal setup requires only three wires, making it suitable for direct device-to-device communication over short distances. This type of null modem is typically employed in low-speed, error-tolerant applications where reliable data exchange does not depend on hardware signaling, such as basic terminal emulation programs or interfacing with electronic measurement equipment that lacks modem control capabilities.[4] It supports asynchronous serial communication at baud rates low enough to prevent overwhelming the receiver, often using software-based pacing like XON/XOFF if any flow control is needed, and is ideal for scenarios requiring just 3-4 wires total.[4] The key advantages of this configuration lie in its simplicity and cost-effectiveness, as it eliminates the need for additional wiring or circuitry associated with handshaking signals, thereby avoiding potential issues with incompatible flow control protocols.[4] No hardware flow control means there are no delays or interruptions from signal assertions, allowing straightforward, uninterrupted data transfer in environments where the communicating devices operate at matched, conservative speeds.[43] Despite these benefits, the absence of hardware handshaking provides no mechanism to pause transmission when a receiver's buffer approaches overflow, leading to potential data loss or corruption at higher data rates.[4] Consequently, it is limited to slow asynchronous data transfers or applications with inherent synchronization, such as those using software oversight to manage throughput, and may cause hangs in software that expects carrier detect or other control signals to be present.[4][44]Loopback Handshaking
Loopback handshaking in null modems involves internally looping key control signals at each end of the connection to simulate a constant "ready" state, allowing direct communication between two Data Terminal Equipment (DTE) devices without requiring an intervening modem.[4] In this configuration, the Data Terminal Ready (DTR) signal is looped to both the Data Carrier Detect (DCD) and Data Set Ready (DSR) pins on the same connector, while the Request to Send (RTS) signal is looped to the Clear to Send (CTS) pin, creating an "always on" status for these lines.[45] The transmit data (TxD) and receive data (RxD) lines are crossed between the two ends, with the signal ground connected straight through.[46] For a standard DE-9 (DB-9) connector, the wiring at each end includes connecting pin 4 (DTR) to pin 1 (DCD) and pin 6 (DSR), as well as pin 7 (RTS) to pin 8 (CTS), while the cross-connections between ends handle pins 2 (RxD) to 3 (TxD) and vice versa, with pin 5 (ground) shared.[4] This setup tricks the connected devices into believing a modem is present and perpetually ready, which is particularly useful for legacy software or applications designed to interact with full modem control protocols under the RS-232 standard.[45] The primary purpose of loopback handshaking is to ensure compatibility with programs that check for asserted control signals before initiating communication, preventing hangs or errors in environments assuming modem presence.[4] However, it provides no genuine hardware flow control, as the looped signals do not dynamically respond to data flow between devices; instead, any necessary throttling must rely on software-based methods like XON/XOFF.[46] Consequently, this approach carries risks of data loss or buffer overflows during high-speed transfers where actual handshaking would otherwise regulate throughput.[45]Partial Handshaking
In partial handshaking null modems, the transmit data (TxD) and receive data (RxD) lines are crossed between the two devices to enable direct communication, while the request to send (RTS) and clear to send (CTS) lines are crossed to support basic hardware flow control for pacing data transmission. The data terminal ready (DTR) and data set ready (DSR) lines are also crossed to indicate mutual readiness, and the carrier detect (DCD) line is connected to the RTS and CTS lines of the opposite device to simulate carrier presence based on flow control signals.[4][2] For DE-9 (DB-9) connectors, the typical wiring diagram is as follows:| Pin (Connector 1) | Connection to Connector 2 | Function |
|---|---|---|
| 1 (DCD) | 7 and 8 (RTS/CTS) | Carrier detect tied to opposite flow control |
| 2 (RxD) | 3 (TxD) | Receive Data |
| 3 (TxD) | 2 (RxD) | Transmit Data |
| 4 (DTR) | 6 (DSR) | Data Terminal Ready |
| 5 (GND) | 5 (GND) | Ground |
| 6 (DSR) | 4 (DTR) | Data Set Ready |
| 7 and 8 (RTS/CTS) | 1 (DCD) | Request/Clear to Send tied to opposite carrier |
Full Handshaking
The full handshaking null modem cable provides the most comprehensive emulation of modem-to-modem communication by crossing all primary data and control signals between two Data Terminal Equipment (DTE) devices, enabling robust direct serial connections under the RS-232 standard.[4][2] This configuration ensures that hardware flow control and status signaling operate as if each device were connected through a modem, supporting applications that rely on complete signal negotiation.[10] In this setup, the transmit data (TxD) line is crossed with the receive data (RxD) line, the request to send (RTS) with clear to send (CTS) for flow control, and data terminal ready (DTR) with data set ready (DSR) for device readiness indication.[4][48] The carrier detect (DCD) signal is often unconnected or optionally looped back locally to DSR at each end to simulate persistent carrier.[10] Signal ground is directly connected between both ends to maintain a common reference.[2] For a standard DE-9 (DB-9) connector, the wiring diagram typically involves seven wires and follows this pinout, where connections are made from Connector 1 to Connector 2:| Pin (Connector 1) | Signal | Pin (Connector 2) | Signal |
|---|---|---|---|
| 2 | TxD | 3 | RxD |
| 3 | RxD | 2 | TxD |
| 4 | DTR | 6 | DSR |
| 5 | Ground | 5 | Ground |
| 6 | DSR | 4 | DTR |
| 7 | RTS | 8 | CTS |
| 8 | CTS | 7 | RTS |
