[comp.dcom.modems] Reliable and Compression Protocols -- how do they sync up?

res@colnet.uucp (Rob Stampfli) (04/14/91)

I understand the basics of how MNP and V.42 work, but I have never seen
anyone describe exactly how two modems negotiate a reliable protocol and,
possibly, compression.  How do they do this?  Does one end send a special
set of characters to the other end and look for a response?  Do they use
special tones or timing sequences?  If I am calling an intelligent modem
from a "dumb" one, what should I expect to see while the intelligent casts
about trying to figure out the capabilities of the modem on the other end?

Could someone post a short description of what goes on during the modem's
call setup.

Thanks,
-- 
Rob Stampfli, 614-864-9377, res@kd8wk.uucp (osu-cis!kd8wk!res), kd8wk@n8jyv.oh

tnixon@hayes.uucp (04/17/91)

In article <1991Apr14.062847.16418@colnet.uucp>, res@colnet.uucp
(Rob Stampfli) writes: 

> I understand the basics of how MNP and V.42 work, but I have never seen
> anyone describe exactly how two modems negotiate a reliable protocol and,
> possibly, compression.  How do they do this?  Does one end send a special
> set of characters to the other end and look for a response?  Do they use
> special tones or timing sequences?  If I am calling an intelligent modem
> from a "dumb" one, what should I expect to see while the intelligent casts
> about trying to figure out the capabilities of the modem on the other end?

[How can I do this _briefly_?  :-)  ]

A V.42 originating modem will initially send a series of XON (DC1; 
11h) characters, with alternating parity bits (11h, 91h), separated 
by 8 to 16 mark bits (this was felt to be very difficult for a 
human typist to accidentally generate, thereby reducing the 
possibility of a non-error-control originating modem being mistaken 
for an error-control modem).  It listens for the answering modem to 
send a series of repeated "EC" character patterns.  If it receives 
this pattern, it assumes that the answering modem has V.42 LAPM 
capability, and goes on to establish the LAPM protocol.

To establish the LAPM protocol, the originating modem first sends an 
Exchange Identification (XID) command frame.  This frame contains
the options that the modem desires to negotiate, in
Type/Length/Value format.  The answering modem analyzes this frame, 
selects from the options offered, and specifies the options to be 
used during the connection in an XID Response frame (I'm 
intentionally leaving out the "what ifs", such as "what if the XID 
command frame is corrupted by line noise?").  The originating modem 
then sends a SABME (Set Asynchronous Balanced Mode Extended) frame, 
the answerer responds with a UA (Unnumbered Acknowledge) frame, and 
the protocol is established and ready for data transfer.

If the EC pattern is not received, a V.42 originating modem will 
attempt the Alternative protocol (MNP compatible), by sending an MNP 
"Link Request" frame one or more times using the start/stop 
character-oriented framing mode (MNP2).  If the answering modem 
replies with an LR frame, the originating modem responds with a Link 
Acknowledge frame, and the MNP protocol is established.  The LR 
frames contain the MNP protocol options, in T/L/V encoding; there is 
not a separate parameter negotiation phase (which is why MNP can't 
renegotiate parameters during a connection, but LAPM can).

Data compression is one of the options negotiated in the XID or LR 
exchange.  The originating modem specifies all the different types 
of data compression that it supports on the given protocol.  The 
answering modem selects from among those, or none, and responds.  

The modems don't use any special tones to identify error control 
capability.  Timing _is_ used, in the sense that if the modem 
doesn't see the character pattern or protocol frame expected from 
the other side within a specified timeout period, it gives up and 
assumes the other modem doesn't support error control (although it 
may retry the frame several times before giving up).

If you call an error control modem from a dumb modem, you won't see 
ANYTHING (unless the error control modem you're calling is a Hayes 
modem, in which case you might see a pattern of space and backspace 
characters, which Hayes V-series modems use to detect the presence 
of pre-V.42 proprietary Hayes error control schemes).  That's 
because the CALLING (originating) modem sends first in both LAPM and 
MNP.  If, on the other hand, the DUMB modem was answering and being 
called by a V.42 modem, it would first see XONs with alternating 
parity for about 750 milliseconds, followed by one or two spurts of 
"garbage" data (the MNP protocol attempt), followed by nothing when 
the error-control modem falls back to non-error-control mode.

	-- Toby

