Null Modem Cable Pinouts

The purpose of a null-modem cable is to permit two RS-232 "DTE" devices to communicate with each other without modems or other communication devices (i.e., "DCE"s) between them.  

To achieve this, the most obvious connection is that the TD signal of one device must be connected to the RD input of the other device (and vice versa).

Also, however, many DTE devices use other RS-232 pins for out-of-band (i.e., "hardware") flow control.  One of the most common schemes is for the DTE (the PC) to assert the RTS signal if it is ready to receive data (yes, it DOES sound backwards, but that's how it works), and for the DCE (the modem) to assert CTS when it is able to accept data.  By connecting the RTS pin of one DTE to the CTS pin of the other DTE, we can simulate this handshake.

Also, it is common convention for many DTE devices to assert the DTR signal when they are powered on, and for many DCE devices to assert the DSR signal when they are powered on, and to assert the CD signal when they are connected.  By connecting the DTR signal of one DTE to both the CD and DSR inputs of the other DTE (and vice versa), we are able to trick each DTE into thinking that it is connected to a DCE that is powered up and online.  As a general rule, the Ring Indicate (RI) signal is not passed through a null-modem connection.

Common Null-Modem Connection

Signal Name DB-25 Pin DB-9 Pin   DB-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's another null-modem connection that I've seen floating around the net.  Some folks say that it's the cable that's shipped with LapLink 4 Pro.

Signal Name DB-25 Pin DB-9 Pin   DB-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
DTR (Data Terminal Ready) 20 4 - 6 6 DSR

We don't think that a null-modem cable built to the above pinout will work quite as well, but a lot of folks appear to have success with it.  In general, it will work with some software packages, such as those that only use RTS/CTS hardware flow control.  However, some packages that rely on the proper assertion of the CD signal will not work with this cable.

Here's a good set of figures for DB-25 male and female connectors, as viewed from the pin side (not the solder side).

DB-25 Male

DB-25 Male

DB-25 Female

DB-25 Female

Here's a good set of figures for DB-9 male and female connectors, as viewed from the pin side (not the solder side).

DB-9 Male

DB-9 Male

DB-9 Female

DB-9 Female

 

 

 

 

The DB-25 connector is used for a variety of purposes.  Two common applications are RS-232 (serial) connections, and the parallel printer interface on the IBM PC.  The DB-25 connector is also used for SCSI connections. Here's a good set of figures for DB-25 male and female connectors, as viewed from the pin side (not the solder side).  

 

 

Pins commonly used for RS-232 (serial):

DB-25 DB-9 Signal Direction Signal Name
1   x Protective Ground
2 3 DTE-to-DCE Transmitted Data
3 2 DCE-to-DTE Received Data
4 7 DTE-to-DCE Request To Send
5 8 DCE-to-DTE Clear To Send
6 6 DCE-to-DTE Data Set Ready
7 5 x Signal Ground
8 1 DCE-to-DTE Received Line Signal Detector (Carrier Detect)
20 4 DTE-to-DCE Data Terminal Ready
22 9 DCE-to-DTE Ring Indicator

Common Null-Modem Connection

Signal Name

DB-25 Pin

DB-9 Pin

 

DB-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 - 6 6 DSR
DTR (Data Terminal Ready) 20 4 - 1 8 CD

DB-25 pins commonly used for the IBM-PC parallel port:

DB-25 Pin Centronics Pin Signal Description Signal Direction
(at the PC)
Signal Function
1 1 STROBE Output Clocks data
2 2 DATA Bit 0 Output Data line
3 3 DATA Bit 1 Output Data line
4 4 DATA Bit 2 Output Data line
5 5 DATA Bit 3 Output Data line
6 6 DATA Bit 4 Output Data line
7 7 DATA Bit 5 Output Data line
8 8 DATA Bit 6 Output Data line
9 9 DATA Bit 7 Output Data line
10 10 ACKNLG Input Acknowledge receipt of data
11 11 BUSY Input Printer is busy
12 12 POUT Input Printer is out of paper
13 13 SEL Input Pinter is online
14 14 Auto Feed XT Input Autofeed
15 32 FAULT Input Indicates printer fault (or when printer is offline)
16 31 Input Prime or INIT Output Resets printer, clears printer buffer and initializes it
17 36 SLCT IN Output TTL high level
18-25 16, 17, 19-30, 33 Ground N/A Ground reference for signal pins 1-12, in most cables as twisted pairs.

DB-25 pins commonly used for SCSI

At one time, Apple used a DB25 connector for SCSI (narrow), but this doesn't allow twisted pairs and is not compliant to SCSI standards. Some companies like Iomega still use this connector on new devices.  Such connectors have been noted to have problems on SCSI busses using faster devices such as UltraSCSI (Iomega itself doesn't recommend using more than one DB25 device, but still uses it for Zip drives). The HD50 connector is preferred.

DB-25 Pin LD-50 Centronics Pin Signal Description Signal Function
1 49 REQ  Request
2 46 MSG  Message
3 50 I/O  Input/Output
4 45 RST  Reset
5 44 ACK  Acknowledge
6 43 BSY  Busy
7, 9, 14, 16, 18, 24  1-11, 15-25, 35, 36, 40, 42 GND  Ground
8 26 D0  Data bit 0
10 29 D3  Data bit 3
11 31 D5  Data bit 5
12 32 D6  Data bit 6
13 33 D7  Data bit 7
15 48 C/D  Command / -Data
17 41 ATN  Attention
19 47 SEL  Select
20 34 DP  Data Parity
21 27 D1  Data bit 1
22 28 D2  Data bit 2
23 30 D4  Data bit 4
25 38 TermPwr  Termination Power (+5V)