You are on page 1of 5

Null modem

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 to 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.

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. A null modem adapter

Contents
Origins
Cables and adapters
Wiring diagrams
Applications
Types of null modem
No hardware handshaking
Loopback handshaking
Partial handshaking
Full handshaking
Virtual null modem
See also
References

Origins
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


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
[2][3]
adapter contains the necessary crosslinks between the signals.
Wiring diagrams
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 theData Carrier Detect (DCD) signal:[2]

One side Other side A null modem cable

DB- DE- Signal DE- DB-


Signal and direction
25 9 9 25 Signal
abbreviations
pin pin pin pin
Frame
FG 1 N/A Common N/A 1 FG
Ground
Transmitted TxD,
2 3 → 2 3 RxD
Data TD
Received RxD,
3 2 ← 3 2 TxD
Data RD
Request To DB-25 null modem wiring diagram
RTS 4 7 → 8 5 CTS
Send
Clear To
CTS 5 8 ← 7 4 RTS
Send
Signal
SG 7 5 Common 5 7 SG
Ground
Data Set
DSR 6 6
Ready
← 4 20 DTR
Data Carrier DCD,
8 1
Detect CD
DE-9 null modem wiring diagram
Data 1 8 DCD
Terminal DTR 20 4 →
Ready 6 6 DSR

Applications
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 Commodore
Amiga system, a null modem connection was a common way ofplaying multiplayer gamesbetween 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 (theGUI 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


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
[1]
through 8 on one end to 8 through 1 on the other end.

No hardware handshaking
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 Wiring pinouts for DB-25 (left) and DE-9 (right) connectors
that do not need or make use of modem control
signals.[1]

Loopback handshaking
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]
Wiring pinouts for DB-25 (left) and DE-9 (right) connectors
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
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]

Wiring pinouts for DB-25 (left) and DE-9 (right) connectors

Full handshaking
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]

Wiring pinouts for DB-25 (left) and DE-9 (right) connectors

Virtual null modem


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 physicalserial 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
Crossover cable
Debugging
Direct cable connection
LapLink cable
Rollover cable
Serial Line Internet Protocol

References
1. Lammert Bies. "RS232 serial null modem cable wiring and tutorial"(http://www.lammertbies.nl/comm/info/RS-232_nu
ll_modem.html). lammertbies.nl. Retrieved 2013-12-26.
2. "Null Modem" (http://www.nullmodem.com/NullModem.htm). nullmodem.com. 2008-11-07. Retrieved 2013-12-26.
3. "Nullmodem (9-9) - HwB"(http://www.hardwarebook.info/Nullmodem_(9-9)). hardwarebook.info. 2006-12-27.
Retrieved 2013-12-26.
4. "ADTPro - ADTPro Serial Cabling"(http://adtpro.sourceforge.net/connectionsserial.html)
. sourceforge.net. 2011-01-
25. Retrieved 2013-12-26.
5. "MS-DOS External commands - INTERLNK"(http://www.angelfire.com/ma/mantasdos/interlnk.html). angelfire.com.
Retrieved 2013-12-26.
6. "Null-modem emulator | Download Null-modem emulator software for free at"
(http://sourceforge.net/projects/com0co
m). sourceforge.net. Retrieved 2013-12-26.
7. "BerliOS Developer: Project Summary - N8VB_vCOM V irtual Null Modem Cable"(http://developer.berlios.de/project
s/n8vbvcomdriver/). berlios.de. 2005-07-15. Retrieved 2013-12-26.

Retrieved from "https://en.wikipedia.org/w/index.php?title=Null_modem&oldid=815391561


"

This page was last edited on 14 December 2017, at 15:32.

Text is available under theCreative Commons Attribution-ShareAlike License ; additional terms may apply. By using this
site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of theWikimedia
Foundation, Inc., a non-profit organization.

You might also like