P.S.  I represent Hayes in CCITT Study Group XVII, and helped write 
big chunks of V.42.  The "Detection Phase" part of the V.42 standard 
originated in a contribution to the CCITT from Hayes.

-- 
Toby Nixon, Principal Engineer    | Voice   +1-404-840-9200  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

ho@hoss.unl.edu (Tiny Bubbles...) (04/17/91)

Say I have a dumb modem and I'm calling a smart modem, oh, for example,
a Microcom QX-series MNP 10/LAPM modem.  (Real hypothetical, huh? :-) )

I advise people not to type *anything* for 2.5 seconds after the dumb
modem reports a connect to prevent being mistaken for an MNP modem.
But is there anything (like spaces, backspaces, returns) that would
actually cause a modem like that to screw up?  I ask that because it
seems to have happened to a few people, and nobody knows why.

Also, some el-cheapo internal modems, most of them using very old
chipsets, can't connect to the Microcoms *at all*.  Is this a problem
with other V.32 modems, or just Microcoms, or just our setup?
--
        ... Michael Ho, University of Nebraska
Internet: ho@hoss.unl.edu  |  Harry was too homely for Sally.  (I have proof.)
Disclaimer:  Views expressed within are purely personal and should not be
	     applied to any university agency.

ho@HOSS.UNL.EDU (Tiny Bubbles...) (04/17/91)

>Newsgroups: comp.dcom.modems
>Path: unlinfo.unl.edu!hoss!ho
>From: ho@hoss.unl.edu (Tiny Bubbles...)
>Subject: Re: Reliable and Compression Protocols -- how do they sync up?
>Message-ID: <1991Apr17.010942.10457@unlinfo.unl.edu>
>Sender: news@unlinfo.unl.edu
>Nntp-Posting-Host: hoss.unl.edu
>Organization: <none>
>References: <1991Apr14.062847.16418@colnet.uucp> <3913.280b3f55@hayes.uucp>
>Distribution: na
>Date: Wed, 17 Apr 1991 01:09:42 GMT
>Lines: 17

Say I have a dumb modem and I'm calling a smart modem, oh, for example,
a Microcom QX-series MNP 10/LAPM modem.  (Real hypothetical, huh? :-) )

I advise people not to type *anything* for 2.5 seconds after the dumb
modem reports a connect to prevent being mistaken for an MNP modem.
But is there anything (like spaces, backspaces, returns) that would
actually cause a modem like that to screw up?  I ask that because it
seems to have happened to a few people, and nobody knows why.

Also, some el-cheapo internal modems, most of them using very old
chipsets, can't connect to the Microcoms *at all*.  Is this a problem
with other V.32 modems, or just Microcoms, or just our setup?
--
        ... Michael Ho, University of Nebraska
Internet: ho@hoss.unl.edu  |  Harry was too homely for Sally.  (I have proof.)
Disclaimer:  Views expressed within are purely personal and should not be
	     applied to any university agency.
-- 
        ... Michael Ho, University of Nebraska
Internet: ho@hoss.unl.edu  |  Harry was too homely for Sally.  (I have proof.)
Disclaimer:  Views expressed within are purely personal and should not be
	     applied to any university agency.

root@zswamp.uucp (Geoffrey Welsh) (04/18/91)

 >From: tnixon@hayes.uucp

 >[How can I do this _briefly_?  :-)  ]

   Forget briefly, you did it *well*.

 >If, on the other hand, the DUMB modem was answering and being 
 >called by a V.42 modem, it would first see XONs with alternating 
 >parity for about 750 milliseconds, followed by one or two spurts of 
 >"garbage" data (the MNP protocol attempt), followed by nothing when
 >the error-control modem falls back to non-error-control mode.

   During my experimentation with the GVC Super Modem 9600 (V.32 & V.42), I 
