Jeff's Cable FAQ

Macintosh Modem Cables: What's the dif?
Which pins mean what on my Mac to modem cable?
What's the logic?

Where it goes wrong

Macintosh Modem Cables... a brief history:

Before V.32bis, modems "talked" at 9600 baud [or less] and the "my buffer is full" messages were sent in the same data stream as the "normal" data.  This is called XON/XOFF flow control. With the advent of V.32bis [and V.34 etc. etc.] the flow control is handled by a different wire; either a wire dedicated to CTS/RTS [clear to send/request to send]. Since pre- V.32bis modems didn't need the "special" CTS wire, almost all cable manufacturers left this wire out [save .0000002 cents per cable]. Well, guess what, if you want a modem to go faster than 9600B AND not have to wait for the flow control, you need that extra pin!  Well, in the Mac serial port RTS is "shared" by the same pin as DTR, so you have to ignore DTR if you want to use CTS/RTS flow control.  You can find out if your mac cable is an "old" [XON/XOFF] cable or a new [RTS/CTS] cable by seeing if there is continuity from pin 4 on the DB25 side to pin 1 on the mini8 side and from pin 5 to pin 1.  If you have an old cable with a "new" modem [faster than 9600b] use XON/XOFF flow control and set DTR to "normal" on the modem.  If you have a new cable [known as a Hardware Handshake Cable] turn off XON/XOFF, turn on CTS/RTS and set DTR to "high" [force on always] on the modem.  DTR is Data Terminal Ready and if the modem is looking for it [normal mode] and you try to use CTS/RTS signaling, well, the modem just won't work, or it might for a little while, then hang as soon as you start transmitting data.  

Which pins mean what on my Mac to modem cable?

DTR   Data Terminal Ready
RTS   Request to Send
CTS   Clear to Send
TX    Transmit
SG    7
RX    3
Mac What  DB-25
1 DTR & RTS 4 & 20
2 CTS 5
3 TX 2
4 SG 7
5 RX 3
6 Unused
7 Unused x
8 SG 7

There was some logic to this:  When the mini8 was introduced [with the introduction of the Mac ][ and the Mac Plus], the important parts of RS-232c were TX [transmit] SG [signal ground] and RX
[receive]  These were put right in the middle of the connector for ease of construction and to keep cross-talk to a minimum.  DTR, CTS and RTS came along after [they were always in the spec, but early serial devices just didn't need them!  My first Hayes 300 baud modem only used three wires!]

Where it goes wrong:  Most modem manufacturers who make modems for both Wintel and Mac platforms make any and all necessary changes in the driver software [on the host] and leave the modem alone. An interesting exception is USR [now 3Com]. The Mac version comes with pin #1 in the opposite position from the Wintel  model. This forces DTR high [always on] on the modem so that the modem behaves itself in a CTS/RTS world. Of course, this means if you take a USR modem and change sides, you have to change a handy-dandy little dip-switch on the modem to make it work right.  Not a big deal, but it can really hose you when you have a whole pile of modems and use them interchangeably on various platforms. Or perhaps you bought a used modem and it's not really clear which platform the Marketing folks decided it should be targeted toward.

Why Mac?


Last noodled with March 1998.
Send comments and suggestions to: