7

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 '18 at 7:07
  • @cup punching works, therefore the pins are not swapped. – followed Monica to Codidact Feb 27 '18 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 '18 at 9:13
  • 1
    @berendi: No. I mean DSR - Data Set Ready.. – Chenmunka Feb 27 '18 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. – manassehkatz-Moving 2 Codidact Mar 2 '18 at 2:42
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.

| improve this answer | |
  • 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 '18 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". – followed Monica to Codidact Feb 27 '18 at 9:44
  • Ah, the joys of debugging an RS232 connection! At least it is worth a try. – Chenmunka Feb 27 '18 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 – Matt Bierner Feb 28 '18 at 7:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.