found that my Hayes Smartmodem reported only 0x91 characters; is there a 
logical explanation for this, or might this have been the source of 
occasional problems I had with the GVC V.32?

   I have found many modems which don't like being blasted with a V.42 
negotiation request, and sometimes dropping them to MNP only solved the 
problem.  One example is a SendFAX modem sold under the name "Hedaka"; I 
can't call it with V.42 modems such as the ATI 2400etc and the latest 
revision of HST, but the older HSTs (which only requested MNP) and modems 
such as the Cardinal 2400MNP work fine.  The Hedaka locks up completely when 
called by a V.42 compliant modem!
 

--  
UUCP:     watmath!xenitec!zswamp!root | 602-66 Mooregate Crescent
Internet: root@zswamp.fidonet.org     | Kitchener, Ontario
FidoNet:  SYSOP, 1:221/171            | N2M 5E6 CANADA
Data:     (519) 742-8939              | (519) 741-9553
The mile is traversed not by a single leap, but by a procession of coherent 
steps; those who insist on making the trip in a single element will be
failing long after you and I have discovered new worlds. -- me

root@zswamp.uucp (Geoffrey Welsh) (04/18/91)

In a letter to All, Tiny Bubbles... (ho@HOSS.UNL.EDU ) wrote:

 >Also, some el-cheapo internal modems, most of them using 
 >very old
 >chipsets, can't connect to the Microcoms *at all*.  Is this 
 >a problem
 >with other V.32 modems, or just Microcoms, or just our 
 >setup?

   As I just reported to Toby, I suspect that these modems can't handle the 
V.42 protocol negotiation request.  Dropping back to MNP or no error 
correction at all should solve the problem (add the disable command to your 
dial string).
 

--  
UUCP:     watmath!xenitec!zswamp!root | 602-66 Mooregate Crescent
Internet: root@zswamp.fidonet.org     | Kitchener, Ontario
FidoNet:  SYSOP, 1:221/171            | N2M 5E6 CANADA
Data:     (519) 742-8939              | (519) 741-9553
The mile is traversed not by a single leap, but by a procession of coherent 
steps; those who insist on making the trip in a single element will be
failing long after you and I have discovered new worlds. -- me

tnixon@hayes.uucp (04/18/91)

In article <9104170413.AA03912@ucbvax.Berkeley.EDU>, ho@HOSS.UNL.EDU
(Tiny Bubbles...) writes: 

> Say I have a dumb modem and I'm calling a smart modem, oh, for example,
> a Microcom QX-series MNP 10/LAPM modem.  (Real hypothetical, huh? :-) )
> 
> I advise people not to type *anything* for 2.5 seconds after the dumb
> modem reports a connect to prevent being mistaken for an MNP modem.
> But is there anything (like spaces, backspaces, returns) that would
> actually cause a modem like that to screw up?  I ask that because it
> seems to have happened to a few people, and nobody knows why.

The MNP Link Request frame starts with the ASCII characters SYN, 
DLE, STX.  Nothing else you type could be mistaken for an MNP frame, 
so it shouldn't cause the modem to "screw up".  Some modems look for 
certain _specific_ characters (like ^C, or CR) to force an immediate 
fall back to non-error-control mode, but, again, this is the desired 
result, not a "screw up".  Can you describe the problem in greater 
detail -- what are you observing that is undesirable?

> Also, some el-cheapo internal modems, most of them using very old
> chipsets, can't connect to the Microcoms *at all*.  Is this a problem
> with other V.32 modems, or just Microcoms, or just our setup?

Who knows.  It could be that the "el-cheapo" modems don't respond 
fast enough to the unscrambled binary one (USB1) signal sent to 
initiate V.22bis/V.22/Bell 212 modulation, so the Microcom modem 
(assuming it is the answering modem) goes on to try V.32 again, and 
the connection fails.  But if the "el-cheapo" modem is this far out 
of compliance with the applicable standards, you'd see the problem 
with ANY of the newer V.32 Automode modems, not just Microcom.

	-- Toby

