Null modem
From Wikipedia, the free encyclopedia
Null modem is a communication method to connect two DTEs (computer, terminal, printer etc.) directly using a RS-232 serial cable. The original RS-232 standard only defined the connection of DTEs with DCEs i.e. modems. 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 a standard.
Null modems are 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.
The popularity and availability of faster information exchange systems such as ethernet made the use of null-modem cables less common. Nowadays, such a cable can still be useful to kernel hackers though, 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). ddb or KGDB can be used to remotely debug BSD systems, for instance. 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 X11 server reserves those resources if a GUI is used, and dropping to the debugger in the case of a panic won't free them).
Contents |
[edit] Null modem 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 adapter contains the necessary crosslinks between the signals.
[edit] Null modem cable pin mapping
This is one very common mapping which will work with software that relies on proper assertion of the CD signal.
Signal Name | DB-25 Pin | DE-9 Pin | DE-9 Pin | DB-25 Pin | ||
FG (Frame Ground) | 1 | - | X | - | 1 | FG |
TD (Transmit Data) | 2 | 3 | - | 2 | 3 | RD |
RD (Receive Data) | 3 | 2 | - | 3 | 2 | TD |
RTS (Request To Send) | 4 | 7 | - | 8 | 5 | CTS |
CTS (Clear To Send) | 5 | 8 | - | 7 | 4 | RTS |
SG (Signal Ground) | 7 | 5 | - | 5 | 7 | SG |
DSR (Data Set Ready) | 6 | 6 | - | 4 | 20 | DTR |
CD (Carrier Detect) | 8 | 1 | - | 4 | 20 | DTR |
DTR (Data Terminal Ready) | 20 | 4 | - | 1 | 8 | CD |
DTR (Data Terminal Ready) | 20 | 4 | - | 6 | 6 | DSR |
Here is another pin connection diagram for a null modem:
[edit] Virtual null modem
Virtual null modem is also communication method to connect two computer applications directly using virtual serial port. Unlike null modem cable, virtual null modem is software solution which emulates hardware null modem in computer. All features of hardware null modem are available in virtual null modem as well. Nevertheless there are some advantages:
- more transmission speed of serial data (limited by computer performance only)
- unlimited distance because virtual connection over network or Internet is possible
- unlimited number of virtual connections is possible
- no serial cable is needed.
- serial port of computer is free
DOSBox has allowed older DOS games to use virtual null modems.
[edit] See also
- Rollover cable
- Serial cable
- Direct cable connection
- InterLnk
- Debugging
- Serial Line Internet Protocol (SLIP)
- LapLink cable (can be seen as a parallel equivalent to a serial null modem cable)
[edit] External links
- http://ourworld.compuserve.com/homepages/harburg/Link2PCs.htm
- virtual modem pro fully emulate standard hardware modems
- http://www.angelfire.com/ma/mantasdos/interlnk.html
- http://www.ms-dos.com/dos-i/intexe-i.htm
- http://www.daniel-hertrich.de/rs232/
- http://www.nullmodem.com/NullModem.htm
- http://www.lammertbies.nl/comm/info/RS-232_null_modem.html
- http://www.hardwarebook.info/Nullmodem_(9-9)
- http://sourceforge.net/projects/com0com
- http://developer.berlios.de/projects/n8vbvcomdriver/