From: SMTP%"RELAY-INFO-VAX@CRVAX.SRI.COM" 31-AUG-1993 10:40:40.51 To: EVERHART CC: Subj: RE: Need help: modems & MicroVAX-VMS Date: Tue, 31 Aug 1993 09:37:23 EDT From: Mighty Firebreather To: walt@halcyon.com CC: info-vax@sri.com Message-ID: <00971D6A.E57FB5C0.4892@nscvax.princeton.edu> Subject: RE: Need help: modems & MicroVAX-VMS walt@halcyon.com (Walt Hyde) writes: >I connected a modem to the async modem control port of our MicroVAX >3100-30 (VMS 5.5). So far, so good, except that every 30 seconds, >the VAX drops the DTR line for 3 seconds, which causes the modem to >hangup. Then DTR goes high again, and the cycle repeats over and over. >This doesn't seem right - DTR should be on whenever the machine is up >and running. What might be causing this, and how can I fix it?? >Left as is, *if* you manage to log in, you will get disconnected >within 30 seconds... > >As a temporary workaround, I set up the modem so that it ignores DTR, >and I am able to dial in and logon normally, but then the VAX can't >hangup the modem. > > >Any assistance (e-mail preferred) is most appreciated, as I'm a relative >newcomer to VMS. > I guess it's time for a repost. FAQ maintainer??? Using a MODEM With Your VAX Richard B. Gilbert Revised May 1, 1993 Be sure that the serial port you are using supports MODEM control signals. On the DMF32, for example, only ports 0 and 1 can be used with MODEMS. These ports on the DMF32 must have switches set to enable MODEM control signals. The VAXStation 3100 does NOT support MODEM control! The MicroVAX 3100 does support modem control. Connect the MODEM with a cable that supports MODEM control signals such as DEC's BC22E. Note that while it was possible to "fake it" with VMS V4.x and earlier, VMS V5 requires that all of the MODEM control signals be connected. (Pins 2-8, 20 and 22 should be connected straight through; i.e., 2-2, 3-3, 4-4, ...) You will need to make some switch settings on your MODEM. The following settings are for a US Robotics Courier 2400. See your MODEM's instruction manual. The switch numbers will be different but the functions available are typical. The settings marked with an asterisk are critical to the successful use of your MODEM. Some settings can also be made from the CPU via the MODEM's AT command set, in which case the hardware switch settings determine the MODEM's power on defaults. The AT commands in parentheses, following the switch settings, are the commands for a U.S. Robotics Courier HST dual standard modem. Check your manual for the proper commands for your modem. * 1. DTR Normal (controlled by CPU) (AT&D2&W) 2. Verbal result codes (Useful during dialout) (ATV1) * 3. Do not display result codes (Quiet mode) (ATQ1) 4. Echo off line commands (Useful during dialout) (ATE1) * 5. Auto answer (MODEM will answer the phone if DTR is asserted) (ATS0=1) * 6. Normal Carrier detect (controlled by MODEM) (AT&C1&W) 7. Single phone line (As required) 8. Normal At command set (Must be enabled for auto dial.) 9. Online after +++ ************************************************************************ Many users have observed the VAX dropping DTR (Data Terminal Ready) while a user is trying to dial in, causing the MODEM to hang up the phone. The terminal driver will drop DTR if it sees DSR (Data Set Ready) for more than thirty seconds, without also seeing CD (Carrier Detect). If it is possible to configure the MODEM so that it does not assert DSR until it asserts CD (AT &S1&W), do so. Otherwise it will be necessary to use a modified cable. At the VAX end of the cable, cut the wire leading to pin 6 (DSR) and jumper pin 6 to pin 8 (CD). A command similar to the following should be placed in your SYS$MANAGER:SYSTARTUP_V5.COM file to set up an asynchronous port for use with a MODEM. You may want to add some more qualifiers but this will get you going. $ SET TERMINAL - /PERMANENT - ! Make settings permanent /MODEM - ! Use MODEM control signals /DIALUP - ! Gives the DIALUP identifier to user. /HANGUP - ! Hang up the phone when user logs off /AUTOBAUD - ! Detect the user's baud rate and set it.* /ALTYPEAHD - ! Use the alternate typeahead buffer. The ! alternate typeahead buffer can be made larger ! than the regular one. This is helpful if you ! are doing file transfers. See SYSGEN parameter ! TTY_ALTYPAHD. /HOSTSYNC - ! VAX will send XOFF when its buffer is nearly ! full and XON when it is ready for more input. ! See SYSGEN parameter TTY_ALTALARM. _TXA0: $ SET PROTECTION=W:R /DEVICE ! Sets device protection to allow non-privileged ! users to allocate the device for dialing out. ! Otherwise user must own device or hold SYSPRV. * Many modern modems are capable of using a fixed DTE rate to talk to the computer; e.g. if they are set to 19200, they will talk to the computer at 19200 regardless of what speed they are using to talk to the remote modem. This feature has performance implications for modems that do data compression using either CCITT V.41 or MNP. For such modems, use /SPEED=xxxxx rather than /AUTOBAUD. ************************************************************************ The following commands should probably go in SYS$SYLOGIN, your system-wide login command file: $! Test for interactive or batch mode $! $ IF F$MODE() .NES. "INTERACTIVE" THEN GOTO 10$ $! Set up device dependant terminal characteristics. This only works $! if the terminal responds to ANSI Device Attributes (DA) control string. $! Most DEC terminals (VT1xx, VT2xx, LAxxx) and compatibles will do so. $ IF F$GETDVI("TT", "TT_MODEM") THEN $ SET TERMINAL /INQUIRE $ 10$: ************************************************************************** To set the terminal for temporary dialout use, execute the following commands: $ ALLOCATE TXA0: KER$COMM ! Logical is useful for Kermit-32. $ SPEED="''P1'" $! Default to 1200 baud. ! Pick a suitable default value. $ IF SPEED .EQ. "" THEN SPEED=1200 $ SET TERMINAL /NOAUTOBAUD /SPEED='SPEED' KER$COMM: You may need to add a /NOECHO qualifier if your terminal program is too stupid to read with no echo. It is not necessary with SET HOST/DTE, KERMIT, XMODEM, or HOST32. To support a modem on a DECServer 200: 1. Set up the terminal server as follows: (assuming port 8) Local> DEFINE PORT 8 ACCESS DYNAMIC AUTOBAUD DIS Local> DEFINE PORT 8 DSRLOGOUT DIS FLOWCONTROL XON Local> DEFINE PORT 8 INACTIVITY ENA MODEM ENA Local> DEFINE PORT 8 SIGNAL CHECK ENA Local> DEFINE PORT 8 SPEED 2400 ALTERNATE SPEED 1200 Local> LOGOUT PORT 8 Local> DEFINE SERVICE service_name PORT 8 IDENT "string" Local> SET SERVICE service_name PORT 8 IDENT "string" Other port characteristics may be defined "to taste". 2. Insert the following statements in SYS$MANAGER:LTLOAD.COM: CREATE PORT LTA100: /NOLOG SET PORT LTA100: /APPLICATION /NODE=server_name /SERVICE=service_name - /NOQUEUE /NOLOG The LTA number is more or less arbitrary but must take into account the fact that LAT startup creates a few ports temporarily (starting at LTA1) and the number you choose must not conflict. The server_name and service_name must correspond exactly to the names used in the DECserver DEFINE SERVER server_name and DEFINE SERVICE service_name commands! 3. Insert the following statements in SYS$MANAGER:SYSTARTUP_V5.COM: $! $! Start LAT (DEC Server 200 terminal server) $! $ @SYS$MANAGER:LTLOAD $! $! Set up Modem port on terminal server. $ SET TERMINAL /PERMANENT /MODEM /DIALUP /HANGUP - /ALTYPEAHD /HOSTSYNC LTA100: $ SET PROTECTION=W:R /DEVICE LTA100: 4. Reboot or execute the commands in steps 2 and 3. ************************************************************************* * Here, there be dragons! * * dragon@nscvax.princeton.edu * * * * I'm job hunting. Any offers or leads will be appreciated. * * Thanks! * * Richard B. Gilbert * *************************************************************************