alans@basser.UUCP (02/13/87)
I have discovered the following problem with "Hayes-Compatible" 1200 baud modems. Here is the scenario: I originate a call to another machine which answers the call using a similar "Hayes-Compatible" modem. The connection is established and I log onto the machine and begin doing whatever I logged on to do. At some stage, I decide I need to get into the modem's command mode to, say, turn on the speaker and listen to the line. I type the usual +++ delimited with the appropriate pauses. Now, MY modem, not knowing that this is intended as a command for it until the final delimiting pause, transmits this down the line to the other machine. MY modem then goes into command mode. Now, here's the crunch; the machine at the other end echoes my +++ and puts the remote modem into command mode. This is clearly not desirable as there is no way to put the remote modem back on-line. To disable the escape facility on the remote modem usually requires the sitching of a DIP switch. This is not the ideal solution when the modem is used for both dial-in and dial-out. One solution to the problem would be to change the escape character from + to, say, - on the answering machine, but in order for this to be effective, everyone must do the same thing. Is there a de-facto standard for setting of escape characters in this situation? If not I would like to propose the following: Proposal: The modem in ORIGINATE mode will use the '+' as an escape character. The modem in ANSWER mode will use the '-' as the escape character, if commands are enabled at all. This is the kind of thing that should really be implemented in the firmware of the modem and should be transparent to te user.
larson@sri-unix.UUCP (02/14/87)
In article <871@basser.oz>, alans@basser.oz (Alan Skea) writes: > The modem in ANSWER mode will use the '-' as the escape character, > if commands are enabled at all. Cute. Then when it outputs the lines separating parts of a digest or news/mail articles, will it escape? Alan
grr@cbmvax.UUCP (02/14/87)
In article <871@basser.oz> alans@basser.oz (Alan Skea) writes: >I have discovered the following problem with "Hayes-Compatible" 1200 >baud modems. Here is the scenario: > >I originate a call to another machine which answers the call using a >similar "Hayes-Compatible" modem. The connection is established and I >log onto the machine and begin doing whatever I logged on to do. At >some stage, I decide I need to get into the modem's command mode to, >say, turn on the speaker and listen to the line. I type the usual +++ >delimited with the appropriate pauses. Your modem is not "hayes compatible" in this mode! Hayes modems HANG-UP when you type the +++ sequence. If you have a US Robotics or other modem that does not hang up, then there is probably a switch to make it work in real hayes mode, where the problem you describe is moot. >Proposal: > The modem in ORIGINATE mode will use the '+' as an escape character. > The modem in ANSWER mode will use the '-' as the escape character, > if commands are enabled at all. This breaks far more software than the original problem... -- George Robbins - now working for, uucp: {ihnp4|seismo|rutgers}!cbmvax!grr but no way officially representing arpa: cbmvax!grr@seismo.css.GOV Commodore, Engineering Department fone: 215-431-9255 (only by moonlite)
robert@gitpyr.UUCP (02/14/87)
>grr@cbmvax.UUCP (George Robbins) (grr@cbmvax.UUCP, <1408@cbmvax.cbmvax.cbm.UUCP>): > Your modem is not "hayes compatible" in this mode! Hayes modems HANG-UP > when you type the +++ sequence. Hayes modems do NOT hang up when the +++ sequence is typed. I just tried it on my Hayes 1200. It said "OK" and I typed "ATD" and I was right back where I was before typing the +++ (reading news). No dial tone, no touch tones, just a "CONNECT". robert -- Robert Viduya robert@pyr.ocs.gatech.edu Office of Computing Services (404) 894-4660 Georgia Institute of Technology Atlanta, Georgia 30332
KNIGHT@SRI-NIC.ARPA.UUCP (02/15/87)
I doubt it, unless the source is really slow - there's a guard time around the escape sequence....hopefully it isn't ignored in receive mode, eh? Bob -------
andy@thelink.UUCP (02/15/87)
Will a Hayes modem that uses "-" as the escape character go into command mode when you are running readnews or anything else that outputs a line of "-"'s? No. There is a command character guard time built-in. There must be at least one second before and one second after the three escape characters for the command to be recognized, although this can be tweaked by changing register S12, where the value can be set in 50ths of a second.
john@viper.UUCP (02/15/87)
In <1408@cbmvax.cbmvax.cbm.UUCP> grr@cbmvax.UUCP (George Robbins) writes: ........................... > >Hayes modems HANG-UP when you type the +++ sequence. Nonsense! When I type +++, the Hayes modems I've used drop back into modem-command mode. You can then change baud rates, parity or any of the other parameters and return to your online session. There -may- be a flag (settable by switch) that will drop carrier when you enter command mode, but don't automaticly assume that just because your system works that way that it's the one-and-only "Hayes" compatabile mode...
bob@ahxenix.UUCP (02/16/87)
In article <871@basser.oz>, alans@basser.oz (Alan Skea) writes: > I have discovered the following problem with "Hayes-Compatible" 1200 > baud modems. Here is the scenario: > > To disable the escape facility on the remote modem usually requires the > sitching of a DIP switch. This is not the ideal solution when the modem > is used for both dial-in and dial-out. One solution to the problem > would be to change the escape character from + to, say, - on the > answering machine, but in order for this to be effective, everyone must I have a USR Courier 2400. I am able to re-program the escape character to just about anything that I want. For obvious reasons, I have choosen an almost never used character on my inbound modem lines. This way if somebody send a +++ down the line, my modems are not put in the command state. -- Bob Leffler - bob@ahxenix.REL.COM ...!ihnp4!mb2c!edsdrd!ahxenix!bob
zhahai@gaia.UUCP (02/16/87)
In article <871@basser.oz> alans@basser.oz (Alan Skea) writes: >I originate a call to another machine which answers the call using a >similar "Hayes-Compatible" modem. >[to escape to the modem command mode] I type the usual +++ >delimited with the appropriate pauses. Now, MY modem, not knowing that >this is intended as a command for it until the final delimiting pause, >transmits this down the line to the other machine. MY modem then goes >into command mode. Now, here's the crunch; the machine at the other end >echoes my +++ and puts the remote modem into command mode. This is >clearly not desirable as there is no way to put the remote modem back >on-line. > > One solution to the problem >would be to change the escape character from + to, say, - on the >answering machine, but in order for this to be effective, everyone must >do the same thing. > >Proposal: > The modem in ORIGINATE mode will use the '+' as an escape character. > > The modem in ANSWER mode will use the '-' as the escape character, > if commands are enabled at all. Not a bad idea, but it is too late to make it a very useful standard inside the modem, as it would make the modem non-hayes compatible. Of course, one could create yet another extension to the Hayes command set, but then the software setting up the port for auto-answer would have to be changed to invoke this new not-quite-hayes mode; in which case, the software could just initialize the S2 register with current Hayes-compatible modems while awaiting a call (this changes the escape character, "+" by default), and then change it back before calling out. So, if you can influence or control the software at the "other end", you could with current modems achieve just what you wanted (+ for your modem, - for the remote modem). In fact some systems disable the escape entirely when going into auto-answer mode, by setting S2 to 0; you are not using one of those systems or you would never have had this problem. Again it is probably too late to do much for most of the "other ends" out there. Which brings us to YOUR end. If you modify your proposal to change your own modem escape character to something else (-, ^G, %, `, whatever), then use that to escape to your own modem (preceded and followed by pauses, of course), you should be home free - Unless the other end has changed their escape character to the same thing, which is unlikely. I hope this will solve your problem. If you are using a terminal emulation program on a computer, and it has commands which use the modem escape (for example, some programs send <pause>+++<pause><CR>ATH0<CR> to hang up the line), you may need to customize it for your new escape sequence. If your system also auto-answers, you can change the escape back to + after each callout. Or you can change it to something else so as not to catch other user's +++ sequences, in case they did not have the insight to change their escape chars for outgoing calls. So if a standard proposal is needed (which I am not sure about), it should change both the sending AND receiving escape characters. Switch to the sending escape before dialling out, switch back to the receiving code before re-enabling auto-answer after terminating the callout. This way you can escape even when calling a system which does not follow the "standard", and people calling your system can escape even if they dont follow the standard. Dial command: ATS2=45 ATD9999999 <conversation> <use --- for escape, with pause before and after) ATH0 ATS2=96 ATS0=1 I hope this helps. Most "Hayes Compatible" modems should at least implement the S2 register even if they omit or modify high numbered registers. ~z~ -- Zhahai Stewart {hao | nbires}!gaia!zhahai
jsloan@wright.UUCP (02/16/87)
in article <1408@cbmvax.cbmvax.cbm.UUCP>, grr@cbmvax.cbm.UUCP (George Robbins) says: > > In article <871@basser.oz> alans@basser.oz (Alan Skea) writes: >>I have discovered the following problem with "Hayes-Compatible" 1200 >>baud modems. Here is the scenario: >> : > Your modem is not "hayes compatible" in this mode! Hayes modems HANG-UP > when you type the +++ sequence. > : Nope. Hayes do NOT hang up when they receive the +++ sequence. You can break into command mode with +++, and go back into connect mode with ATO (for online), or hangup with ATH0. I've got a Smartmodem 1200 sitting on top of my terminal here at home, and just tried it to verify this. -- John Sloan CSNET: jsloan@CS.Wright.EDU UUCP: ...!cbosgd!wright!jsloan Computer Science Department, Wright State University, Dayton OH, 45435 +1 513 873 2491 belong(opinions,jsloan). belong(opinions,_):-!,fail. The only thing that depreciates faster than a computer is fresh fruit.
rab@well.UUCP (02/16/87)
In a previous article Alan Larson writes: + Alan Skea writes: ++ The modem in ANSWER mode will use the '-' as the escape character, ++ if commands are enabled at all. + +Cute. Then when it outputs the lines separating parts of a digest or +news/mail articles, will it escape? + Alan Not unless there are EXACTLY three '-' characters, and they are both preceded and followed by the appropriate (usually one second) pauses, with no significant delays between them. Not very bloody likely. -- Robert Bickford {hplabs, ucbvax, lll-lcc, ptsfa}!well!rab terrorist cryptography DES drugs cipher secret decode NSA CIA NRO IRS coke crack pot LSD russian missile atom nuclear assassinate libyan RSA
rab@well.UUCP (02/16/87)
In a previous article George Robbins writes: > >Your modem is not "hayes compatible" in this mode! Hayes modems HANG-UP >when you type the +++ sequence. If you have a US Robotics or other modem >that does not hang up, then there is probably a switch to make it work >in real hayes mode, where the problem you describe is moot. > wrong, Wrong, WRONG!! My Hayes 1200b *never* hung up when I entered command mode. Try reading the f***ing manual, George. Oh, as it happens, the only 'Hayes compatible' modem I have ever seen that hangs up when the user types the +++ sequence is a USR. Piece of junk, on that score alone....! Quoting from page 4-2 of the Smartmodem 1200 Hardware Reference Manual, | WAIT AT LEAST 1 SECOND (After the last character transmitted) | | Enter: +++ | | WAIT AT LEAST 1 MORE SECOND (Before transmitting another character) | | The Smartmodem 1200 returns to the local command state and | sends the usual result code OK. The Smartmodem 1200 will not release | the telephone line unless it receives an ATH (or hang up) com- | mand or the carrier signal is lost. Also of note from page 4-2: | When in originate mode, it is recommended that the escape | code be disabled or set to a value other than that used by the | originator. Refer to Chapter 9, "Local Interface Parameters" S2 | and S12 and "Additional Program Considerations" number 8. I think that's pretty clear. -- Robert Bickford {hplabs, ucbvax, lll-lcc, ptsfa}!well!rab terrorist cryptography DES drugs cipher secret decode NSA CIA NRO IRS coke crack pot LSD russian missile atom nuclear assassinate libyan RSA
rab@well.UUCP (02/16/87)
In a previous article Bob Bickford writes:
+ Also of note from page 4-2:
+
+| When in originate mode, it is recommended that the escape
^^^^^^^^^---ERROR
+| code be disabled or set to a value other than that used by the
+| originator. Refer to Chapter 9, "Local Interface Parameters" S2
+| and S12 and "Additional Program Considerations" number 8.
Well, this Bickford guy really has his head up his a**. ;-)
That first "originate" should read "answer": it does in the manual
that I was looking at when I typed that in..... <sigh> it's 02:30....
--
Robert Bickford {hplabs, ucbvax, lll-lcc, ptsfa}!well!rab
terrorist cryptography DES drugs cipher secret decode NSA CIA NRO IRS
coke crack pot LSD russian missile atom nuclear assassinate libyan RSA
dfr@onecom.UUCP (02/16/87)
it is not "nonsense" as we have seen this here too on Hayes 2400 modems. ~~~~~~~~~~ we use numerous Hayes 1200 modems which do NOT exhibit this. we have an ugly (personal opinion) little feature on our products which makes use of this capability on the 1200's, but cannot be used on their 2400 baud brothers. of course, by taking away the capability to turn off local carrier in the 2400 baud version, which is why we drop into command mode, the "disco on entering command mode" problem becomes somewhat moot. i know they can SAY compatibility, but they really ought to check it meaning. -- ---------- Dennis F. Reed TelWatch, Inc. (formerly OneCom, Inc.) {ihnp4 ucbvax!nbires}!onecom!dfr 2905 Wilderness Place 303-440-4756 Boulder, CO 80301
cyrill@scicom.UUCP (02/16/87)
About the '+++' command, it can be disable on any Hayes type modem by changing the 's' register which controls what is the escape characters to above ascii 127. I don't know what this is for Hayes itself, but on US Robotics 300 or 300/1200 or 300/1200/2400, CTS Datacomm 2424 ADH 300/1200/2400 this register is 's2'. Most times, you would want to set this register to 's2=250' (just a number) for any port that is incoming/outgoing in a non manual mode.
berger@clio.UUCP (02/16/87)
This is definitely a design flaw. Nothing that comes in over the data line should put the modem in command mode, especially if there's no way to rectify the situation.
ben@catnip.UUCP (02/17/87)
In article <1408@cbmvax.cbmvax.cbm.UUCP> grr@cbmvax.UUCP (George Robbins) writes: >Your modem is not "hayes compatible" in this mode! Hayes modems HANG-UP >when you type the +++ sequence. If you have a US Robotics or other modem >that does not hang up, then there is probably a switch to make it work >in real hayes mode, where the problem you describe is moot. This is just plain wrong. I have considerable experience with the Hayes Smartmodem 300, Smartmodem 1200, and Smartmodem 2400; all of these return to command mode when the escape sequence is issued. You must have spent too much time playing with brain-damaged Hayes clones like the USR Password, which do behave as you describe. -- Ben Broder {ihnp4,decvax} !hjuxa!catnip!ben {houxm,clyde}/
dennis@uw-warp.UUCP (02/18/87)
In article <533@viper.UUCP>, john@viper.UUCP (John Stanley) writes: > In <1408@cbmvax.cbmvax.cbm.UUCP> grr@cbmvax.UUCP (George Robbins) writes: > > > >Hayes modems HANG-UP when you type the +++ sequence. > > Nonsense! When I type +++, the Hayes modems I've used drop back into > modem-command mode. You can then change baud rates, parity or any of the > other parameters and return to your online session. Right. You can do most anything you want except ATZ or ATH and then return to your online session with ATO. (That's "oh," not zero). The Scenario: ------------- The poster that started this whole discussion described a scenario where an escape sequence of "+++" is sent through modem A to a remote computer through modem B. This would get modem A into command mode as desired, but supposedly when the remote computer echoed the "+++" back to modem B, modem B would go off into the neutral zone (command mode, actually), leaving you with a "hung" connection. One solution: ------------- Now, I don't have two real live Hayes modems to test this with, but I have tried it with several different purportedly Hayes compatable modems, and they all do the same thing, namely, the called modem (B) ignores all "+++" commands and anything else sent down the line from the remote computer, presumably since it knows that it answered the phone, and it shouldn't expect any commands from the computer it is connected to. An (Unnecessary) Workaround: ---------------------------- Even if this turned out not to work, remember that you can change the escape sequence from: 1-second-with-no-activity +++ 1-more-second-with-no-activity to use any three characters you want instead of "+++." (It is probably a bad idea to leave the modem set this way on, say, a multi-user system.) The reason it doesn't matter too much which characters you use is the 1 second pause. By the way, I heard that Hayes is suing someone (everyone?) to protect their patent on the one second pause feature. Then before you call up system B, set your escape sequence to whatever you want, say "---", and then you can escape to your modem (A) without even beginning to get modem B's attention. The Way It Should Work: ----------------------- It seems to me like the best design solution to this problem would be to have the modem NOT SEND the "+++" if it had seen the 1 second delay before you typed the "+++". Then if it got another delay, it could return you to command mode without even letting the remote system know that you had done ANYTHING. If it didn't get the delay, meaning that you didn't want to go to command modem, then it could go ahead and "catch up" by sending the "+++". This might be the way it actually works with a real live Hayes modem. Since I don't have any real live Hayes modems to play with at the moment, I can't test this stuff out. Can anybody tell me if my last paragraph describes what a Hayes actually does? Thank you for your time, Dennis. -- uucp: {decvax|ihnp4|...}uw-beaver!uw-nsr!uw-warp!dennis arpa: uw-nsr!uw-warp!dennis@beaver.cs.washington.edu
davidsen@steinmetz.UUCP (02/18/87)
Anyone who has a modem in answer mode and doesn't disable the ability of someone else to get in the modem command mode is ASKING for trouble. At the very least the caller could disable answer, taking the line out of service (and a bitch to find). There are other things to do, but I don't want to bring them to anyone's attention. -- bill davidsen sixhub \ ihnp4!seismo!rochester!steinmetz -> crdos1!davidsen chinet / ARPA: davidsen%crdos1.uucp@ge-crd.ARPA (or davidsen@ge-crd.ARPA)
cds@atelabs.UUCP (02/21/87)
In article <658@uw-warp.UUCP> dennis@uw-warp.UUCP (Dennis Gentry) writes: >The Scenario: >------------- >The poster that started this whole discussion described a scenario >where an escape sequence of "+++" is sent through modem A to a remote >computer through modem B. This would get modem A into command mode as >desired, but supposedly when the remote computer echoed the "+++" back >to modem B, modem B would go off into the neutral zone (command mode, >actually), leaving you with a "hung" connection. > >The Way It Should Work: >----------------------- >It seems to me like the best design solution to this problem would be >to have the modem NOT SEND the "+++" if it had seen the 1 second delay >before you typed the "+++". Then if it got another delay, it could >return you to command mode without even letting the remote system know >that you had done ANYTHING. If it didn't get the delay, meaning that >you didn't want to go to command modem, then it could go ahead and >"catch up" by sending the "+++". This might be the way it actually >works with a real live Hayes modem. Fortunately real Hayes modems do not work this way. In fact, they can't work this way without undesirable side effects. The Hayes spec (and I use that term loosly) says that when the modem sees an escape sequence on its DTE data stream it will drop into command mode. The escape sequence is a pause, followed by three '+' characters with no characters in between, followed by a 1 second pause. The first pause length is controlled by a register in the modem. Suppose that, after a suitable pause, the DTE sends a single '+' character to the modem. If Hayes follows the suggestion made above then the modem cannot transmit this character until at least one more character comes from the DTE, possibly two (if the next character is also a '+'). I don't believe that this is a desirable "feature." I might want to send a single '+' and wait for the remote computer to respond. Yes, I know that I can change the escape character to something else, but I might want to send any character by itself. A better solution would be to provide a configuration option which, if turned on, would tell the modem to ignore all escape codes. Unfortunately, Hayes modems (at least model 1200) do not have such a feature. We simply have to live with them the way they are or get a different brand of modem which doesn't have the problem. -- Dave Shanks ..!tektronix!tessi!atelabs!cds AT&E Laboratories cds@atelabs.UUCP 1400 NW Compton Suite 300 (503) 690-2000 Beaverton, OR 97006
john@viper.UUCP (02/22/87)
In article <247@onecom.UUCP> dfr@mars.UUCP (Dennis F. Reed) writes: >it is not "nonsense" as we have seen this here too on Hayes 2400 modems. > ~~~~~~~~~~ >we use numerous Hayes 1200 modems which do NOT exhibit this. we have an >ugly (personal opinion) little feature on our products which makes use of >this capability on the 1200's, but cannot be used on their 2400 baud >brothers. of course, by taking away the capability to turn off local >carrier in the 2400 baud version, which is why we drop into command mode, >the "disco on entering command mode" problem becomes somewhat moot. > Dennis, the modem I have 90% of my Hayes (says so on the box..) experience is on a Hayes 2400. The problems you and other people seem to be having are, I'm pretty sure, caused by having the modem in a non-compatable configuration. The 2400 has many many options. After having mine for over a year, I can honestly say I don't know of a single thing that will work on a 1200 that wouldn't work on the 2400 I had. The Hayes 2400 has internal long-term memory that can be used to hold an alternate default configuration. There is a command (I don't remember what) to store the current configuration to the long term memory. I would hightly recommend you go thru the manual (yeah, I know it's big, but trust me...) and find what options need to be changed and then change them. It -is- possible to get these things to behave. My "nonsense" comment still stands. If you haven't configured your modem to be compatable, it's only because you haven't looked far enough. --- John Stanley (john@viper.UUCP) Software Consultant - DynaSoft Systems UUCP: ...{amdahl,ihnp4,rutgers}!{meccts,dayton}!viper!john
bblue@crash.UUCP (02/23/87)
In article <1210@steinmetz.steinmetz.UUCP> davidsen@kbsvax.UUCP (William E. Davidsen Jr) writes: > >Anyone who has a modem in answer mode and doesn't disable the >ability of someone else to get in the modem command mode is >ASKING for trouble. At the very least the caller could disable >answer, taking the line out of service (and a bitch to find). >There are other things to do, but I don't want to bring them to >anyone's attention. It's probably just as well, since what you're saying is not true - at least not with correctly designed Hayes compatible modems. When you do +++ as a caller, both modems will go into command mode - that much is true. However, using ATD or ATO (depending on your modem) to return to terminal mode does not then allow you to talk to the remote modem's command mode. The remote modem, at that point, can do nothing but detect lost carrier. No commands you issue will affect it. The high speed Telebit Trailblazer has a special mode that, when enabled, *will* allow a calling Telebit modem to change settings on the remote. That's the only one I'm aware of, though. --Bill bblue@crash.CTS.COM {akgua, hplabs!hp-sdd, sdcsvax, nosc}!crash!bblue
peter@ethz.UUCP (03/02/87)
In article <3096@gitpyr.gatech.EDU> robert@gitpyr.UUCP (Robert Viduya) writes: >>grr@cbmvax.UUCP (George Robbins) (grr@cbmvax.UUCP, <1408@cbmvax.cbmvax.cbm.UUCP>): >> Your modem is not "hayes compatible" in this mode! Hayes modems HANG-UP >> when you type the +++ sequence. > >Hayes modems do NOT hang up when the +++ sequence is typed. I just >tried it on my Hayes 1200. It said "OK" and I typed "ATD" and I was >right back where I was before typing the +++ (reading news). No >dial tone, no touch tones, just a "CONNECT". > > robert >-- >Robert Viduya robert@pyr.ocs.gatech.edu >Office of Computing Services (404) 894-4660 >Georgia Institute of Technology >Atlanta, Georgia 30332 I just tried the same +++ sequence with an inscrutable Hong Kong copy which will remain nameless (it doesn't have one) and as Robert remarked I was right back where I started reading news. Actually it's a Modem-phone WD-1800 which claims to do ccitt and bell 1200 baud doubles as a telephone and works quiet well accept when it gets real hot and starts generating it's own line noise. I suppose there's Hayes comatability and Hayes compatability. Peter seismo!mcvax!cernvax!ethz!peter
bobmon@iuvax.UUCP (03/04/87)
> [ more stuff about ' + + + ' ( I can't type that for real or I'll go away ] > >I suppose there's Hayes comatability and Hayes compatability. ^^^^^^^^^^^^ That's "...Hayes comatose-ability..."