home *** CD-ROM | disk | FTP | other *** search
- File MSKERM.BWR MS-DOS KERMIT 3.11 "BEWARE FILE" September 1991
-
- BUGS, LIMITATIONS, AND HINTS
-
- This file applies to version 3.11 of MS-DOS Kermit for the IBM PC and PS/2
- families and compatibles. If you are experiencing problems with MS-DOS Kermit,
- please read this file first to find out the status of the problem. It might be
- known already, and a workaround listed here.
-
-
- The user manual for MS-DOS Kermit 3.11 is the book "Using MS-DOS Kermit",
- Second Edition, by Christine M. Gianone, published by Digital Press, Bedford,
- MA (1991), order number EY-H893E-DP. Call 1-800-343-8321 (toll free, USA) to
- order, or order by mail from Columbia University.
-
- Certain features were added to the dialing directory and the TCP/IP
- support after press time for the second edition of the book. For
- greater details about these features, see the MS-DOS Kermit help file,
- KERMIT.HLP or MSKERM.HLP. For TCP/IP, also see the section at the
- end of this file.
-
- ****
- Problems noted since the publication of the distribution diskette on
- September 7, 1991, are listed at the end of this file.
- ****
-
- MS-DOS Kermit 3.11 has been successfully tested with PC-DOS 2.0, 3.0, 3.30,
- 4.0 and 5.0 on a wide variety of IBM PCs, XTs, PC/ATs, Portable PCs, PS/2s,
- and compatibles. DOS 2.0 or later is required for basic operation, and 3.30
- or later is required for certain features such as code page switching.
-
- Please report problems via e-mail to Info-Kermit@watsun.cc.columbia.edu or to
- KERMIT@CUVMA.BITNET, or call (212) 854-5126, or write to Kermit Distribution,
- Columbia University Center for Computing Activities, 612 West 115th Street,
- New York, NY 10025, USA.
-
- Certain bugs that surface after the release of the software are correctable
- by runtime patches that can be installed from your MSKERMIT.INI file. Contact
- Kermit Distribution at Columbia for further information.
-
- PROBLEMS WITH KERMIT UNDER MS-DOS 5.0
-
- Reportedly, Kermit loses incoming characters at high baud rates (19200, 38400,
- etc, depending on CPU model). The current speculation is that DOS 5.0's new
- memory management functions are causing interrupts to be lost. If the serial
- port data-ready interrupt is not delivered to Kermit, Kermit never knows that
- a character has arrived and therefore does not read it.
-
- PROBLEMS WITH KERMIT UNDER MICROSOFT WINDOWS, DESQVIEW, OS/2, ETC
-
- Although MS-DOS Kermit can work in these environments, and even takes advantage
- of many of their features, it does not have a "graphical user interface". You
- still have to type commands to the MS-Kermit> prompt or execute them from
- command files with the TAKE command.
-
- You can't use Kermit under Windows 3.0 in Windows mode (i.e. in a window)
- unless you are running Windows on a 386-class machine in Enhanced Mode. This
- is a restriction of Windows 3.0 -- Microsoft changed the rules. Kermit works
- in a window on all PCs (if they have enough memory) under Windows 2.0.
-
- To use Kermit's TCP/IP support under Windows 3.0, you must set up the
- KERMIT.PIF file to "Lock Application Memory" (Enhanced-Mode Advanced options
- screen).
-
- Reportedly, a third-party communication port driver (such as TurboComm) is
- required to run Kermit as speeds greater than 9600 bps under Windows 3.0. A
- 16550a UART is needed too, for its FIFO buffering. Other reports indicate that
- high speed operation is possible after all, and suggest looking at the Windows
- files SYSIN*.TXT for information about SYSTEM.INI settings related to
- communication ports, particularly COMxBuffer and COMBoostTime. The real answer
- is a combination of software, BIOS, machine architecture, serial port hardware,
- which drivers and TSRs are loaded, system load, and Windows settings.
-
- Under Microsoft Windows/286 v2.03 there may be problems with memory allocated
- from DOS being corrupted during Windows' operations. One symptom is that macro
- definitions will turn into garbage (random characters). This has not been
- observed under Windows/386 or Windows 3.0.
-
- When running MS-DOS Kermit under any version of MS Windows, specifying a ",P"
- at the end of a serial port setting in WIN.INI or in a MODE command can cause
- loss of characters from the serial port. Remove the ",P" from the setting.
-
- Reportedly, MS-DOS Kermit doesn't work under OS/2 2.0 BETA unless you direct
- OS/2 to load DOS in low memory.
-
- INCOMPATIBILITIES BETWEEN MS-DOS KERMIT 3.11 and 3.00/3.01:
-
- Macro arguments are now "stacked", saved at each macro entry and restored upon
- exit, so that calling macro B from within macro A does not destroy macro A's
- arguments. Note: this changes the operation of the LOOKUP macro described in
- the first edition of "Using MS-DOS Kermit" (version 3.11 uses a completely
- different technique for dialing directories).
-
- Macro definitions in 3.11 can be longer. Long macros that work in 3.11 won't
- work in earlier releases.
-
- The new macro argument \%0 now holds the name of the macro.
-
- The REPLAY command now allows screen rollback, dump, print, etc. At the end
- of the replay file, use regular terminal emulation keys (PgUp, Ctrl-End,
- PrintScreen) to invoke these functions, and use Alt-X, Ctrl-]C, or Ctrl-C to
- get back to the prompt. Previously, any keystroke would return to the prompt.
-
- If an INPUT command is interrupted by pressing any key, the status is set to
- FAILURE, just as if the command had timed out. If you need to know whether an
- INPUT failed because it timed out or was interruped, you can surround it with
- SET ALARM and IF ALARM commands, e.g.
-
- SET ALARM 30
- INPUT 30 Login:
- IF SUCCESS GOTO OK
- IF ALARM ECHO INPUT Interrupted from keyboard
- IF NOT ALARM ECHO INPUT Timed out
-
- The ECHO command no longer requires a \13 on the end. It supplies both CR
- and LF.
-
- The WRITE command, introduced in version 3.00, no longer accepts "objects"
- like DATE, TIME, etc. Now it is more like an ECHO command that includes a
- destination specifier: WRITE SCREEN, WRITE SESSION, etc. The argument in all
- cases is a line of text. This text may contain any kind of backslash codes or
- variables, including the new (to version 3.10) built-in \v(xxx) variables like
- \v(time), \v(date), etc. Old-format WRITE commands will produce undesired
- results. For example WRITE SCREEN TIME FOO will print "TIME FOO" on the
- screen rather than something like "12:34:56 FOO".
-
- BYE, FINISH, or LOGOUT commands that fail (e.g. because the remote server has
- these operations disabled) no longer behave as if they had succeeded.
-
- Text and graphics screens can now have separate colors.
-
- Host-generated autoprint sequences work differently. In version 3.01 and
- earlier, MS-DOS Kermit copied characters to the printer as they arrived,
- regardless of the screen dimensions. In version 3.10 and later, Kermit's
- action follows that of a real VT terminal: it waits until the cursor moves off
- the line with a linefeed or formfeed, or the line wraps. If your screen does
- not support 132 columns, Kermit wraps long lines -- even those destined for the
- printer during autoprint sequences -- at 80 columns. If you need to direct
- long lines to your printer under these circumstances, use transparent print
- instead, or else LOG SESSION PRN.
-
- The Alt-minus key no longer "toggles" among all of Kermit's terminal types.
- As of version 3.11, Alt-minus switches between the Tektronix graphics screen
- and the text screen for the current text terminal type (e.g. VT320).
-
- DIALING
-
- The DIAL command and dialing directory have been totally redone for MS-DOS
- Kermit 3.11. See KERMIT.HLP (MSKERM.HLP) for a description. If you need to
- dial a non-Hayes compatible modem, write a dialing script for it, and change
- the definition of the _modem variable in MSKERMIT.INI.
-
- COMMUNICATIONS
-
- On IBM PCs and PS/2s with IBM asynchronous adapters, Kermit can be used at
- speeds up to 57600 bps under DOS (under Windows or DesqView, the maximum speed
- is probably lower). For 115200 bps to work, a very short shielded cable is
- required, and the async adapters of the two machines must be in perfect tune.
- Some VAX serial port interfaces are out of tolerance at 19,200 bps and faster.
-
- If Kermit loses incoming characters during terminal emulation because of
- serial port buffer overruns or network packet loss (which it can detect), it
- beeps (replaces the lost character(s) with a Control-G).
-
- Although high speeds can be used for file transfer, the maximum speed for VT
- and Tektronix terminal emulation might be lower, depending on your PC model and
- configuration. If your speed is set too high, the symptom might be lost or
- garbled characters or graphics images on the screen or beeps sounding when
- Kermit detects a data overrun. Normally flow control prevents these problems,
- so use it if you can. Printing while in CONNECT mode needs flow control to be
- active.
-
- MS-DOS Kermit does not attempt to monitor the communication line for carrier
- loss during terminal emulation or file transfer (but you can SHOW MODEM or
- SHOW COMMUNICATIONS to inquire about CD, DSR, and CTS). The script command
- WAIT permits sensing carrier presence in a script program.
-
- The SHOW MODEM and WAIT commands work right only if your modem or other
- communication device is configured to raise and lower the DSR, CTS, and CD
- signals appropriately, and the cable that connects your PC to the modem passes
- these signals through. For some modems, the factory setting is to always keep
- CD on, even if there is no connection. Consult your modem manual.
-
- For RS-232 devices, the HANGUP command (and Ctrl-]H in CONNECT mode) works
- only if the cable that connects your PC to the communication device passes the
- DTR signal through, and if the communication device itself is configured to
- hang up or otherwise terminate the connection when the DTR signal is lowered
- by the PC. For some modems, the factory setting is to ignore DTR transitions.
- Consult your modem manual.
-
- When communicating across some network pathways, the longest burst of
- information tolerated from the PC can be rather short. For example, the LAT
- path with SET PORT DECnet has a limit of 256 bytes and the SET PORT TES path
- has a limit of 512 bytes in a burst. Longer bursts can cause the network
- software to drop the connection. This is important when sending files, and if
- sliding windows are active, the sum of all the packets in the window (packet
- length times the number of window slots) must be shorter than the above limits.
- This is not a Kermit problem.
-
- TERMINAL EMULATION
-
- Kermit's VT320/340 emulator lacks the following features:
-
- . Smooth scroll
- . Downloadable soft fonts
- . ReGis graphics (VT340/330)
- . Dual sessions in split screens (VT340/330)
- . Local screen editing and block transmission (for security reasons)
- . ENQ/Answerback (also for security reasons)
- . True double height/width characters (these are simulated)
- . Selective erasure (as a character attribute, a formatted screen item)
- . Many of the exotic and rarely known features of the DEC VT340/330
- series: mostly formatted screen and graphics operations highly specialized
- to DEC hardware.
-
- On certain "national keyboards", such as the German keyboard, Kermit's normal
- escape character, Ctrl-] (Control-Rightbracket) does not appear to work. This
- is because IBM changed the way certain control characters must be typed on
- these keyboards. On the German keyboard, Ctrl-] is produced by holding down
- the Ctrl (Strg) key and pressing the + (plus) key. MS-DOS Kermit has no way
- of knowing this, and continues to display the escape character as "^]".
-
- If VAX/VMS thinks you have a VT220 or VT320, it sends 8-bit control sequences.
- Kermit does not understand them unless you SET TERMINAL BYTESIZE 8. The
- symptom is the appearance of fragments of escape sequences on the screen and
- wrong cursor positioning, and possibly fractured tab settings, particularly
- during EVE sessions. You can prevent VMS from sending 8-bit control sequences
- (for example, if you really do not have an 8-bit connection) by giving the VMS
- command SET TERMINAL /NOEIGHT. For VAX/VMS, you should also use Xon/Xoff flow
- control in both directions (SET TERM /TTSYNC /HOSTSYNC on VMS).
-
- In VT100/200/300 emulation on the IBM family, receipt of the ESC [ 4 m (turn on
- underscore) command results in reverse video rather than underscore on IBM CGA,
- EGA and other color monitors. IBM display adapters have one less attribute
- than DEC monochrome terminals, and in addition the two systems choose to
- intensify dots differently (IBM does foreground/character dots only, whereas
- DEC can illuminate any dot).
-
- SET TERMINAL COLOR 1 [3xx 4xx] (used to make the foreground color bright), if
- issued when SET TERMINAL SCREEN REVERSE is in effect, results in reverting to
- normal video.
-
- If certain incomplete escape sequences are received during terminal emulation,
- Kermit can hang. For example, Operating System Command. Kermit is waiting
- for the string terminator that never comes. This usually happens because of
- noise on the communication line. Reset the terminal emulator by pressing ALT =
- (ALT and the equals sign key) which is default key binding of keyboard verb
- \Kreset.
-
- Kermit does not support 132 column mode on on the IBM monochrome adapter, CGA,
- MCGA, or EGA. However, if your display adapter handles 132 columns in text
- mode, and Kermit knows how to control it, Kermit can switch automatically
- between 80- and 132-column mode upon host command or SET TERMINAL WIDTH { 80,
- 132 }. Otherwise you have to provide external commands in the files
- COLS80.BAT and COLS132.BAT. Kermit does not support other widths (except, to
- a certain extent, 40).
-
- Kermit assumes 25 screen lines, but can adapt itself to other lengths to a
- certain extent if it knows how to get this information from the video adapter
- (but there still may be some confusion about screen length when switching
- between text and graphics modes, or between 80 and 132 column mode, or
- escaping back from CONNECT mode, due primarily to lack of reliable or
- consistent information from the many different kinds of video adapters).
-
- The following video boards are directly controllable by Kermit for changing
- screen width or length:
-
- ATI EGA and VGA Wonder (NEW)
- AST, Dell, and other boards based on Western Digital VGA boards (NEW)
- AT&T / Olivetti
- Everex Viewpoint EV-659, FVGA-673, EV-678, Micro Enhancer Deluxe (NEW)
- IBM XGA (NEW).
- Paradise AutoSwitch EGA Mono (NEW)
- Paradise Professional (NEW)
- Paradise VGA Plus 16 (ROM BIOS 003056-xxx firmware) (NEW)
- Paradise VGA Plus (ROM BIOS 003056-xxx firmware) (NEW)
- Paradise VGA Professional (ROM BIOS 003056-xxx firmware) (NEW)
- Paradise VGA1024 (NEW)
- STB VGA/EM (Tseng TVGA)
- STB VGA/EM Plus (Tseng 4000), VGA/EM-16, VGA/EM-16 Plus (NEW)
- Tseng Labs EVA board with 132-column kit installed
- Tseng Labs UltraPAK mono/Hercules with 132 column modes
- Video 7 Vega Deluxe with 132X25.COM driver installed and Video 7 VGA
-
- For other boards, create COLS80.BAT and COLS132.BAT files. If your video
- board and monitor cannot do 132 columns in text mode, neither can Kermit.
-
- On certain configurations that do not support 132 column mode at all (for
- example a PS/2-50 with VGA), attempts to SET TERM WIDTH 132 might cause an
- infinite loop of executing COLS132.BAT (if it exists). This problem is not
- reproducable. Workaround: delete COLS132.BAT if you don't need it.
-
- If you have a monitor with fixed horizontal frequency but a video adapter that
- Kermit knows how to switch into 132 column mode, you will see only garbage on
- your screen whenever Kermit switches it to 132 columns. There is presently no
- way to tell Kermit to ignore the "switch to 132 columns" escape sequence.
- Solution: if you buy a 132-column-capable video adapter, make sure you have a
- compatible monitor.
-
- To get properly formatted screens during terminal emulation, you must also
- inform the remote host of your screen width and length.
-
- So that key translation and macros can work on both IBM and non-IBM compatible
- PCs, Kermit uses the system BIOS to obtain key scan codes. But the IBM BIOS
- does not produce scan codes at all for certain keys, and may produce duplicate
- scan codes for others. Num Lock, Scroll Lock, Pause are examples.
-
- When you PUSH to DOS (including when you use Kermit's RUN command), and you
- have XON/XOFF flow control enabled, Kermit sends an XOFF (Ctrl-S) to the host
- when you leave, and XON (Ctrl-Q) when you return. This is good behavior, as
- it prevents data transmitted by the host while Kermit's back was turned from
- being lost. However, if you do this while using the EMACS text editor on the
- host, the Ctrl-S will be interpreted as a Search command, and the Ctrl-Q as a
- Quote command. When you return to EMACS, type several Ctrl-G's to get out of
- the Search command.
-
- Similar comments about sending Xoff and Xon apply when Kermit is commanded
- to change its screen size between 80 and 132 columns. For example, if your
- host insists upon seeing a particular character to begin a session, but not
- an Xoff/Xon pair, then use OUTPUT <the special character> before starting
- Connect mode with a screen width different than that at the Kermit prompt.
-
- Session logging can be turned on using the LOG SESSION command, and it can
- be toggled on and off during terminal emulation by using whatever keys are
- associated with the verbs \Klogoff and \Klogon. One user stated the
- requirement to enable a session log, but to have it initially toggled off.
- This can be done as follows (using the F1 and F2 keys as examples):
- SET KEY \315 {\Kloginit} ; F1 to turn on log
- SET KEY \316 \klogoff ; F2 to turn log off
- DEFINE loginit log session, set key \315 \klogon, define loginit
-
- The session log is written to disk by DOS. The frequency with which DOS
- updates this file is governed by the BUFFERS= line in your CONFIG.SYS file
- (see your DOS manual). If you allocate a large number of buffers in
- CONFIG.SYS, disk operations occur infrequently and this improves performance
- of Kermit's disk accesses. If you need to have the session log updated more
- frequently to minimize the loss of data when there is a power failure, you can
- do this (at the expense of efficiency) by allocating a smaller number of
- buffers in CONFIG.SYS.
-
- GRAPHICS TERMINAL EMULATION
-
- If your display adapter lacks sufficient memory (as do CGA and the early 64K
- EGA boards), then when you toggle away from a graphics screen, or type the
- connect-mode escape character (Ctrl-]), the graphics image is lost.
- Furthermore, certain graphics images may be overlaid with vertical stripes on
- small (64K) EGA systems.
-
- PS/2 Model 25 and 30 MCGA adapter is used in low-resolution CGA mode by
- default, but images may be elongated or truncated. Hi-resolution graphics can
- be done (as of version 3.11) via SET TERM GRAPHICS VGA, but the PC might not
- be able to keep up at speeds above 9600 bps.
-
- When you type the escape character (normally Ctrl-]) while in Tektronix
- graphics mode, the screen goes back to text memory. Then when you type the
- argument character, the graphics screen reappears (unless the argument was C or
- P). Ctrl-]F will not file the graphics screen, but rather the text screen,
- because that's the screen that's showing after type the Ctrl-] key. To file
- the graphics screen (in TIFF format), use Ctrl-End (which has the Kermit verb
- \Kdump assigned to it by default).
-
- You can't dump the Tektronix screen while the GIN-mode crosshair cursor is
- active. When the crosshairs are up Kermit's keyboard translator is not
- active. Key strokes (of regular typewriter keys) or mouse actions are used to
- transmit the crosshair coordinates. If you press a non-typewriter key, Kermit
- just beeps.
-
- Kermit does not emulate a particular kind of colored graphics terminal, such
- as a DEC ReGIS display or a Tektronix 41xx or 42xx series. However, it can be
- used for color graphics by mixing ANSI color-setting escape sequences with
- Tektronix or Sixel commands. This requires graphics software vendors adding
- support for MS-DOS Kermit graphics to their packages (so far, WordPerfect Corp
- has done this for their host-resident products). There is at least one
- ReGis-to-Sixel converter on the market: RETOS, a DEC product for VAX/VMS.
-
- Problems may occur when using Kermit with host-resident (VAX/VMS) versions of
- WordPerfect because the color palette report sent by the "terminal" upon
- request of WordPerfect is very long. If the host is not configured properly,
- parts of the report will be lost because of overruns on the VMS side. SET
- TERM /HOSTSYNC and /TTSYNC are required by WP/VMS. Even then intervening
- communication boxes (e.g. terminal servers), can become overloaded with the
- 200++ byte response unless the server is configured to handle information of
- that length or to do flow control effectively.
-
- PRINTER SUPPORT
-
- (Shift-)Printscreen can cause the PC to hang if there is no attached printer.
- This is a BIOS feature, Kermit never receives the command. It occurs most
- frequently with a printer interface that has nothing plugged into it. If this
- happens during terminal emulation, try pressing Alt-= (hold down Alt and press
- the "=" key) several times to reset the terminal emulator.
-
- Serial printers are not directly supported. Kermit does not do flow control
- between itself and a serial printer. To use a serial printer effectively, you
- must have a driver for it that takes care of flow control.
-
- Transparent printing is started when the host sends the sequence ESC [ 4 i,
- and stops when the host sends ESC [ 5 i. Transparent printing passes all
- characters, including escape sequences, that arrive at the port directly to
- the printer without translation (but strips off the parity bit if Kermit's
- parity is not NONE). If character translation is desired, or it is desired
- not pass screen-control escape sequences to the printer, use Autoprint rather
- than Transparent print (ESC [ 0 i, ESC [ ? 4 i, ESC [ ? 5 i). In that case,
- characters are translated to the current IBM code page. If your printer
- doesn't support your IBM code page, you need an external utility to translate
- from the PC code page to the printer's character set. You can use SET PRINTER
- xxxx to capture Transparent print or Autoprint data into a file.
-
- INTERNATIONAL CHARACTER SETS
-
- Chapter 13, "International Character Sets," of the first printing of the first
- edition of "Using MS-DOS Kermit" does not mention that in order to use code
- page switching, you also need to have a statement like:
- DEVICE=C:\DISPLAY.SYS CON:=(EGA,437,(4,2))
- in your CONFIG.SYS file. This was corrected in the second printing of the
- first edition. Refer to your DOS manual for details.
-
- It is possible to use SET TRANSLATION INPUT to define new terminal character
- sets, that is new translations between whatever codes the host happens to be
- sending and whatever characters are loaded in the PC's character generator.
- In MS-DOS Kermit 3.01 and later, this mechanism has been extended to work with
- character sets in which the C1 range (80h-9fh) contains graphic, rather than
- control characters, but only if you SET TERMINAL CHARACTER-SET TRANSPARENT.
-
- MS-DOS Kermit 3.01 changed the strategy used by SET TRANSLATION INPUT and
- which is described in the first edition of "Using MS-DOS Kermit". In version
- 3.00 and earlier, this command worked like this:
-
- SET TRANSLATION INPUT \xxx \yyy
-
- where \xxx is the code for the character received at the communication port,
- and \yyy is the code for the character to display on the screen. In version
- 3.01 and later, \xxx is the code for the character that would be displayed on
- the screen in the current code page after normal translation, rather than the
- untranslated character that arrives at the port. Example: modifying the
- built-in Swedish character set to show character values 64, 94, 96, and 126 as
- ASCII rather than Swedish characters (using PC code page 437) is now done like
- this:
-
- SET TERMINAL CHARACTER-SET SWEDISH
- SET TRANSLATION INPUT \144 \64 ; What would normally be E-acute is atsign
- SET TRANSLATION INPUT \154 \94 ; U-diaeresis is circumflex
- SET TRANSLATION INPUT \129 \126 ; u-diaeresis is tilde
- SET TRANSLATION INPUT \130 \96 ; e-acute is accent grave
- SET TRANSLATION INPUT ON ; Enable translation
-
- MS-DOS Kermit determines the current file character set, and it decides which
- translations to apply to the current terminal character set, by asking DOS
- what the current code page is. Code pages exist which are not distributed in
- the USA, such as CP861 for Icelandic and CP862 for Hebrew. It is said that
- DOS incorrectly reports these code pages to be CP437. Furthermore it's not
- clear what the DOS code page reporting mechanism would be, if any, for
- otherwise IBM-compatible PCs custom fitted with special character sets such as
- Cyrillic, Arabic, etc, so in these cases too Kermit assumes CP437 and again,
- there is no current method for the user to load the necessary character set
- translation tables for file transfer.
-
- Code page switching is reportedly not possible on old PC/ATs that have
- small-memory (64K) EGA boards, and it is not possible in DOS versions earlier
- than 3.30.
-
- The right hand portion (GRight) of the Latin1 terminal character set won't be
- accessed by SI/SO locking shifts unless Kermit first receives the escape
- sequence ESC-A (Escape, dash, uppercase A) from the host. This is the way
- Digital Equipment Corporation designed the VT300 terminals. The initial state
- is G0 = G1 = ASCII, G2 = G3 = Latin1, and SI (Control-N) shifts the GLeft
- pointer from the G0 to the G1 set. The escape sequence ESC-A puts Latin in
- G1.Alternatively, the right hand portion is accessable by using Single Shift
- 2, ESC N, or Locking Shift 2, ESC n, before the text character(s). You can
- also designate Latin-1 to G1 (so that SO/SI will work) by hand with the MS-DOS
- Kermit command:
-
- SET TERMINAL CHARACTER-SET LATIN1 G1
-
- (This feature is new to verstion 3.10.) Kermit's terminal emulator sends
- characters with their 8th bit set as ESC N <character without the high bit> if
- parity is other than NONE.
-
- To get international characters to display correctly on the DEC VAXmate during
- terminal emulation, try SET TERMINAL CHARACTER-SET LATIN1 G2.
-
- LOG SESSION records the characters that arrive at the serial port, before
- translation by either Kermit's built-in terminal character set translation
- tables or by user-specified SET TRANSLATION INPUT commands (versions 2.32/A and
- earlier did apply the SET TRANSLATION INPUT command before logging to disk).
- This allows the REPLAY command to work correctly, but it prevents special
- characters from being logged after translation to the PC's own character set.
- Screen dump (Ctrl-End or Ctrl-]F) and autoprint, however, record the translated
- characters.
-
- SET TERMINAL CHARACTER SET is effective only for text screens, not for graphics
- screens. This is because the fonts for all the special characters have not
- been designed yet (and may never be, and even if they are, they would require a
- great deal of memory).
-
- International characters in macro names are not case independent.
-
- Case-independent string matching operations (e.g. SET INPUT CASE IGNORE,
- IF EQUAL xxx yyy) won't work with international characters.
-
- COMMAND PROCESSING
-
- A command file that contains lines or commands that are too long for DOS's line
- buffer can hang your PC.
-
- Commands in TAKE-files or MSKERMIT.INI can be continued by including "-" as the
- last character on the line, but NOT if the line ends with a trailing comment.
- In other words, you can't have a trailing comment on a continued line. If you
- need to end a line with a dash, but this dash is to be part of the command
- rather than a continuation symbol, then use \45 instead or put a comment AFTER
- the dash.
-
- Trailing comments can be used only in command files. All text starting with
- the first semicolon through the end of line is ignored. If you need to include
- an actual semicolon in a command, precede with a backslash (\;).
-
- The name and password that you specify in SET SERVER LOGIN must be matched
- exactly by the ones in REMOTE LOGIN. Alphabetic case matters. If you need to
- include spaces within the username, password, or account field of the REMOTE
- LOGIN or SET SERVER LOGIN commands, surround the field with {braces}.
-
- FILE TRANSFER
-
- SET EOF CTRL-Z, when used with text files which actually contain Ctrl-Zs, might
- result in gaps or truncation in the vicinity of the Ctrl-Z. This is an
- artifact of DOS file i/o.
-
- When using Kermit through a terminal server (particularly those that execute
- the TCP/IP Telnet protocol), or directly through a SET PORT TCP connection, it
- is sometimes necessary to SET PARITY SPACE in order to transfer files. It is
- also often impossible to use very long packets with terminal servers. Try SET
- RECEIVE PACKET-LENGTH 80, working up or down to the longest length that works.
-
- REMOTE TYPE and other REMOTE commands resulting in an error "Unable to open
- CON": insufficient FILES= in CONFIG.SYS. FILES= should be at least 20.
-
- MS-DOS Kermit uses the program named in the DOS Environment command line
- starting as SHELL= as a replacement for COMMAND.COM. Such a line is seen by
- typing SET at the DOS prompt, and it is not associated with the SHELL= line
- appearing in file CONFIG.SYS.
-
- The MS-DOS Kermit command REMOTE SET BLOCK-CHECK will generally have no effect
- upon a remote server. SET BLOCK-CHECK locally within MS-DOS Kermit.
-
- Question-mark help is not available while typing a numeric field.
-
- The host prompt for TRANSMIT is a single character (SET TRANSMIT PROMPT). It
- is not possible to specify a multi-character or variable prompt.
-
- SCRIPT PROGRAMMING
-
- The terminal emulator is not active during execution of script commands such
- as INPUT and OUTPUT. This means:
-
- 1. If the host sends the escape sequence that tells the terminal to identify
- itself, it will be ignored. You have to put the appropriate INPUT and
- OUTPUT commands in your script program.
-
- 2. A host-generated escape to put the terminal in Tektronix mode has no
- effect. Put explicit SET TERMINAL TYPE TEK commands in the appropriate
- places in your script program.
-
- 3. Screen formatting escape sequences have no effect. If you have SET INPUT
- ECHO ON, they are simply displayed as-is.
-
- If the remote host is sending ANSI (VTxxx) escape sequences during execution of
- the script program, then users of IBM PCs can use the ANSI.SYS or similar
- console driver to interpret the escape sequences. This is particularly useful
- when running a script that logs in to a full-screen system, such as an IBM
- mainframe through a protocol converter. But beware: ANSI.SYS is not totally
- compatible with Kermit's VT emulator, and it may produce various unwanted side
- effects, perhaps the most annoying of which is suddenly popping your PC into
- 40-column mode! If you experience any difficulties with your screen display
- while using Kermit script programs, SET INPUT ECHO OFF before the offending
- information arrives. Alternatively, remove ANSI.SYS from your CONFIG.SYS file,
- reboot, and most likely the problems will disappear.
-
- A specific example of INPUT vs ANSI.SYS: If you write a script program that
- attempts to log in to a VAX/VMS system (5.0 or later), looks for the ESC Z
- terminal type query, and responds with the VT320 terminal-type ID, your PC can
- hang if you are running ANSI.SYS. Diagnosis: After receiving the VT320
- terminal-type ID, VMS sends ESC [ 62 " p (Select Operating Level = VT300 mode
- with 8-bit controls), ESC SP F (disable 8-bit controls), ESC > (enter keypad
- numeric mode). The Select Operating Level sequence hangs ANSI.SYS (at least in
- IBM PC DOS 3.30) and the PC. Solution: SET INPUT ECHO OFF.
-
- PAUSE, WAIT, and similar commands also cause port input to be echoed to the
- screen if INPUT ECHO is ON. Use SET INPUT ECHO OFF to defeat this effect.
-
- Script programming hint: To test whether a readable floppy disk is available in
- drive A:, do this:
-
- SPACE A:
- IF FAILURE ECHO No diskette in drive A:.
-
- The ON_EXIT macro is intended only for automatic execution when the MS-DOS
- Kermit program exits. It only works once, to prevent recursion (as would
- happen, for example, if you put an EXIT command in your ON_EXIT definition).
- If you invoke the ON_EXIT macro explicitly during a Kermit session, you won't
- be able to use it again.
-
- HARDWARE RELATED PROBLEMS
-
- There have been isolated reports that MS-DOS Kermit (3.11 as well as earlier
- versions) crashes with "Divide Overflow" errors on certain 486-based machines
- such as the AST Bravo 486. This problem is currently unresolved. Kermit is
- known to work properly on the Dell 486, and it contains no instructions that
- require any kind of processor higher than an 8086/8088. Reportedly, this
- problem is not specific to Kermit; Microsoft Windows is said to crash on this
- machine if the BIOS cache memory is enabled, but works OK (but about 3 times
- slower) if the cache is disabled.
-
- MS-DOS Kermit will not necessarily work with all brands of internal modems,
- particularly some of the built-in ones that come with laptop PCs from various
- makers. Certain Everex models are known to fall into this category.
-
- If you cannot communicate satisfactorily through such a modem, you can use the
- new command SET COM1 <address> [ <irq> ] (also SET COM2 .. COM4) to identify
- the port's hardware address and interrupt request line number. USE THIS
- COMMAND WITH CAUTION, AS IT MIGHT INTERFERE WITH YOUR PC's NORMAL OPERATION!
- If all else fails, give the command SET PORT BIOS1 (or 2, etc) and try again,
- to access the port through the system BIOS -- this is much slower that direct
- hardware control by Kermit. Kermit does work with most popular brands of
- internal modem (such as the Hayes Smartmodem 1200B and 2400B), and with all
- known external modems, both direct-connect and acoustic.
-
- Kermit does not work properly with revision C of the built-in modem in the
- Toshiba T1600 laptop computer, due to an idiosyncracy of this modem. Revision
- F of this modem does not have this problem. Note: This problem occurs with
- the "built-in" modem, not the "internal" modem (these are two different
- devices).
-
- Reportedly, on the PS/2 model 55SX, there is a driver called CMOSCLK.SYS which
- prevents Kermit from working properly. Reportedly, removing this driver from
- the CONFIG.SYS file makes Kermit work right.
-
- Users of add-in CPU boards should be aware that the board may not handle UART
- serial port details properly if the UART is not directly part of the add-in cpu
- board. One symptom will be Kermit can send but not receive characters. A
- workaround is to use SET PORT BIOS1. The faults are with the add-in boards and
- seem to be characteristic of the species.
-
- Reportedly MS-DOS 2.11 for Tandy 1200 machines has an internal problem if a
- program opens device CON for output, as Kermit does for REMOTE commands. The
- symptom is cross linkage of files on the current disk. This has not been noted
- with other versions of MS-DOS 2.11. Solution: upgrade to a more recent
- version of DOS.
-
- INTERACTIONS WITH DOS
-
- On early (original motherboard & BIOS) PCs, and on systems that mimic them
- (e.g. early Compaqs), the cursor may assume a strange shape upon return from
- CONNECT mode. This is caused by a bug in the early BIOS, which stored cursor
- attributes incorrectly. The PC Tech Journal article discussing the problem is
- "The Dashed Cursor", by Paul Pierce, PC Tech J., Dec. 1985, page 47. He
- suggests the following fix:
-
- ; Program FIXCURS.ASM by Paul Pierce, PC Tech Journal, Dec 1985, page 47.
- ;
- code segment public 'code'
- assume cs:code, ds:code, es:nothing
- ;
- ; This program is set up to be made into a COM file
- ;
- org 100H
- ;
- ; First check for the monochrome adapter.
- ;
- start: int 11H ; set ax = equipment flag
- and al,30H ; mask off all but video bits
- cmp al,30H ; test for monochrome adapter
- jne exit ; jump if not monochrome
- ;
- ; Now check for incorrect cursor mode returned from the Bios
- ;
- mov ah,3 ; call bios to get cursor type
- int 10H ;
- cmp cx,0607H ; check for invalid (color) type
- jne exit ; jump if not a bad value
- ;
- ; At this point we know that the monochrome adapter is in use and that
- ; the bios cursor mode is incorrect.
- ; Call the bios to set the cursor type correctly.
- ;
- mov cx,080cH ; use correct cursor type
- mov ah,1 ; call bios to set cursor type
- int 10H
-
- exit: mov ah,0 ; exit back to DOS
- int 21H
-
- code ends
- end start
-
- When used in remote mode, e.g. as a server, a REMOTE HOST command can invoke
- the DOS critical error handler, which issues its familiar "Abort, Ignore,
- Retry?" message on its real screen, and is waiting for a response from its own
- real keyboard, and so the server will no longer respond. Kermit attempts to
- catch many of these errors before DOS learns learns about them, but some
- cannot be avoided (like disk i/o errors).
-
- Interaction between MS-DOS Kermit and various terminate-and-stay-resident
- (TSR) programs is necessarily unpredictable, depending upon how "well behaved"
- they are. Certain console, mouse, or graphics drivers might interfere with
- file transfer, etc. Caution should be used when invoking certain TSR programs
- while PUSHed from Kermit (e.g. using the PRINT command for the first time), as
- not all of these programs observe proper etiquette for allocating and freeing
- memory, and more importantly the TSRs will be loaded above Kermit into the
- middle of memory where they may prevent large programs from loading later.
-
- As a concrete example of the above, certain mouse drivers may prevent Kermit
- from transferring files, and possibly also from recovering from timeouts
- during script execution, or even from XOFF deadlocks during terminal
- emulation. Possible workarounds include: (1) remove the mouse driver from
- your CONFIG.SYS file; (2) if your mouse driver can be turned off and on (e.g.
- if you have MOUSE OFF and MOUSE ON commands), turn the mouse off during Kermit
- execution; (3) give the MS-DOS Kermit command SET TIMER OFF. Normally Kermit
- works fine with mouse drivers attached to another serial port.
-
- If TSR programs are interfering with Kermit (by taking over the timer or
- serial port interrupts), you should remove them all from your AUTOEXEC.BAT
- or CONFIG.SYS files, and then put them back one by one until you have
- identified the one that's causing the problem.
-
- NETWORKS
-
- The first edition of "Using MS-DOS Kermit" neglected to mention the 3COM(BAPI)
- network interface and the command "set port net 3com(bapi)".
-
- MS-DOS Kermit contains no built-in support for network devices (like Ethernet
- or Token Ring or Appletalk cards), nor does it perform network protocols such
- as Netbios (TCP/IP protocol is an exception; see special section below).
- Rather, it relies on external drivers to do these jobs, and then uses
- interrupts to communicate over the network using these drivers. In many
- cases, Kermit has knowledge of the higher-level protocols used on particular
- networks, and takes advantage of them. That's what all the network-related
- SET PORT commands are for.
-
- Sending BREAK over various network connections via SET PORT BIOS1 + Int 14h
- interceptor may or may not work, depending upon the actual network and drivers
- in use. Kermit uses the BREAK facility if the driver and network support it.
-
- Frequently people discover that their PC no longer works after installing a
- network board. The usual problem is they purchased a 16bit VGA display
- adapter and run it in 16 bit mode. Jumper it back to 8 bits and all should
- start working again.
-
- PC-NFS apparently prevents applications programs such as Kermit from creating a
- file in the root directory of a PC-NFS disk drive. When the applications
- program asks if a particular file exists in the root then PC-NFS always
- responds with "volume label present", whether or not the actual file is
- present.
-
- SET PORT TELAPI performance is good with version 4 of Novell's LAN WorkPlace
- for DOS but it is poor with version 3.5 because that older version sends each
- Kermit byte in an individual packet. Version 4 is much superior in other ways.
-
- The Interconnections TES product, which Kermit fully supports, has a fancy menu
- that pops up if you type the TES "hot key", Alt-LeftShift-T. Reportedly, this
- pop-up menu interferes with the LK250 driver that is distributed with Kermit
- (it works fine with regular IBM keyboards). The LK250 driver uses a special
- interrupt, and the speculation is that the TES menu program does not properly
- chain this interrupt. The workaround is to use TES's text-mode menu, which
- Kermit brings up if you type Alt-n during terminal emulation.
-
- For DECnet/DOS (PATHWORKS) LAT connections, it is often necessary to tell the
- LAT control program on the PC to reserve enough memory for all of the local
- LAT host names. By default, space for 16 names is allocated. If you have
- more hosts than that, Kermit might not be able to find your SET PORT DECNET
- host unless you increase your LAT control program's memory allocation.
- Connections via Kermit's built-in LAT support do not work when LAT is loaded
- into EMS (expanded memory) under Microsoft Windows 3.0. Load LAT into
- conventional memory.
-
- TCP/IP SUPPORT
-
- As of version 3.11, MS-DOS Kermit contains built-in TCP/IP and TELNET protocol
- support. This allows a PC equipped with an Ethernet or other network board
- that is connected to a TCP/IP network to communicate with any other node on
- the network, without requiring any additional TCP/IP software on your PC.
- However, you still need an external Ethernet-style packet driver for your
- network interface board; Kermit does not contain built-in device drivers for
- any kind of network board. Packet drivers are available from network interface
- manufacturers, and also via anonymous FTP (if you have a connection to the
- TCP/IP Internet) from Clarkson University, host name sun.soe.clarkson.edu
- [128.153.12.3], cd pub/ka9q. Most of the files are "type binary" (zip and zoo
- files, etc).
-
- "Ethernet-style packet driver" means a packet driver that controls a real
- Ethernet board, or that controls another type of board (e.g. Token Ring) but
- simulates the behavior of an Ethernet board, for example allowing ARP.
-
- An Ethernet-simulation packet driver is available for systems using the NDIS
- (Network Driver Interface Specification) program. NDIS is frequently used
- with Lan Manager networks, including AT&T's StarGROUP network and DEC's
- Pathworks for DOS. The interface program is named DIS_PKT and originated with
- FTP Software Inc. Their program DIS_PKT.GUP is available by anonymous ftp to
- vax.ftp.com, and a research version DIS_PKT.TXT is available from Utah State
- University by anonymous ftp to netlab.usu.edu. DIS_PKT uses NDIS as the
- equivalent Ethernet board. Instructions for configuring Lan Manager files to
- include DIS_PKT are included with the program.
-
- The TCP/IP code in this version of Kermit has been tested successfully with
- the following boards and packet drivers (according to reports from users):
-
- Ungermann-Bass PC/NIC board with Clarkson UBNICPC packet driver 9.1
- 3COM 3C501 with Clarkson 3C501 packet driver 5.0.
- 3COM 3C503 with Clarkson 3C503 packet driver 9.4.0.
- Western Digital WD8003E with WD8003E packet driver 9.7.0
- Cabletron 2000 and 3000 series DNI boards with CSIPD_E 1.0x packet
- drivers on unshielded twisted pair, thin Ethernet, and thick Ethernet,
- on both PC/AT and Microchannel buses (don't use CSIPD_X 2.00).
- Micom-Racal NI5210 with NI5210 packet driver.
- AT&T EN100 with Clarkson AT&T packet driver.
- IBMTOKEN.COM 3C501 emulation packet driver 1.9 over various Token Ring
- boards and drivers.
- DIS_PKT over NDIS for LAN Manager networks and NDIS-compliant boards
- including SD8003, 3C503, AT&T 10MB/sec thinwire
- Harvard ODIPKT over LSL, LANSUP, and IPXODI over Ethernet (but not
- Token Ring)
-
- The performance of the 3C50x packet drivers is poor, but the operation seems
- correct. The SLIP8250 and LocalTalk packet drivers are not supported, as they
- are not Ethernet-class packet drivers.
-
- Domain name resolution does not seem to work when you give a nickname instead
- of a complete host name in the SET PORT TCP/IP command AND Kermit cannot
- transform the nickname into the desired complete host name by combining it
- with your SET TCP/IP DOMAIN. Workarounds: use a complete hostname, an IP host
- number, or set your TCP/IP DOMAIN appropriately for the nickname you are using
- (see KERMIT.HLP/MSKERM.HLP for details).
-
- For IBM mainframe linemode connections, automatic appearance of the login
- banner might not work. Type a carriage return (Enter) to get the login
- banner. Local-echo and linemode operation should be negotiated automatically.
-
- In the SET TCP/IP ADDRESS command, the words BOOTP and RARP must be spelled out
- in full.
-
- It has not yet been determined whether BOOTP requests can be made to work
- through gateways. The RFCs are unclear on this subject. Gateways, such as
- ciscos, are configured by default to disallow forwarding of IP broadcasts
- (used by Kermit's BOOTP request).
-
- EXIT from Kermit closes your TCP/IP session (just like HANGUP). PUSHing or
- running DOS commands from Kermit keeps it open.
-
- Kermit always connects to the TELNET port (23) on the remote host. There
- is no way to specify any other port. Kermit honors TELNET protocol
- negotiations, including terminal type (Kermit sends "VT100") and ECHO/SGA.
-
- Not supported: FTP, TFTP, multiple sessions, automatic setting of PC date/time
- from network, 3270 emulation (tn3270), etc. There is no PING command, but
- MS-DOS Kermit responds when PINGed. The \Knethold verb does nothing.
-
- For TCP/IP connections to IBM mainframes in full screen 3270 mode, you need an
- intermediate host or device to do the 3270/ASCII terminal conversion. A
- typical setup is a TCP/IP terminal server with its serial lines connected to a
- protocol converter (e.g. IBM 7171), or a UNIX host that has tn3270 available.
- When connecting to a 7171, even through a terminal server, you have to type a
- carriage return to get its terminal type prompt. To transfer files with an
- IBM mainframe, you might have to tell MS-DOS Kermit to SET PARITY SPACE.
-
- Inbound connections to MS-DOS Kermit are not supported. You can't set up a
- Kermit server to wait for inbound TCP/IP connections. MS-DOS Kermit does not
- provide any services (except PING -- i.e. ICMP ECHO -- replies) to outside
- requestors. You can't "finger" it, mail to it, telnet to it, etc etc.
-
- To make Kermit TCP/IP connections under Windows 3.0 (Enhanced Mode), configure
- its .PIF file to "Lock Application in Memory". But only one copy of Kermit
- can have a TCP/IP connection at a time. Packet drivers don't let multiple
- applications use the same protocol (Kermit uses IP, ARP, and RARP).
-
- Reportedly, Kermit's TCP/IP support does not interact correctly with Network
- Research Corp's TCP/IP implementation for VAX/VMS.
-
- The SET TCP/IP and SET PORT TCP/IP commands only return failure codes if there
- is a parse error. The values you specify are not actually used until the
- first attempt to communicate with the remote host: CONNECT, PAUSE, OUTPUT,
- etc, at which time Kermit tries to make the connection. While connection
- establishment is in progress, you can't interrupt the program with Ctrl-C.
- To check in a script program if a host is available, do something like this:
-
- SET PORT TCP/IP OOFA.XX.YY.EDU
- PAUSE
- IF SUCCESS GOTO OK
- ECHO Host OOFA.XX.YY.EDU not reachable
- STOP
- :OK
-
- Performance hints: Set your Kermit packet size to about 500, so it will fit
- inside network packets, or to some multiple thereof. A packet size of, say,
- 600 (or 1100, etc) will give poor performance, because the result on the net
- is a long and a short packet. SET FLOW NONE helps too -- lets TCP/IP do the
- flow control, eliminates Kermit's need to check for Xon/Xoff.
-
- Other hints:
- DEFINE TELNET SET PORT TCP \%1, CONNECT ; "telnet hostname"
- DEFINE <hostname> SET PORT TCP <hostname>, CONNECT ; "hostname"
-
- ****
- Problems noted since September 7, 1991:
-
- Kermit's TCP/IP support cannot be used simultaneously with PC NFS because both
- applications want to register use of ARP, UDP, and other protocols with the
- packet driver, but each protocol can only be assigned to one application.
- This is only one particular case of the more general rule: only one TCP/IP
- based application can use the packet driver at once.
-
- Kermit does not negotiate Telnet parameters correctly with certain kinds of
- terminal servers, e.g. MICOM Interlan NTS100.
-
- TCP/IP support does not work over the Harvard ODIPKT driver on a Token Ring
- network, which requires Kermit to use Token Ring, rather than Ethernet,
- frames. Kermit uses only Ethernet frames for TCP/IP communication.
-
- Dump screen via Ctrl-]F turns on LOCAL-ECHO. Workaround: SET LOCAL-ECHO OFF
- after dumping the screen. After doing this, dump screen seems to work OK.
- This problem is corrected by Patch #2.
-
- "O" is no longer a sufficient abbreviation for OUTPUT, because of the new
- OPEN command. If you have a script with "O" commands in it, it will fail.
- If, in addition, you have exactly one macro defined that starts with "O",
- it will be executed. Solution: Change abbreviations of OUTPUT from "O" to
- (at least) "OU".
-
- The SET ALARM / INPUT example shown earlier in this file is wrong. It
- should be:
-
- SET ALARM 30
- INPUT 30 Login:
- IF SUCCESS GOTO OK
- IF ALARM ECHO INPUT Timed out
- IF NOT ALARM ECHO INPUT Interrupted from keyboard
-
- The MSKERMIT.INI file distributed with the second edition of the book had
- a comment that stated that the DIAL command concatenates its arguments into
- one argument, removing the spaces between them. In fact, it preserves the
- spaces.
-
- The MSKERMIT.INI file distributed with the second edition of the book had
- a typographical error in its definition of the NORMAL macro: "wet window 1".
- This should be "set window 1".
-
- ****
- End of MSKERM.BWR
-