From cmg Thu Jan 14 11:57:46 1993 Return-Path: Received: by watsun.cc.columbia.edu (5.59/FCB/jba) id AA26555; Thu, 14 Jan 93 11:57:46 EST Date: Thu, 14 Jan 93 11:57:43 EST From: Christine M Gianone To: Info-Kermit Subject: Info-Kermit Digest V17 #1 Reply-To: Info-Kermit@watsun.cc.columbia.edu Queries-To: Info-Kermit-Request@WATSUN.CC.COLUMBIA.EDU Errors-To: Info-Kermit-Request@watsun.cc.columbia.edu Message-Id: Info-Kermit Digest Thu, 14 Jan 1993 Volume 17 : Number 1 Today's Topics: StarGROUP Patch for MS-DOS Kermit 3.12 MS-DOS Kermit, COM3, COM4, and Internal Modems Digest submissions may be sent to Info-Kermit@WATSUN.CC.COLUMBIA.EDU or KERMIT@CUVMA.BITNET. Requests for addition to or deletion from the Info-Kermit subscriber list should be sent to LISTSERV@CUVMA.BITNET or LISTSERV@CUVMA.CC.COLUMBIA.EDU. These messages must be of the form: SUBSCRIBE I$KERMIT (To start a subscription) UNSUBSCRIBE I$KERMIT (To cancel a subscription) REGISTER I$KERMIT (To correct your name) Kermit files may be obtained over networks and by mail order. On the Internetwork, use FTP to log in to host WATSUN.CC.COLUMBIA.EDU, a SUN-4/280 running UNIX (SUNOS 4.1), IP host number 128.59.39.2. Login as user anonymous (note, lower case), any password, and GET or MGET (MULTIPLE GET) the desired files. The file kermit/read.me is a general guide to where things are. The Kermit files are in directories kermit/a, kermit/b, kermit/c, kermit/d, and kermit/e. Test versions are in kermit/test. All files in these directories should be transferred in text (ASCII) mode. Binaries are in kermit/bin (use ftp in binary mode). All files on watsun have lowercase names, and case is significant. You can also get Kermit files over the BITNET/EARN network; to get started send a message with text HELP to KERMSRV, the Kermit file server, at host CUVMA. For detailed instructions, read the file kermit/a/aanetw.hlp (AANETW.HLP on KERMSRV). To order by mail, request a complete list of Kermit versions and an order form from Kermit Distribution, Columbia University Center for Computing Activities, 612 West 115th Street, New York, NY 10025 USA. ---------------------------------------------------------------------- Date: Tue, 12 Jan 93 11:30:00 EST >From: Christine M. Gianone Subject: StarGROUP Patch for MS-DOS Kermit 3.12 Keywords: StarGROUP, MS-DOS Kermit 3.12, Patches for MS-DOS Kermit >From Joe Doupnik, author of MS-DOS Kermit: Patches 11 and 12 to cure a bug that caused AT&T StarGROUP network connections to be lost after shelling to DOS (RUN, PUSH, etc). The updated patch file is in kermit/a/mskermit.pch on watsun, MSKERMIT PCH on KERMSRV. Copy it to the same directory where you keep your MSKERMIT.INI file, and make sure there is a PATCH command at the top of your MSKERMIT.INI file. Remember, MS-DOS Kermit patch files only work with the binary KERMIT.EXE (MSVIBM.EXE) distributed by Columbia University; they will not work with versions that you have built yourself from source code, or that have been modified in any manner. ------------------------------ Date: Tue, 12 Jan 93 11:40:00 EST >From: Frank da Cruz Subject: MS-DOS Kermit, COM3, COM4, and Internal Modems Keywords: MS-DOS Kermit and COM3 and COM4 Keywords: MS-DOS Kermit and Internal Modems Keywords: Modems and MS-DOS Kermit, COM3/COM4 and MS-DOS Kermit With the arrival of the new breed of low-cost high-speed internal modems have come ever-increasing numbers of queries about how to use them with MS-DOS Kermit, especially on COM3 or COM4. With the help of Joe Doupnik (author of MS-DOS Kermit) and John Klensin at MIT, we have put together what I hope will be a useful guide to this complicated topic. This text has also been added to the MSKERM.BWR file. TROUBLESHOOTING MS-DOS KERMIT SERIAL PORT AND MODEM PROBLEMS "Why can't MS-DOS Kermit find my COM3 or COM4 port?" "Why can Kermit send characters to my COM port, but not read them?" "Why doesn't Kermit work with my internal modem?" First, rule out the obvious: Is everything connected and turned on? Did you give a SET PORT command for the right device, and did you give it BEFORE any other device-related commands, such as SET SPEED and SET PARITY? Remember, port-related settings apply to the port that was selected in the most recent SET PORT command, so a proper sequence would be, for example: SET PORT COM2 ; First select the port you want to use. SET SPEED 19200 ; Then set the desired speed on the selected port, SET PARITY EVEN ; and other parameters for this port, such as parity, SET FLOW RTS/CTS ; flow control, SET LOCAL-ECHO OFF ; and CONNECT-mode echoing. Each of these parameters is remembered for each port, so switching ports (e.g. SET PORT COM1 after you have given the above sequence of commands) switches all of these parameters to their previous (or default) values for the port you have switched to. To see the current port-related parameters, type the MS-DOS Kermit command: SHOW COMMUNICATIONS This displays all the relevant information about your currently selected communication device, which is COM1 by default. Check the settings carefully to be sure they are what you intended. * * * * The following discussion, which applies to MS-DOS Kermit versions 3.11 and 3.12, is detailed and technical, but most of it boils down to (a) installing a patch; (b) telling Kermit two numbers, the port address and IRQ value; and (c) fiddling with your modem. Keep that in mind as you read more about PC hardware than you ever wanted to know. HOW A PHYSICAL COMMUNICATION PORT IS ASSOCIATED WITH A DOS COMn DEVICE DOS PCs come with full support for two communication ports, COM1 and COM2, but with provisions for at least two more, COM3 and COM4. The basic problem with COM3 and COM4 is that they are not well (or consistently) supported in most types of PCs, as are COM1 and COM2 which rarely (by themselves) cause any problems. This discussion considers only COM1-COM4, since higher-numbered COM ports are rare, and in any case are not presently supported by MS-DOS Kermit. The digit in the port name is an index into an area in memory that contains the address of the serial port hardware. The BIOS (the PC's Basic Input/Ouput System) has four words reserved starting at segment 40 (hexadecimal), word 0, to hold the addresses of the first four COM ports. Word 0 defines COM1, word 2 (two bytes per word) defines COM2, word 4 COM3, and word 6 COM4. To view these addresses: C:\> debug (start the debug program) -d 40:0 (display segment 40) -q (quit the debug program) ("C:\>" is the DOS prompt, "-" is the debug prompt.) Here are the results of this operation on a PS/2 with 3 COM ports: 0040:0000 F8 03 F8 02 20 32 00 00-BC 03 00 00 00 00 60 03 .... 2........`. 0040:0010 65 46 00 80 02 00 00 20-00 00 38 00 38 00 3E 34 eF..... ..8.8.>4 0040:0020 20 39 78 2D 2E 34 78 2D-0D 1C 64 20 20 39 34 05 9x-.4x-..d 94. 0040:0030 30 0B 3A 27 30 0B 0D 1C-75 16 67 22 20 39 00 00 0.:'0...u.g" 9.. 0040:0040 0A 00 C3 00 00 00 00 00-00 03 50 00 00 10 00 00 ..........P..... 0040:0050 00 18 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 0040:0060 0E 0D 00 D4 03 29 22 76-07 35 18 FF F9 C8 0F 00 .....)"v.5...... 0040:0070 00 00 34 12 00 01 00 00-14 14 14 20 01 01 01 01 ..4........ .... The first line contains the COM port information (ignore the other lines, as well as the funny characters on the right). "F8 03" is the 2-byte COM1 address, expressed in hexadecimal (base 16) with the low byte shown first. Thus the actual COM1 address is 03F8 hex, which is expressed in Kermit commands as \x03f8. The COM2 address is 02F8, the COM3 address is 3220, and (since there is no COM4) the COM4 address is 0000. That is how both DOS and the BIOS (and hence many communication programs, including Kermit) understand which ports are defined, and where to find them. When your PC is powered up, the BIOS startup code checks for serial port hardware (that is, a Universal Asynchronous Receiver/Transmitter, or UART) at the two port addresses 03F8 and 02F8. If it finds a UART at the first address then that address is placed in word 40:0 and declared to be COM1. Then the BIOS tries the second address and if successful this address goes into the first available word at that time, typically 40:2 as the address of COM2. Thus if you remove a COM1 device then a previously COM2 device will appear in the COM1 Bios storage area and become COM1 to DOS and Kermit. What happens to the other two words depends on the PC model and BIOS. The IBM PS/2 BIOS fills in all four words on startup, but most others (there are exceptions) handle only the first two because that's how IBM did it with the original PCs. So... just setting switches or jumpers on a serial port board or internal modem does NOT define the board to be a particular COM port. Why, then, do some communication programs work with COM3 and COM4 without any special fiddling? The answer is that these programs ASSUME that COM3 and COM4 are found at certain addresses, even when there are no entries in segment 40, the BIOS communication-port area. Some of these programs show you their assumptions in a menu (and might allow you to change them), others do not. The assumed values are usually as follows: Port Assumed Address (hexadecimal) COM1 03F8 COM2 02F8 COM3 03E8 COM4 02E8 NOTE: PS/2s use different addresses for COM3 and COM4 -- 3220 and 3228, respectively, but these addresses are installed by the BIOS into segment 40 when the PS/2 is started, so well-behaved communication software (like Kermit) will use these addresses rather than the defaults listed above. Ill-behaved software will ignore the segment-40 addresses and erroneously attempt to use its own values, which, with luck, might be correct but, more likely, will not work, or at worst, can disrupt normal operation of your PC. Unchecked use of an assumed port address is DANGEROUS if the device is not really where the software expects, but the software goes ahead and uses the address anyway, in particular if some other type of device, say a network adapter, is at the given address. It can also produce unwanted conflicts under Windows, OS/2, and DesqView, whose drivers often set the port's segment-40 word to zero when they want to use the port exclusively and without interference, and then restore the real address when they are done, and similar unwanted interference with Int 14H redirectors that allow serial-port communication software to be used on network connections. Unlike most other PC communication software, Kermit will NOT attempt to use a communications port unless: (a) It finds its address in the BIOS comm-port area, segment 40, or: (b) You specify the address yourself AND: The device at the given address passes certain tests, in which registers (addresses related to the port's base address) contain certain values that are legitimate for a UART. In other words, KERMIT IS MORE CAREFUL than most other communication software, because does not want to chance disrupting normal operation of (or damaging) your PC. SPECIFYING THE PORT ADDRESS If you tell MS-DOS Kermit to SET PORT COMn (where n is 1, 2, 3, or 4), and Kermit responds: Warning, no hardware for this serial port. This port will be operated through the BIOS as BIOSn it means that Kermit did not find an address for the port in the BIOS area or it did find one but the hardware at that address did not look like an IBM-PC compatible UART. If the cause of the message is a missing address, you can tell MS-DOS Kermit the address of the port by issuing the following command: SET COMn \xhhhh where n is 1, 2, 3, or 4, and hhhh are four hexadecimal digits (0-9, A-F) representing the 16-bit address. This command not only informs Kermit of the address, but also inserts the address into the appropriate word in segment 40 so other programs can find the port (assuming they follow the rules), and so you don't have to give this command to Kermit again until after the next time you reboot. After giving the SET COMn command, give a SET PORT COMn command for the same port. The SET COMn command must come first, then the SET PORT COMn command, as in this example for COM3: set com3 \x3f8 ; Specify the address of COM3 set port com3 ; Select COM3 How do you know what addresses to give? Suppose you have purchased an internal modem or an add-on serial port and you want to install it as a particular COM port, say COM3. The installation instructions for your device will tell you how to do this. The device must be configured -- generally by setting little switches or installing or removing jumpers. The manual should tell you the address for each COM port. You have to make sure that the address that you have configured for the device agrees with the address that Kermit will use. Although it is not recommended that you guess at address values, sometimes it is the only way (as often with inherited equipment), for which occasions here is a list of the addresses commonly used for serial ports and internal modems: Port Likely Addresses (hexadecimal) COM1 03F8 COM2 02F8 COM3 03E8, 3220 COM4 02E8, 3228, 02E0 It is relatively unlikely that you will find a serial port at any address not listed above, but you might find a port at another port's expected address. The use of these addresses in SET COMn commands should be relatively harmless (provided you don't also specify an interrupt, explained later); if there is no error message, Kermit found a possibly usable port. If there is an error message, no harm should have been done. Now let's look at the other cause for the "This port will be operated through the BIOS" message, namely that an address was found in segment 40, but the device at that address does not appear to be a genuine serial port. Why would this happen? There are several possible explanations, including: 1. The device is at a different address. Check your device's configuration again, or else your SET COMn command. 2. Your device is indeed at the given address, but its registers do not contain values expected of a true PC serial port. In that case, BIOS operation is the only alternative. 3. Your device is at the given address, but there is a conflict with another device at that address or the machine's bus speed (not CPU speed) is set so high that the hardware test gave confusing results. When Kermit operates a port through the BIOS, rather than directly, it will be MUCH slower and might not work at all because the BIOS requires the CD, CTS, and DSR modem signals to be asserted by the device connected to the port (and the CD signal is normally and by default NOT asserted by a modem before it has made a connection to another modem). In that case, you will have to configure the device (e.g. modem) to assert DSR, CTS, and CD always, or wire your modem cable to fake these signals (e.g. by cross-connecting them to DTR). Assuming you have found the right address for your COM3 or COM4 port (or nonstandard address for COM1 or COM2), and you want these addresses to be set correctly for Kermit at all times, even if it doesn't read its initialization file, you can put a command like the following in your AUTOEXEC.BAT file: set kermit=com3 \x3e8; com4 \x2e8; If you want the addresses to be set correctly in the BIOS communications area, so all applications (not just Kermit), can find the ports, put a line like this in your AUTOEXEC.BAT (substituting the appropriate ports and addresses): kermit -f nul, set com3 \x3e8, set com4 \x2e8 INTERRUPTS "I can send characters to the modem, but I never see any on my screen." This common complaint (often arising from the user's observation of the modem lights and speaker), also known as "can-talk-but-not-listen syndrome", usually means that the communication device was found at the expected address, but Kermit's idea of its interrupt is wrong. What's an interrupt? To achieve high-speed communication without interfering with other applications, Kermit reads characters from a serial device using "interrupts". Whenever a character arrives at the serial device, the device sends a signal, called an interrupt, that may be "caught" by application software such as Kermit, leaving the application free to do other work in the meantime without having to constantly look at the serial port to see if any characters have arrived (an operation called "polling", which is used by some of the other communications programs). Communications programs that use polling are not sensitive to interrupts being set properly and may therefore work with improperly-configured machines where Kermit will not (unless you give it the required information), but they also tend to take over the entire computer. In contrast to polling programs, Kermit is normally waiting for input from the keyboard, and is therefore idle if you are not typing and no characters are arriving at the communication port. In multi-tasking environments such as Windows or OS/2, this allows other applications the largest possible share of the CPU while Kermit is running. When a character arrives at the port, an interrupt signals Kermit to wake up from its keyboard-wait state and read the character from the port. But Kermit needs a way of knowing which device the interrupt came from, so it will not erroneously read characters from the wrong one. The device is identified by an Interrupt Request (IRQ) number, a small integer like 3 or 4. The BIOS does not record the IRQ number used by a serial port because the BIOS uses polling rather than interrupts for serial port input and output. Thus the communications software has to know which IRQ to use. By convention from the original IBM PC, COM1 uses IRQ 4 and COM2 uses IRQ 3. There is no standard for COM3 and above, but certain conventions are normally followed: Port PS/2 Others COM3 IRQ3 IRQ4 COM4 IRQ3 IRQ3 WARNING: Certain serial port cards and internal modems allow themselves to be configured with different IRQ numbers (such as 9), even on COM1 or COM2. Check your device's installation instructions. Some types of PCs (PS/2s, for example) allow sharing of IRQ numbers, provided each application has its own interrupt service routine and each such routine is built to chain interrupts properly (i.e. pass them along to other applications if they have arrived at the wrong place). This works, for example, with Kermit on a PS/2; you can run two copies of Kermit under Microsoft Windows, one using COM2/IRQ3 and the other using COM3/IRQ3 (i.e. two ports, same IRQ), both doing input and output simultaneously with no confusion. On most types of PCs, however, IRQs can NOT be shared, and therefore each device must have a unique IRQ number. This caution applies especially when you have a serial mouse on IRQ 3 or 4. Once Kermit knows the address of a COM port, it tests to see which IRQ number, 3 or 4, the device uses. This is a safe test and does not cause any modem signaling or communication to take place. The PC architecture has a limited range of IRQ numbers available, and so (usually) there can not be a unique IRQ number for each serial port when there are more than two. This results in the common limitation that no more than two serial ports can be active at once. MS-DOS Kermit 3.12 and earlier test first for IRQ4, and then if there is no response, IRQ3. If both tests fail, a default value is used (on PS/2s, the default is IRQ4 for COM1 and IRQ3 for COM2-4; on others is it is IRQ4 for COM1 and COM3, IRQ3 for COM2 and COM4). No error message is given in this case, but "can-talk-but-not-listen syndrome" is a likely result. Some add-on communication boards or internal modems are set up to use IRQ numbers other than 3 or 4 in order to avoid conflicts with COM1 or COM2 and/or to allow more than two COM ports to be active at once. But this can be dangerous -- for example, IRQ 5 (which is sometimes used for this purpose) is also used by the hard disk controller on the PC/XT. IRQ 7 is often used by network boards. For this reason, Kermit does not automatically test any IRQ numbers other than 3 or 4, and does not use any other IRQ number by default. But it is sometimes necessary, particularly on ISA (Industry Standard Architecture) bus machines (PC/ATs and compatibles) and earlier (such as PCs and XTs) to use an IRQ other than 3 or 4, for example when when an internal modem is installed as COM3 on IRQ4, and then use of COM1 prevents COM3 from working, and vice versa. This problem can often be solved by reconfiguring the board to use an otherwise unused unique IRQ number. Ideally this would be a normally free IRQ such as 10 or 11, but unfortunately most communication boards are not configurable for IRQs higher than 7. Here is a brief, and definitely not comprehensive, guide to the low IRQ numbers (with IRQ numbers expressed in decimal): 2 Normally available, but some video boards use it to obey an obsolete standard for indicating vertical refresh. Adjust video board jumpers to not do this. On 286's and above IRQ 2 is also known as IRQ 9: same IRQ, alternate number. Windows 3.0 had difficulty with devices using IRQ 2, but Windows 3.1 is better. 3 Normally COM2 and COM4. PS/2's use IRQ 3 for all serial ports above COM1. IRQ3 is also a favorite "factory default" of many local area network (LAN) adapters. 4 Normally COM1 and informally COM3 (except on PS/2s). 5 Secondary parallel port. Parallel ports are rarely interrupt-driven (except for Novell RPRINTER users) so this wire becomes free if you unjumper the IRQ on the parallel port board. LAN adapters are frequently placed on IRQ 5. PC/XTs use IRQ 5 for the hard disk. Be careful with this one. 6 Floppy disk drives. Leave it alone! 7 Primary parallel port. Remove as described for IRQ 5. Be careful, LAN adapters are frequently placed here. 9 Alias for IRQ 2. 10 Usually free. 11 Usually free. 12 Used by the IBM bus mouse, otherwise usually free. 13 QEMM traps math coprocessor errors here, otherwise frequently free. 14 Used by hard disk on 286 and above. Leave alone! 15 Some SCSI controllers use this. Usually free. If your communication board uses an IRQ other than 3 or 4, you will experience the "can talk but not listen" syndrome when using Kermit. To force Kermit to both talk AND listen to the device, you must inform Kermit of the device's IRQ number. This is done in the SET COMn command, after the address: SET COMn
for example: SET COM3 \x03e8 5 When you include a number (like 3, 4, 5, 6, or 7) after the port address (separated by a space), Kermit will skip its IRQ test and use the IRQ number you have specified when you next give a SET PORT command for that port. PLEASE NOTE that you MUST AVOID address and IRQ conflicts; these items MUST NOT overlap existing equipment. SERIOUS DAMAGE can result if, for example, the IRQ number you give is the same as the one used by your disk controller or network adapter. Incorrect operation can result if the interrupt is in use by a less critical device, such as a mouse. It is necessary to specify the IRQ number in either of these two situations: 1. The communication device uses an IRQ number other than 3 or 4. 2. Kermit's IRQ test interferes with Windows or a similar environment, and therefore must be skipped. Check your PC's configuration carefully before specifying an IRQ number. Before starting Kermit, you can use certain public domain or commercial utilities, such as MAPMEM, Northgate QAPLUS, Quarterdeck MFT, or the MSD utility shipped with Windows 3.1 to get an idea of which IRQ numbers are already in use (these utilities are, of course, not foolproof -- for example, they can't tell what IRQs are used by programs that are not presently loaded). If, even after establishing the device's interrupt correctly, Kermit still fails to operate correctly (or reliably), check to see whether: 1. Some other device (such as a mouse or LAN adapter) is generating the same interrupt. 2. Some other software (such as a mouse driver) is catching the same interrupt. If you find a conflict, take whatever means are at your disposal to remove it: remove the offending device driver or TSR from your CONFIG.SYS or AUTOEXEC.BAT file, or turn it off temporarily (e.g. with the MOUSE OFF command for certain mouse drivers); or reconfigure one of the conflicting devices to use a different interrupt. PROBLEMS WITH MODEMS "I just bought and installed an XYZ V-Dot-Everything internal modem, and it works with and communication packages, but it doesn't work with Kermit". This has long been a common complaint about internal modems. The same complaint is also now being heard with alarming frequency about some of the newer external modems. With internal modems, particularly when they are installed on COM3 or COM4, the most common problems are: 1. Kermit does not know the modem's address, or the device is using an IRQ number other than 3 or 4. These problems can be fixed by giving the appropriate SET COMn command to Kermit. 2. The internal modem is installed incorrectly, with an address or IRQ that conflicts with one already in use on your PC. 3. The internal modem does not correctly emulate a real IBM PC serial port, and therefore fails Kermit's hardware test, and therefore can only be used through the BIOS. 4. The device is in a laptop, notebook, or palmtop computer, and power to the internal modem or serial port has been disabled in the CMOS setup, or has been turned off automatically when the cover is closed or the machine shut down. In recent months (beginning about mid-1992) a new generation of low-cost, high-speed modems, both internal and external, began to appear on the market. These modems typically offer a wide range of features: V.32 and V.32bis modulation, V.42 and MNP error correction, V.42bis and MNP data compression, etc. Unfortunately, many of these modems suffer from bugs not found in earlier (and usually more expensive) modems. The problems are generally related to initialization of the modem and interaction with its command processor. Some common complaints: 1. An internal modem does not work at all; the modem becomes nonoperational as soon as Kermit attempts to access it. The cause has been traced to the fact that Kermit's initialization of the modem's UART is "too fast" for some of these new modems. (This same initialization sequence has been used for nearly a decade with no problems, and still works on the well-known and reputable brands of internal modems.) 2. "Kermit won't dial or respond to modem commands". The modem ignores dialing or other commands from Kermit. Or the modem ignores commands when Kermit's PARITY is set to a particular value, like EVEN. Or commands are not processed correctly above a certain interface speed. 3. "I can dial successfully, and in general send characters to and through the modem, but I never get any characters back." This looks suspiciously like the "talk-but-not-listen" problem, but in some cases it is a bug in, or a configuration problem with, the modem, having nothing to do with Kermit: the modem is simply not sending any characters to the PC. 4. "After using the modem with communication software, it also works with Kermit, but it won't work with Kermit unless I run first." And so on. All of these are modem, not Kermit, problems. Here are some suggestions for overcoming them: 1. Slow the UART-initialization sequence. This is accomplished by patch #11 to MS-DOS Kermit 3.11 and patch #10 to version 3.12. These patches have been tested successfully on several of the misbehaving modems. Get the patch file for your version of Kermit (3.11 or 3.12). The patch files are in kermit/a/msr311.pch and kermit/a/msr312.pch on watsun.cc.columbia.edu on the Internet, available via anonymous FTP. Rename the file to MSKERMIT.PCH and put in the same directory as your MSKERMIT.INI file, and start Kermit again. At the MS-Kermit> prompt, give a VERSION command to make sure the patches were installed. If not, give a PATCH command (or, better still, make sure that PATCH is the first command in your MSKERMIT.INI file, and that your MSKERMIT.INI file is in your DOS PATH so Kermit will always execute it). 2. External modems only: Check that your modem cable has wires for (at least) the TD, RD, SG, CTS, RTS, DSR, CD, and DTR RS-232 signals. If it does not, replace the cable with a real modem cable, or (temporarily) configure your modem to compensate for the missing signals. 3. Read your modem manual and check your modem's configuration. Perhaps its interface speed is locked to a different speed than the one Kermit is using. Perhaps it is set to use hardware flow control, but Kermit is not. Also, check its factory and/or saved settings, and under what conditions they are restored (for example, are they restored when the PC drops DTR?). How are you selecting saved settings -- read your modem manual about (for example) the difference between AT&F and AT&F2. Be aware that the AT&Fn commands might not restore all S-registers, so double check them. Be particularly sensitive to the registers that control interface speed, modulation technique, error correction, data compression, negotiation, and fallback, and note that each modem maker probably uses different registers and commands to control each of these features. 4. Try the following sequence to initialize the port (using COM3 in this example): SET COM3
; (if necessary) SET PORT 3 ; Select port 3 HANGUP ; Drop DTR on port 3 SET PORT 3 ; Re-initialize port 3 5. SET PARITY NONE when talking to the modem, and then set parity to whatever the remote host or service requires after making the connection. (WARNING: MS-DOS Kermit might set its parity to some other value automatically as a result of automatic parity detection during file transfer.) 6. Ensure that your PC bus speed is 8MHz. Some PCs (not PS/2s) come with a BIOS SETUP facility that lets you change the PC's bus speed, memory wait states, etc. In general, it is dangerous to deviate from the defaults, particularly from the 8MHz bus speed, which is a standard for add-on devices, and might be required by your communication board or internal modem. 7. Modify HAYES.SCR, or whatever dialing script you are using, to take extraordinary measures to ensure the modem is in command mode, and to send its initialization commands very slowly and to try them repeatedly. For example, change "output ATQ0V1X1\13" to something like this (note: the modem-related commands shown here are all relatively portable -- you might also need additional modem-specific commands, such as AT&F2 to load a particular configuration, or specific S-register settings affecting speed, flow control, modulation, fallback, etc.): WAIT 1 DSR ; See if modem is asserting Data Set Ready IF FAIL FATAL - {No DSR signal: Is your modem connected and turned on\63} SET PARITY NONE ; Use no parity SET COUNT 5 ; Try 5 times to initialize :INIT HANGUP ; Modem is connected - hang up on it. CLEAR ; Clear Kermit's input buffer. OUTPUT \B ; Send a BREAK. PAUSE ; Wait a second. OUTPUT \17 ; Send a Ctrl-Q in case modem is Xoff'd. PAUSE 2 ; Wait two seconds. OUTPUT + ; Send the most likely escape sequence, OUTPUT + ; which is "+++" with at least a second of OUTPUT + ; "silence" before and after. PAUSE 2 ; ... OUTPUT \13 ; Send a carriage return. PAUSE ; Wait a second. OUTPUT A ; Send an A. PAUSE ; Wait another second. OUTPUT T ; Send a T. PAUSE ; Wait another second. OUTPUT \13 ; Send a carriage return. PAUSE ; Wait a second. CLEAR ; Clear away echo and response. OUTPUT A ; Send initialization command. OUTPUT T ; One character at a time... PAUSE OUTPUT Q ; Q0 = Result codes enabled OUTPUT 0 OUTPUT V ; V1 = Word result codes OUTPUT 1 OUTPUT X ; X1 = Dial response level OUTPUT 1 OUTPUT \13 ; Carriage return terminates the command PAUSE INPUT 3 OK ; Wait for OK response. IF SUCCESS GOTO INITOK ; Got one. IF COUNT GOTO INIT ; Didn't, try again. ECHO Failure to initialize modem. ; No more tries. STOP 1 ; Fail. :INITOK If this doesn't work, insert a PAUSE command after each OUTPUT command or run the script at a lower speed. 8. Dial at a lower speed. Make your interface speed match the modulation speed -- e.g. use 9600 for V.32, 2400 for V.22bis, etc. Turn off fancy modem options like error correction and compression. etc etc. NOTE: connection problems between the two modems have nothing to do with Kermit and are beyond the scope of this document. If a modem appears to dial correctly, gets connection tones, and then hangs up, it is undoubtedly a problem between the two modems (involving one modem, both modems, and/or the phone company), and indicates a modem configuration problem, a bug, or a basic incompatibility between the calling and answering modems. 9. Call your modem maker's technical support number. Ask if they have replacement chips to fix bugs in your modem. ------------------------------ End of Info-Kermit Digest ************************* From cmg Thu Feb 25 15:22:07 1993 Return-Path: Received: by watsun.cc.columbia.edu (5.59/FCB/jba) id AA25183; Thu, 25 Feb 93 15:22:07 EST Date: Thu, 25 Feb 93 15:22:02 EST From: Christine M Gianone To: Info-Kermit Subject: Info-Kermit Digest V17 #2 Reply-To: Info-Kermit@watsun.cc.columbia.edu Queries-To: Info-Kermit-Request@WATSUN.CC.COLUMBIA.EDU Errors-To: Info-Kermit-Request@watsun.cc.columbia.edu Message-Id: Info-Kermit Digest Thu, 25 Feb 1993 Volume 17 : Number 2 Today's Topics: New Kermit Books C-Kermit 5A News A New Release of Kermit for CTOS and BTOS Pitfall of FULLSCREEN mode for Kermit-370 under TSO and CICS New Packet Drivers Gold Key Utility for MS-DOS Kermit Kermit Download versus Append Query: Using MS-DOS Kermit with PC Anywhere Digest submissions may be sent to Info-Kermit@WATSUN.CC.COLUMBIA.EDU or KERMIT@CUVMA.BITNET. Requests for addition to or deletion from the Info-Kermit subscriber list should be sent to LISTSERV@CUVMA.BITNET or LISTSERV@CUVMA.CC.COLUMBIA.EDU. These messages must be of the form: SUBSCRIBE I$KERMIT (To start a subscription) UNSUBSCRIBE I$KERMIT (To cancel a subscription) REGISTER I$KERMIT (To correct your name) Kermit files may be obtained over networks and by mail order. On the Internetwork, use FTP to log in to host WATSUN.CC.COLUMBIA.EDU, a SUN-4/280 running UNIX (SUNOS 4.1), IP host number 128.59.39.2. Login as user anonymous (note, lower case), any password, and GET or MGET (MULTIPLE GET) the desired files. The file kermit/read.me is a general guide to where things are. The Kermit files are in directories kermit/a, kermit/b, kermit/c, kermit/d, and kermit/e. Test versions are in kermit/test. All files in these directories should be transferred in text (ASCII) mode. Binaries are in kermit/bin (use ftp in binary mode). All files on watsun have lowercase names, and case is significant. You can also get Kermit files over the BITNET/EARN network; to get started send a message with text HELP to KERMSRV, the Kermit file server, at host CUVMA. For detailed instructions, read the file kermit/a/aanetw.hlp (AANETW.HLP on KERMSRV). To order by mail, request a complete list of Kermit versions and an order form from Kermit Distribution, Columbia University Academic Information Systems, 612 West 115th Street, New York, NY 10025 USA. ---------------------------------------------------------------------- Date: Mon, 22 Feb 93 12:00:00 EST >From: Frank da Cruz Subject: New Kermit Books Keywords: Kermit Books, "Books, Kermit", MS-DOS Kermit Book, C-Kermit Book Keywords: German Kermit Book, French Kermit Book, Japanese Kermit Book Publication of "Using C-Kermit" is now complete. All back orders, whether to DECdirect or Columbia University, will be filled as quickly as possible. Once again, the C-Kermit book -- for UNIX, (Open)VMS, OS/2, AOS/VS, OS-9, the Commodore Amiga, and the Atari ST -- is: Frank da Cruz and Christine M. Gianone, "Using C-Kermit", Digital Press, Burlington, MA, 1993, 514 pages. Order Number: EY-J896E-DP Digital Press ISBN: 1-55558-108-0 Prentice Hall ISBN: 0-13-037490-3 To order (in the USA) call DECdirect toll-free 1-800-344-4825; major credit cards accepted. Overseas, order through your bookstore, your local Digital Equipment Corporation branch, or from Columbia University (send e-mail to kermit@columbia.edu for further info). And in other news... "Using MS-DOS Kermit" has been translated to French by Jean Dutertre and published in France: Christine M. Gianone, "Kermit MS-DOS Mode d'Emploi", Heinz Schiefer & Cie., Versailles (1993), 406 pages. Packaged with version 3.11 of MS-DOS Kermit for the IBM PC, PS/2, and compatibles on a 5.25-inch diskette. ISBN 2-901143-20-2. Heinz Schiefer & Cie., 45 rue Henri de Regnier, F-78000 Versailles. Tel. +33 13 021 55 05, Fax. +33 13 902 3971. The French edition joins the German translation by Gisbert W. Selke, and published by Verlag Heinz Heise, Hannover, in 1991 (and recently reprinted), listed here again for completeness: Christine M. Gianone, "MS-DOS Kermit, das universelle Kommunikationsprogramm", Verlag Heinz Heise, Hannover, Germany (1991), 414 pages. Packaged with version 3.11 of MS-DOS Kermit for the IBM PC, PS/2, and compatibles on a 5.25-inch diskette, including German-language help files. Price: DM 69,00. ISBN 3-88229-006-4. Verlag Heinz Heise GmbH & Co. KG, Helstorfer Strasse 7, D-3000 Hannover. Tel. +49 (05 11) 53 52-0, Fax. +49 (05 11) 53 53-1 29. And in Japan, Hirofumi Fujii has co-authored a new book on MS-DOS Kermit: Dr. Hirofumi Fujii and Mrs. Fukuko Yuasa, "MS-Kermit Nyumon", Computer Today, Saiensu-Sha Co., Ltd., publishers (1993), 160 pages. Publisher's address: 2-6, Kanda Suda-cho, Chiyoda-ku, Tokyo 101, Japan. ISBN 4-7819-0669-9 C3355 P1854E. Tel. +813 256-1091. ------------------------------ Date: Wed, 17 Feb 93 12:00:00 EST >From: Frank da Cruz Subject: C-Kermit 5A News Keywords: C-Kermit 5A, OS/2 Kermit, AOS/VS Kermit, SIO.SYS, QNX Keywords: OS-9 Kermit, Altos, Cray, Fortune, Harris Night Hawk, AIX, ICL Keywords: Intergraph, Clipper, Linux, SCO, SunOS, Solaris New binaries have been installed for Data General AOS/VS C-Kermit and IBM OS/2 C-Kermit. Minor (but different) changes were made in the system-dependent i/o support routines for each version to speed them up. The AOS/VS speedup occurs during command mode: the output of messages, help text, menus, and so forth. The OS/2 speedup occurs during terminal emulation and file transfer. OS/2 C-Kermit was also modified to be able to use the new SIO.SYS serial communications driver. New files: watsun.cc.columbia.edu kermsrv@cuvma kermit/b/ckdker.uue CKDKER UUE UUencoded AOS/VS C-Kermit dumpfile kermit/b/ckoker16.boo CKOKER16 BOO BOO-encoded OS/2 16-bit executable kermit/b/ckoker32.boo CKOKER32 BOO BOO-encoded OS/2 32-bit executable kermit/bin/ckoker16.exe (none) Binary OS/2 16-bit executable kermit/bin/ckoker32.exe (none) Binary OS/2 32-bit executable The changes are also reflected in the source files in kermit/b/ck*.*. Binaries are also available for various VMS and OpenVMS configurations (some of these are new, marked by *): watsun.cc.columbia.edu kermsrv@cuvma * kermit/b/ckvker.hex CKVKER HEX VAX, no network support kermit/b/ckvaxp.hex CKVAXP HEX Alpha AXP, no network support * kermit/b/ckvvtgv.hex CKVVTGV HEX VAX, TGV Multinet support * kermit/b/ckvvucx.hex CKVVUCX HEX VAX, DEC TCP/IP support kermit/b/ckvvwin.hex CKVVWIN HEX VAX, Wollongong WIN/TCP support These are to be decoded back into executable .EXE files with the CKVDEH.MAR program (which only runs on the VAX, so, for now, you must convert the hex file for the Alpha AXP on the VAX). Several other minor changes have also been made since C-Kermit 5A(188) was first announced: File transfer display now shows character-set conversion, if any Minor TELNET protocol option negotiation fix Corrected recovery from SET BUFFERS command failure Improved speed of the CONNECT command in the UNIX version Improved setuid/setgid operation on NeXT computers SET KEY support for Num Lock key in OS/2 version New command SET TERM ANSWERBACK { ON, OFF } for OS/2 version Support for arbitrarily-named serial communication devices in OS/2 version Minor fix to the OS-9 version to prevent exceeding open-file limit Various minor bug fixes Various new or improved UNIX makefile entries, including: . Altos ACS68000 AT&T System III R2 . Cray UNICOS, various versions . Fortune For:Pro 2.1 . Harris Night Hawk . IBM 370 mainframe AIX/370 1.2 . IBM 370 mainframe AIX/ESA 2.1 . IBM PS/2 AIX 1.2 . ICL DRS3000 System V R4 . Interactive System III (PC/IX) . Intergraph Clipper / CLIX . Integrated Solutions VS8 . Linux . Nixdorf Targon/31 M15 TOS 4.0 . QNX 4.1 . SCO Xenix, UNIX, ODT . SunOS 5.0/Solaris 2.0 . SunOS 5.1/Solaris 2.1 . Tektronix XD88 System V R3 The changes are explained in detail in the file kermit/b/ckcker.upd, and many of the ck?ker.bwr and ck?ins.doc files have also been updated. The UNIX source files collected into the binary compressed tar archive, kermit/bin/cku188.tar.Z, have also been updated, and a new uuencoded version of the tar archive is now available in kermit/b/cku188.uue and also from KERMSRV@CUVMA as CKU188 UUE. The main program version number and date have not been changed, but the SHOW VERSIONS command reveals the per-module updates; these are keyed to the update history given in the ckcker.upd file. Thanks to the users and developers who sent in reports, contributions, and fixes; all are listed in the ckcker.upd file. ------------------------------ Date: Wed, 20 Jan 93 12:00:00 EST >From: Christine M. Gianone Subject: A New Release of Kermit for CTOS and BTOS Keywords: CTOS, BTOS, Convergent, Burroughs B20 >From Evan Arnerich and Doug Drury of ITT Federal Services Corporation, Santa Maria, CA: version 2.00 of CT-Kermit for the Burroughs B20/BTOS and Convergent NGEN/CTOS systems. This new version adds many of the capabilities of MS-DOS Kermit 3.x and C-Kermit 5A, particularly script programming features (INPUT, OUTPUT, IF, ASK, GOTO, variables, etc), and includes a built-in VT101 terminal emulator. Version 2.00 of CT-Kermit replaces version 1.07 of July 1988, which was contributed by Joel Dunn of the University of North Carolina at Chapel Hill. The new files replace the old ones in kermit/c/ct*.* on watsun.cc.columbia.edu. The old version has been moved to kermit/old on watsun. The new version is also available from KERMSRV at CUVMA as CT* *. Many thanks to Evan and Doug for their contribution! ------------------------------ Date: Mon, 1993 Jan 25 12:42 EST >From: "John F. Chandler" Subject: Pitfall of FULLSCREEN mode for Kermit-370 under TSO and CICS Keywords: IBM Mainframe Kermit Kermit-370 in FULLSCREEN mode can be at the mercy of clever efforts toward screen "optimization" by the protocol converter. One possible symptom is the suppression of the last outbound packet in a transfer if the screen is cleared just afterwards. This may happen after an upload or upon leaving server mode. To avoid this possibility, Kermit-370 can simply wait a few seconds to give the protocol converter less excuse for suppressing the last packet. An update has been added to the four "beware" files, IKCKER.BWR, IKTKER.BWR, IKMKER.BWR, and IKXKER.BWR, to institute a 4-second pause, but the optimum time may be more or less, depending on the system. ------------------------------ Date: Tue, 16 Feb 93 09:56:39 EST >From: Christine M. Gianone Subject: New Packet Drivers Keywords: Packet Drivers, Etherlink III, 3Com 3C509 >From Russ Nelson of Crynwr Software, a new packet driver for the 3Com 3C509 Ethernet board (Etherlink III), plus updated drivers for the 3C503, the D-Link Pocket LAN Adapter, the Digital Equipment Corporation DECPA, and the Eagle Technologies NE2100. The new files are available are available via anonymous ftp from watsun.cc.columbia.edu, binary mode, in packet-drivers/new/3c509a.zip (3C509 packet driver) and in packet-drivers/new/drivers3.zip (other updates). A copy of the COM file is also available in packet-drivers/bin/3c509.com, and the short documentation page is in packet-drivers/bin/3c509.doc. Thanks again to Russ for all his work. ------------------------------ Date: Wed, 11 Feb 93 12:00:00 EST >From: Christine M. Gianone Subject: Gold Key Utility for MS-DOS Kermit Keywords: Num Lock Key, GOLD Key By popular demand, we are now including Bob Eager's GOLD TSR with MS-DOS Kermit. This small program (a few hundred bytes) makes your Num Lock key behave exactly like the PC's F1 key, so that you can make SET KEY assignments to it, e.g. SET KEY \315 \Kgold (which is the default assignment for F1 anyway). Num Lock is the position where you would expect to find a VT terminal's Gold key (PF1) on the numeric keypad. With the GOLD TSR active, Num Lock no longer functions as Num Lock. The files are: kermit/a/msugold.boo - BOO-encoded GOLD.COM kermit/a/msugold.asm - Source code kermit/a/msugold.doc - Instructions for using kermit/a/msugold.mak - Batch file for building from source kermit/bin/msugold.com - Binary executable program ------------------------------ Date: Fri, 12 Feb 93 15:14:42 EST >From: John Hretz Subject: Kermit Download versus Append Is there a way to append when you download using Kermit? [Ed. - There is a command, SET FILE COLLISION. One of its options in C-Kermit, but not in MS-DOS Kermit, is APPEND. So there is no straightforward way to do this in MS-DOS Kermit, but keep reading.] A friend of mine uses Kermit to download a file from her reader. She would like to be able to append to the same file name each time she scans ("reads") a document. Perhaps there is a version of Kermit out there that can do this or someone else has done this before. The software that she uses will produce a voice rendition of the document after she downloads it. [Ed. - You could define a macro to do it, like this: define fatal if defined \%1 echo \%1, stop 1 define append,- if not defined \%1 fatal {Usage: append filename} receive kermit.tmp,- if fail stop 1,- if exist \%1 run copy \%1+kermit.tmp kermit2.tmp,- if not exist \%1 copy kermit.tmp kermit2.tmp,- if exist \%1 delete \%1,- run rename kermit2.tmp \%1,- delete kermit.tmp Put this macro definition in the user's MSCUSTOM.INI file, and then tell her to use the command: APPEND MYFILE.TXT instead of RECEIVE when downloading files to MS-DOS Kermit. MYFILE.TXT is the name of the file she wants to append to. If it doesn't exist, it will be created. If it does exist, the arriving file will be appended to the end of it.] ------------------------------ Date: Wed, 17 Feb 93 12:04:35 GMT >From: mike@childsoc.demon.co.uk (Michael Bernardi) To: Info-Kermit@watsun.cc.columbia.edu Subject: Query: Using MS-DOS Kermit with PC Anywhere I'm currently using PC Anywhere IV as a host to allow remote access to a network and I am using MS-Kermit as the Terminal program. Has anyone written a SCRipt/INI file to redefine the function keys in Kermit for this? I.e. allowing all the PCAnywhere ESC codes to be automatically sent when the correct key is pressed. I don't want to have to reinvent the wheel :-) Michael Bernardi mike@childsoc.demon.co.uk (Internet) | Making lives The Children's Society, Edward Rudolf House, Margery Street, | worth living London, WC1X 0JL, UK Voice: +44 71 837 4299 Charity Reg. No. 221124 ------------------------------ End of Info-Kermit Digest ************************* From cmg Wed Jun 30 13:33:12 1993 Return-Path: Received: by watsun.cc.columbia.edu (5.59/FCB/jba) id AA05896; Wed, 30 Jun 93 13:33:12 EDT Date: Wed, 30 Jun 93 13:33:11 EDT From: Christine M Gianone To: Info-Kermit Subject: Info-Kermit Digest V17 #3 Reply-To: Info-Kermit@watsun.cc.columbia.edu Queries-To: Info-Kermit-Request@WATSUN.CC.COLUMBIA.EDU Errors-To: Info-Kermit-Request@watsun.cc.columbia.edu Message-Id: Info-Kermit Digest Wed, 30 Jun 1993 Volume 17 : Number 3 Today's Topics: Kermit News #5 New Option to Speed Up File Transfers MS-DOS Kermit 3.13 Available for Beta Testing MS-DOS Kermit versus DECforms V1.4 Announcing C-Kermit 5A(189) Announcing a New Kermit Program for the HP3000 Acorn Archimedes Kermit New Manuals for Kermit-370 Tentative update for Kermit-CICS Digest submissions may be sent to Info-Kermit@WATSUN.CC.COLUMBIA.EDU or KERMIT@CUVMA.BITNET. Requests for addition to or deletion from the Info-Kermit subscriber list should be sent to LISTSERV@CUVMA.BITNET or LISTSERV@CUVMA.CC.COLUMBIA.EDU. These messages must be of the form: SUBSCRIBE I$KERMIT (To start a subscription) UNSUBSCRIBE I$KERMIT (To cancel a subscription) REGISTER I$KERMIT (To correct your name) Kermit files may be obtained over networks and by mail order. On the Internetwork, use FTP to log in to host WATSUN.CC.COLUMBIA.EDU, a SUN-4/280 running UNIX (SUNOS 4.1), IP host number 128.59.39.2. Login as user anonymous (note, lower case), any password, and GET or MGET (MULTIPLE GET) the desired files. The file kermit/read.me is a general guide to where things are. The Kermit files are in directories kermit/a, kermit/b, kermit/c, kermit/d, and kermit/e. Test versions are in kermit/test. All files in these directories should be transferred in text (ASCII) mode. Binaries are in kermit/bin (use ftp in binary mode). All files on watsun have lowercase names, and case is significant. You can also get Kermit files over the BITNET/EARN network; to get started send a message with text HELP to KERMSRV, the Kermit file server, at host CUVMA. For detailed instructions, read the file kermit/a/aanetw.hlp (AANETW.HLP on KERMSRV). To order by mail, request a complete list of Kermit versions and an order form from Kermit Distribution, Columbia University Academic Information Systems, 612 West 115th Street, New York, NY 10025 USA. ---------------------------------------------------------------------- Date: Wed, 30 June 1993 12:00:00 EDT >From: Christine M Gianone Subject: Kermit News #5 Keywords: Kermit News #5 Kermit News #5, our printed journal, will be mailed out shortly. If you have ever ordered Kermit material from Columbia University, or if you received earlier issues of Kermit News (the last one was in June 1990), you are already on our subscriber list. If you are not on the subscriber list or if your address has changed, please send email to: kermit@columbia.edu requesting your address to be added or changed. Include your complete postal mailing address and don't forget your Zip or postal code. ------------------------------ Date: Tue, 1 Jun 1993 12:01:00 >From: Christine M Gianone Subject: New Option to Speed Up File Transfers Keywords: Efficiency, Performance, Control-Character Prefixing Keywords: Prefixing of Control Characters This issue of the Kermit Digest announces several new Kermit versions, among them MS-DOS Kermit 3.13 and C-Kermit 5A(189). A significant new feature in these two versions is a new method for increasing file transfer efficiency by letting you specify a "safe set" of control characters that do not need to be prefixed in file-transfer packets. This feature, when used together with long packets and sliding windows, makes Kermit transfers just as fast as (and usally faster than) ZMODEM. By default, all control characters (8-bit bytes with values 0-31, 127-159, and 255) are converted into printable characters and prefixed by another printable character, usually #. So, for example, the carriage-return linefeed combination (Control-M and Control-J) that occurs at end of text lines is transmitted as #M#J (four characters). This done to prevent control characters from setting off unwanted actions during file transfer: interrupting the host Kermit process, escaping back to a terminal server, spuriously engaging a flow control mechanism, etc. For ordinary text files, the overhead penalty of control prefixing is only a few percent, but it's higher for binary files, and especially for precompressed files (like ZIP files). If you know that a particular control character can be sent "bare" from one Kermit program to the other with no ill effects, you can now configure the Kermit program that is sending to file to "unprefix" that character. In fact, you can unprefix almost all of the 66 possible control characters EXCEPT the ones which the Kermit program knows cannot be sent safely, such as Xon and Xoff characters when Xon/Xoff flow control is in effect, or character 255 on a TELNET connection. The new commands are: SET CONTROL-CHARACTER { PREFIXED, UNPREFIXED } SHOW CONTROL-PREFIXING where is the numeric value of a control character, a list of numeric values (separated by spaces), or the word ALL. CAUTION: If you unprefix a control character that is unsafe, any of several things might happen: 1. Transfer of any file containing these characters will fail. 2. The receiving Kermit program might be interrupted or halted. 3. Your connection might become hung, stuck, or broken. This includes the situation where a control character causes a PAD, terminal server, or similar device to change modes -- e.g. to go from online mode to command mode. The set of safe control characters depends on the two Kermit programs, their settings, the host operating systems and their settings, the communication and flow control methods, and all the devices, drivers, and protocols that lie between the two Kermit programs. The Kermit programs themselves cannot possibly know, or negotiate, which control characters are safe to send, and therefore assume that none are safe and prefix them all. You must be willing to experiment in order to achieve the optimal safe set for a particular connection. Under ideal conditions (a totally transparent serial connection with no Xon/Xoff), the minimum set of control characters that needs to be prefixed is: SENDER RECEIVER PREFIXED CONTROLS MS-DOS Kermit MS-DOS Kermit 1, 129 MS-DOS Kermit C-Kermit 0, 3, 131 C-Kermit MS-DOS Kermit 0, 1, 129 C-Kermit C-Kermit 0, 3, 131 For example, to set up MS-DOS Kermit to unprefix the maximum set of control characters for sending files to C-Kermit, tell MS-DOS Kermit to: SET FLOW NONE (or SET FLOW RTS/CTS) SET CONTROL UNPREFIX ALL SET CONTROL PREFIX 0 3 131 Using these minimum sets, even ZIP files can be transferred at 90-95% efficiency or more, rather than the customary 65-75%, on a straight connection, and somewhat higher when data-compressing modems are involved. For further details, see the release notes for MS-DOS Kermit 3.13 and C-Kermit 5A(189), and be sure to read the article on Kermit file transfer performance in Kermit News #5 when it arrives. ------------------------------ Date: Tue, 15 Jun 93 16:00:00 EDT >From: Christine M Gianone Subject: MS-DOS Kermit 3.13 Available for Beta Testing Keywords: MS-DOS Kermit 3.13, Hebrew, Data General Terminal Emulation Keywords: East European Languages, Latin-2 Character-Set Keywords: 132-Column Mode, Horizontal Scrolling Keywords: Sliding Windows, Dynamic Packet Length, Icelandic Keywords: IBM Mainframe File Transfer Keywords: "TCP/IP, Multiple Sessions" This is to announce a brief beta testing period for MS-DOS Kermit 3.13 for the IBM PC, PS/2, and compatibles with DOS or Windows, and also for "generic DOS", the Victor 9000, and the Heath/Zenith 100. The new MS-DOS Kermit release was prepared, as always, by Professor Joe R. Doupnik of Utah State University and includes the following major new features (most of which apply to the IBM PC version only): 1. Up to six simultaneous TCP/IP sessions, with instantaneous switching among them, using Kermit's own built-in TCP/IP protocol stack. 2. Emulation of Data General DASHER D463 and D470 terminals in both text and graphics mode, and including support for up to 207 columns of compressed text, and for the mouse when in graphics mode (e.g. when using CEO Draw). 3. Support for compressed text for VT 132-column emulation on EGA and VGA. If you don't have a video adapter that supports 132 columns in text mode, MS-DOS Kermit can now put your EGA or VGA into graphics mode to produce the same effect. Also, addition of Tseng ET4000 (and all VESA) graphics chips to those that can be commanded in to 132-column text mode. 4. Horizontal scrolling in DG and VT terminal emulation. 5. Support for the Icelandic code page CP861 in terminal emulation and file transfer. 6. Support for East European languages (Czech, Polish, Hungarian, Romanian, etc) via translation between PC Code Page 852 and ISO 8859-2 Latin Alphabet 2 during both terminal emulation and file transfer. 7. Support for Hebrew and Yiddish via translation between PC Code Page 862 and the ISO 8859-8 Latin/Hebrew Alphabet in both terminal emulation and file transfer. In terminal emulation, the 7-bit Hebrew alphabet is also supported, as are DEC VT420 Hebrew terminal features including host-controlled screen writing direction, character-set selection, and keyboard mode. 8. Implementation of "Doomsday Kermit" (DDK) techniques for transferring files with IBM mainframes through 3270 protocol converters that do NOT support transparent mode, to be used in conjunction with IBM Mainframe Kermit's SET CONTROLLER FULLSCREEN command on VM/CMS, MVS/TSO, or CICS. IBM Mainframe Kermit 4.2.4 or later required. 9. Greater control over terminal emulation rollback screens. Now you can elect to keep them in expanded memory (EMS), if available, and if so, you can have lots more of them -- thousands, even. You can also change the rollback buffer size at runtime. Also, graphics screens can also be kept in EMS rather than in the video adapter's on-board memory, to allow restoration of graphics screens when switching back to them from text mode, even under Windows or when your memory manager has "stealth-mapped" your graphics memory away. 10. Network connections are now supported over Novell's SLIP_PPP ODI driver and Beame & Whiteside's TCP/IP product. The Beame & Whiteside protocol stack must, of course, already be loaded. 11. Faster transfer of all types of files, particularly binary files and precompressed (e.g. ZIP) files, by allowing the user to specify the set of control characters that will not be prefixed. 12. Many other file transfer performance improvements, including allowance for longer packets (up to 9K) and more window slots (up to 31). In other words, the 2K packet-buffer limitation has been increased to about 280K (or available memory, whichever is less). Packet lengths now adapt dynamically to the noise conditions on the communication channel. Sliding windows operation is smoother, error recovery is quicker. The file transfer display screen shows more information, including a "thermometer" and transfer statistics. The SET DEBUG PACKETS display no longer scrolls the file transfer window when long packets are used. 13. Serial-port handling code improved in many ways to allow for buggy and substandard internal modems, buggy PC-clone BIOS's, noisy PC busses, and spurious interrupts. Improved operation with COM3 and COM4 devices using shared or nonstandard interrupts. 14. New support of Application Program Command (APC) escape sequences from the host during emulation of VT220 or 320, which may contain any MS-DOS Kermit commands at all. APC sequences can be used to configure MS-DOS Kermit automatically for use with a particular host, to initiate file transfers automatically, or any other purpose you can imagine. The old TERMINALR / TERMINALS macro mechanism has been discontinued because DEC took over the associated escape sequence for use with Hebrew VT terminals (see Item 6 above and the next message, plus more about this below). 15. New command, SET TERMINAL VIDEO-WRITING { BIOS, DIRECT }. DIRECT is the default, BIOS forces all text-mode screen writing during CONNECT mode to be through the (slower) BIOS, to enable TSRs (e.g. for speech devices) to sense what is being written to the screen. 16. Improved TCP/IP BOOTP support. New RFC1395 support for downloading of PC's domain name from BOOTP server (requires upgraded BOOTP server); new ability to make BOOTP requests over SLIP and PPP connections; display of IP address of BOOTP server in SHOW COMMUNICATIONS display. An updated BOOTP server for UNIX is available in the bootp directory on watsun.cc.columbia.edu, via anonymous ftp. 17. TCP/IP TELNET options negotiation display now available. 18. Compose-key sequences for entering accented letters in the Latin-1, DEC MCS, and DG International West European character sets during VT and DG terminal emulation. 19. DIALing scripts for additional modem types: Hayes Ultra 144 Penril Alliance V.32 Practical Peripherals 14400 Rolm CBX DCM SupraFAXmodem V.32bis Telebit QBlazer V.32 Telebit T3000 V.32bis Vadic VA2400PA 20. Many smaller changes and bug fixes were also made and all patches to version 3.12 are incorporated into version 3.13. Special thanks to Data General Corporation for a grant to support development of the Data General terminal emulation (and for detailed validation thereof) and TCP/IP multisession support; to Novell for assistance with SLIP_PPP and LWP/DOS, and particularly to Brian Meek of Novell for assistance with SLIP_PPP debugging work; to Microsoft for donating a Windows Software Developers Kit; to Beame and Whiteside, Inc, for contributions permitting Kermit to operate over their TCP/IP suite; to Interconnections, Inc, for contributions permitting Kermit to operate over all release levels of TES; to Moshe Solow and Shalom Mitz at the Hebrew University in Israel for help with the Hebrew features; to Gudmundur Bjarni Josepsson at the University of Iceland for help with Icelandic; to Hirofumi Fujii of the Japan National Laboratory for High Energy Physics for help with adaption to DOS/V; to John Klensin of MIT for some of the new modem scripts and much help in other areas; to John Chandler of the Harvard/Smithsonian Astronomical Observatory for much help with DDK; to Lawrence Kirby and William Glass for encouragement with, and testing of, the new unprefixing option; to James Sturdevant for contributions in many areas; and to many others who sent in bug reports, suggestions, etc, based on earlier releases. THE APC COMMAND As noted previously, there is a major incompatibility between MS-DOS Kermit 3.13 and earlier releases, namely the handling of the CSI ? 34 h / l escape sequences by the VT220 and VT320 terminal emulators. This change is forced by a change in DEC terminal design and DEC software such as DECforms (see next message). Old way: CSI ? 34 h / l invoked the TERMINALR and TERMINALS macros, if you had them defined. This required each Kermit user to define them, for example in their MSCUSTOM.INI files, a big management problem for large user communities. New way: CSI ? 34 h / l controls screen-writing direction, left-to-right or right-to-left (for Hebrew and Arabic). To replace the TERMINALR/TERMINALS function, MS-DOS Kermit 3.13 now supports the Application Program Command (APC) escape sequence: APC string ST In the 7-bit environment, APC is ESC _ and ST (string terminator) is ESC \. In the 8-bit environment, APC is decimal 159 and and ST is 156 decimal. The "string" can be any MS-DOS Kermit command or list of commands, separated by commas, and can be up to 1024 bytes in length. Upon receipt of this escape sequence, MS-DOS Kermit executes the command(s) in the string and automatically resumes CONNECT mode. For safetly, the APC mechanism cannot be used to invoke certain MS-DOS Kermit commands that might do damage. For example, your enemies can't take advantage of this feature to delete all your files or format your disk. Included in this category is the RUN command, which provides access to DOS and to other applications. The following new MS-DOS Kermit command regulates the APC mechanism: SET TERMINAL APC { ON, OFF, UNCHECKED } ON (the default) means that Kermit will execute only safe commands. OFF means Kermit will not execute any commands and will ignore APCs. UNCHECKED means Kermit will execute ANY commands sent via APC. Use UNCHECKED at your own risk! APC is much more flexible than the old TERMINALS/TERMINALR mechanism, and can be used for any purpose at all. For example, it can be used to configure MS-DOS Kermit for use with a particular host or application by sending the appropriate list of SET commands: communication parameters like parity, protocol parameters like packet-length and window size, key mappings, etc. It can also be used to initiate file transfers automatically from the host without having to escape back to MS-DOS Kermit. Here's an example you can use with C-Kermit 5A(189), which has a new APC command for sending commands to MS-DOS Kermit. In your C-Kermit 5A customization file (.mykermrc or CKERMOD.INI), add commands like this: define autosend set delay 0, apc receive, send \%1 \%2, statistics define autoreceive apc {send \%1 \%2}, statistics Try it! Nothing special is required on the PC side. You can expand these commands to handle text and binary mode if you want to: ; Text transfers define tsend set del 0, set file type text, apc receive, send \%1, stat define treceive apc {set fil typ text, send \%1 \%2}, stat ; ; Binary transfers define bsend set del 0, set file type binary, apc receive, send \%1, stat define breceive apc {set fil typ binary, send \%1 \%2}, stat Use your imagination, the possibilities are endless! NEW FILES MS-DOS Kermit 3.13 Beta is being released only in binary form. Sources will be made available after the testing period is over. Internet anonymous ftp EARN/BITNET watsun.cc.columbia.edu KERMSRV@CUVMA Description kermit/bin/mstibm.exe (none) Binary executable for IBM PC kermit/bin/mstibm.pif (none) Windows Program Information File kermit/bin/mstgen.exe (none) Binary executable, generic DOS kermit/bin/mstv90.exe (none) Binary executable, Victor 9000 kermit/bin/mstz10.exe (none) Binary executable, Heath/Zenith 100 kermit/test/mstibm.boo MSTIBM BOO BOO-encoded executable for IBM PC kermit/test/mstgen.boo MSTGEN BOO BOO-encoded executable, generic DOS kermit/test/mstv90.boo MSTV90 BOO BOO-encoded executable, Victor 9000 kermit/test/mstz10.boo MSTZ10 BOO BOO-encoded executable, H/Z-100 kermit/test/msr313.upd MSR313 UPD List of changes since version 3.12 kermit/test/mskerm.upd MSKERM UPD Supplement to "Using MS-DOS Kermit" kermit/test/mskerm.hlp MSKERM HLP Updated help file kermit/test/mskerm.bwr MSKERM BWR Updated "beware file" kermit/test/mstibm.vt MSTIBM VT Updated terminal emulator summary kermit/test/msm*.scr MSM* SCR New modem-dialing scripts kermit/test/msm*.doc MSM* DOC Docs for new modem-dialing scripts The ".boo" files are .EXE files encoded in a printable ASCII format, suitable for BITNET, e-mail, and other nontransparent modes of transmission. You can decode the boo-files back into .EXE files using any of the MSBPCT.* programs available in kermit/a/msbpct.* or MSBPCT * from KERMSRV. See kermit/a/msbaaa.hlp (MSBAAA HLP) for details. The usual thanks to Joe from all MS-DOS Kermit users everywhere. Please give this beta release a good workout and send questions, bug reports, and comments to kermit@columbia.edu on the Internet or to KERMIT@CUVMA on BITNET/EARN/CREN. Final release is scheduled for July 8, 1993. ------------------------------ Date: Fri, 12 Mar 93 13:21:17 -0500 >From: raxco!galaxy.dnet!gleeve@uunet.UU.NET Subject: MS-DOS Kermit versus DECforms V1.4 MS-DOS Kermit chokes whenever a DECforms application starts up. DECforms V1.4 introduced support for Hebrew terminals, which operate right to left. When you enable a form, it sends a whole bunch of escape sequences to reset the numeric keypad, 80/132 column mode, cursor position, etc. One of those escape sequences, CSI ?34l, turns off right-to-left mode. Most non-Hebrew terminals simply ignore it, but MS-DOS Kermit goes nuts. Instead of ignoring it, MS-DOS Kermit gets a CSI ?34l and goes into receive file mode. [Ed. - As documented in "Using MS-DOS Kermit", this sequence invokes the TERMINALR macro, which the user can define to do whatever s/he wants. The default definition for TERMINALR is made in the MSKERMIT.INI file: define terminalr receive, connect This behavior can be defeated by simply "undefining" these macros. To do this, include the following commands in your MSCUSTOM.INI file: define terminals define terminalr Alternatively, if you actually want to use Hebrew or Arabic screen writing, use these definitions: define terminals set term direction left-to-right, connect define terminalr set term direction right-to-left, connect This problem, which was reported numerous times, has been corrected in version 3.13 of MS-DOS Kermit -- see previous message.] ------------------------------ Date: Tue, 15 Jun 93 16:30:00 EDT >From: Frank da Cruz Subject: Announcing C-Kermit 5A(189) Keywords: C-Kermit 5A, Hebrew Keywords: Efficiency, Performance, Control-Character Prefixing Keywords: Prefixing of Control Characters, TCP/IP, OS/2 This is to announce C-Kermit 5A(189) for UNIX, VMS, OS/2, AOS/VS, and some other operating systems. This is a minor update of C-Kermit 5A(188). The major new features are: . Control-character unprefixing. . Hebrew character-set translation. . New APC command for use with MS-DOS Kermit. . TCP/IP support for OS/2 systems equipped with IBM TCP/IP. . Terminal emulation scrollback improvements for OS/2. . Sliding window protocol error-recovery improvements . Support for Process Software TCPware for VMS . Many new and/or improved UNIX makefile entries, especially for SCO . OUTPUT command improvements: buffering, pacing control . POSIX improvements: file timestamps, access to hostname . RS/6000 AIX improvements, primarily RTS/CTS flow control . VMS improvements, including GNU CC support, better operation under VAX PSI . Numerous minor bug fixes The two major new features -- control-character unprefixing and Hebrew character-set translation, are described in the announcements above, and also in the new "update" file, CKCKER.UPD, which serves as a new supplement to the book "Using C-Kermit". See the CKC189.UPD file for full details of all the changes. The OUTPUT command improvements increase the speed of the OUTPUT command, which is important on X.25 networks and for I/O-intensive script programs, and they also allow you to slow OUTPUTs down, for example when interacting with devices that can't accept characters at the full transmission speed. OS/2 C-Kermit now supports TCP/IP connections, just like the UNIX, (Open)VMS, and AOS/VS versions do, with all the same features, for OS/2 2.x systems equipped with IBM TCP/IP. The new TCP/IP support requires a small but important change in the C-Kermit installation procedure for OS/2 systems that are NOT equipped with TCP/IP. Be sure to read the READ.ME file for details. Or, better still, run the new automatic installation procedure contributed by Jeffrey Altman. Files needed for the OS/2 version: OS/2 Name watsun.cc.columbia.edu KERMSRV@CUVMA Remarks READ.ME kermit/b/ckoaaa.hlp CKOAAA DSK READ-ME file (read it!) INSTALL.CMD kermit/b/ckoins.cmd CKOINS CMD Install procedure CKOKER32.EXE kermit/bin/ckoker32.exe (none) 32-bit binary (none) kermit/b/ckoker32.boo CKOKER32 BOO Same, BOO-encoded CKOSYSL.CK2 kermit/bin/ckosysl.ck2 (none) 32-bit SYSLEVEL info (none) kermit/b/ckosys32.boo CKOSYS32 BOO Same, BOO-encoded CKOTCP32.DLL kermit/bin/ckotcp32.dll (none) 32-bit dummy TCP/IP DLL (none) kermit/b/ckotcp32.boo CKOTCP32 BOO Same, BOO-encoded CKOKER16.EXE kermit/bin/ckoker16.exe (none) 16-bit binary (none) kermit/b/ckoker16.boo CKOKER16 BOO Same, BOO-encoded CKOSYSL.CK1 kermit/bin/ckosysl.ck2 (none) 16-bit SYSLEVEL info (none) kermit/b/ckosys16.boo CKOSYS16 BOO Same, BOO-encoded CKOTCP16.DLL kermit/bin/ckotcp16.dll (none) 16-bit dummy TCP/IP DLL (none) kermit/b/ckotcp16.boo CKOTCP32 BOO Same, BOO-encoded CKERMIT.CMD kermit/b/ckermit.cmd CKERMIT CMD Sample startup file CKERMIT.ICO kermit/bin/ckoker.ico (none) Desktop Icon (none) kermit/b/ckoicon.boo CKOICON BOO Same, BOO-encoded CKERMIT.INI kermit/b/ckermit.ini CKERMIT INI Standard init file CKERMOD.INI kermit/b/ckermod.ini CKERMOD INI Sample customizations CKERMIT.KDD kermit/b/ckermit.kdd CKERMIT KDD Sample dial directory CKERMIT.KSD kermit/b/ckermit.ksd CKERMIT KSD Sample service dir. CKCKER.UPD kermit/b/ckcker.upd CKCKER UPD Updates documentation CKCKER.BWR kermit/b/ckcker.bwr CKCKER BWR C-Kermit "beware" file CKOKER.BWR kermit/b/ckoker.bwr CKOKER BWR "beware" file for OS/2 CKOVTK.INI kermit/b/ckovtk.ini CKOVTK INI VT102 keypad map For convenience, all these files have been collected together into a ZIP file: CKOKER.ZIP kermit/bin/ckoker.zip (none) All OS/2 C-Kermit files (none) kermit/b/ckozip.boo CKOZIP BOO Same, boo-encoded For other versions, some of the binaries are available, others might not have come in yet. Binaries are located in kermit/bin/ck*. See kermit/bin/READ.ME (text). VMS binaries are available for VAX/VMS (no TCP/IP), VAX/VMS (TGV MultiNet), VAX/VMS (DEC UCX), AXP/VMS (no networks) as ckv*.exe, and also in kermit/b/ckv*.hex (to be decoded with VMSDEH or CKVDEH -- same thing). The Data General AOS/VS binary is in kermit/bin/ckdker.pr, also available as a uuencoded dumpfile in kermit/b/ckdker.uue. Various UNIX binaries are in kermit/bin/cku*.*; additional ones will be added as they arrive, space permitting. The complete source files and online documentation are in kermit/b. Begin by getting the file ckaaaa.hlp and reading it for a guide to which files you need. All files in kermit/b are also available on BITNET via KERMSRV at CUVMA with the same names, but converted to uppercase. Thanks to Jeffrey Altman, William Bader, Stefaan Eeckels, William Glass, Hunter Goatley, Michael Godfrey, Terry Kennedy, Lawrence Kirby, Tom Kloos, Fulvio Marino, Kai Uwe Rommel, Warren Tucker, Eduard Vopicka, and many others for their help with this release. ------------------------------ >From: Christine M. Gianone Date: Tue, 15 Jun 93 Subject: Announcing a New Kermit Program for the HP3000 Keywords: HP3000 >From Tony Appelget of General Mills in Minneapolis, MN, a new version of Kermit for the HP-3000 900 Series with the MPE operating system, written in C. Mostly a hand translation of the SPL version originally from Ed Eldridge of Polaris, Inc., and upgraded by Tony. Remote mode only. Includes send/receive and server modes, executes various REMOTE commands when in server mode, supports long packets, repeat-count compression, 8th-bit prefixing, and 16-bit CRC error-checking. There is only one file: kermit/d/hp3000.c on watsun, HP3000 C on CUVMA. ------------------------------ >From: "Andrew Brooks" Date: Sun Sep 20 15:10:45 BST 1992 Subject: Acorn Archimedes Kermit Keywords: Acorn Archimedes, Arthur, RISC_OS Here is Kermit for Acorn Archimedes with RISC_OS. Please note that files have been renamed and MUST be changed back to their original names for use on the Archimedes. A unix script to do this is supplied in araaaa.sh. After this has been done the BASIC program settypes will restore the original file types and dates. The original release notes are arkerm.ann arkerm.bwr. The files are in kermit/c/ar*.* on watsun, and AR* * on CUVMA. ------------------------------ Date: Wed, 1993 Jun 23 22:12 EST >From: "John F. Chandler" Subject: New Manuals for Kermit-370 New user manuals are now available for IBM Mainframe Kermit-370, incorporating all the latest information about front ends, protocol converters, character sets, plus expanded troubleshooting troubleshooting information. New files: Internet anonymous ftp EARN/BITNET watsun.cc.columbia.edu KERMSRV@CUVMA Description kermit/b/ikcker.doc IKCKER DOC VM/CMS, plain text kermit/b/ikcker.lpt IKCKER LPT VM/CMS, line-printer format kermit/b/ikcker.ps IKCKER PS VM/CMS, PostScript kermit/b/iktker.doc IKTKER DOC MVS/TSO, plain text kermit/b/iktker.lpt IKTKER LPT MVS/TSO, line-printer format kermit/b/iktker.ps IKTKER PS MVS/TSO, PostScript kermit/b/ikxker.doc IKXKER DOC CICS, plain text kermit/b/ikxker.lpt IKXKER LPT CICS, line-printer format kermit/b/ikxker.ps IKXKER PS CICS, PostScript kermit/b/ikmker.doc IKXKER DOC MUSIC, plain text kermit/b/ikmker.lpt IKXKER LPT MUSIC, line-printer format kermit/b/ikmker.ps IKXKER PS MUSIC, PostScript You will also find brand new installation instructions for the four major IBM mainframe operating systems (ik?ker.ins), and a new program (a CMS EXEC), ikcfix.exec, for correcting mistranslations in these files when they pass through ASCII/EBCDIC translators, such as e-mail gateways. ------------------------------ Date: Fri, 1993 May 7 17:59 EST >From: "John F. Chandler" Subject: Tentative update for Kermit-CICS Keywords: CICS Kermit-370, IBM Mainframe Kermit Kermit-CICS sometimes has trouble synchronizing read and write commands on GRAPHICS-type protocol converters. The symptom is a lost packet when the micro sends before the mainframe is ready. There is a cure, but it can't be applied generally because it may kill transfers on terminals defined with the automatic up-casing option. For some reason, the ASIS option is not permitted for the CICS CONVERSE command, which is the centerpiece of the update (at least, that's what the CICS docs seem to say). Does anyone know if (A) the ASIS option *is* permitted or (B) upcasing is bypassed on the CONVERSE command? CICS users, especially those who may be trying the update (which is included in the newest version of ikxker.bwr), are urged to look into questions (A) and (B) above by trying two experiments with the update: 1) moving the comma from before to after the word "ASIS" on the line marked with "???". If the assembler doesn't complain, that partly answers question (A). 2) trying the updated Kermit on terminals set for automatic upcasing. If transfers don't consistently trigger the "missing start-of- packet" error, that mostly answers question (B). Thanks. John ------------------------------ End of Info-Kermit Digest *************************