Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Null modem
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== 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 [[rollover cable|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.<ref name="lammertbies" /> === No hardware handshaking === {{Multiple image | direction = horizontal | width = 200 | image1 = Null modem xon-xoff.svg | image2 = Null modem DB-9 xon-xoff.svg | footer = Wiring pinouts for DB-25 (left) and DE-9 (right) connectors }} 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 (data)|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.<ref name="lammertbies" /> {{Clear}} === Loopback handshaking === {{Multiple image | direction = horizontal | width = 200 | image1 = Null modem 3-wire.svg | image2 = Null modem DB-9 3-wire.svg | footer = Wiring pinouts for DB-25 (left) and DE-9 (right) connectors }} 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.<ref name="lammertbies" /> 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. {{Clear}} === Partial handshaking === {{Multiple image | direction = horizontal | width = 200 | image1 = Null modem 5-wire.svg | image2 = Null modem DB-9 5-wire.svg | footer = Wiring pinouts for DB-25 (left) and DE-9 (right) connectors }} 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.<ref name="lammertbies" /> {{Clear}} === Full handshaking === {{Multiple image | direction = horizontal | width = 200 | image1 = Null modem 7-wire.svg | image2 = Null modem DB-9 7-wire.svg | footer = Wiring pinouts for DB-25 (left) and DE-9 (right) connectors }} 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.<ref name="lammertbies" /> {{Clear}} === Virtual null modem === A virtual null modem is a communication method to connect two [[application software|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.<ref>{{cite web |url=http://sourceforge.net/projects/com0com |title=Null-modem emulator | Download Null-modem emulator software for free at |publisher=sourceforge.net |access-date=2013-12-26}}</ref><ref>{{cite web |url=http://developer.berlios.de/projects/n8vbvcomdriver/ |title=BerliOS Developer: Project Summary - N8VB_vCOM Virtual Null Modem Cable |publisher=berlios.de |date=2005-07-15 |access-date=2013-12-26 |url-status=dead |archive-url=https://web.archive.org/web/20131226111423/http://developer.berlios.de/projects/n8vbvcomdriver/ |archive-date=2013-12-26 }}</ref> 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 port]]s remain free For instance, [[DOSBox]] has allowed older [[DOS]] games to use virtual null modems. Another common example consists of Unix [[pseudoterminal]]s (pty) which present a standard [[Tty (Unix)|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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)