3

I’m trying to send data between a no-name Celeron PC running MS-DOS 6.22 and a Digital VT520 serial terminal. I have connected COM1 to the terminal’s COMM1, but can’t get data to flow in either direction.

I used mode and ensured the terminal and DOS are using the same serial configuration.

type com1 hangs, no data is ever printed, despite pressing keys on the terminal.

echo hi > com1 and ctty com1 both respond with

Write fault error writing device COM1
Abort, Retry, Ignore, Fail?f
Invalid device

Here’s a picture of my screen:

enter image description here

What could I try next? From BIOS setup, I can change the IRQ and address of COM1, but it’s currently set to 3F8H/IRQ4 which I think is the default.

5
  • 6
    Is your cable a null modem (crossover) cable or a straight through one? Is it a 3 or 5 wire connection?
    – cup
    Commented Aug 27, 2022 at 19:58
  • 1
    @cup That’s a great question. It’s DB-9 on the PC side, and DE-25 on the terminal side. The Amazon listing says it’s for connecting a PC to an “AT modem.” I don’t know if it’s a null modem cable. Will get out the multimeter and some probes. Commented Aug 27, 2022 at 20:22
  • 3
    If it's for connecting to a modem it's not a null modem cable, they're wired differently. If the connectors have screw together shells you might be able to open it up and rewire it, if they're moulded plastic not so much. You can buy specific null modem cables, or you can just buy a "null modem adapter" that plugs into one end of your current cable to convert it.
    – mnem
    Commented Aug 27, 2022 at 20:59
  • If both the PC and terminal are Data Terminal Equipment (DTEs), and the modem would be a Data Communication Equipment (DCE), how is it possible that you were able to connect the cable between PC and terminal, if you have a DTE to DCE cable with connectors of appropriate gender.
    – Justme
    Commented Aug 27, 2022 at 22:47
  • MS-DOS native support for serial terminals (and anything to do with serial in general) is so bad as to be effectively nonexistent. Your best bet is to find an application that is designed to do serial ports (eg. Qmodem or Telix or similar) and use that. Commented Aug 28, 2022 at 20:56

3 Answers 3

2

From a comment:

The Amazon listing says it’s for connecting a PC to an “AT modem.”

Then this is, as cup and mnem suspect the issue.

I don’t know if it’s a null modem cable.

If it's to connect a modem, then it's most likely not a Cross-Over Cable.

So either get a null-modem, or a cross-over cable (*1).


When he standard for wiring of communication devices were made, the most simple cable, that is a straight on-on-one, was assigned the most common use case, the connection between a terminal(*2) and its communication hardware (*3).

Since roles are fixed, any side specific wiring, i.e. what wire to use for sending and receiving for each signal, can be made within each device. Saves cost and avoids confusion what end to use (*4).

Same reason printer cables (considered to be within a DTE) are straight as well.

Now what you want to do is connecting two terminals, two devices that have the same connector (*5) and the same pinout, so any cable needed to connect them must swap all corresponding signals.


*1 - Or change it to be one, like mnem suggests. Although I doubt that the connectors are anything but sealed. So in an age of Alibaba and DHL, buying one might be the most simple way.

*2 - DTE, Data Terminal Equipment, read a PC or Terminal

*3 - DCE, Data Communication Equipment, whatever made the network connection. In simple cases a modem.

*4 - Just imagine having pulled a 40m serial cable thru desks and walls just to realize you the wrong end. Doesn't happen with straight cables and symmetric connectors

Ofc, the standard wouldn't be one made by a committee if it didn't screw up right away by defining DTE to have a male and DCE to have a female connector. So one could still end up with that issue - except, back then connectors were rarely sealed, so depending on the effort to lay that cable again, one rather used a gender bender on each end, or, last resort a soldering iron to swap the connectors.

Some terminal suppliers, aware of this issue, used female connectors build in to the terminal and defined a male-male cable as being part of the terminal, thus making it symmetric in all practical aspect.

*5 - The team designing the PC of course complicated this by making the standard serial a DE9 connector. Of course, they never thought about connecting a modem there, as any user serious about communications would buy an IBM Asynchronous Communications Adapter with a 'real' DB25 using RS232 to do so, not the simplified one intended for other devices, like printers.

3
  • I found a “ StarTech 10ft Cross Wired DB9 to DB25 Serial Null Modem Cable, F/M (SCNM925FM)” in the parts bin, which indeed works, but on COM2! Commented Aug 29, 2022 at 0:13
  • @JacobKrall Well, then a self test with loop back may be the first to try, like lvd describes.
    – Raffzahn
    Commented Aug 29, 2022 at 0:15
  • Edited my comment, in case you missed it: it works on COM2! Thanks once again. Commented Aug 29, 2022 at 0:43
3

The first ultimate thing to do is to check whether a physical loopback is working. In your PC, short RxD and TxD pins in the connector and check whether you see echo in your PC terminal. Also check that the echo disappears when loopback is removed.

After that, do the same with the terminal.

Check that your cable is right by looking up connector pinouts elsewhere and checking the cable with a multimeter.

1
  • I used to do this with bits of paper clip - the size was just right for the DB9/25 sockets. Nowadays it isn't so easy because the paper clips have plastic coverings.
    – cup
    Commented Aug 28, 2022 at 9:21
0

To expand on the previous answers, which correctly suggested looking at RxD and TxD lines, I would also suggest looking at the flow control signals (CTS, DTR, etc.). Writing data to a serial port generally will not produce an error even if the RxD and TxD are connected improperly when not using the flow control signals. When using the flow control signals, the lack of the proper signal levels will cause a serial write to fail.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .