:S ; This GO file configures Multi-Tech 9600 baud and higher speed modems ; for use with AUTOLOG. This includes model series 932, 1432, 1932 and 2834. ; revised 6/27/94 rpr - added support for MT2834 series ; revised 1/24/94 rpr - added support for ZDX models ; revised 11/2/92 rpr - added support for "BL" and "1432MU" models ; revised 9/29/92 klb - added #P0, $$R1, and %E3 commands for newer models ; - "d/c" changed to "--" for "don't care" switch settings ; revised 1/28/92 rpr - added MultiModem II revisions (new switches & firmware) ; revised 9/4/91 rpr - added test for MT1432 and added &RF commands as needed ; revised 3/22/91 rpr -&F used for reset instead of %F & added SLEEP before ; a couple of AT commands. ; revised 4/13/91 to work with MUL932EAF modems terse carrier false FOLD T RELINK: :< Programming High Speed Multi-Tech modem (Series 932, 1432, 1932 and 2834 modems) If you have not already LINKED to the TRMDEF attached to the modem, enter the command LINK followed by the name of the modem port and a RETURN. If you have already LINKED to the modem port, just press RETURN. (To quit, enter Q and a RETURN.) > SET ERR0=0 ; reset ERR0 to 0 :K SAY "^M" ; evoke error message if not linked IF ERR0=246 GOTO RELINK :S SET REG(4)=0 ; 0=no input flow, 1=RTS input flow SET REG(5)=0 ; 0=old 932s, 1=Multimodem II 2=1432EAB 3=932EAF : ; get modem out of data mode HANGUP ; get modem's attention stall delay 30m SLEEP 2 SAY "+++" SLEEP 2 SAY "ATEQ^M" UNTIL "OK" 1 IF ERR0=0 GOTO GOT'OK SAY "ATS2=43S3=13^^" ; deal with very old MULTI driver quirks GOT'OK: ; make sure modem is 932, 1432, 1932 or 2834 model SET REG(2)=0 SLEEP 0.5 SAY "ATEQI0^M" ; get firmware # SLEEP 1.5 IF "144" SET REG(2)=2 ; 1432 v 1.04 firmware IF "2432" SET REG(2)=2 ; 932EH v 1.04 firmware IF "247" SET REG(2)=2 ; 932EH v 1.07 firmware or newer model IF "2834" SET REG(2)=3 ; 2834 (current firmware doesn't do this?) IF "24" GOTO ITS'A'224 ; 224 or 224E IF "696" GOTO ITS'A'696 ; 696E IF REG(2)<2 GOTO NOT'SUPPORTED :S IF "" ; clear buffer SLEEP 0.5 ; standard wait-before-AT-command SAY "ATI2^M" ; query modem as to model SLEEP 1 IF "2834" SET REG(2)=3 ; handle undistinguished response of MT2834 IF "BA" SET REG(5)=1 ; MultiModem II IF "BL" SET REG(5)=1 ; MultiModem II (lease line) IF "BR" SET REG(5)=1 ; MultiModem II (rack mount) IF "EH" SET REG(5)=0 ; we have old modem MT932EH IF "ZDX" SET REG(5)=4 ; ZDX models - no switches IF "1432MU" SET REG(5)=4 ; pocket modem IF "1432EAB" SET REG(5)=2 ; MT1432EAB -Unix spoofing on #4 IF "932EAB" SET REG(5)=0 ; MT932EAB -old style switches IF "932EAF" SET REG(5)=3 ; MT932EAF -Unix spoofing on #4 XY=0 IF REG(5)=1 GOTO NEW'CASE ; MultiModem II (metal case) IF REG(5)=2 GOTO EAB'CASE ; 1432EAB (plastic case) IF REG(5)=3 GOTO EAB'CASE ; 1432EAB (plastic case) IF REG(5)=4 GOTO TINY'CASE ; Mu pocket modems OLD'CASE: :< Programming Multi-Tech 932EH & 932EA Modems (Plastic cases) Please use the recommended cable from Appendix of your manual. Otherwise, the modem may not perform properly! There are two DIPswitches on the bottom of the modem. Set the _4_ position DIPswitch on the bottom of the modem as follows: Segment Position Effect 1 up Force CTS on until we program modem 1st time 2 up Select Dial-Up rather than leased line mode 3 down Select Multi-Tech codes (better than Hayes) 4 down Asynchronous Operation > GOTO OFF'THE'MODEM NEW'CASE: :< There are sixteen DIPswitches on the side of the MultiModem II with the metal case. Set the DIPswitch segments as follows: Segment Position Effect 1 up DTR dependent on interface 2 up Hardware flow control > if reg(2)>2 goto now'leased :< 3 up disable command responses > goto new'case'4 now'leased: :< 3 up -10Db/0Db permissive/leased line > new'case'4: :< 4 up Unix protocol spoofing disabled 5 -- don't care (auto answer is up) 6 up Maximum throughput on 7 down RTS dependent on interface (for now) 8 down enable command mode 9 down local digital loopback off 10 up dialup operation (down for leased) 11 down Multi-Tech responses 12 down Asynchronous operation 13 up 9600 baud operation 14 up 9600 baud operation > if reg(2)>2 goto now'cd'dsr :< 15 up not used > goto new'case'16 now'cd'dsr:: :< 15 up CD/DSR from interface > new'case'16: :< 16 -- not used > GOTO OFF'THE'MODEM EAB'CASE: :< There are two DIPswitches on the bottom of EAB & EAF modem. Set the _8_ position DIPswitch on the bottom of the modem as follows: Segment Position Effect 1 up DTR dependent on interface 2 up Hardware flow control 3 up disable command responses 4 up Unix protocol spoofing disabled 5 -- don't care (auto answer is up) 6 up Maximum throughput on 7 down RTS dependent on interface (for now) 8 down enable command mode 9 down local digital loopback off Set the _4_ position DIPswitch on the bottom of the modem as follows: 1 down local digital loopback off 2 up dial-up operation 3 down Multi-Tech result codes 4 down Asynchronous operation > OFF'THE'MODEM: :< After you have set the switches accordingly, turn the modem off so that it will reset. Wait a few seconds. Turn the modem back on. Then press RETURN. > :K TINY'CASE: SET ERR0=0 REBAUD: :< If you wish to use the modem at a constant baud rate, enter BAUD followed by the baud rate desired for the serial port, else press RETURN. > :R :K IF ERR0#0 GOTO REBAUD :S :< If you are running AMOS/L 1.3D, AMOS/32 1.0D, AMOS/x 2.0A, or a later operating system, AND you are connecting pin 4 of the modem to an input flow control pin on the computer, enter GOTO FLOW. Otherwise, press RETURN. > :K GOTO SKIP'FLOW FLOW: flow: Flow: SET REG(4)=1 GOTO TONE'PULSE SKIP'FLOW: SET REG(4)=0 TONE'PULSE: :< For TONE dialing, press RETURN. For PULSE dialing enter GOTO PULSE.> :K SET REG(6)=1 GOTO FLOW'CHOICE PULSE: Pulse: pulse: SET REG(6)=0 FLOW'CHOICE: ; handle choice of baud rate handling :< We recommend that you configure the modem to use speed conversion to have INDEPENDENT speeds for the serial and modem ports of the modem. This generally means that neither incoming or outgoing callers need worry about baud rate matching. However, if you have a special application that expects the modem to switch its serial baud rate with every call (like an old Hayes modem), then you need to enter the command GOTO OLD and a RETURN below. Press RETURN to use INDEPENDENT rates, or enter GOTO OLD for special uses. > :K IND: Ind: ind: :< You have selected to use speed conversion for INDEPENDENT serial and modem rates. The serial port baud rate will remain constant and the modem baud rate will be adjusted to match the remote modem's baud rate. > SET REG(3)=1 GOTO PROCEED OLD: old: Old: :< You have selected to use the traditional mode where the modem and serial baud rates must always match. You must use the /CHANGE switch when you specify the modem driver. This informs AUTOLOG to change the serial baud rate to track the connect rate of each call. > SET REG(3)=2 PROCEED: :< Resetting modem to factory defaults...> SLEEP 2 IF "" :<.> SLEEP 0.5 SAY "AT&F^M" ; reset to factory defaults :<.> UNTIL "OK" 5 ; wait for response (depends on switches) SLEEP .5 SAY "ATQ0^M" ; some models reset to Quiet mode UNTIL "OK" 2 ; get modem's attention after reset ; (some ignore 1st cmd after &F) IF "" SLEEP .5 SAY "ATEQV1^M" ; make sure we get a verbose result code :<.> UNTIL "OK^M^J" 2 IF ERR0#0 GOTO NOOK :S ; first set values common to all models :< Programming modem to allow X/Y/MODEM & AUTOLOG file transfers> SLEEP .5 IF "" SAY "AT" ; command prefix IF REG(6)=1 SAY "T" ; tone dialing SAY "V1" ; verbose results SAY "X4" ; report BUSY, DIALTONE, NO DIALTONE SAY "&E1" ; auto-reliable (&E0=MNP off, &E2=MNP only) SAY "&E4" ; CTS modem-initiated flow control SAY "&E7" ; XON/XOFF passed through SAY "&E10" ; XON/XOFF flow control disabled in Normal Mode ; only use pacing (input flow control) if user wants it! IF REG(4) = 1 SAY "&E13" ; Pacing On SAY "&E15" ; enable data compression SAY "^M" ; finish the AT command :<.> UNTIL "OK^M^J" 2 IF ERR0#0 GOTO NOOK ; modem is not responding. ; &Q commands changed - try &Q0 first, then &Q0&Q3 for later firmware SLEEP .5 SAY "AT&Q0^M" ; standard result codes (not Hayes) :<.> UNTIL "OK^M^J" 2 SLEEP .5 SAY "AT&Q0&Q3^M" ; all possible result codes, B selects Bell :<.> UNTIL "OK^M^J" 2 ; set modem's default serial baud rate to current serial baud rate SLEEP .5 SAY "AT$$SB" ; $$ is a single dollar sign due to macros SAY SERIAL'BAUD ; send the serial baud rate as decimal number SAY "^M" :<.> ; don't check for error - SERIAL'BAUD verb only works under AUT 3.0 & higher ; and without a valid buad rate, SB command is ignored UNTIL "OK^M^J" 2 ; set idle disconnect to 15 minutes SLEEP .5 SAY "ATS30=15^M" :<.> UNTIL "OK^M^J" 2 ; set other options and values SLEEP .5 SAY "AT" SAY "$$A1" ; buffer data during MNP link attempt SAY "S7=60" ; extend connect wait time to 60 seconds for ; slow long distance & int'l calls ; handle baud rate handling IF REG(3)=1 SAY "$$BA0^M" ; serial baud rate constant, modem ; handles speed conversion IF REG(3)=2 SAY "$$BA1^M" ; serial baud rate varies, software ; handles speed conversion SAY "^M" :<.> UNTIL "OK^M^J" 2 IF ERR0#0 GOTO NOOK ; modem is not responding. ; add AT&RF1 for MT932B. Allow modems that don't support the &RF command ; to just give an error message, and continue. IF REG(4)=0 GOTO SKIP'RF'SET IF REG(5)=0 GOTO SKIP'RF'SET ; only 1432 & newer have &RF SLEEP 0.5 SAY "AT&RF1^M" UNTIL "OK^M^J" 2 SKIP'RF'SET: ; added #P0, %E3, and $$R1 for newer models. Allow modems that don't support ; these commands to give error message and go on. SAY "AT%E3^M" ; allow +++ or BREAK escape sequence UNTIL "OK^M^J" 2 SLEEP 0.5 SAY "AT#P0^M" ; no parity in 11 bit mode UNTIL "OK^M^J" 2 SLEEP 0.5 SAY "AT$$R1^M" ; disconnect after 12 retransmits UNTIL "OK^M^J" 2 SLEEP 0.5 SAY "AT#B1^M" ; make modem more compatible in answer ; mode with old 1200 & 2400 modems UNTIL "OK^M^J" 2 SLEEP 0.5 SAY "ATQ1&W0^M" ; save this configuration for power up. SLEEP 1 :< Your modem has been programmed - these settings will be restored every time the modem is turned on. Please perform this installation procedure each time you change the port, cable, modem or BAUD RATE of the I/O port!!! > IF REG(5)>0 GOTO NOT'EH :< Now change the 4 position DIPswitch segment 1 to down to enable hardware flow control. Press RETURN when you have checked this switch : > :K > NOT'EH: IF REG(5)#0 GOTO SKIP'JUMPS : :K GOTO SKIP'JUMPS JUMPER: Jumper: jumper: :< Take the white plastic cover off the modem and make sure that the modems internal jumper plugs (====) are set as follows: (See modem's manual section 9.4 through 9.6 for pictures) back of modem +---------------------------------------------------------------+ > IF REG(4)=0 GOTO NO'FLOW :<| RTS o====o o (RTS Functions Normally _NOT DEFAULT!_ )| > GOTO DRAW'CTS NO'FLOW: :<| RTS o o====o (RTS Forced On) | > DRAW'CTS: :<| | | CTS o====o o (CTS independent of RTS) | | | | DSR o o====o (DSR follows CD) | +---------------------------------------------------------------+ front of modem > GOTO SHOW'SETTINGS SKIP'JUMPS: IF REG(5)=4 GOTO NO'SWITCHES IF REG(4)=0 GOTO SEVEN'DOWN :< Orient the modem so you can see the DIPswitches. Make sure that switch segment #7 is in the UP position. This setting allows input flow control to function. > GOTO SHOW'SETTINGS SEVEN'DOWN: :< Orient the modem so you can see the DIPswitches. Make sure that switch segment #7 is in the UP position. This setting allows input flow control to function. (You indicated the port doesn't support input flow control.) > SHOW'SETTINGS: :< Press RETURN when you have checked that the switch or jumper has been set as detailed above. > :K NO'SWITCHES: :< Here are the settings for your modem. You can see the settings by pressing ATL5L7 and a RETURN any time you are linked to the modem and in TALK mode. > IF "" :R SAY "^X^M" SLEEP 1 SAY "ATL5L7^M" PEEK 2 IF REG(3)=2 GOTO DVR2 :< Use the command MODEM SMART after linking to this modem. > :X DVR2: :< Use the command MODEM SMART/C after linking to this modem. > :X NOOK: :< M O D E M D O E S N O T A C K N O W L E D G E ! Check for these kinds of things: 1. No power (Plug it in) 2. Bad cable (See Appendix A) 3. Improper switch settings (See Appendix D) 4. Bad baud rate (Use 2400 Baud) 5. You did not understand screen instructions - try again 6. Bad modem (Try another one) 7. ???? (Replace :S in this GO file with :T) Multi-Tech's toll free number for tech support is (800) 328-9717 > :X ITS'A'224: :< The modem is reporting that it is a Multi-Tech 224, not a 932. Enter Q and RETURN to quit, or press RETURN to program as a 224. > :K GO MUL224 :X ITS'A'696: :< The modem is reporting that it is a Multi-Tech 696, not a 932. Enter Q and RETURN to quit, or press RETURN to program as a 696. > :K GO MUL696 :X NOT'SUPPORTED: :< THIS MODEM IS NOT A SUPPORTED HIGH SPEED MULTI-TECH MODEM PROGRAMMING SEQUENCE ABORTED > :X BAD'FIRMWARE: :< This configuration file does not support your modem firmware. As modem firmware changes (which happens about 5 times a year), this file becomes outdated. If you have a signon to our update system, look for a newer version there. > F .