I have an old GNT-4601 punched tape reader/punch that I'm trying to connect to a modern computer. Using the DTE port and a usb-to-serial adapter, I'm able to send data to the punch but I can't read anything back. Py-serial gives a single b'\x00' on read

I suspect that I may be using the type of wrong cable. The machine uses RS-232C with a DB-25 connector. Here is the manual with more information: https://archive.org/stream/bitsavers_gntGNT46012_1858526/GNT_4601_Operators_Manual_Jun82#page/n7/mode/2up

Any suggestions on what to try or how to debug the problem?

  • Have you tried a null-modem: switch pins 2&3, 4&5, 7&20.
    – cup
    Feb 27, 2018 at 7:07
  • @cup punching works, therefore the pins are not swapped. Feb 27, 2018 at 8:30
  • 1
    Are you asserting DSR? That manual states that you must set it in order to read. Your cable must have the DSR pin connected and your software must assert it.
    – Chenmunka
    Feb 27, 2018 at 9:13
  • 1
    @berendi: No. I mean DSR - Data Set Ready..
    – Chenmunka
    Feb 27, 2018 at 9:21
  • 1
    If you don't already have one, you may want to get a RS232 Breakout Box. I have (or used to have) a bunch of these amazon.com/Breakout-Box-RS232-Serial-Tester/dp/B076BXY47P which let you easily test every pin or the simpler ones like these ebay.com/itm/… - all of which seem to have gotten expensive, probably because hardly anyone needs them now and anyone who needs one will pay the price. Mar 2, 2018 at 2:42

1 Answer 1


I'd first double-check that the switches are correctly set, then try looking for flow control issues.

If software flow control is selected (DC Codes and SW3 are ON), the reader waits for a DC1 (XON, decimal code 17) control character to start transmitting. In a terminal program, you can try typing ctrl+Q.

If hardware flow control is selected, ensure that your communication program sets the DTR signal.

  • 2
    According to the manual linked in the question, DTR is only used for punching, not for reading. The OP states that punching works.
    – Chenmunka
    Feb 27, 2018 at 9:28
  • @Chenmunka There is a male DB-25 cable going to the female DTE port on the device. I'm assuming the device is in local mode, neither a null-modem cable nor a modem is involved. Therefore 3.5.1. a) applies: "Reader controlled by DC1/DC3 (if selected) or DTR". Feb 27, 2018 at 9:44
  • Ah, the joys of debugging an RS232 connection! At least it is worth a try.
    – Chenmunka
    Feb 27, 2018 at 9:46
  • So I can send the xon signal to start the reader, I just never receive any data back. The reader itself is also acting very oddly, reading in short jerky bursts instead of smoothly like I'd expect. The whole thing could just be busted but I'm also not convinced I'm listening for data properly in the first place Feb 28, 2018 at 7:38

You must log in to answer this question.

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