Four days of troubleshooting what should have been a no-brainer task. A bunch of brand new industrial dedicated 1200 baud modems, connected to a terminal server via an external asynchronous buffered handshaking device.
It should have been so easy, that after installing the equipment thousands of kilometres away, we left site without a full test because we were confident that it would work. After all, the terminal server could see the modems, the modems flashed when we sent characters to it, and all the routers and switched and frame relays were working fine.
Turns out, it couldn't have been more difficult.
To make it worse, the symptoms we were seeing were very strange. When connected to the external handshaking device:
- the modem to generated a 1.9kHz tone on the transmit pair
- the modem does not transmit anything on that pair
- the modem seems to echo back to the DTE device anything sent, almost like the modem was in loopback mode
After finally admitting that I'd run out of ideas, we went and borrowed a $10k HP protocol analyser, to see what was going on between the modem and the handshaking device.
And the bloody thing worked.
So I turned to my colleague and said, “Fantastic! It works! All we need now are 19 more of these protocol analysers!”. Further analysis revealed that the solution was the simple straight through ribbon cable that the protocol analyser used to tap into the RS232 lines.
So we scratched our heads for a while. This is a straight through cable. None of the lines were being crossed, so how was this cable making it work? We plugged in another store-bought straight through cable and it didn't work. Well, that made the next step easy – compare, pin for pin, the two cables.
Turns out the only difference was that the ribbon cable (the one that worked) did not connect pin 14 and pin 25.
So back down to the modems, and by using a break out box we disabled those lines one at a time, and it turns out that the problem was pin 25.
Pin 25 is not a pin you hear much about in RS232 standard, so I frantically looked it up in the standard to find out what it does. The answer? Nothing! It does nothing. The standard says that this pin is unused/unassigned.
So, after 4 days, the solution was to disconnect one of the un-used pins.
The final answer is that both the modem and the external handshake device use pin25 for optional features. The modem uses it for factory testing purposes and the handshake device uses it to provide +12VDC. Turns out then when you put +12VDC onto the modem test circuit, the modem flips out.
The final solution is a dremel.