mishkin@apollo.HP.COM (Nathaniel Mishkin) (01/30/91)
Probably if I understood modems and RS-232 as well as I should, I would know the answer to this, but... Suppose I have 2 Telebit modems connected in PEP mode. Suppose further that both modems have correctly established flow control in both directions to their respective DTEs. My question is this: If one of the DTEs says "stop" (i.e., sends an XOFF to the modem or drops RTS, depending on which kind of flow control is set), will the modem attached to that DTE send any sort of "stop" signal to the remote modem and induce that remote modem to say "stop" to its attached DTE (e.g., send an XOFF to the DTE or drop CTS)? I'm guessing/hoping that the magic of PEP mode (which, after all, includes stuff like letting one modem read its peer's registers!) includes a modem-to-modem flow control. Or am I hopeless naive about how all this works? -- -- Nat Mishkin Cooperative Object Computing Division / East Hewlett-Packard Company mishkin@apollo.hp.com
tnixon@hayes.uucp (01/30/91)
In article <1991Jan29.142326@apollo.HP.COM>, mishkin@apollo.HP.COM (Nathaniel Mishkin) writes: > Suppose I have 2 Telebit modems connected in PEP mode. Suppose further > that both modems have correctly established flow control in both directions > to their respective DTEs. My question is this: If one of the DTEs says > "stop" (i.e., sends an XOFF to the modem or drops RTS, depending on which > kind of flow control is set), will the modem attached to that DTE send > any sort of "stop" signal to the remote modem and induce that remote > modem to say "stop" to its attached DTE (e.g., send an XOFF to the DTE > or drop CTS)? ... I don't know exactly how Telebit does it in PEP, but I assume it is something like the way CCITT V.42 does it. I _do_ know a few things about V.42. In V.42, when a DTE XOFF's a modem (or drops RTS), this stops the flow of data from DCE to DTE. The DCE has several options in this case. It could choose to immediately send an RNR (Receive Not Ready) frame to the remote modem, to immediately stop incoming data. It could let data back up in the DTE output buffer, and eventually force the transmission of an RNR when the buffers fill up. In either case, assuming the flow-off condition persists long enough, the remote modem will eventually be told by the local modem not to send any more data. The remote modem might immediately flow-off its DTE, or it could also allow its DTE input buffer to fill up, eventually causing a flow-off due to the buffer threshold being exceeded. So, the answer to your question is, yes, modem error control protocols in general do have a way to flow off between modems, although this mechanism might not be directly invoked by a flow-off condition on the DTE-DCE interface. -- Toby Nixon, Principal Engineer | Voice +1-404-449-8791 Telex 151243420 Hayes Microcomputer Products Inc. | Fax +1-404-447-0178 CIS 70271,404 P.O. Box 105203 | UUCP uunet!hayes!tnixon AT&T !tnixon Atlanta, Georgia 30348 USA | Internet hayes!tnixon@uunet.uu.net
jeh@dcs.simpact.com (02/01/91)
In article <1512@public.BTR.COM>, cec@public.BTR.COM (Cerafin E. Castillo cec@btr.com) writes: > In article <1991Jan29.142326@apollo.HP.COM> mishkin@apollo.HP.COM > (Nathaniel Mishkin) writes: >> >>Suppose I have 2 Telebit modems connected in PEP mode. Suppose further >>that both modems have correctly established flow control in both directions >>to their respective DTEs. My question is this: If one of the DTEs says >>"stop" (i.e., sends an XOFF to the modem or drops RTS, depending on which >>kind of flow control is set), will the modem attached to that DTE send >>any sort of "stop" signal to the remote modem and induce that remote >>modem to say "stop" to its attached DTE (e.g., send an XOFF to the DTE >>or drop CTS)? >> [deleted] > > If using XON/XOFF flow control (S58=3/S68=[255/3]) you may use S69 to > allow XON to be sent to the remote modem and its DTE (aka pass-through) > or process it only in the local modem. There isn't a similar register > for XOFF handling, that I know of, so I wouldn't know how to do the > same with XOFF. > > As for RTS/CTS (hardware flow control), it is only done to the local modem > and can not be passed through to the remote modem. > > Both of the above cases hold true for PEP and non-PEP modulation in TELEBIT > modems. er.... not quite. Or: you're right, but I'm not sure that you're answering the question he asked. Suppose that System S (for sender) is connected to Modem S, which has a phone connection to Modem R (for receiver), which is connected to System R... the modems are Telebits in PEP mode, and they and their respective systems are configured for either xon/xoff or rts/cts flow control. Suppose that System R is busy and stops reading data for long enough that its own typeahead buffer (or local equivalent) fills up. It will, assuming all is configured properly, tell Modem R to stop handing it data (either by sending it an XOFF or by dropping RTS, depending on configuration). What happens next? Data is still coming over the phone line, so Modem R's buffer will fill up. When the buffer reaches a certain level, Modem R will tell Modem S to stop sending data. (Under PEP, I don't know whether this is done via an explicit "I'm full, don't send any more until I tell you otherwise", or via a "credit" system, or by simply ceasing to send acknowledgements. But one way or another, Modem S *is* told that Modem R is no longer receiving. Remember that PEP mode involves not just a modulation scheme but a data link protocol that includes modem-to-modem reliability and flow control.) Now, System S hasn't seen the XOFF (or the drop of CTS), so it is still handing data to Modem S. Since Modem S can't send the data to Modem R, Modem S's buffer will now begin to accumulate data. When this buffer is nearly full, Modem S will tell system S (via XOFF or dropping CTS, according to configuration) to stop sending data. In short: cec, you're right in that XOFFs and dropping-of-RTS are not sent directly through the data link *at the time they happen*. However, they are indeed propagated back to the sending system, *if necessary to avoid loss of data* (that is, if the receiving system stops receiving for long enough for its buffer and both modems' buffers to fill up). Or, as mishkin put it: > > I'm guessing/hoping that the magic of PEP mode (which, > > after all, includes stuff like letting one modem read its peer's > > registers!) includes a modem-to-modem flow control. Yes, it most certainly does. Note that the two ends need not use the same flow control scheme: One end can use xon/xoff and the other rts/cts. (before someone says "it ain't so", please note that the above is based on empirical evidence -- many hours with a pair of VAXen, test software that can detect lost data, a pair of Telebit Trailblazer Plus's, and an HP 4954A serial line protocol analyzer.) --- Jamie Hanrahan, Simpact Associates, San Diego CA uucp protocol guru, VMSnet [DECUS uucp] Working Group, DECUS VAX Systems SIG Internet: jeh@dcs.simpact.com, or if that fails, jeh@crash.cts.com Uucp: ...{crash,scubed,decwrl}!simpact!jeh