RICK@mit-mc.arpa (01/23/83)
From: Richard P. Wilkes <RICK@mit-mc.arpa> {I apologize if people get repeats. The mailer croaked on the address fylstra at SRI-TSCA. I don't think it mailed to the list, but who knows...} I have the Hayes 1200 and am very pleased with it so far. The only problem I had is that the first unit I received died after 2 hours. Hayes replaced the unit after a little griping about a two week service turn-around on a modem I'd had for one day. Apparently, things are a bit confused down there (Georgia). The company recently moved across the street into a new building. <This info applies to both Smartmodems> The Hayes has two modes: command mode and online mode. In online mode, all characters sent to the modem are sent also to the comm line. After dialing a telephone number and detecting a carrier, the modem goes into this mode. It notifies the computer (or terminal) by returning a result code. The result codes are either verbose (i.e. CARRIER, NO CARRIER, OK) or terse (ascii 30H-35H --0-5). Selection is done by the users. When in command mode, commands are sent to the modem by preceeding them with AT which lets the modem determine the baud rate, parity, and word length. The command follows. The command terminator can be set thru software. The default is a carriage return. When the system is "online," the modem is put into command mode by sending three "escape" characters followed by a pause. The default escape character is "+". BTW, the escape characters are passed thru to the online system. Because of this, people complain about having to send "garbage" down the comm line to to get the modem to do anything. However, I don't see any other way to use one port and be able to send the modem commands while online. Many modems do not allow commands to be sent while online. The Hayes, since it allows you to select which character is the "escape" handles it the best way that I can see. The manual seems to say that either end of the link can send the escape sequence. This bothers me and I have yet to be able to confirm it. You can set the modem so that it doesn't accept commands while online and do a disconnect using DTR (I believe). Here's a brief example of connecting to a system using a program to send the commands: 1) Send ATZ (reset) 2) Wait for OK. If no OK, send escape and wait for OK. 3) Set up modem params (duplex, dialing rate, escape codes, default line end (CR and LF -- easier to detect result codes in the data stream) 4) Send dial command 5) Wait for result code. 6) If connect, go into data mode. Otherwise, No connection or error (shouldn't happen unless the program is bad) 7) Send data. Check CD (carrier detect). When dropped, look for No carrier result code indicating lost connection. To hand up, send escape, wait for result (toss echos), then send ATH (hang up), wait for OK. I have found that since the Smartmodem is designed for "human speed" commands, when sending commands to the modem, use echo mode and wait for each character to be echoed before continuing. All in all, I really like the modem. The only negative about the 212 part is that if you are using it as an answer modem, it does an auto-speed detect and switches speeds. The result code it sends is at the speed that the last command was sent at, but then the modem may SWITCH SPEEDS to accommodate the calling speed. The program must be set-up to reset the uart to the appropriate speed or the modem and RS232 will be out of sync. BTW, the modem does morse code also... Let me know if you have any more questions. The documentation is acceptable and just about everything is software selectable! -r