- . ---

Don't you have a gadget that connecte to the serial port of your PC.
You even have the proprietary cable and special software wich is only working on one specific operating system.
So you want to analyse the protocol in use to be able to develop a new software...
...that will run on your platform of choice or your operating system of choice.

How it all started

Long ago I found out about Gnokii because I own a Nokia 6110 and I am an early Linux fan. They describe the way to analyse the serial protocol between a Windows PC and the Nokia phone by using a special 'Y' cable. I forgot about the page, but then recently I had an urgent need for such a analyse tool and I found out a rather easy way to build the required cable without any soldering.

So I knew I needed such a tool, but what cable, transparent or replicate, what software, for wich platform. Where a lot peaple will think Linux first, I have plenty of Windows based computer that I can use available, so Windows is an option for me.

Two ways to sniff the protocol.

Let's assume you have two device that communicate with a serial protocol. Device 1 is a PC (DTE) and device 2 is a modem (DCE). So you want to analyse what they exchange.

First way to do it, take another PC with two COM port and a special Y cable. Inside that cable, you 'copy' all the input of the PC on COM1 and all the output of the PC to COM2.

You also have to choose if you are interested in the other control signal. But you already have a transparent way to see the caracter exchange in both direction. Now of course you put two receiver on each transmitter and this may not work with some device (I hope it is not going to distroy your equipement).

The second option is to effectively place your analyser in between the PC and the MODEM. Of course you will have to use a program at all time that copy from COM1 to COM2 and COM2 to COM1. This program will have to copy everything including the control signal. Also this will only work if the two device do not choose to change the speed in use between the two device.

You can consider this second option as a proxy device between your PC and your MODEM, in fact sometime you transport those serial signal accros a TCP connection.

My way of making 'Y' cable.

The main reason I was stop to use any of those program, was that you need to build a cable. I found an easy way to make those without any soldering or destruction or risk or ...

Required equipment:
4 ethernet straight cable.
3 DB9 female to RJ45 female customisable connector.
1 DB9 male to RJ45 female customisable connector.
1 RJ45 female RJ45 female connector.
2 RJ45 doubler (1 male connector to 2 female connector).

An RJ45 cable is having 8 wires, so you won't be able to transmit all the 9 signal from a RS232 cable. I think you can safely ignore the Ring Indicator wich is not frequently used except for call back maybe.

There is no standard for transporting RS232 over a UTP cable so you are on your own. However if you are in the networking industry you can take a look at cisco way of doing thing, they have the concept of rollover cable that can be usefull to have a DTE to DTE cable (PC to PC).

The only thing you need to do is to choose wich pin of the Serial DB9 connector you are transporting across wich pin of the RJ45 connector. Build one MALE and one FEMALE connector with exactly the same pinout. Then use one ethernet cable and you have a extender cable to increase distance between you PC and modem. Now you can build the two sniffer/snooper MALE connector, just make sure that no output are connected, you just want to take a copy of transmited (or receaved) signal. You will have to take a close look at the various 'Y' cable described with the program of your choice.

Linux/Unix program

Serial "Tap" Cable & Software
This program and cable where used to analyse the protocol between a nokia phone and a Windows PC. The cable shematics and small c program are provided. The cable is limited to the transmit and receive signal, also the program is very simple, but seems to do the job.

scope - Linux Serial Line Analyser
scope is a simple Linux program that allows you to capture data flowing between two devices that communicate over a 7-wire (or fewer) RS232 serial connection. To do this, it requires a special cable. This page tells you how to obtain scope and how to build it, install it, and build the cable.


Windows program


- . ---
no counter The content of this page is copyrighted: ©David GLAUDE.
Content last updated: Thu Jan 31, 2002.
This file generated: Fri Apr 26 12:17:29 CEST 2002 .