: 1 THE UNIVERSITY OF BRITISH COLUMBIA 6356 Agricultural Road Vancouver, B.C., Canada V6T 1W5 0 Computing Centre + - Name : UBC KERMIT Date : April 1984 Revised : September 10, 1984 MTS_KERMIT ___ ______ Bruce Jolliffe + 0 0 0 0 0 0 0 0 0 0 : 1 + 0 0 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Computing Centre Table_of_Contents _____ __ ________ INTRODUCTION ...............................................1 USING KERMIT WITH A MICROCOMPUTER ..........................1 a. File Transfers With MTS Server Kermit ...................2 b. File Transfers With MTS User Kermit .....................3 USING KERMIT BETWEEN MTS SITES .............................4 NOTATION ...................................................4 MTS KERMIT COMMANDS ........................................5 MTS SET OPTIONS ............................................6 APPLE KERMIT ...............................................9 APPLE SET OPTIONS .........................................10 IBM PC KERMIT .............................................12 VICTOR KERMIT .............................................12 VICTOR SET OPTIONS ........................................14 UBC KERMIT 1 1. INTRODUCTION ____________ Kermit provides a mechanism for the exchange of data between two like or unlike computers over standard telephone or computer network communication lines. The microcomputer uses its RS-232 serial communications port for the transfer. Cooperating Kermits are started on each machine and data is transferred between these programs using a communications protocol. The protocol provides a mechanism whereby data integrity can be guaranteed. Kermit breaks the data up into packets, appends a checksum to the packets and sends them off to the other Kermit. If the other Kermit is satisfied that the data has not been corrupted during transmission it returns a positive acknowledgement. If the data has been damaged then it returns a negative acknowlegement and the packet is retransmitted. This mechanism allows the transmission of data over relatively noisy lines with some assurance of data quality. The Kermit protocol allows the transmission of both ASCII text and binary files over any network that will accept the printable ASCII characters. In the case of binary files, any characters that are non-printable are encoded into printable 0 0 + 0 0 0 1 0 0 + 0 0 0 0 0 0 characters and decoded at the other end by the other Kermit. MTS Kermit can be used to send files between MTS and another computer that has Kermit. When the two cooperating Kermits are on MTS hosts an exact image of the MTS file including its line numbers will be transmitted. 2. USING_KERMIT_WITH_A_MICROCOMPUTER _____ ______ ____ _ _____________ The microcomputer Kermit programs combine a terminal emulator with with the Kermit file transfer mechanism. When you start a microcomputer Kermit it will display a prompt 'Kermit-xx>' where 'xx' will be some number or name indicating the microcomputer being used. In the case of the IBM PC this number is '86' indicating that the microcomputer uses the 8086 family of microprocessors. After the Kermit prompt is displayed set any necessary parameters such as baud rates (usually 300 or 1200), parity (none), and possibly other microcomputer dependant parameters. Then enter CONNECT to establish a connection with the mainframe. If you are using a dial-up modem then you will have to establish contact with MTS by either manually dialing MTS or by entering a command that will cause your modem to dial MTS. When the connection has been made the UBCNet logo should appear on the screen and you can choose the system you wish to call (usually G or I). If you want to take advantage of the particular terminal emulation properties of your Kermit, such as VT52 emulation then enter the device command '%Device=VT52' or whatever device name is appropriate. This will tell the NIM what type of device it is talking to. Next UBC KERMIT 2 you should signon to MTS. Once you are signed on you can use MTS as you would from any terminal. All microcomputer Kermits have an "escape back to micromputer" sequence. Typically this is the sequence of keystrokes 'Ctrl- C'. This sequence is used to return to the microcomputer Kermit command mode. You can return to the local microcomputer operating system by entering the Kermit command EXIT. Remember that escaping back to your local microcomputer does not sign you off. You must reconnect to the mainframe and issue '$signoff' to signoff. a. File_Transfers_With_MTS_Server_Kermit ____ _________ ____ ___ ______ ______ To transfer files between the your microcomputer and MTS you must start Kermit on MTS. To start Kermit enter: $Run Net:Kermit Kermit will start in user mode and respond with the prompt "Kermit-UBC...>". If your Kermit is capable of talking to a server Kermit (see the individual microcomputer descriptions) enter: SERVER If you cannot talk to a server Kermit see the next subsection. At this point you are ready to transfer files. Escape back 0 0 0 0 0 0 0 1 - 0 + 0 0 0 0 0 0 0 0 0 0 to your local microcomputer Kermit ('Ctrl- C'). The local computer Kermit prompt (Kermit-xx>) will appear on the screen. If you wish to send a file from the micromputer to MTS enter: SEND filename where 'filename' is the name of the local filename to be sent to MTS. A file by that name will be created on MTS and the data from local file will be placed into the MTS file. If the file already exists on MTS the file will be emptied before the transfer begins. To transfer a file from MTS to the microcomputer enter one of: GET filename or RECEIVE filename where 'filename' is the name of the MTS file to be transferred to the microcomputer. See the section on the relevant microcomputer for which command to use. While the file is being transferred the microcomputer will display the number of packets transferred and any error UBC KERMIT 3 conditions that might arise. After you have finished transferring files to and from the microcomputer enter FINISH to shut down the MTS Kermit server. You can then enter CONNECT and resume your MTS terminal session. b. File_Transfers_With_MTS_User_Kermit ____ _________ ____ ___ ____ ______ If your Kermit is incapable of talking to a server Kermit follow the procedures in this section. As described in the last section start MTS Kermit by entering the command: $Run Net:Kermit This will start Kermit in user mode and the "Kermit-UBC..>" will appear. To transfer a file from the microcomputer to MTS enter the command: RECEIVE mts_filename where 'mts_filename' is the name of the file to be used for the data transferred from the microcomputer. Now escape back to the microcomputer ('Ctrl- C') and enter the command: SEND micro_filename where 'micro_file' is the name of the microcomputer file that is to be transferred to MTS. After the file has been sent enter the CONNECT command to return to the MTS terminal session. At this point you will still be in MTS Kermit. Enter STOP to exit from MTS Kermit. To transfer a file from MTS to the microcomputer start MTS Kermit in user mode as described above and then enter the command SEND mts_filename micro_filename where 'mts_filename' is the name of the MTS file that is to be transferred and 'micro_filename' is the name of the file on the microcomputer that the transferred data is to be placed. Now escape back to the microcomputer ('Ctrl- C') and enter the command: 0 0 1 + 0 0 0 0 0 RECEIVE There will be some delay and then the file transfer will begin. The delay is to allow you time to enter the RECEIVE command. The SET DELAY command can be used when in the MTS Kermit to change this value. Once the file transfer is complete you can return to the terminal session by entering the CONNECT command. At this point you will be in MTS Kermit. You can enter STOP to quit MTS Kermit and return to MTS. UBC KERMIT 4 3. USING_KERMIT_BETWEEN_MTS_SITES _____ ______ _______ ___ _____ If MTS Kermit is installed at a remote site then files may be easily sent to or gotten from the remote site using the standard Net:Call program. Kermit is invoked in Net:Call by issuing the /Kermit command. This command will start up Kermit at the local site and attempt to start up Kermit at the remote site. A banner line will be printed and Kermit will be ready to accept commands as described in the "MTS Kermit" section. If Kermit is unable to start up the remote Kermit a message to that effect will be printed. Currently remote MTS Kermit sites include Simon Fraser University (SFU), University of Alberta (UQV), and University of Michigan (UM). Kermit may be batched by using the net call command: /Kermit input=Kermit_Commands where 'Kermit_Commands' is a file containing a list of Kermit commands. It is also a good idea to include a /Delay statement before the /Kermit command so that things are given a chance to settle down before the Kermit program is started. The following is an example of a batch job to grab a file from a remote site. 1 sig ccid 2 password 3 $Mount Net *MERIT* Dest=Telenet-31300062 4 $Run Net:Call 0=*merit* par=/input *source* 5 um 6 sig wubc 7 password 8 /delay 10 9 /kermit input=kermit.move(1000) 10 sig $ 11 $endfile 12 1000 get remotefile localfile 1001 stop + 0 4. NOTATION ________ The following notation is used in the command descriptions. Items in UPPER CASE letters are what is to be entered. Items in lower case letters are generic terms and what is to be entered is given in the description of the command. Items 1 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 appearing with in square braces (' ' and ' ') are optional. Items of the form ' a!b ' mean that you must choose either 'a' or 'b'. UBC KERMIT 5 5. MTS_KERMIT_COMMANDS ___ ______ ________ In this section the commands available to MTS Kermit are given. BYE A synonym for STOP. EXIT A synonym for STOP. FINISH This command stops a remote server Kermit without stopping the local Kermit. GET remote_filename local_filename The 'remote_filename' is a file at the remote Kermit that is to be copied to the local system. If the optional 'local_filename' is specified the file will be placed into the local file having that name. If the optional parameter is not specified then the 'remote_filename' will be used. If the local file doesn't exist it is created and if it already exists it is emptied before the text from the remote file is added. If Kermit is unable to open the local file then the incoming file will be placed in the scratch file -KERMIT. This command is only applicable when the remote Kermit is a Server Kermit. In MTS to MTS file transfer the remote Kermit will be a Server Kermit. HELP This command invokes the Kermit help server. QUIT A synonym for STOP. RECEIVE local_filename This command is used when MTS Kermit is in user mode talking to another Kermit in user mode. In that case file transfer is a two step process. If MTS Kermit is the local Kermit, that is, it established a connection with the other Kermit using either the SET LINE command or the NET:CALL command /Kermit then the steps given below apply. If MTS Kermit is the remote Kermit, that is, the other Kermit is a microcomputer Kermit or another mainframe Kermit made a connection to this Kermit then the procedures given in the subsection "File Transfers With MTS User Kermit" should be followed. UBC KERMIT 6 First the SEND command is issued by the remote Kermit and the user escapes back to MTS Kermit. The user then issues a RECEIVE command and the file is transferred after a short DELAY. 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 1 0 0 0 0 0 SEND local_filename remote_filename The 'local_filename' is sent to the remote Kermit. If the second parameter 'remote_filename' is specified the file will be sent to the file by that name at the remote location. If the second parameter is not given then the file will be sent to the file by the same name as the 'local_filename' at the remote location. SERVER This command puts Kermit into Server mode. In this mode the user must escape to the other Kermit and talk to this Kermit through the other Kermit. When a "$Run Net:Kermit" is issued on MTS the Kermit comes up in server mode. If the user specifies "Par=u" then the Kermit will come up in user mode. SET set_option This command is used to set various options. It is covered in a separate section 'MTS Set Options'. SHOW show_option This command is used to display any of the options that can be set by the SET command. See the section on "MTS Set Options" for further details. STOP This command stops the local Kermit and if it is talking to a remote MTS server Kermit it also stops it. Synonyms for this command are 'Bye', 'Exit' and 'Quit'. $MTS_Command This passes the 'MTS_Command' to the local MTS operating system. 6. MTS_SET_OPTIONS ___ ___ _______ There are a number of set options. The options given below are set by issuing the SET command followed by the option. The value of the option can be found by issuing the SHOW command and the name of the option. UBC KERMIT 7 BINARY-BLOCKSIZE n This option sets the number of bytes that should be used per line when a binary file is received by MTS. The default is 64 bytes but this value can be set to any 'n' in the range 1 to 32,767. DEBUG OFF!ON This option is primarily for those in charge of maintaining MTS Kermit. It causes the packet transmission to be logged on a file KERMIT.LOG. If for some reason this file is unavailable -KER.LOG will be used. If the Kermit is talking to a remote MTS Kermit then logging will also be done at the remote site. DELAY This option is used to control the amount of time the SEND command waits after it is issued before sending the first packet. This is to accommodate non-server remote Kermits. When both Kermits are running in user mode and a file is to be sent from MTS to the other 0 0 0 1 Kermit the user must issue a SEND from the MTS Kermit, escape back to his local Kermit and issue a RECEIVE. The delay gives him a chance to do this. The default delay is 10 seconds. If MTS Kermit knows it is talking to another remote MTS server Kermit the delay will be zero. FILETYPE TEXT!BINARY!MTS-BINARY Files can be sent in one of three modes, text, binary, and MTS-binary. The default mode for talking to microcomputers is text. In this mode MTS Kermit expects the remote Kermit to send each line of the file in ASCII with a carriage return (CR) line feed (LF) separating each line. The MTS Kermit translates incoming lines into their equivalent MTS EBCDIC characters using the ASCII to MTS EBCDIC system tables. For outgoing files the MTS EBCDIC to ASCII translation table is applied and an ASCII CRLF is appended to the end of each line. In binary mode CRLF are not treated in any special way. Binary mode results in an exact image on a byte by byte basis of the file. No translation is done from ASCII to MTS EBCDIC or vice versa. The SET option 'BINARY-BLOCKSIZE' can be used to set the number of bytes to store in each line of an incoming binary file. No CRLF's are inserted into the text of outgoing binary files. Binary is useful for moving object code from one machine to the other. Of course if the machines are incompatiable the binary code will probably be uninteligiable on the other machine. Still the remote machine can be used for storage and the like. UBC KERMIT 8 - 0 0 The MTS-binary mode makes sense only between two remote MTS Kermit sites. In this mode, as in binary mode, no translation takes place on route between sites. The MTS-binary differs in that the new transferred file retains the line numbering and line lengths of the original file. It also tries to create a file at the remote site as close as possible to the original file. It creates a file of the same type, either line or sequential having the same minsize as the original. The Nosave status and Pkey are also retained. The resulting file is essentially 'Duplicated'. The only attribute that is not duplicated is the permit status of the file. This mode is not part of the original Kermit protocol but is implemented as an added layer on top of the binary mode. NOTIFY n When MTS Kermit is sending or receiving packets it prints a count of the number of packets sent or received. The notify option can be used to determine the frequency at which this count is displayed. The default is every 20 packets. 0 0 0 0 0 0 1 - 0 + 0 0 0 0 0 LINE *n* This command is used to connect Kermit to a remote site. The psuedo device name *n* should be a mounted network connection to the remote site that the Kermit is to talk to. The remote connection can alternatively be indicated by assigning a remote connection to unit 0 when Kermit is started. Note that in the case of using Kermit within Net:Call, the /Kermit command automatically assigns the remote connection to Kermit. RECEIVE Receive_Parameter n This command can be used to adjust some of the characteristics of the Kermit protocol to accommodate non-standard Kermits. The Receive parameters are used to set the values you expect incoming packets to have. The Receive parameters should be from the list: END-OF-LINE, PACKET-LENGTH, PADDING, PADCHAR, QUOTE, START-OF-PACKET, and TIMEOUT. The 'n' parameter should be an integer. In cases where a character is required such as END-OF-LINE, this number is the decimal equivalent of the ASCII character. SEND Send_Parameter n This command can be used to adjust some of the characteristics of the Kermit protocol to accommodate non-standard Kermits. The Send parameters are used to set the values you expect outgoing packets to have. The Send parameters should be from the list: END-OF-LINE, UBC KERMIT 9 PACKET-LENGTH, PADDING, PADCHAR, QUOTE, START-OF-PACKET, and TIMEOUT. The 'n' parameter should be an integer.In cases where a character is required such as END-OF-LINE, this number is the decimal equivalent of the ASCII character. 7. APPLE_KERMIT _____ ______ Apple Kermit (Kermit-65) can be used to emulate a VT52 and to transfer files between the Apple II and MTS. A list of the Apple Kermit commands follows. In the commands below the term remote Kermit means the other Kermit that the Apple Kermit is talking to. In most cases this will be MTS Kermit. The Apple Kermit can talk to a Server Kermit so to use it with MTS follow the directions given in the subsection "File Transfers With MTS Server Kermit". Also see "FILE-BYTE-SIZE" and "FILE-TYPE" in "Apple Set Options". The Apple Kermit is available in the public file KER:APPLEK. If you already have MCP AMIE then you can %TELECOPY, in binary, the program to your Apple. Apple Kermit is also on the MCP AMIE floppy discs that are available from the Computing Centre Reception area. BYE This command tells the remote server Kermit to stop and to sign you off. When this is done it stops Apple Kermit and returns you to DOS. CONNECT 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 This command starts Apple Kermit terminal emulation mode. EXIT This command stops Apple Kermit and you are returned to DOS. FINISH This command stops a remote server Kermit. GET remote_filename This commands is used to transfer the remote file 'remote_filename' from a Server Kermit to the Apple. The file will be placed into a file with the same name on the Apple. QUIT A synonym for EXIT. UBC KERMIT 10 RECIEVE local_filename The receive command is used when Apple Kermit is talking to another Kermit in user mode and a file is to be transferred from the remote user Kermit to the Apple Kermit. If a 'local_filename' is given then the incoming file will be placed into that file, if not then the incoming filename will be used. SEND filename The file with given 'filename' will be sent to the other remote Kermit. This command can be used with both remote User and remote Server Kermits. SET set_option This command is used to set various options. More details may be found in the section 'Apple Set Options'. SHOW show_option This command is used to display the current setting of any settable option. See the section on "Apple Set Options" for further details. STATUS This command is used display some statistics on the file transfer. This includes counts of the number of characters sent. 8. APPLE_SET_OPTIONS _____ ___ _______ There are a number of options that may be set in Apple Kermit. The options are set by entering SET followed by the keyword and value given below. The current value of any settable option can be found by entering SHOW followed by the name of the option. DEBUGGING OFF!TERSE!VERBOSE If TERSE or VERBOSE is given then a copy of each packet is displayed on the screen. DEVICE-DRIVER device This option is used to tell Apple Kermit what communications device is being used. 'device' may be one of APPLE-COM-CARD (Apple Communications Card), DC-HAYES (D.C. Hayes Micromodem II), or SUPER-SER-CARD (Apple Super Serial Card). 1 UBC KERMIT 11 0 EIGHT-BIT-QUOTING ON!OFF This option sets eight-bit-quoting on or off. This option can be used when talking to another Apple Kermit though a connection that only allows seven bits to be sent. ESCAPE hex_value This option resets the escape character to the 'hex_value' given. 'hex_value' is a pair of hexadecimal digits. FILE-BYTE-SIZE size 'size' should be set to SEVEN if text files are to be transferred and 'EIGHT' if binary files are to be transferred. FILE-TYPE type This option sets the filetype begin transferred. 'type' is one of APPLESOFT, BINARY, INTEGER, or TEXT. APPLESOFT and INTEGER are flavours of Basic files, BINARY is a core image (use eight-bit file-byte-size), and TEXT is ASCII (use seven-bit file-byte-size, received characters will be written in negative ASCII). FILE-WARNING ON!OFF If FILE-WARNING is ON then any incoming file with the same name as an already existing file, say x, will be put into a different file with a with the name 'x.version' where version is an integer chosen to make the name unique. If FILE-WARNING is OFF then any incoming file will replace any existing file by the same name. IBM ON!OFF Allows transfer to IBM hosts that require XON (Ctrl-Q) to "turn the line around". This option also sets parity to mark and turns local echo on. This option is NOT applicable to MTS hosts. LOCAL-ECHO ON!OFF Specifies whether or not characters entered during terminal emulation mode should be echoed. Normally this is OFF since the host will echo all characters entered. PARITY type 'type' is one of NONE (default, eight data bits, no parity), MARK (seven data bits, parity bit set to one), SPACE (seven data bits with parity bit set to zero), UBC KERMIT 12 EVEN (seven data bits, parity set to make overall parity even), ODD (seven data bits, parity set to make overall parity odd). RECEIVE receive_parameter nn This command can be used to adjust some of the characteristics of the Kermit protocol to accommodate non-standard Kermits. The receive parameters are used to set the values you expect incoming packets to have. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 0 0 + 0 1 The receive parameters should be from the list: EIGHT-BIT-QUOTE-CHAR, END-OF-LINE, PACKET-LENGTH, PAD-CHAR, PADDING, QUOTE-CHAR, and TIMEOUT. The 'nn' parameter should be a pair hexadecimal of digits. SEND send_parameter nn This command can be used to adjust some of the characteristics of the Kermit protocol to accommodate non-standard Kermits. The send parameters are used to set the values you expect outgoing packets to have. The send parameters should be from the list: EIGHT-BIT-QUOTE-CHAR, END-OF-LINE, PACKET-LENGTH, PAD-CHAR, PADDING, QUOTE-CHAR, and TIMEOUT. The 'nn' parameter should be a pair of hexadecimal digits. SLOT n 'n' is the slot number in which the communications card has been placed. The default is 2. VT52-EMULATION ON!OFF Tells Kermit whether or not to act like a VT52 terminal when in terminal emulation mode (CONNECTed). 9. IBM_PC_KERMIT ___ __ ______ PC Kermit can be used to emulate a VT52 terminal and to transfer files between MTS and an IBM PC. Detailed documentation may be found in the file KER:MSKERMIT.DOC. The IBM PC Kermit can talk to a Server Kermit so you should follow the directions given in the subsection "File Transfers With MTS Server Kermit". PC Kermit is available in the public file KER:PCKERMIT.EXE. If you already have MCP WINDOW then this file can be %TELECOPIED in binary to your PC. 10. VICTOR_KERMIT ______ ______ The Victor Kermit commands are given below. The Victor Kermit does not seem to recognize 'Alt- ' as the start of the escape back to microcomputer sequence. To be able to escape back use 'SET ESCAPE char' to set 'char' to some printable character you don't expect to use during a terminal session. UBC KERMIT 13 - 0 0 0 0 0 0 0 MS-DOS Victor Kermit is available in the public file KER:VICKER.EXE. If you already have MCP WINDOW then this file can be %TELECOPIED in binary to your PC. BYE This command tells the remote server Kermit to stop and to sign you off. When this is done it stops Victor Kermit and returns you to DOS. CONNECT This commands starts Victor Kermit terminal emulation mode. EXIT This command stops Victor Kermit and you are returned to DOS. FINISH 0 0 0 0 0 0 0 0 0 0 0 1 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 This command stops a remote server Kermit. LOGOUT This command tells the remote server Kermit to stop and to sign you off. When this is done it leaves you in Victor Kermit. RECEIVE remote_filename The receive command gets a file from a remote Kermit. If 'remote_filename' is specified the Victor Kermit assumes you are talking to a Server Kermit and will transfer the file 'remote_filename' from the remote Kermit and place it into a local file by the same name. SEND filename The file with given 'filename' will be sent to the other remote Kermit. SET set_option This command is used to set various options. More details may be found in the section "Victor Set Options". SHOW show_option This command is used to display the current setting of any settable option. See the section on "Victor Set Options" for further details. UBC KERMIT 14 STATUS This command is used display some statistics on the file transfer. 11. VICTOR_SET_OPTIONS ______ ___ _______ There are a number of options that may be set in Victor Kermit. The options are set by entering SET followed by the keyword and value given below. The current value of any settable option can be found by entering SHOW followed by the name of the option. BACKARROW BACKSPACE!DELETE This option determines which value will be sent the host when a backarrow is entered in terminal emulation mode. BAUD speed Set the terminal speed to use. 'speed' may be one of the numbers 300, 1200, 1800, 4800 (default) or 9600. BELL ON!OFF Set the bell so that it rings after a file transfer. DEBUG ON!OFF If DEBUG is ON packets are displayed during file transfer. END-OF-LINE n Resets the end-of-line character to the decimal number 'n'. The number must be between 0 and 31. ESCAPE char Change the escape character from the default 'Ctrl- '. FILE-WARNING ON!OFF If FILE-WARNING is ON Victor Kermit and Victor Kermit receives a file by the same name as an already existing 0 0 1 0 0 0 0 0 file, then it will warn you and put the incoming file into a file with another name. H19-EMULATION ON!OFF If ON then Kermit will emulate an H19 (VT52). UBC KERMIT 15 IBM ON!OFF If ON then Victor Kermit will send the necessary control information to talk to an IBM mainframe. It will also set the parity appropriately and set local echoing on. Default is OFF. This option is NOT applicable to MTS hosts. INCOMPLETE DISCARD!KEEP If a file transfer terminates unexpectedly and DISCARD is set then any portion of the file so far transferred will be discarded. If KEEP is given then whatever was transferred will be kept. The default is DISCARD. PARITY type 'type' is one of NONE (default, eight data bits, no parity), MARK (seven data bits, parity bit set to one), SPACE (seven data bits with parity bit set to zero), EVEN (seven data bits, parity set to make overall parity even), ODD (seven data bits, parity set to make overall parity odd).