-- 
Toby Nixon, Principal Engineer    | Voice   +1-404-840-9200  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

tnixon@hayes.uucp (04/22/91)

In article <7220.280D2809@zswamp.uucp>, root@zswamp.uucp (Geoffrey
Welsh) writes: 

>    During my experimentation with the GVC Super Modem 9600 (V.32 & V.42), I 
> found that my Hayes Smartmodem reported only 0x91 characters; is there a 
> logical explanation for this, or might this have been the source of 
> occasional problems I had with the GVC V.32?

If the GVC modem only sends 0x91 characters, a V.42-compliant 
answering modem will not recognize it as supporting LAPM protocol.  
It should connect in MNP after fallback, I hope...

>    I have found many modems which don't like being blasted with a V.42 
> negotiation request, and sometimes dropping them to MNP only solved the 
> problem.  One example is a SendFAX modem sold under the name "Hedaka"; I 
> can't call it with V.42 modems such as the ATI 2400etc and the latest 
> revision of HST, but the older HSTs (which only requested MNP) and modems 
> such as the Cardinal 2400MNP work fine.  The Hedaka locks up completely when 
> called by a V.42 compliant modem!

Does the Hedaka have MNP itself?  Or is it a non-error-control 
modem?  It's strange that it would "lock up", but then nothing much 
surprises me in modems anymore.

-- 
Toby Nixon, Principal Engineer    | Voice   +1-404-840-9200  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

root@zswamp.uucp (Geoffrey Welsh) (04/23/91)

 >From: tnixon@hayes.uucp

 >In article <7220.280D2809@zswamp.uucp>, root@zswamp.uucp 
 >(Geoffrey Welsh) writes:

>    During my experimentation with the GVC Super Modem 9600 (V.32 & V.42), I 
> found that my Hayes Smartmodem reported only 0x91 characters; is there a 
> logical explanation for this, or might this have been the source of 
> occasional problems I had with the GVC V.32?

 >If the GVC modem only sends 0x91 characters, a 
 >V.42-compliant 
 >answering modem will not recognize it as supporting LAPM 
 >protocol.  
 >It should connect in MNP after fallback, I hope...

   That's the thing: it appeared to connect in V.42 mode to modems such as the 
USRobotics HST.  I was wondering if this was explainable...

>    I have found many modems which don't like being blasted with a V.42 
> negotiation request, and sometimes dropping them to MNP only solved the 
> problem.  One example is a SendFAX modem sold under the name "Hedaka"; I 
> can't call it with V.42 modems such as the ATI 2400etc and the latest 
> revision of HST, but the older HSTs (which only requested MNP) and modems 
> such as the Cardinal 2400MNP work fine.  The Hedaka locks up completely when 
> called by a V.42 compliant modem!

 >Does the Hedaka have MNP itself?  Or is it a 
 >non-error-control 
 >modem?  It's strange that it would "lock up", but then 
 >nothing much surprises me in modems anymore.

   No, it's a SendFAX modem.  MNP initiation requests don't seem to bother it, 
but a call from a V.42 modem doesn't result in a usable connection.  Oddly, my 
Hayes Smartmodem 2400 won't recognize its answer tone when I call at 2400, but 
it will at 1200 (a recent occurrence, though a USR HST in my area doesn't have 
the problem... once I configured that system to call this one with LAP-M 
disabled, he has all good connects)

   You're right about one thing: *nothing* about modem connectivity should 
surprise us anymore.
 

--  
UUCP:     watmath!xenitec!zswamp!root | 602-66 Mooregate Crescent
Internet: root@zswamp.uucp            | Kitchener, Ontario
FidoNet:  SYSOP, 1:221/171            | N2M 5E6 CANADA
Data:     (519) 742-8939              | (519) 741-9553
The mile is traversed not by a single leap, but by a procession of coherent 
steps; those who insist on making the trip in a single element will be
failing long after you and I have discovered new worlds. -- me