Up | Overview | Hardware | Cost | Standard Pinouts | Making it Work | Instructions |
How to create your own RS-232 null modem cable using an existing Cat6 cable run and some DB9 connectors without any wire clipping or soldering.
The following notes are from April, 2007.
If you're in a hurry, skip to the end for the table of wire colors and pins.
If you have the existing Cat6 cable then you could ignore that cost. If you need to buy one you can get a 50 foot Cat6 for $7.93 from Provantage. The Cables To Go part number is 27166.
The modular RJ45/DB9F adapters are $2.56 each from Provantage, you'll need two. The Cables To Go part number is 02941.
The standard formerly known as RS-232 or RS232 became EIA-232 then TIA-232. Most of the world still calls it RS232 but many names are used.
RS-232D or EIA-561 defines the pin assignments for using RS-232 with RJ45 connectors.
For an RJ45 male connector, the one you'll find at both ends of a Cat6 cable, pin 1 is the left most pin when you look at the connector with the tab up and the cable going away from you. It's easier to buzz out a cable with the tab down, in which case pin 1 is on the right, thus leading to a lot of potential confusion.
For the DB9 female connector pin 1 is the top right and pin 6 is the bottom right when you look at the connector with the cable going away from you and the side with five pins on top.
At this point it's probably good to mention that you only need three lines to have a functional cable. You'll need RD, TD and ground. All the other lines are used by software to control data. The three critical lines are handled by hardware. But most of us don't write the software at both ends, so it may wait forever for a signal transition that will never happen.
If you're familiar with Cisco routers then you've seen the RJ45 serial console connector they use, and the light blue RJ45 to DB9 cable. This does NOT follow the EIA-561 standard.
RJ45 | DB9 | Abbreviation | Description |
---|---|---|---|
1 | 8 | CTS | Clear To Send |
2 | 6 | DSR | Data Set Ready |
3 | 2 | RD | Received Data |
4 | 5 | GND | Ground |
5 | 5 | GND | Ground |
6 | 3 | TD | Transmit Data |
7 | 4 | DTR | Data Terminal Ready |
8 | 7 | RTS | Request To Send |
This cable works fine with minicom or HyperTerm because the Cisco hardware and software handles it. It's certainly possible to wire your RJ45/DB9 connectors following this pinout. If you do, please mark the connector clearly so the rest of us won't assume it's an RS-232D or EIA/TIA-561 pinout.
The only potential problem with this is that DB9 pin 1 for Carrier Detect (CD) is missing. Normally we would see pin 1 and pin 6 (CD and DSR) connected to the DTR output from the far end. But as I can attest, the cable works. And I've buzzed out the cable to confirm that pin 1 and pin 9 are not connected to anything.
Cisco uses two lines for ground to reduce crosstalk, which could be a benefit on especially long runs of cable.
Some good diagrams for all these cables (except the Cisco pinout) are available from www.aggsoft.com/rs232-pinout-cable. If you need diagrams try there.
There are two types of DB9 pinouts. One for a straight connection, such as used with a modem, and one for a cross-over or null modem connection. As we're interested in a serial console cable we'll focus on the cross-over or null modem connection. But it's instructive to have the straight connection described.
DB9 | Abbreviation | Description |
---|---|---|
1 | CD or DCD | Data Carrier Detect |
2 | RD or RxD | Received Data |
3 | TD or TxD | Transmit Data |
4 | DTR | Data Terminal Ready |
5 | GND or SG | Signal Ground |
6 | DSR | Data Set Ready |
7 | RTS | Request To Send |
8 | CTS | Clear To Send |
9 | RI | Ring Indicator |
Now let's see what the null modem pinout looks like. Note that pin 9 is not used on either end.
Signal | Left DB9 | Right DB9 | Signal |
---|---|---|---|
CD + DSR | 1 + 6 | 4 | DTR |
RD | 2 | 3 | TD |
TD | 3 | 2 | RD |
DTR | 4 | 1 + 6 | CD + DSR |
GND | 5 | 5 | GND |
DSR + CD | 6 + 1 | 4 | DTR |
RTS | 7 | 8 | CTS |
CTS | 8 | 7 | RTS |
RI | 9 | - | - |
For the visually inclined see the diagram at www.hardwarebook.info/RS-232D. For quick reference, here's the table version.
RJ45 | Abbreviation | Description |
---|---|---|
1 | DSR/RI | Data Set Ready/Ring Indicator |
2 | CD or DCD | Data Carrier Detect |
3 | DTR | Data Terminal Ready |
4 | GND or SG | Signal Ground |
5 | RD or RxD | Received Data |
6 | TD or TxD | Transmitted Data |
7 | CTS | Clear To Send |
8 | RTS | Request To Send |
Okay, so we have the pinouts and its just a matter of making it work. First the obvious comment, if we wire two connectors as null-modem and put one on each end we've just made a straight though connection. To avoid this issue, establish a consistent policy of always using the null-modem RJ45-DB9 connector shell at the server or the workstation. It makes sense to me for the null-modem shell to be in the server closet, but you may decide otherwise.
For each cable we'll need one straight connection following the RS-232D pinout in the table above, and one cross-over or null modem connection following the pinout in the table below. Remember, each connection needs one of each.
When complete you should be able to plug a short Cat6 cable between the two connector shells and buzz it out. The results should match the DB9 null modem table listed earlier.
RJ45 | DB9 | Signal |
---|---|---|
1 | 6 | DSR |
2 | 1 | CD |
3 | 4 | DTR |
4 | 5 | GND |
5 | 2 | RD |
6 | 3 | TD |
7 | 8 | CTS |
8 | 7 | RTS |
RJ45 | DB9 | Signal |
---|---|---|
1 | 4 | DTR |
2 | 4 | DTR |
3 | 6 + 1 | DSR + CD |
4 | 5 | GND |
5 | 3 | TD |
6 | 2 | RD |
7 | 7 | RTS |
8 | 8 | CTS |
Start with the straight connector. Make one of these for each serial console you'll use and test it by buzzing it out.
Now we get to the hard part. You'll observe that our crossover shell needs to have RJ45 pins 1 and 2 connected to DB9 pin 4, and RJ45 pin 3 connected to DB9 pins 6 and 1. Each connector shell comes with the eight RJ45 pins already wired to a separate DB9 pin which you can push into any of the provided DB9 connector holes. Great for a straight though connection, but not so great for the crossover. We'll need to make some changes.
Connecting both RJ45 pins 1 and 2 to DB9 pin 4 is easy. Clip the wire for one of these two, strip some of the insulation off, and wrap it around the other DB9 pin.
Connecting both DB9 pins 6 and 1 to RJ45 pin 3 is also easy. Clip the wire for one of these two, strip some of the insulation off, and wrap it around the other DB9 pin.
The astute will note we have a potential disaster here. Let's say we clip the wire from RJ45 pin 1 as close to the DB9 pin as possible, strip it a bit, then wrap it around the DB9 pin connected to RJ45 pin 2. It's going to be a little shorter, but will probably work.
Now let's move onto the next tie. We need to take our clipped DB9 pin and connect it to the DB9 pin attached to RJ45 pin 3. But we have even less room to work on this and no wire.
The correct solution is to start with some additional wire, as near the same gauge as the others, and make the clip about 1/4" from the end of the DB9 pin. You'll need this extra wire because when you push the DB9 pin into the hole none of the brass pin remains visible.
But go back to that Cisco cable pinout. They ignore the CD signal and their cable works just fine. So for the easy solution that avoids clipping, stripping and soldering maybe we can just ignore CD as well.
RJ45 | DB9 | Signal |
---|---|---|
1 | 4 | DTR |
2 | - | Not Used |
3 | 6 | DSR |
4 | 5 | GND |
5 | 3 | TD |
6 | 2 | RD |
7 | 7 | RTS |
8 | 8 | CTS |
Well, that's a lot easier. It's not standard, and it may fail in strange ways, but if it works for us then we're okay with that.
Note that the previous caveat about clearly marking non-standard cables still applies. Make sure anyone looking at this connector knows something odd has been done to it.
Using the Cables To Go part you can follow the color coded guide below. If you buy another RJ45 to DB9 connector you'll need to buzz out the wires.
RJ45 Pin | Wire Color | DB9 Straight | DB9 Crossover |
---|---|---|---|
1 | Blue | 6 | 4 |
2 | Orange | 1 | - |
3 | Black | 4 | 6 |
4 | Red | 5 | 5 |
5 | Green | 2 | 3 |
6 | Yellow | 3 | 2 |
7 | Brown | 8 | 7 |
8 | Grey | 7 | 8 |
You'll need one straight and one crossover connector for each Cat6 cable. It doesn't matter which one goes on which end.
These instructions worked for me running three serial console connections over 50 feet of Cat6. Each console was running at 115200 baud and has proved reliable so far. As always, your experiences may be different.
Up | Overview | Hardware | Cost | Standard Pinouts | Making it Work | Instructions |