^LM 5
^RM 90
^FO "8/19/88" "GRiD Systems, Stamford" "pg. ^P"
^RJ
^CL
^BO^UN
SmartCom III/GRiD Computer Problem
^UN
^ITincluding DEFENDER work around^IT
^CL^BO

^TI 5
This review deals with the problems of running SmartCom III from HAYES Communications corporation on a GRiD Computer and how to work around the problem. The solution is based on preliminary work done by Ed Scott in the St. Louis office and was worked out for Textron Lycoming, who wanted to purchase GRiDCase 1500 series.  Their corporate standard is HAYES modems and Smartcomm III. They would not purchase a GRiD until it ran the software.

^TI 5
The problem with running SmartComm III is not limited to GRiD computers.  With the release of SmartComm III, the HAYES Computer Company has added a routine to the software to insure it works ONLY with a HAYES Smartmodem manufactured by the HAYES company, NOT with a HAYES compatible.  If you read between the lines, this means NONE of our competition can run this software either.  This was confirmed in an anonymous call to HAYES. While their support person did not confirm the presence of a propietary check routine (there was a pregnant pause when he was asked), he stated the only laptops supported for Smartcomm III were the COMPAQ III and the IBM Convertible.  These happen to be the only portable modems made by HAYES itself.  Makes you proud to be an American, doesn't it? 

^TI 5
The problem with running Smartcomm III is the that the software encounters the error "HAYES Smartmodem not found" when it attempts to set up and dial out.  Now at first it seems the modem cannot find the COM1 modem.  Read the error message carefully.  It did find the modem; what it did not find was a "HAYES" Smartmodem.  It found the modem, the proprietary routine checked some registers that are listed in the manual, but listed as "not supported".  When the registers did not respond back with the proper proprietary code, Smartcomm III refused to use the modem.

^UN^BO
THE FIX
^UN^BO

^TI 5
There is no magic software patch.  It can be done using Smartcomm III.  The software can be set to be Answer Mode, Originate Mode, and Direct Connection.  The last one is for when you wish to link two PC's directly together or hook in via RS-232 to a system while emulating a software terminal (SC III only emulates a TTY and a VT102; powerful, heh?).  In either answer or originate, the software assumes a modem is needed, so it checks to see if it was made by HAYES.

^TI 5
The trick is to use the Direct Connection mode so the software does not check for the modem, and then use a script file to pass HAYES AT modem commands as lines of text.  This works because, after all, we are HAYES compatible.  

^TI 5
To get this to work, on the connectivity screen, set the "Type of Connection" to direct connect.  Build the rest of the configuration as normal.  Ignore the phone number field; it is not used with direct connect.   The software just plugs into COM1, which it treats as the serial port.  Then build a script file that has as the first line the HAYES commands needed to complete the dial out.  I used the ones in the GRiDLite Tech Manual for the listing.  Surprisingly (or not), none of the HAYES manuals had a listing of the commands.

^TI 5
Here is the first line to the Textron Lycoming script file I developed to get into their system which uses DEFENDER.  To those of you unfamiliar with DEFENDER, it is a dial back system that is meant to foil demon dialers.  You dial a phone number.  A synthesized voice asks for you ID (note, no carrier tone for software to hook into).  The voice repeats the number and asks for verification.  If verified, the line is dropped and the DEFENDER system dials back to a prespecified number associated with that ID.


^TI 5
^IT First line of script...^IT

^CL
^BOTYPE LINE "ATDT9,1234567,,,,106782#,,,#HS0=1OA" ;^BO
^CL

^LI 5
^TI -2
^itwhere:^it
 
  ^BOAT^BO = ATtention, identifies a HAYES modem command sequence, interpereted
       by the modem hardware.

  ^BODT^BO = Dial out, using Tone instead of pulse.  The number consists of the
       actual number, four commas to wait until the call completes and DEFENDER
       says "Hello", the ID number followed by a pound sign for enter, three 
       more commas to wait until DEFENDER repeats the ID and asks for 
       verification, and a final pound sign to verify the ID.

   ^BOH^BO = Hook On/Off.  Hangs up the line to wait for the call back.

^BOS0=1^BO = Set register 0 to 1.  This is one of the supported registers. It 
       contains the value for the number of rings to wait for before answering
       the call.  If this register is not set to a positive integer value (0 
       is the default), the modem will never answer an incoming call.

   ^BOO^BO = Go Online to wait for the call.

   ^BOA^BO = Go into answer mode to wait for  the call.


^LI 0
^TI 5
The entire command was done on one line as I had problems sending multiple line commands with the script file.  Every other one was skipped.  One word of caution; the HAYES modem command buffer has a limit of 40 characters, so do not lengthen the above line without checking the length.  I will leave the command skipping problem for another day.

^TI 5
That's the problem and the solution.  It may not be the correct reason for the problem and may not be the most elegant solution, but it works.  Like airplane landings, any one you can walk away from was a good one.  Let me know if you have any questions or additional information on this.


Sean O'Neill
Stamford Office

