ditto@cbmvax.UUCP (Michael "Ford" Ditto) (10/20/88)
In article <727@wsccs.UUCP> terry@wsccs.UUCP (Every system needs one) writes: >UNIX on, DTR high, phone rings: Modem answers the phone. Connection > occurs. Modem sends "CONNECT" > message to the computer. [ ... ] > [ Turning off ] > [ result codes is a bad idea, since it can ] > [ keep you from dialing out. ] I disagree. Having "result codes" on a dialin modem on a Unix system is a pretty stupid idea, for the above mentioned reason (Modem sends "CONNECT" message to the computer ... computer thinks "CONNECT" is a login name, etc.). There is no reason for the "result codes" to be turned on except when dialing out. -- -=] Ford [=- "The number of Unix installations (In Real Life: Mike Ditto) has grown to 10, with more expected." ford@kenobi.cts.com - The Unix Programmer's Manual, ...!sdcsvax!crash!elgar!ford 2nd Edition, June, 1972. ditto@cbmvax.commodore.com
friedl@vsi.COM (Stephen J. Friedl) (10/20/88)
In article <5042@cbmvax.UUCP>, ditto@cbmvax.UUCP (Michael "Ford" Ditto) writes: > > I disagree. Having "result codes" on a dialin modem on a Unix > system is a pretty stupid idea, for the above mentioned reason > (Modem sends "CONNECT" message to the computer ... computer thinks > "CONNECT" is a login name, etc.). It is certainly a drag to be stuck in upper case because RING was seen as a login. To combat this, we set our modems to give digit result codes instead of verbose ones; we've been quite pleased except that it's harder to debug the outgoing dialing... Steve -- Steve Friedl V-Systems, Inc. +1 714 545 6442 3B2-kind-of-guy friedl@vsi.com {backbones}!vsi.com!friedl attmail!vsi!friedl ---------Nancy Reagan on the Three Stooges: "Just say Moe"---------
jfh@rpp386.Dallas.TX.US (The Beach Bum) (10/22/88)
In article <889@vsi.COM> friedl@vsi.COM (Stephen J. Friedl) writes: >In article <5042@cbmvax.UUCP>, ditto@cbmvax.UUCP (Michael "Ford" Ditto) writes: >> I disagree. Having "result codes" on a dialin modem on a Unix >> system is a pretty stupid idea, ... > >It is certainly a drag to be stuck in upper case because >RING was seen as a login. To combat this, we set our modems >to give digit result codes instead of verbose ones; I run both lines bi-directional on this system. The approach I use is to turn off echo and result codes when I prepare the modem for dialin. Then, when the modem is being initialized for dialing out, result codes and echo are both enabled. I use verbose result codes since getty is no longer in the picture. The string I send just after hangup is ATE0V1Q1S0=1, then when I am ready to start dialing I send ATE1V1Q0S0=0 [ and curse the RING codes I still wind up getting ]. -- John F. Haugh II +----Make believe quote of the week---- VoiceNet: (214) 250-3311 Data: -6272 | Nancy Reagan on Richard Stallman: InterNet: jfh@rpp386.Dallas.TX.US | "Just say `Gno'" UucpNet : <backbone>!killer!rpp386!jfh +--------------------------------------
dave@westmark.UUCP (Dave Levenson) (10/22/88)
In article <889@vsi.COM>, friedl@vsi.COM (Stephen J. Friedl) writes: > In article <5042@cbmvax.UUCP>, ditto@cbmvax.UUCP (Michael "Ford" Ditto) writes: ... > > (Modem sends "CONNECT" message to the computer ... computer thinks > > "CONNECT" is a login name, etc.). ... > It is certainly a drag to be stuck in upper case because > RING was seen as a login. To combat this, we set our modems > to give digit result codes instead of verbose ones; we've > been quite pleased except that it's harder to debug the > outgoing dialing... There is a simpler solution, for UNIX Sys V Rel 2.5 on the 6300PLUS. Perhaps it also applies to the 6386. In your inittab, when you spawn uugetty on the modem, set option -d<n> with a value in seconds. This causes uugetty to ignore characters for <n> seconds before prompting for login. I generally use uugetty -d8 to pause 8 seconds after answering before prompting. This means that the modem can generate the RING message, and then the CONNECT message that results from the modem handshake, before I expect a login name. Verbose mode works fine with this option. I find verbose mode makes the dialer script a bit more robust. -- Dave Levenson Westmark, Inc. The Man in the Mooney Warren, NJ USA {rutgers | att}!westmark!dave
dave@onfcanim.UUCP (Dave Martindale) (10/22/88)
What you *really* want for mixed dialin/dialout on UNIX is a modem that is totally silent, like any dumb modem, when answering a call but which provides verbose "result codes" in originate mode. With some Hayes-compatible modems, you can do this by having result codes turned off in the settings in EEPROM, having the modem reset itself from the EEPROM settings when DTR drops, and then using a uucico "chat script" to turn on result codes before dialing. Or you can just use a Trailblazer, which allows you to specify silent answer mode and verbose originate mode. The Trailblazer has the largest number of useful options of any modem I've ever seen. (Hello, Hayes, anyone awake out there?)
terry@wsccs.UUCP (Every system needs one) (10/30/88)
In article <889@vsi.COM>, friedl@vsi.COM (Stephen J. Friedl) writes: > In article <5042@cbmvax.UUCP>, ditto@cbmvax.UUCP (Michael "Ford" Ditto) writes: > > I disagree. Having "result codes" on a dialin modem on a Unix > > system is a pretty stupid idea, for the above mentioned reason > > (Modem sends "CONNECT" message to the computer ... computer thinks > > "CONNECT" is a login name, etc.). > > It is certainly a drag to be stuck in upper case because > RING was seen as a login. To combat this, we set our modems > to give digit result codes instead of verbose ones; we've > been quite pleased except that it's harder to debug the > outgoing dialing... Urg. My suspicions confirmed. Nobody is reading anything anybody else is posting. IF you have your modem set up correctly, it will not raise DCD until after it has sent the result code. IF you have your UNIX set up correctly, all input prior to the modem raising DCD will be thrown away, as the open has not completed. IF you open your port correctly when dialing out, the open will not hang and you will be able to read() and write() the modem fd without DCD present. IF you have your UNIX set up correctly, it will drop DTR when the port is not open or in the process of being open. If you have your modem set up correctly, the modem will be reset by a DTR drop, thereby making it a moot point that your dialer has turned on result codes anyway. Your dialer could set ANY settings it wanted to without it effecting dial in, as long as the permanent modem settings were correct for dial in. Summary: set it up correctly. terry@wsccs
paulr@prapc2.UUCP (Paul Raulerson) (11/03/88)
In article <758@wsccs.UUCP> terry@wsccs.UUCP (Every system needs one) writes: >In article <889@vsi.COM>, friedl@vsi.COM (Stephen J. Friedl) writes: >> In article <5042@cbmvax.UUCP>, ditto@cbmvax.UUCP (Michael "Ford" Ditto) writes: >> > I disagree. Having "result codes" on a dialin modem on a Unix >> > system is a pretty stupid idea, for the above mentioned reason >> > (Modem sends "CONNECT" message to the computer ... computer thinks >> > "CONNECT" is a login name, etc.). >> >> It is certainly a drag to be stuck in upper case because >> RING was seen as a login. To combat this, we set our modems >> to give digit result codes instead of verbose ones; we've >> been quite pleased except that it's harder to debug the >> outgoing dialing... > >Urg. My suspicions confirmed. Nobody is reading anything anybody else >is posting. > >IF you have your modem set up correctly, it will not raise DCD until after >IF you have your UNIX set up correctly, all input prior to the modem raising >IF you open your port correctly when dialing out, the open will not hang and >IF you have your UNIX set up correctly, it will drop DTR when the port is not >Summary: set it up correctly. > terry@wsccs And if wishes were horses then beggars would ride :-) I notice that even though you are right, not much information is provided about *how* to "set it up properly". Since there are probably a zillion different "it"s around, ranging from AT's to Crays', I suspect that configuring a modem for dial in/dial out is not as simple everywhere as where you apparently reside. <grin>. Don't forget, some modems treat DTR a little differently than on Telebits or Hayes V series, or USR HST's. The common Hayes 1200 modem doesn't even have the &D commands for DTR control. Many many clone modems have neither dip switches or software commands to control DTR. Either you gots it or you don't. Notice please, that several implmentations of UNIX are far easier to deal with concerning modems and tty configuration than others. MicroPort on an AT is much easier to configure for modems than a Sun workstation. Maybe the folks concerned with 'standards' could think up some agreeable way to handle modem control on standard RS-232C configurations. (Did I really say that. standard and RS232 in the same sentance??) Yours, -- Paul Raulerson & Paul Raulerson & Associates +---------------------------+ Data/Voice: 1+215-275-2429 / 1+215-275-5983 | Always Aim To Please ... | Cis: 71560,2016 Bix: paulr | Always Aim High ... | UUCP: ...!rutgers!lgnp1!prapc2!paulr +---------------------------+
dave@onfcanim.UUCP (Dave Martindale) (11/04/88)
In my humble opinion, a modem that is configured correctly for answer use will obey the RS-232 specs: 1) if DTR is low, the modem will not answer 2) if DTR is dropped during a connection, the modem will hang up 3) the modem WILL NOT utter nonsense like "RING" or "CONNECT" on the Receive Data lines. That's what the Ring and Carrier pins are for. 4) the modem will not, under any circumstances, treat incoming or outgoing characters as a "command mode escape". If you are going to use the modem for dialout as well, you also need: 5) the modem should be able to return status information (RING, etc.) when in originate mode 6) If (5) is done by changing the internal modem state with commands, the modem must be reset to its "answer mode" state by the fall of DTR. Now, a Telebit Trailblazer can simultaneously be configured to be quiet during answer mode and verbose during originate mode. With most others, you make the modem default to quiet when reset, and tell it to be verbose as part of the dial string.
mmengel@cuuxb.ATT.COM (Marc W. Mengel) (11/08/88)
> In article <5042@cbmvax.UUCP>, ditto@cbmvax.UUCP (Michael "Ford" Ditto) writes: > > I disagree. Having "result codes" on a dialin modem on a Unix > > system is a pretty stupid idea, for the above mentioned reason > > (Modem sends "CONNECT" message to the computer ... computer thinks > > "CONNECT" is a login name, etc.). A good kluge for this particular problem is to make a login id called "connect" with no password, and a login shell of /bin/false (or some equally null program). Then the "login" as CONNECT logs in that user in upper case mode, but their login shell immediately exits... The only real problems there are if you have HUPCL set on the line, but make a program that turns off HUPCL, then exits, and make that CONNECT's login shell, and you're set.
ditto@cbmvax.UUCP (Michael "Ford" Ditto) (11/09/88)
In article <5042@cbmvax.UUCP>, I wrote: > Having "result codes" on a dialin modem on a Unix > system is a pretty stupid idea [ ... ] In article <2174@cuuxb.ATT.COM> mmengel@cuuxb.UUCP (Marc W. Mengel) writes: >A good kluge for this particular problem is [ ... ] (and several other people mentioned "solutions" for the "problem") My point was that Unix has the software support required to handle modems the way they were meant to work -- using EIA signals rather than ASCII strings sent by a microprocessor in the modem. There is no reason to have a dialin modem in verbose mode in the first place. -- -=] Ford [=- "The number of Unix installations (In Real Life: Mike Ditto) has grown to 10, with more expected." ford@kenobi.cts.com - The Unix Programmer's Manual, ...!sdcsvax!crash!elgar!ford 2nd Edition, June, 1972. ditto@cbmvax.commodore.com
les@chinet.chi.il.us (Leslie Mikesell) (11/09/88)
In article <5203@cbmvax.UUCP> ditto@cbmvax.UUCP (Michael "Ford" Ditto) writes: >My point was that Unix has the software support required to handle >modems the way they were meant to work -- using EIA signals rather >than ASCII strings sent by a microprocessor in the modem. There is >no reason to have a dialin modem in verbose mode in the first place. Where is the EIA signal to indicate 9600 vs. 4800 vs. 2400 vs. 1200 baud connection? Where is the software support for it? The real point is that modern microprocessor controlled modems have many more features than those available when the EIA signals were defined (although it is still reasonable to expect DCD to indicate a connection to a remote modem). ASCII strings are the only way to access the new features, so why hasn't the software support caught up. Why can't getty be told to match the speed of a connection? (I know something like this has been posted.) Why doesn't uucp's dialer pay attention to the CONNECT message and change speeds if necessary? Les Mikesell
ditto@cbmvax.UUCP (Michael "Ford" Ditto) (11/10/88)
In article <6916@chinet.chi.il.us> les@chinet.chi.il.us (Leslie Mikesell) writes: >Where is the EIA signal to indicate 9600 vs. 4800 vs. 2400 vs. 1200 >baud connection? Where is the software support for it? All gettys have some kind of autobaud support, and don't require anything nonstandard from the modem. > The real >point is that modern microprocessor controlled modems have many more >features than those available when the EIA signals were defined (although >it is still reasonable to expect DCD to indicate a connection to a >remote modem). ASCII strings are the only way to access the new features, Why do you think this? I have my doubts about using a new feature that was added in a way that does not work with commonly used software. I think that the more sophisticated modems get, the dumber they should look to the computer; fixed bit rate, completely transparent flow control, etc. All these things should be configurable, but they don't need to change "on the fly". If the modem is so smart, let IT worry about the details and just present a boring, old byte-stream to the computer, very much like a socket ... there are "connect" and "disconnect" concepts (CD/DTR), but that's about the only thing that the modem and computer need to communicate to each other aside from the "bytes". > Why doesn't uucp's dialer pay attention to the CONNECT message and >change speeds if necessary? When would it be necessary to change speeds when dialing? Why should a modem accept dialing commands at one speed and then suddenly start speaking another speed? Yes, I know there are modems that do this, but that doesn't mean it's a good idea. There are also very sophisticated modems that hide all the details of the connection and don't require any communication other than the common EIA signals. Dialing control, of course, is another story entirely... -- -=] Ford [=- "The number of Unix installations (In Real Life: Mike Ditto) has grown to 10, with more expected." ford@kenobi.cts.com - The Unix Programmer's Manual, ...!sdcsvax!crash!elgar!ford 2nd Edition, June, 1972. ditto@cbmvax.commodore.com
les@chinet.chi.il.us (Leslie Mikesell) (11/11/88)
In article <5212@cbmvax.UUCP> ditto@cbmvax.UUCP (Michael "Ford" Ditto) writes: > >All gettys have some kind of autobaud support, and don't require anything >nonstandard from the modem. Not all of them work, though (AT&T's Unix PC comes to mind) and how many will print the "login" message at the right speed the first try? Does your terminal like the random garbage you get from characters sent at the wrong speed? >>... ASCII strings are the only way to access the new features, > >Why do you think this? I have my doubts about using a new feature that >was added in a way that does not work with commonly used software. I think this because it has been this way since hays started selling an affordable 1200 baud modem back in 1980 or so. How long is a feature "new"? >I think that the more sophisticated modems get, the dumber they should look >to the computer; fixed bit rate, completely transparent flow control, etc. >All these things should be configurable, but they don't need to change "on >the fly". If the modem is so smart, let IT worry about the details and No argument here, except that many computers do not observe the CTS/DSR leads (AT&T's 3B2 comes to mind) and xon/xoff flow control is not transparent. Also buffering in the modem may interfere with protocol timing and makes it extremely difficult to tell if data has gotten to the end device. For example, if you want to print something on a remote teletype (I do a lot of this), you need to know if the connection is dropped before the end of data is sent. If the modem buffers, you don't even know when it is safe to hang up the line. Then there is the question of where xon/xoff flow control should happen if the remote end needs it. If the modem passes it through to the host, the buffered data will still be sent - if the modem handles xon/xoff then you need a way to turn the mode off for binary file transfers. >> Why doesn't uucp's dialer pay attention to the CONNECT message and >>change speeds if necessary? > >When would it be necessary to change speeds when dialing? Why should >a modem accept dialing commands at one speed and then suddenly start >speaking another speed? Yes, I know there are modems that do this, >but that doesn't mean it's a good idea. It's a better idea than making the connection and not being able to do anything, which is what happens now. A little extra code in the dialing routine would be all it takes to fix it, and if it were controlled by tokens in the dialer string it wouldn't bother the EIA purists. Les Mikesell
rwhite@nusdhub.UUCP (Robert C. White Jr.) (11/11/88)
in article <6916@chinet.chi.il.us>, les@chinet.chi.il.us (Leslie Mikesell) says: > Xref: nusdhub comp.dcom.modems:1126 comp.sys.att:1681 > Where is the EIA signal to indicate 9600 vs. 4800 vs. 2400 vs. 1200 > baud connection? Where is the software support for it? The real We call the EIA signal to indicate baud "receive detect." When this signal lead is examined over time and compared with a known "base state series" (you and I call them characters) one can easily determine baud rate (and other settings). This procedure is called "auto-bauding" and has been successfully used for years. The software support for same can be found in /etc/gettydefs and /etc/gettys (amoung other places). > point is that modern microprocessor controlled modems have many more > features than those available when the EIA signals were defined (although > it is still reasonable to expect DCD to indicate a connection to a > remote modem). ASCII strings are the only way to access the new features, Wrong! DCD is *supposed* to indicate connection to a *remote device* many peices of software are so broken that they use DCD to detect the modem. DSR (Data Set Ready) is intended to detect the presence of a "ready" "data set" (you know, a modem) and DTR (Data Terminal Ready) the computer or "terminal" (e.g. the terminal endpoint on any given leg of the circut. . . instead of "terminal" in the common usage). Some old UNIX System implementations were broken in this respect, but almost all of them have since fixed this. > so why hasn't the software support caught up. Why can't getty be told > to match the speed of a connection? (I know something like this has been > posted.) Why doesn't uucp's dialer pay attention to the CONNECT message and > change speeds if necessary? getty doesn't need this behavior. To implement it would needlessly make a simple opperation much more complex. Especially when you consider that the many different "connect messages" produced by the various types of modems. I have seen dialers (on UNIX Systems) which attempt this, and even tried to manage a few of them, but when you get a hundred or more modems going, the space usage does not justify the inconvience. (yes, I meant those words just that way.) If you cant live through the extra five characters at 9600 baud, you must really be tense! ;-) > Les Mikesell Less, please study the specs of RS-232C and later specs like RS-442 et. al. before complaining to much. The larger specs contain the types of direct-wire protocols you want. They are also quite a lot more expensive to fully implement. Not to many companies or individuals feel the expense is worth the features for the kind of environment you are talking about. Remember the KISS principle "Keep It Simple Stupid" becuase simple is often more reliable. Rob.
cks@ziebmef.uucp (Chris Siebenmann) (11/24/88)
In article <5212@cbmvax.UUCP> ditto@cbmvax.UUCP (Michael "Ford" Ditto) writes: ... >Why do you think this? I have my doubts about using a new feature that >was added in a way that does not work with commonly used software. I >think that the more sophisticated modems get, the dumber they should look >to the computer; fixed bit rate, completely transparent flow control, etc. The problem with this is that at different baud rates the user may wish drastically different behavior from programs, depending on the baud rate she is at. Consider just two examples; the amount of text on the initial page of an article rn shows, and the special low-speed interactive search mode of GNU Emacs. Things that appear perfectly reasonable to the computer at baud rate M may be highly undesirable or even impossible at the connection's true baud rate of N (consider a status display program who's screen updates simply push out more characters per second than N can ever transmit in one second). The need for this sort of information won't go away; since the modem can provide it and the computer recognize it, why not use it? -- "The hell I will!" WHAK! "Surpise, kid -- they retract! Try that again and I'll kick you back. With my claws." Chris Siebenmann uunet!utgpu!{ontmoh!moore,ncrcan}!ziebmef!cks cks@ziebmef.UUCP or .....!utgpu!{,ontmoh!,ncrcan!brambo!}cks
ditto@cbmvax.UUCP (Michael "Ford" Ditto) (11/27/88)
In article <1988Nov24.004706.7463@ziebmef.uucp> cks@ziebmef.UUCP (Chris Siebenmann) writes: [ in reply to discussion about the computer knowing the "real" baud rate of a modem connection ] > > The problem with this is that at different baud rates the user may >wish drastically different behavior from programs, This is true, but is a more general problem than the modem issue. Such programs must base their idea of the user's communication rate on something more than the rate of the "last hop" of the connection. Consider this example: I am running a terminal program on my Amiga which can display characters at a nominal rate equivalent to 9600 bps. It is communicating via a serial link at 19200 baud to a Unix machine with a built-in 1200 baud modem. The modem places a call to a terminal server which connects via ethernet (10Mbps) to a Unix machine which believes the connection is at 38400 baud. Now, does it make any difference whether the answering modem talks to its host (the terminal server) at 1200, 300, or 38400 baud? And what about the on-board modem that will speak 1200bps to the phone line regardless of whether the port is ioctl'd to 1200 or 9600 baud. Added to all the other unknowns is the existence of devices with data-dependent throughput, like modems with data compression. I think the best that can be hoped for in this (increasingly common) type of situation is for all the communication links to be as "dumb" as possible and just provide a reliable, flow controlled 8-bit connection, and for the "host" to be directly told what rate to "pretend" the connection has (1200bps in the example). Of course, if it were practical for the host to automatically figure out the rate of the "bottleneck point" of the connection, that might be a good idea. -- -=] Ford [=- "The number of Unix installations (In Real Life: Mike Ditto) has grown to 10, with more expected." ford@kenobi.cts.com - The Unix Programmer's Manual, ...!sdcsvax!crash!elgar!ford 2nd Edition, June, 1972. ditto@cbmvax.commodore.com