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 Lap Link 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 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 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)

About ILS - Contact us - Report Web Issues