From: david@ruc.dk (David Stodolsky)
Newsgroups: comp.unix.aux
Subject: Serial ports, modem control
Summary: What not flow and hang-up control on Mac ports?
Keywords: I/O DTR CTS DCD flow control hang-up carrier detect
Date: 23 Nov 92 20:18:17 GMT
Organization: Roskilde Universitetscenter, Danmark


Modem control seems to be the most confused issue in the area of Mac
communications. I have reviewed all the info I could find and most of it
is not clear. In some cases the info is just plain wrong, even when
obtained from reliable sources. Since serial I/O is an infamous
unresolved problem in A/UX, I thought it would be nice to at least be
sure that the modem connections were used to their best advantage.

An accepted truism is that the Mac doesn't have enough lines for both
hardware handshaking and hang-up control. However, if we look at the
ports, this is not necessarily an operational truth, even though it is
physically true. 

I will assume that we are using a Apple "standard cable" (see below),
this is different than the set up in the FAQ. (Even in the case of
hang-up control, some suggest CTS going to HSKi, while others suggest
DCD.) I assume a Telebit T-2500 modem.

While there are not 4 lines available for the two types of handshaking,
the standard cable allows "reuse" of the HSKo line. That is, this line
can function as RTS for flow control and as DTR for a hang-up command.
The T-2500 permits specification of a delay time for DTR action, this
permits it to ignore RTS/CTS exchanges that may take place on the DTR
line.

Even if this can not be set, most modems permit reset using a special
character sequence (+++) surrounded by guard periods. So even if
HSKo/HSKi are used only for flow control, it still seems like it is
possible to use other means to force the modem to hang-up. "Break" is
another option to force the modem to return to the command mode. What is
not possible with some of these options is the automatic reload of a
default configuration, but once in the command mode this can occur
explicitly (if this is permitted by software).

This assumes that he GPi (General Purpose input) can be used to input
carrier presence info (DCD). I read in the "Technical Intro to the Mac
Family" that this input was added to permit handling of synchronous
modems. Can it be used for sensing the presence of the carrier? If so,
then it seems like both flow control and hang-up control can be achieved
with the standard Mac ports.

I have not looked at the software side of this, so I don't know what the
practical implications of my argument are. Any takers? 

=================================================================

From: macintosh/comm-faq/part1
Last-modified: Sun Oct 11 1992

        However, if you are using a
        high-speed modem that can ignore DTR, and/or Remote AppleTalk,
        you should instead use the pinout in Figure 1.2.2, which
appears
        to be the pinout recommended by Apple:

                Macintosh (DTE)                           Modem (DCE)
                    DIN-8                                    DB-25

                Pin  Signal                               Signal  Pin
                 1    HSKo   ----------------------+----   RTS     4
                                                   '----   DTR    20

                 2    HSKi   ---------------------------   CTS     5
                 3    TxD-   ---------------------------   TxD     2

                 4    GND    ----+----------------------   GND     7
                 8    RxD+   ----'

                 5    RxD-   ---------------------------   RxD     3
                 6    TxD+   (nc)                    
                 7    GPi    ---------------------------   DCD     8

                    shield   ---------------------------   shield

                                Figure 1.2.2
-- 
David S. Stodolsky                Messages: + 45 46 75 77 11 x 24 41
Department of Computer Science                 Tel: + 45 31 95 92 82
Bldg. 20.1, Roskilde University Center        Internet: david@ruc.dk
Post Box 260, DK-4000 Roskilde, Denmark        Fax: + 45 46 75 42 01