(mirrored from http://www.ossmann.com/5-in-1.html)


the 5-in-1 network admin's cable

ethernet / crossover / modem / null modem / Cisco console

There is nothing worse than showing up for an on-site visit without the correct cable you need for a job. So what is a network admin to do, carry around several bulky cables everywhere?

For quite some time I've been carrying a single CAT5 ethernet cable in my laptop bag along with "the world's shortest crossover cable" and an RJ45 coupler. This allows me to turn my ethernet cable into a crossover cable and eliminates the need to carry around a second lengthy cable. Handy, but nothing to write home about. More recently I have been working with a lot of network devices with serial console ports, including Cisco routers and various other things. This means lugging around a null modem cable in addition to the non-standard RJ-45 to DB-9 console cable required by most Cisco equipment.

But after putting together four simple custom adapters, I now have an ethernet cable, a crossover ethernet cable, a modem cable, a null modem cable, and a Cisco console cable all by carrying around just one standard ethernet cable. An added benefit is that I can always extend my cable by finding a longer ethernet cable than the one I carry in my bag. It is usually pretty easy to locate a long ethernet cable but not so easy to locate a long null modem cable.

Do you find yourself toting several of these cables everywhere you go? Do you often wish you had brought a different cable with you after you have arrived on-site? Are you as geeky as me and think that this is just plain cool even if you never expect to configure a router in your lifetime? Then you need the 5-in-1 network admin's cable!

Here's how to make your own:

  1. Buy, beg, borrow or steal the tools and materials you will need:

  2. Make "the world's shortest crossover cable"

    world's shortest crossover cable photo

    Note that this cable must cross the pairs that are not used by ethernet in addition to the pairs that are. This is why you must perform this critical step and cannot use a standard crossover cable you may already own.

    You can actually make this as long as you want, but the longer you make it the more you have to carry around. The pinout looks like:

        1 -> 3
        2 -> 6
        3 -> 1
        4 -> 7
        5 -> 8
        6 -> 2
        7 -> 4
        8 -> 5
      

    Crimp one of the RJ45 plugs on each end. Order the wires on one end according to the 568B standard:

        white/orange
        orange
        white/green
        blue
        white/blue
        green
        white/brown
        brown
      
    568B color diagram

    This is the most common order for ethernet cables, so you could get a head start by snipping off the end of an existing cable and then you only have to do the other end.

    The other end should like like:

        white/green
        green
        white/orange
        white/brown
        brown
        orange
        blue
        white/blue
      
    world's shortest crossover cable color diagram

    If you are as geeky as me, you'll make sure that each pair has at least one twist. Then you can prove people wrong if they scoff, "That's not the world's shortest crossover cable, that's just an adapter!"

  3. (optional) Make the Cisco console adapter:

    Cisco adapter photo

    This adapter works with the RJ45 serial port found on most Cisco routers. It also works on some Sun servers.

    This is pretty much just like the crossover cable but with a different pinout:

        1 -> 6
        2 -> 5
        3 -> 3
        4 -> 8
        5 -> 7
        6 -> 4
        7 -> 1
        8 -> 2
      

    Make the first end according to 568B again:

        white/orange
        orange
        white/green
        blue
        white/blue
        green
        white/brown
        brown
      
    568B color diagram

    And the other end:

        white/brown
        brown
        white/green
        green
        orange
        white/orange
        white/blue
        blue
      
    Cisco console color diagram

    It is important to note that this is not a symmetric adapter. The 568B end will point away from the router and the other end will be inserted into the router. I marked the router end of mine with a sharpie so I wouldn't forget.

    Cisco's (otherwise very helpful) cabling page has RTS and CTS reversed on the DB9/RJ45 console cable, which I verified by inspecting an actual Cisco cable. They don't really care anyway because their console ports do not use flow control, but doing it the right way enables interoperability with Sun servers and perhaps some other things.

  4. Make two DB9/RJ45 adapters:

    This is the trickiest part. In order to make your cable compatible with the largest number of serial devices possible, you need to combine a couple pins and split another one. Here is the pinout:

        DB9 pin  signal  RJ45 pin    color *
        -------  ------  --------    -----
          1       DCD      8         white
          2       RxD      3         black
          3       TxD      1         blue
          4       DTR      5         green
          5       SG       2 and 6   orange and yellow
          6       DSR      8         white
          7       RTS      4         red
          8       CTS      7         brown
          9       RI       none
      

    So our ethernet turned serial cable will be pinned:

          1  TxD      pair one
          2  SG       pair one
          3  RxD      pair two
          4  RTS      pair three
          5  DTR      pair three
          6  SG       pair two 
          7  CTS      pair four
          8  DSR/DCD  pair four
      

    * My DB9F/RJ45F modular adapters are colored blue, orange, black, red, green, yellow, brown, white (RJ45 1-8), but yours may not be. If yours are different, ignore the colors in the above pinout.

    modular adapter wiring photo

    DB9 pins 2, 3, 4, 7, and 8 are easy. Just push the appropriate pin in the back of the DB9 connector until it snaps. Be careful not to get any of the pins mixed up because errors are a bit difficult to fix. I seem to remember having a skinny little tool to pop the pins back out again some years back, but I can't find it anymore. :-(

    DB9 pin 5 needs two wires connected to it. Snip the pins off of the wires coming from RJ45 pins 2 and 6 (orange and yellow on mine), strip about 3 mm off the end of each, and crimp them together onto one of your spare pins.

    wiring detail photo

    RJ45 pin 8 has to connect to both 1 and 6 on the DB9 connector. Snip the pin off of the white wire, strip the end, cut about an inch of scrap CAT5 and pull out two of the white wires, strip both ends off of them, crimp a pin on each one, and splice all three loose ends together. You can break the end off of a spare pin and use it to crimp the three wires together. You can use the other two white wires from the inch of CAT5 for the second adapter.

    Both of the DB9/RJ45 adapters should be wired exactly the same way, regardless of whether they will be used for DTE or DCE devices.

Here's how to use it:

  1. straight-through ethernet cable:

    ethernet cable photo

    no adapters needed

  2. crossover ethernet cable:

    crossover cable photo

    ethernet - coupler - crossover

  3. modem cable:

    modem cable photo

    DB9/RJ45 - ethernet - DB9/RJ45

  4. null modem cable:

    null modem cable photo

    DB9/RJ45 - ethernet - coupler - crossover - DB9/RJ45

  5. Cisco console cable:

    Cisco console cable photo

    DB9/RJ45 - ethernet - coupler - Cisco adapter

    Remember that the Cisco adapter is not reversible.

Notes:

This solution is somewhat similar to the Yost wiring standard which I have long found to be quite useful. The only reason that I did not use the Yost standard for my DB9/RJ45 adapters is that I wanted mine to work with any standard ethernet cable. I didn't use Cisco's pinout for the same reason. Plus, Cisco generally irritates me. I wanted the serial Transmit and Receive conductors each twisted with ground rather than with each other, which should cut down on cross-talk and allow longer cable lengths. (I also think it is nifty to be able to use the same crossover cable for both ethernet and serial.) I haven't done any length or reliability testing, but so far everything I have tried has worked just fine.

If you need a DB9/RJ45 serial cable with different pinouts than the Cisco one, all you have to do is make another little CAT5 adapter. Cable ends are cheap and plentiful.

When used as a serial cable, this is a hardware flow control (CTS/RTS) cable. If you are using devices which both require hardware flow control, it should work. If neither of your devices require hardware flow control, it should still work. However, if one of your devices requires hardware flow control and the other does not support hardware flow control, then you need a cable that fakes flow control. This could be done with an additional DB9/RJ45 adapter or with another CAT5 adapter and some creative crimping (my preference), both of which are left as exercises for the reader.

If you grab a random ethernet cable to use with your serial adapters, remember to make sure that it has all eight conductors. Also keep in mind that most ethernet cables have only been tested for connectivity on four conductors (1, 2, 3, and 6) if they have been tested at all. I used those conductors for the most important serial signals (Transmit, Receive, and Ground) just in case, but some serial devices won't talk without all eight working.

Many additional adapters could easily be added to this set. A few that leap to mind would be for other kinds of serial ports such as DB-25 and various DIN and miniDIN ports for Macintoshes and other things. If you come up with a useful one, send me the pinout (as well as a link to an authoritative source regarding your device's pinout if possible) and I will post it here. Here are a couple that ought to work:

  1. DB25:

        DB25 pin  signal  RJ45 pin
        --------  ------  --------
           8       DCD      8
           3       RxD      3
           2       TxD      1
           20      DTR      5
           7       SG       2 and 6
           6       DSR      8
           4       RTS      4
           5       CTS      7
      
  2. loopback plug

    You can use the leftover wires in that inch of CAT5 that you cut when making the DB9 adapters. Pull four of them out and crimp both ends (in little loops) in a single RJ45 plug as follows:

          1  TxD      wire one
          2  SG       wire two
          3  RxD      wire one
          4  RTS      wire three
          5  DTR      wire four
          6  SG       wire two
          7  CTS      wire three
          8  DSR/DCD  wire four
        
    loopback plug photo

    The photograph depicts a three-wire RS-232 loopback plug, not the four wire combination plug.

    This works for RS-232 loopback. Alert reader, Bruce Bannach, pointed out that it also works for ethernet and that popping it into an ethernet port fools Windows into thinking it is attached to a network. According to some Windows administrator friends of mine, this could be quite handy for things such as installing Windows 2000 Server. Note that only wires one, three, and four are necessary for RS232, and only wires one and two are required for ethernet. I prefer to have them all for maximal multifunctionality. :-)

    A handy use for this plug is to perform rudimentary cable testing. To test an ethernet cable, for example, you can attach the loopback plug to one end of the cable with your coupler. Then plug the other end of the cable into an ethernet port and see if you get link. If you plug it into a Windows 2000 or XP box, it will notify you if there is link. With Linux you can use mii-tool or mii-diag. This works for both straight-through and crossover cables.

If all you ever use is an ethernet cable, everything starts to look like an RJ45 jack.

Mike Ossmann <mike@ossmann.com>