Entering a carriage return (or the ENTER or RETURN key) is indicated like
this: [CR]. Control characters (which you enter by holding down the CONTROL
or CTRL key while you press another character) are preceded with the caret
"^" symbol like this: ^J (for control-J, which you enter by holding down the
the CONTROL key while you press the J key).
Arguments will be shown in curly brackets like this:
COMMAND {argument}
When you have a choice between two or more arguments, they are listed like
this: {ON or OFF}, {FULL or HALF}, and so on. The argument {file spec} means
you should type a file specification, like MYFILE.TXT or DSK0:FOO.TXT[7,0].
The argument {char} means you should type a character. The argument {number}
is a number, like "8" or "30".
2.0 Step-by-Step Guide
Kermit can be used for the transfer of both sequential ASCII and binary
files. By design, Kermit will not transfer random files, because of the
difficulty in translating different types of computers' methods of storing
and allocating random files.
2.1 Starting Kermit
Kermit is invoked on your system at the dot (or system prompt) by the
command:
KERMIT {TRMDEF} [CR]
where {TRMDEF} is the TRMDEF, or name of the port, you want to communicate
through. Most often, this will be the name of the port your modem is
connected to. For example:
KERMIT PHONE1 [CR]
You may enter the command:
KERMIT/? [CR]
at the system dot prompt for a reminder of how to start up Kermit.
After starting up Kermit, you should see a brief message about Kermit, and
then the prompt:
Alpha-Kermit >
If you see instead:
REMOTE Alpha-Kermit >
this means that you did not specify a communications port. You will need to
EXIT and start up Kermit again with the name of a TRMDEF before placing a
call or starting a file transfer.
Kermit recognizes both "HELP" and "?" from command mode. This will display
the options available to you.
When you are ready to talk to the modem, enter the command:
CONNECT [CR]
This gets you talking to whatever is connected to your communications port
(usually a modem!). You will see a message like this:
Escape character is ^
The "Escape character" is the keypress that will return you to your local
Alpha-Kermit command prompt. Alpha-Kermit usually uses the ^ (caret) as the
Escape character, but you can change it with the "SET ESCAPE" command. Be
sure to remember what the Escape character is!
If you have an auto-dial modem, you are now ready to dial out from the
keyboard. Otherwise it is time to pick up the phone and dial out.
(When using an auto-dial modem that uses the "AT" command set, you may find
it helpful to give your modem this command before dialing, so you can see
what you're typing, and get intelligible responses back from the modem:
ATE1V1Q0 [CR] ; makes your modem Echo your keypresses, give
; Verbose responses, and turns off Quiet mode
; See your modem manual for specifics )
You can now dial the phone (either by hand or by "ATDT" or other modem
command).
2.2 Starting the Remote Kermit Program
When the remote modem answers and you connect to the host (remote) computer,
you will need to invoke Kermit at the host end to be able to transfer files.
Often, you simply type:
KERMIT [CR]
to start the remote host Kermit. If the remote computer is an AMOS Alpha
Micro computer, you just type KERMIT [CR] at the system prompt to start
Kermit. For other types of systems, the method for starting the remote
Kermit may vary. Someone at the other end (like the remote system operator)
should be able to help you if the KERMIT command doesn't work on that system.
If the remote Kermit is an Alpha-Kermit, you should see the initial
Alpha-Kermit message and the prompt:
REMOTE Alpha-Kermit >
You're now ready to transfer files!
NOTE: If AUTOSEND or AUTORECEIVE is turned on, the remote host computer may
be sent the command "KERMIT [CR]" automatically when you start a file
transfer.
2.3 Uploading Files
If you want to send a file to the remote host computer ("upload" a file), you
enter the command:
RECEIVE [CR]
at the remote Kermit's command level on the host computer. You then use the
Escape character (usually the caret ^) to return to your local Alpha-Kermit
command prompt. On your own machine, to your local Alpha-Kermit, you enter:
SEND {file spec} [CR]
where {file spec} can be a single file (e.g., MYFILE.TXT) or a wildcard file
specification (e.g., ??FILE.TXT or MY*.*).
NOTE: If AUTOSEND is turned on, the remote computer will be sent the
commands "KERMIT [CR]" and "RECEIVE [CR]" automatically when you give
the local Alpha-Kermit the SEND command.
Kermit now starts the file transfer. A dot "." will be displayed for each
"chunk" or packet of the file that is transferred. A "t" will be displayed
for each packet that "times out": i.e., is unacknowledged after a certain
period of time. A "c" will be displayed for each checksum or CRC error:
i.e., each packet that doesn't "add up" according to Kermit's error-checking
scheme and so must be retransmitted. An "n" will be displayed each time the
remote system send a negative acknowledgment (NAK).
When the transfer is finished, you get a message stating that the file has
been transferred, and what the effective baud rate was during transfer.
If you want to rename a file as it is transferred, give the remote Kermit a
file specification in the RECEIVE command. For instance:
RECEIVE NEWFIL.TXT [CR]
NOTES: You can usually (depending on the remote Kermit program) only rename
one file this way. If you SEND a batch of files, only the first file
will be renamed and the rest will be sent with their original file
names.
AUTOSEND must be off in order to rename files when SENDing.
2.4 Downloading Files
If you wish to receive a file from the remote host computer ("download" a
file), you follow a procedure similar to the one above. After making sure
that you have started up the remote Kermit, give the remote Kermit the
command:
SEND {file spec} [CR]
where {file spec} is the name(s) of the file(s) you want off the remote
system. If the remote computer is a non-Alpha Micro system, you must use the
remote system's file naming conventions. If the remote Kermit is
Alpha-Kermit 2.0 or later, you can use a wildcard specification like
???FIL.TXT or MY*.BAS to get a batch of files.
Then press the Escape character (normally the caret ^), and give your local
Alpha-Kermit the command:
RECEIVE [CR]
Kermit now starts the file transfer. A dot "." (or "t", "c", or "n") will be
displayed for each packet of the file. When the transfer is finished, you
get a message stating that the file has been transferred, and what the
effective baud rate was during transfer.
If you want to rename a file as it is transferred, give a file specification
in the RECEIVE command. For instance:
RECEIVE NEWFIL.TXT [CR]
NOTES: You can only rename one file this way. If you SEND a batch of files,
only the first file will be renamed and the rest will retain their
original file names.
If the AUTORECEIVE option is turned on, you can have Alpha-Kermit send the
commands "KERMIT [CR]" and "SEND {file specification}" to the remote system
automatically. Enter the RECEIVE command with an equal sign, like this:
RECEIVE = {file spec}
where {file spec} is the name of the remote file(s) you want to receive. The
equal sign is important, because it tells your local Alpha-Kermit what file
specification to use when sending the remote Kermit the "SEND" command.
2.5 Notes on Transferring Batches of Files
When transferring files with Kermit, only the file name and extension are
passed between the local and remote Kermits, not the complete file
specification. Device and PPN information (directory or location
information) are not transmitted. Between unlike types of computers,
directory information is usually useless anyway, since different operating
systems use different methods to create and specify directories.
This means that if you are trying to transfer a group of files from different
PPNs or directories on the original system, they will all be placed in one
account on the receiving system: the account where the receiving Kermit is
currently logged. The information about what device and PPN the files came
from is not passed from one Kermit to another. This is true even when
transferring files from one Alpha-Kermit to another Alpha-Kermit. A batch of
files from different devices and or PPNs (e.g., ALL:*.TXT[]) will all be put
in the one account where the receiving Kermit is currently logged.
2.6 Finishing
After transferring files, you must enter:
CONNECT [CR]
to talk to the remote computer again. Then give the remote Kermit the
command:
EXIT [CR]
to exit the remote Kermit. If you're finished using the remote host, logoff,
then hang up your modem (either manually or by "+++ATH" or other modem
command). Enter the Escape character "^" to return to your local
Alpha-Kermit system, and give your local Alpha-Kermit the command:
EXIT [CR]
to exit Alpha-Kermit and return to your system prompt.
Kermit handles all the attaching and detaching of the modem job during the
communication session.
3.0 Summary of Alpha-Kermit Commands
AMOS Temporarily exit Alpha-Kermit, for instance, to LOG to a different
account or to do a DIR to locate a file.
CONNECT Use to "talk" to the modem, the remote host computer, or the remote
Kermit. This switches you to a mode where all your keypresses are
sent through the "connect" channel (to the modem, the remote
computer, or the remote Kermit). Press the ESCAPE character
(normally the ^ key) when you want to get back to your local
Alpha-Kermit.
EXIT When you're all finished, use EXIT to get out of Kermit and return to
system monitor level.
HELP Causes a brief summary of Kermit commands to be displayed on the
screen.
? Same as HELP.
RECEIVE Receive a file. The file will have the same name as the file on the
remote system, unless an optional {file spec} is given.
SEND {file spec}
Send the file or batch of files indicated by {file spec}.
SET AUTORECEIVE {ON or OFF}
Causes Kermit to automatically send the commands "KERMIT" and "SEND"
to the remote system when you enter a local "RECEIVE =" command.
SET AUTOSEND {ON or OFF}
Causes Kermit to automatically send the commands "KERMIT" and
"RECEIVE" to the remote system when you enter a local SEND command.
SET BELL {ON or OFF}
Causes a beep to be sounded after each file transfer is done
executing. This can be useful when transferring long files if you
want an "alarm" to let you know when the file has been transferred
(while you take a little nap or get some coffee or whatever).
SET BLOCKCHECK {1, 2 or 3}
Sets the error-checking method to use one- or two-byte checksum, or
three-byte CRC. In general, the more check bytes, the more reliable
the error-checking, but the local and remote Kermits will
"negotiate" the error-checking method. This means that the actual
error-checking used for a file transfer may differ than the method
you set if the remote Kermit does not support the checksum selected.
SET DEBUG {ON or OFF}
Causes some interesting diagnostics to be displayed during file
transfers instead of the usual dots. As each packet of the file is
transferred, when DEBUG is ON, information about the packet is
displayed on your screen. This can be useful if you are having
problems transferring files and want to see what is "really going
on."
SET DUPLEX {FULL or HALF}
Changes the DUPLEX (also known as "echoplex" or "echoing" to FULL or
HALF. FULL duplex should be used when the remote computer will echo
your characters back to your screen. Most remote computers you
encounter will work in FULL duplex mode, so you can leave
Alpha-Kermit in FULL duplex. If the remote computer does not echo
your characters, you won't be able to see what you're typing in
CONNECT mode, so try setting duplex to HALF, which will make
Alpha-Kermit echo your characters for you instead. If you SET DUPLEX
HALF, and then in CONNECT mode everything you type is echoed
TTWWIICCEE, try setting DUPLEX FULL.
SET ENDLINE {char}
Redefines the "end-of-packet" signal for file transfers. With most
remote Kermits that use control-M for the "end-of-packet" character,
you normally won't need to change this. If your file transfers
aren't working, however, you can use the SHOW or STATUS command on
the remote Kermit to see what character it uses for the
"end-of-packet" signal, and then use SET ENDLINE to change the
end-of-packet character to whatever the remote Kermit is using. To
define the end-of-packet character as a control character, precede it
with the "^" character (for example, control-M would be "^M").
NOTE: The remote Kermit may have two separate "end-of-packet"
signals: one that it uses when sending packets, and one that it uses
when receiving packets. Make sure you define your local
Alpha-Kermit's ENDLINE character to match the character the remote
Kermit wants when receiving packets (the RECEIVE end-of-line
character).
SET ESCAPE {char}
Defines the character you want to use as the ESCAPE character, which
is the key you press to get out of CONNECT mode (talking to the
remote computer or remote Kermit) and back to giving commands to your
local Alpha-Kermit. This key is normally the ^ key, but if you need
to type the ^ character while talking to the remote computer, you'll
need to change the ESCAPE key to something else that you won't need
to use while talking to the remote computer. Indicate control
characters by preceding them with the ^ key: for instance, control-G
would be ^G.
SET PACKETSIZE {number}
Alpha-Kermit normally uses a 94-byte packet, which works fine with
most Kermits. Normally, you won't need to change the packet size,
which is negotiated with the remote Kermit. If special circumstances
require that you change the packet size, Alpha-Kermit can use packets
from 10 to 94 bytes large.
SET PACKETSTART {char}
Changes the character used to mark the beginning of a packet. Most
Kermits, including Alpha-Kermit, use control-A, but you can redefine
this character as needed by the remote Kermit.
SET PARITY {NONE, EVEN, ODD, MARK, SPACE}
Tells Kermit to use only 7 data bits when transferring files. EVEN
parity is most common, particularly on IBM equipment. Note that this
command does NOT change the real parity of your communications serial
port. It simply causes Kermit to strip the eighth bit (or parity
bit) in byt
es that it SENDs or RECEIVEs during a file transfer. Not
setting the parity correctly will make the error-correcting checksums
add up incorrectly, so that file transfers will not work. The parity
setting is information that is frequently supplied when you are first
given access to a remote system, along with the telephone number to
dial, your sign-on information, the baud rate, etc. If, however, you
don't know what parity setting to use, try leaving it as NONE. If
your file transfers don't work, try SET PARITY EVEN, since EVEN
parity is the next most popular parity in use.
SET RETRIES {number}
Sets the number of times a block will be re-sent during a file
transfer before Kermit "gives up" and aborts the file transfer. This
is normally 10 retries, but you can make it fewer (if you have a
really excellent connection!) or more (if your connection is noisy,
or any other time when there may be a lot of transmission errors).
SET STALL {number}
Sets the amount of time to pause between characters in 1/100ths of a
second. Use to slow down file transfers if necessary for mainframe
computers or slow, heavily-burdened remote systems.
SET TIMEOUT {number}
Sets the number of seconds Kermit will wait for an acknowledgement
(when SENDing) or new packet (when RECEIVing) before re-sending the
packet or sending a negative acknowledgement. This is normally 8
seconds, but you can make it shorter (if you have a really excellent
connection!) or longer (if your connection is noisy, if you are
connected via satellite as when dialing overseas, or any other time
when there may be unusual delays between packets).
SHOW Displays the current settings (your CONNECT port, type of DUPLEX,
etc.) and packet characteristics (size, end-of-packet character,
etc.) on your screen.
4.0 Alpha-Kermit Commands by Function
For exchanging files:
SEND, RECEIVE
For connecting to a remote host:
CONNECT, SET DUPLEX, SET ESCAPE, SET AUTORECEIVE, SET AUTOSEND
For setting non-standard transmission and file parameters:
SET BELL, SET BLOCKCHECK, SET DEBUG, SET ENDLINE, SET PACKETSIZE,
SET PACKETSTART, SET PARITY, SET RETRIES, SET STALL, SET TIMEOUT
For interrupting file transmission:
Control-C
For getting information:
HELP, ?, SHOW
For leaving Kermit:
EXIT, AMOS
5.0 Sample Kermit Session
.KERMIT MODEM1
Copyright 1984, 1991 Robert P. Rubendunst.
Alpha-Kermit by Soft Machines.
Permission is granted to use this software at no charge
provided that this message is not changed or deleted from
any copy of this software.
Alpha-Kermit version 2.0(21)
Alpha-Kermit >CONNECT
You are now communicating with whatever device is connected
to the serial port (e.g. your modem, or another system.)
Data received by the serial port will be displayed on this screen.
Until you press the special escape character, all of your keypresses
will be sent out of the serial port.
Pressing the escape character returns you to Alpha-Kermit's command mode.
If you are using a modem, your terminal is now "connected"
to the modem. Consult your modem manual for instructions on
dialing, hanging up, changing modem settings, etc.
Special tips for most modem users:
Before dialing, enter the characters ATE1Q0 and a return,
even though your keypresses may not be echoed on the screen.
Before exiting CONNECT, enter ATE0Q1 and a return!
Have fun!
Escape character is ^
ATE1V1Q0
OK
ATDT 3517411
CONNECT 9600 RELIABLE COMPRESSED
UDS V.3225 V.32/MNP5
Enter name: MY NAME
Enter password: *********
Welcome to Soft Machines MSP-based Update System
.
.KERMIT
Copyright 1984, 1991 Robert P. Rubendunst.
Alpha-Kermit by Soft Machines.
Permission is granted to use this software at no charge
provided that this message is not changed or deleted from
any copy of this software.
Alpha-Kermit version 2.0(21)
REMOTE Alpha-Kermit >SEND SALREP.RUN
(press the ^ key here)
Alpha-Kermit >RECEIVE SALREP.NEW
Receiving salrep.run as SALREP.NEW
...............................................................................
...............................................................................
...................................
elapsed time was 0:01:05, effective baud rate was 1877.
A total of 12204 bytes in 1 file transferred.
Alpha-Kermit >CONNECT
Escape character is ^
REMOTE Alpha-Kermit >RECEIVE X.X
(press the ^ key here)
Alpha-Kermit >SEND MYFILE.TXT
MYFILE.TXT
........................
elapsed time was 0:00:10, effective baud rate was 1994.
A total of 1994 bytes in 1 file transferred.
Alpha-Kermit >CONNECT
Escape character is ^
REMOTE Alpha-Kermit >EXIT
.LOGOUT
Logged out.
NO CARRIER
ATE0Q1
(press the ^ key here)
Alpha-Kermit >EXIT
.
6.0 About the Kermit Protocol
"The KERMIT file transfer protocol has always been open, available, and free
to all. The protocol was developed at the Columbia University Center for
Computing Activities, as were the first several KERMIT programs. Columbia
has shared these programs freely with the worldwide computing community since
1981, and as a result many individuals and institutions have contributed
their own improvements or new implementations in the same spirit."
-- Policy on Commercial Use and Distribution of Kermit
Frank da Cruz, Columbia Center for Computing Activities
September 1985.
Alpha-Kermit was written in 1984 by Bob Rubendunst of Soft Machines, and was
donated both to AMUS and to Columbia University's Kermit Distribution Center.
For more information about other Kermit programs for other computers,
contact:
Kermit Distribution
Center for Computing Activities
Columbia University
612 West 115th St.
New York, NY 10025
An excellent book about Kermit, "Kermit: a File Transfer Protocol" by Frank
da Cruz, is available from Digital Press, 1987, ISBN 0-932376-88-6.
7.0 Acknowledgments
Thanks to Ron, formerly of the AMUS staff, and Ulrich Wetsler of SCAN-TECH,
for the original Alpha-Kermit documentation they made available on the AMUS
network, from which I've borrowed extensively.