Softerm Modular Communications and Terminal Emulation READ.ME - Documentation Supplement November 30, 1993 To obtain a hard copy of this document, you may want to type, COPY READ.ME LPT1 Or you can pull it into the NotePad in Windows and print it from there. Contents: I. Install Procedure II. Changes to Softerm Modular - Close Appended Capture (new option) - Profile data base not created automatically - "If File Exists" now supports Zmodem (see also topic VI) - Auto-detect ZModem and CompuServe B+ protocols - Mark/Copy -> Transmit to host feature - Drag & Drop file uploading - Hot Spots on the monitor - Hide option when downloading - New Paste option III. Printing to a Network Printer IV. Nationality Profile Character Representations V. Softrans File Transfer Protocol Source Code VI. Zmodem File Transfer Protocol VII. CompuServe B+ File Transfer Protocol VIII. New Modem Drivers IX. Asynchronous Tcp/Ip Support - 1 - I. Installing Softerm Modular Plus Run Setup program to create Softerm Plus Group and Program Entries or follow these steps: NOTE: If you don't want to use the TCP/IP Slip Kernel, you can delete all of the files listed in setps 1 through 5 and the goto step 8. 1. Create these 3 directories off of the Softerm Directory: BIN ETC SETUP 2. Move these files to the BIN sub-directory: WPING.EXE WSCM.EXE TCPIP_SL.EXE WSAFMT.DLL WSAVM.DLL WSLIPKIF.DLL WSCM.HLP WPING.HLP LOADTCP.BAT RMTCP.BAT WINSOCK.DLL 3. Move these files to the ETC sub-directory: PROTOCOL SERVICES MODEMS 4. Move these files to the SETUP sub-directory: PHONES 5. If your Modem is connected to COM1 and you want the Slip Kernel to use this modem enter the following command at a DOS prompt: copy NETINFO.1 SETUP\NETINFO Otherwise, if your Modem is connected to COM2 and you want the Slip Kernel to use this modem enter the following command at a DOS prompt: copy NETINFO.2 SETUP\NETINFO 6. Add the following lines to the end of your AUTOEXEC.BAT file: SET TCPOPEN=C:\SOFTERM SET PATH=%PATH%;C:\SOFTERM CALL LOADTCP NOTE: Change C:\SOFTERM to the drive:\Path where Softerm is located. 7. Reboot your PC and continue. - 2 - 8. Create a new group entitled "Softerm Plus". 9. Create a new program within that group giving Windows the full path and program name to SOFTERM.EXE. And that's it. In the SOFTERM.MDB file, you can go in and add or delete any dial sessions that you like. Double click on it with the mouse, and you are set. If you would like to create a Softerm Icon that Starts a specifyed Session, for example an Icon that will start Softerm Plus and connects to Compuserve; Create a new program with in the Softerm Plus Group giving the full path and program name followed by the Session Name and "/p"; C:\SOFTERM\SOFTERM.EXE "CompuServe"/p If the Session Profile is in a deferent Database file than the default, (Last Database file opened), the add the database file name to the command line arguments; C:\SOFTERM\SOFTERM.EXE MYDATABS.MDB "CompuServe"/p II. Changes to Softerm Modular -------------------------- Please make a note of the following changes in the manual: 1. Please add the following information to Close Capture: a. The cascading menu now appears similar to: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Save Capture ³ ³ Discard Capture ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Close Appended Capture ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ b. Close Appended Capture If the Terminal Emulation printer definition option Append Disk Printer File On Close (p. PE.8) is enabled and printer data has been redirected to a disk file, use this option to permanently close the file. Important: A capture cannot be active when this option is used. 2. If the named profile data base does not exist, it will not be created. - 3 - 3. The description of "If File Exists": If a file with the name you have assigned already exists on your PC, you can specify that you want to: - Resume the transfer (if you are using Zmodem); - Replace the existing file; - Append the received data to the end of the existing file, or; - Stop the file transfer. 4. Auto-detect ZModem and CompuServe B+ Protocols. These download protocols will start receiving a file automatically when you are downloading. You no longer need to go in and start the download manually. The program is set up so that you can enable/disable the autodownload session by changing it under the Settings menu, selecting Terminal Emulation, and Auto Download. Under the Dialog box for Auto Download, you can set your default download path, and set your options for "If file exists....". 5. Mark/Copy -> Transmit to host feature Now you can mark a section of text using your mouse and transmit it to the host. If it is a single character, like 'x', double click on it. That will send it. If it is a block of text, mark it off with the mouse, click on the EDIT menu, and select transmit to host. The block will be received at the other end of the connection. This is defined under Settings, System Environment, and then select Edit Action Options. From there you can set up how you want the transmission to be formatted, and where you want it to go. 6. Drag & Drop file uploading This allows you to drag a file out of the File Manager in Windows, and drop it into the window in which you are connected, and it will upload the file to your host. Note, you must be at the place on your host where you can do that! Uses default session protocol, if none, it uses the character protocol. 7. Hot Spots on the monitor If you are on a service that asks you to press (Enter) to continue, all you have to do is double click on a blank area of the screen. That will send a carriage return to the other end. It will also send entire words, finding the beginning and the end of the word. By double clicking on that word, it will transmit it to the host or to clipboard, dependant upon how it is configured. It can also transmit an entire page of text, by highlighting it with the mouse, then clicking somewhere inside of that block, and it will be transmitted. Refer to item #5 for defining the settings for this option. 8. Hide option when downloading There is a button that you can select in the download screen that will minimize your session while you are downloading and maintain the download. - 4 - 9. New Paste option You can now cut & paste from outside files, using Shift- Delete, Ctrl-Insert, and Shift-Insert keys. As well as the Edit menu. This item is defined with the EDIT menu. This will work *only* for TEXT. III. Printing to a Network Printer ----------------------------- Softerm fully supports rerouting LPT1, LPT2 and LPT3 to network printers, but does not monitor the status of the printers. Serial printing is supported only on local ports unless the vendor's network software supports such cases. IV. Nationality Profile Character Representations --------------------------------------------- If you use the Nationality Profile to remap incoming or outgoing characters, you may see character descriptions which appear similar to: Character Description Hexadecimal [VT] NOTE:See READ.ME 0BH These characters cannot be displayed within the menu system. Locate the Hexadecimal value in the following list to see how the character is translated: Hex Character Description 001H Ä Single Line Horizontal 002H ³ Single Line Vertical 003H Ú Single Line Upper Left Corner 004H ¿ Single Line Upper Right Corner 005H À Single Line Lower Left Corner 006H Ù Single Line Lower Right Corner 007H Å Single Line Cross 008H Ã Single Line Junction Left 009H ´ Single Line Junction Right 00AH Â Single Line Junction Top 00BH Á Single Line Junction Bottom 00CH Í Double Line Horizontal 00DH º Double Line Vertical 00EH É Double Line Upper Left Corner 00FH Ë Double Line Upper Right Corner 010H È Double Line Lower Left Corner 011H ¼ Double Line Lower Right Corner 012H Î Double Line Cross 013H Ì Double Line Junction Left 014H ¹ Double Line Junction Right 015H Ë Double Line Junction Top 016H Ê Double Line Junction Bottom 017H ± Communications Error Character 018H Up Arrow 019H Down Arrow 01AH Right Arrow - 5 - 01BH Left Arrow 01CH Û Solid Block 01DH Ü Solid Block, Lower Half 01EH ß Solid Block, Upper Half 01FH þ Solid Middle Block 087H Õ Single To Double Upper Left Corner 088H ¸ Single To Double Upper Right Corner 089H Ó Single To Double Lower Left Corner 08AH ½ Single To Double Lower Right Corner 08BH Ø Single To Double Cross 08CH Æ Single To Double Junction Left 08DH µ Single To Double Junction Right 08EH Ñ Single To Double Junction Top 08FH Ï Single To Double Junction Bottom 093H Ý Solid Block, Left Half 094H Þ Solid Block, Right Half 095H ò Greater Than Or Equal To 096H ó Less Than Or Equal To 097H Ö Double To Single Upper Left Corner 098H · Double To Single Upper Right Corner 099H Ó Double To Single Lower Left Corner 09AH ½ Double To Single Lower Right Corner 09BH × Double To Single Cross 09CH Ç Double To Single Junction Left 09DH ¶ Double To Single Junction Right 09EH Ò Double To Single Junction Top 09FH Ð Double To Single Junction Bottom V. Softrans File Transfer Protocol Source Code ------------------------------------------- Softrans, a file transfer protocol developed by Softronics, Inc., was designed to provide reliable file transmission over a wide variety of asynchronous communications connections, including switched packet networks and front end communications processors. Full binary file transparency automatically is provided by the protocol with no requirement for an 8-bit wide data path; standard 7-bit ASCII characters only are used within a data buffer. In addition, no control characters (00 hex thru 1F hex) occur within any Softrans block; the only control character used is carriage return (0D hex) which is the End of Message (EOM) character. Contact Softronic's sales for the Fortran 77 source code that can be uploaded to your host system and compiled with the appropriate Fortran compiler. Source code avalible for: Source for Unix systems Source for VAX systems Source for Data General systems - 6 - VI. Zmodem File Transfer Protocol ----------------------------- The Zmodem protocol has been added to Softerm. Please add the following information: Zmodem Protocol Parameters Retries Specify the maximum retry count for error conditions. Possible error conditions include timeouts and block check errors. If an error condition occurs during a file transfer operation and the Retries count is exhausted, a Line Failure message will be displayed on your screen. This parameter accepts values from 0 to 255. Transmit Packet Size This parameter determines the number of bytes contained by each packet of data. Set it to the size supported by the host (if you know what it is) or to Auto. If set to Auto, the packet size is determined by the speed of the connection. The faster the speed, the larger will be the packet size. Zmodem Protocol Note: Zmodem was developed for the public domain by Omen Technology under a Telenet contract. The Zmodem protocol descriptions and the Unix rz/sz program source code are public domain. No licensing, trademark, or copyright restrictions apply to the use of the protocol, the Unix rz/sz source code and the Zmodem name. The Zmodem file transfer protocol provides reliable file transfers with complete end-to-end data integrity between application programs. Zmodem uses either a 16-bit or a 32-bit Cyclical Redundancy Check to detect errors. Zmodem accommodates network and timesharing system delays by continuously transmitting data unless the receiver interrupts the sender to request retransmission of garbled data. Softerm's implementation of Zmodem supports all functions except fallback to Ymodem transfer. File Transfer Initiation When the Zmodem receive program starts, it immediately sends an initiation header to start Zmodem file transfers, or a challenge header to verify the sending program. The sender may send an optional intitialization frame to define the receiving program's Attention sequence, or to specify complete control character escaping. - 7 - The sender sends a header with Zmodem Conversion, Management, and Transport options followed by a data subpacket containing the file name, file length, modification date, and other information identical to that used by Ymodem Batch. The Zmodem Header The header contains a "frame type", four bytes of supervisory information, and its own CRC. Data frames consist of a header followed by 1 or more data subpackets. In the absence of transmission errors, an entire file can be sent in one data frame. Frame File Information Zmodem sends the same file information with the ZFILE frame data that Ymodem Batch sends in its block 0. Pathname The path name (conventionally, the file name) is sent as a null terminated ASCII string. Length The file length and each of the succeeding fields are optional. The length field is stored as an ASCII-coded octal string counting the number of data bytes in the file. The Zmodem receiver uses the file length as an estimate only. It may be used to display an estimate of the transmission time, and may be compared with the amount of free disk space. The actual length of the received file is determined by the data transfer. A file may grow after transmission commences, and all the data will be sent. Modification Date The modification date is an octal number giving the time the contents of the file were last changed measured in seconds from Jan. 1, 1970 Universal Coordinated Time (GMT). A date of 0 implies the modification date is unknown and should be left as the date the file is received. File Mode Unless the file originated from a Unix system, the file mode is set to 0. The receiver examines the file name, length, and date information provided by the sender in the context of the specified transfer options, the current state of its file system(s), and local security requirements. If the receiver has a file with the same name and length, it may respond with a CRC header, which requires the sender to perform a 32-bit CRC on the file and transmit the complement of the CRC in a header. The receiver uses this information to determine whether to accept the file or skip it. - 8 - Error Recovery Normally the receiver specifies the data transfer to start at the beginning of the file, but may start the transfer further down in the file. This allows a file transfer interrupted by a loss of carrier or system crash to be completed on the next connection without requiring the entire file to be retransmitted. If downloading a file from a timesharing system that becomes sluggish, the transfer can be interrupted and resumed later with no loss of data. Normal Session Ending When the sender receives the acknowledging header, it sends two characters, "OO" (Over and Out) and exits to the operating system or application that invoked it. The receiver waits briefly for the "O" characters, then exits whether they were received or not. Session Cancel Sequence If the receiver is receiving data in streaming mode, the Attention sequence is executed to interrupt data transmission before the Cancel sequence is sent. The Cancel sequence consists of eight CAN characters and ten backspace characters. Zmodem only requires five Cancel characters, the other three are "insurance". The trailing backspace characters attempt to erase the effects of the CAN characters if they are received by a command interpreter. For complete information about the Zmodem protocol, please contact: Chuck Forsberg Omen Technology Inc. 17505-V Sauvie Island Road Portland, Oregon 97231 Phone: 503-621-3406 Modem: 503-621-3746 VII. Compuserv B+ Transfer Protocol ------------------------------ The CompuServe B+ protocol has been added to Softerm. You may now select the CompuServe B+ protocol for transfering files. This protocol will now appear on the selection list of available protocols and may be selected the same way the XMODEM or ZMODEM protocols are selected. CompuServe B+ Protocol Parameters Retries Specify the maximum retry count for error conditions. Possible error conditions include timeouts and block check errors. If an error condition occurs during a file transfer operation and the Retries count is exhausted, a Line Failure message will be displayed on your screen. This parameter accepts values from 0 to 255. - 9 - Receive Acknowledgment Timeout This parameter sets the number of seconds before a transfer operation will cancel when an acknowledgement for data transmitted to the host is expected to be received. Valid values are from 0 to 65535. VIII. New modems added ---------------- The following modem options have been added: AT&T DataPort 14.4 Bocamodem M1440 series INTEL SatisFAXtion Modem/Fax Practical Peripherals 14400FXSA V.32bis USRobotics Sportster 14,400 Zoom Modem VX-V.32bis Zyxel U-1496 Fax/Modem These modems, like any other high speed modem running at baud rates greater than 9600 require RTS/CTS pacing. To select pacing, go into your Connection Path Profile settings Dialog and select the Pacing option. In the Pacing dialog, set Transmit pacing to CTS and receive pacing to RTS and re-save your Connection Path Profile. NOTE: When doing communications at baud rates greater than 9600, you will need communications cards or internal modems that use 16550 UART. To enable 16650 UART under Windows, Read your Windows user manual and add the following to your SYSTEM.INI file under [386ENH] COM1FIFO=1 COM2FIFO=1 COM3FIFO=1 COM4FIFO=1 - 10 - IX. Asynchronous Tcp/Ip Support --------------------------- Throughout this section "{INSTALLDIR}" refers to the base directory that this product was installed in. Asynchronous Tcp/Ip support (commonly referred to as SLIP, serial line interface protocol) is achieved by installing the SLIP Tcp/Ip kernel (TCPIP_SL.EXE) before the execution of WINDOWS and configuring a Softerm Modular session with a Softerm SLIP connection path. This SLIP support provides Softerm Modular with the capability to dial into a remote system or network that supports the Tcp/Ip protocol and establish a TELNET terminal session. The INTERNET is one such network that is becoming increasingly popular and it is usually necessary to sign up for a network service prior to being able to use that network. Softerm SLIP session can be configured to seamlessly integrate the following tasks that need to be performed before the Tcp/Ip protocol can be utilised to establish a TELNET session:- o initialise the local modem o dial a remote system or network o execute a series of batch commands to:- o automate a login process o request the remote to enter SLIP (Tcp/Ip) mode o scan the received asynchronous data stream for various Ip addresses that the local PC is to use during the current connection o automatically disconnect the modem when the Tcp/Ip connection is terminated Since the local asynchronous communications port will be accessed and controlled by the Tcp/Ip kernel, WINDOWS and WINDOWS based applications must be prevented from also attempting to access this port. To accomplish this, one of the following sets of two lines must be added to the [386Enh] section of the WINDOWS SYSTEM.INI file:- COM1IRQ=-1 COM1BASE=0 or COM2IRQ=-1 COM2BASE=0 - 11 - The SLIP Tcp/Ip kernel configuration is defined in the file "{INSTALLDIR}\SETUP\NETINFO" and is setup assuming that the remote system or network will dynamically provide the information that is to be used for the duration of the connection. If this inforamtin has been permanently assigned, it will be necessary to edit the follwing lines in the NETINFO file:- IPADDRESS=0.0.0.0 IPGATEWAY=0.0.0.0 SUBNETBITS=0 where:- IPADDRESS specifies the local PC's IP address IPGATEWAY specifies the IP address of the default IP gateway or router to which the Tcp/Ip kernel will send all packets for delivery to their ultimate destination SUBNETBITS specifies the number of bits used as the subnet ID for example:- IPADDRESS=192.148.174.50 IPGATEWAY=192.148.174.49 SUBNETBITS=4 These items are usually assigned when a service is subscribed to. When a Softerm SLIP session is profiled the TELNET destination address can be specified as either an Ip address or a name. When a name is used the Tcp/Ip kernel must itself resolve this name to an Ip address. This name resolution is accomplished by first accessing a Domain Name Server on the network that has been dialed into and if that fails by accessing the "{INSTALLDIR}\ETC\HOSTS" file and perfoming a lookup translation. A sample HOSTS file is included with this product. To use a Domain Name Server for host name resolution the following two lines should be added to the NETINFO file:- DOMAIN=name NSIPADDRESS=ipaddress where:- DOMAIN specifies the name of the domain for the remote system or network that will be dialed NSIPADDRESS specifies the IP address of the Domain Name Server for example:- DOMAIN=csn NSIPADDRESS=128.138.213.21 If it is required that name resolution be performed using the local HOST lookup file, these two lines shoud be removed from the NETINFO file. Definitions for use of the locally attached modem are maintained in the file "{INSTALLDIR}\ETC\MODEMS". This MODEMS file may contain multiple entries (typically for different connection baud rates) and an example file is included with this product. When a Softerm SLIP connection path is profiled, an entry from this file can be selected within the communications parameters dialog. - 12 - Definitions for the phone numbers of remote systems and networks and their associated batch commands are maintained in the file "{INSTALLDIR}\SETUP\PHONES". This PHONES file will typically contain multiple entries and an example file is included with this product. When a Softerm SLIP connection path is profiled, an entry from this file can be selected within the dial parameters dialog. Each PHONES file entry may have one or more of the following batch commands associated with it in order for the previously mentioned functions to be performed:- SEND string[CR] WAITFOR string SEND reply[CR] WAITFOR_IP string WAITFOR_NETMASK string WAITFOR_GATEWAY string SLIPMODE where: [CR] represents a carriage return character in a transmit string. [LF] may be used to represent a linefeed character in a transmit string. The SEND keyword defines a string that is to be transmitted as soon as a carrer signal is detected from the remote system or network during connection establishment. The WAITFOR keyword defines a string that when detected in the receive data stream causes the associated SEND string to be transmitted to the remote system or network. The WAITFOR_IP, WAITFOR_NETMASK, WAITFOR_GATEWAY keywords define lead-in strings for the local Ip address, local Ip address mask or remote gateway Ip address respectively. When one of these lead-in stings has been detected in the receive data stream the receive data is further scanned for the first Ip address, in dotted notation. When a valid Ip address has been received, that address will be used by the kernel for all subsequent Tcp/Ip operations. These lead-in strings only need to define a unique string that precedes an Ip address somewhere in the receive data stream, they do not have to define the string immediately preceding the Ip address. for example, the batch command 'WAITFOR_IP your' will set the local Ip address to '192.94.51.28' when the following string is received:- Annex address is 198.243.36.253. Your address is 192.94.51.28. The SLIPMODE keyword causes the Tcp/Ip kernel to be put into SLIP mode and execution of batch commands to be terminated. This command is executed when the immediately preceding batch command has been executed. If there is no preceding batch command, the SLIPMODE command is executed as soon as the carrier signal is detected from the remote system or network. - 13 - A single SLIP connection will support multiple Softerm SLIP sessions, but the phone number profiled within those sessions must be the same for each. Once a SLIP connection has been made, each Softerm SLIP session will proceed to the TELNET establishment phase. The SLIP connection will be terminated when the last Softerm SLIP session is terminated. WSCM.EXE -------- WSCM.EXE (Slip Connection Manager) is a stand alone utility for execution under WINDOWS that can be used to dial and/or hangup a connection to a remote Tcp/Ip system or network. It performs exactly the same functionality as a Softerm SLIP session up to the point of establishing a TELNET session. In addition it will display all received data and thus is a convenient utility for the development and testing of those batch commands necessary to automate SLIP connection establishment. WPING.EXE --------- WPING.EXE (Host Availability Query Program) is a stand alone utility for execution under WINDOWS that can be used to test the availablility of a host (by name or Ip address) on the network. WSCM should be used to establish a connection into a network and WPING can then be used to test if a particular host is available. - 14 -