TCP/IP SUPPORT As of version 3.11, MS-DOS Kermit contains built-in TCP/IP and TELNET protocol support. This allows a PC equipped with an Ethernet or other network board that is connected to a TCP/IP network to communicate with any other node on the network, without requiring any additional TCP/IP software on your PC. You need an external Ethernet-style (Class 1) packet driver for your network interface board, or (as of version 3.12) a SLIP Packet Driver or a Novell ODI driver, or (as of version 3.13) the Novell SLIP_PPP ODI driver. You can also use any of various "shims" to sit between Kermit and other kinds of board drivers (e.g. NDIS) to make them look to Kermit like Ethernet packet drivers. With ODI, Kermit's Telnet operates across Ethernet (many frame kinds), Token Ring, Arcnet, and PCnet. Kermit does not contain built-in network device drivers. Packet drivers are available from network interface manufacturers, and via anonymous FTP from Columbia University, host watsun.cc.columbia.edu [128.59.39.2], cd packet-drivers, get the READ.ME file, read it, and take it from there. These files, now called the Crynwr packet driver collection, are also available from Columbia University via mail order. ODI drivers are available from makers of the LAN adapter and in some cases from Novell. See Novell archive "novlib" on CompuServe and on machines ftp.is.sandy.novell.com [137.65.12.2] and mirrors such as netlab2.usu.edu [129.123.1.44] for Novell supplied ODI drivers. The TCP/IP code in this version of Kermit has been tested successfully with at least the following boards and packet drivers (according to reports from users): Ungermann-Bass PC/NIC board with Clarkson UBNICPC packet driver 9.1 3COM 3C501 with Clarkson 3C501 packet driver 5.0. 3COM 3C503 with Clarkson 3C503 packet driver 9.4.0. Western Digital WD8003E with Crynwr (not WD) WD8003E packet driver 9.7.0 Cabletron 2000 and 3000 series DNI boards with CSIPD_E 1.0x and later packet drivers on unshielded twisted pair, thin Ethernet, and thick Ethernet, on both PC/AT and Microchannel buses. Micom-Racal NI5210 with NI5210 packet driver. AT&T EN100 with Clarkson AT&T packet driver. IBMTOKEN.COM 3C501 emulation packet driver 1.9 over various Token Ring boards and drivers. DIS_PKT over NDIS for LAN Manager networks and NDIS-compliant boards including SD8003, 3C503, AT&T 10MB/sec thinwire Harvard ODIPKT over LSL, LANSUP, and IPXODI over Ethernet (but not Token Ring) Novell NE2000 with Crynwr NE2000 packet driver (not the Novell MLID!) Token Ring, Arcnet, and LocalTalk packet drivers are not supported, as they are not Ethernet- or SLIP-class Packet drivers. The performance of the 3C50x packet drivers is poor, but the operation seems correct. Suggestion from a 3COM 3C503 Ethernet board user: "When installing the packet driver for 3Com 503 cards, one has to pay attention that the memory option on the card is not disabled. It was in my case, and the packet-driver did not complain. Since other drivers (e.g. the DEC PATHWORKS driver) do not require the memory enabled, the default is disabled." Reportedly, the packet driver supplied by Western Digital with their WD8003E and/or Elite network boards cannot be found by Kermit. The Crynwr WD8003E packet driver, however, works correctly with both the WD8003E and Elite boards. Same comments apply to WD8003E.SYS shipped with PC-NFS. To reconfigure a Novell network (NetWare 3.xx or earlier) for packet drivers so Kermit and Novell software can be used concurrently, use software from Brigham Young University, available via anonymous ftp from dcsprod.byu.edu. For further information, read the Kermit Distribution file MSABYU.HLP. An Ethernet-simulation packet driver "shim" is available for systems using the NDIS (Network Driver Interface Specification) program. NDIS is frequently used with LAN Manager networks, including AT&T's StarGROUP network and DEC's Pathworks for DOS. The interface program is named DIS_PKT and originated with FTP Software Inc. Their program DIS_PKT.GUP is available by anonymous ftp to vax.ftp.com, and a research version DIS_PKT9.ZIP is available from Utah State University by anonymous ftp to netlab2.usu.edu. Instructions for configuring Lan Manager to include DIS_PKT are included with the program. (Also available from watsun.cc.columbia.edu, in the packet-drivers.new directory and on the MS-DOS Kermit diskette.) Here is a setup with which one user reports success in using MS-DOS Kermit's built-in TCP/IP support with LAN Manager and a Novell NE2000 Ethernet board: CONFIG.SYS --------------------------- SHELL=C:\COMMAND.COM /P /E:1024 DEVICE=C:\WINDOWS\HIMEM.SYS DEVICE=C:\WINDOWS\EMM386.EXE noems I=B000-B7FF i=e000-efff DOS=HIGH,UMB COUNTRY=61,,C:\DOS\COUNTRY.SYS BUFFERS=13 FILES=50 STACKS=0,0 LASTDRIVE=Z DEVICEHIGH=C:\DOS\ANSI.SYS DEVICEHIGH=C:\WINDOWS\MOUSE.SYS DEVICEHIGH=C:\LANMAN\DRIVERS\PROTMAN\PROTMAN.DOS /i:C:\LANMAN DEVICEHIGH=C:\LANMAN\DRIVERS\ETHERNET\NE2000\NE2000.DOS DEVICEHIGH=C:\KERMIT\DIS_PKT9.DOS PROTOCOL.INI ---------------------------- [PROTMAN] DRIVERNAME = PROTMAN$ DYNAMIC = YES PRIORITY = NETBEUI [PKTDRV] ; This section added for kermit DRIVERNAME = PKTDRV$ BINDINGS = NE2000_NIF INTVEC = 0x65 [NETBEUI_XIF] DRIVERNAME = NETBEUI$ SESSIONS = 8 NCBS = 12 BINDINGS = "NE2000_NIF" LANABASE = 0 [NE2000_NIF] ; protocol.ini section for the Novell NE2000 Card IOBASE = 0x300 INTERRUPT = 5 DRIVERNAME = MS2000$ Kermit's TCP/IP support does not work over the Harvard ODIPKT driver on a Token Ring network because it requires Kermit to use Token Ring rather than Ethernet frames (but it does work with ODIPKT over Ethernet). Version 3.12 and later support ODI directly; ODIPKT is not necessary except when using Windows. Direct use of ODI drivers permits Kermit's TCP/IP to run with several kinds of Ethernet frames: DIX/Blue-Book/Ethernet_II, 802.2, 802.2 with SNAP, and 802.3, as well as with Token Ring, Arcnet, and PCLan broadband. No extra protocol "shim" is needed, but you must have the ODI drivers which come from Novell or from your network board vendor. The ODI interface will be tried if a Packet Driver is not found, and it can be selected in preference to a packet driver by the command: SET TCP/IP PACKET-DRIVER-INTERRUPT ODI where "ODI" replaces the interrupt number of a Packet Driver. For ODI, the file NET.CFG should have the lines "Protocol IP etc" similar to the example below: # File NET.CFG, example PB buffers=10 show dots=on Link Support buffers 6 1514 MemPool 2048 Link Driver SMCPLUS Port 280 20 Mem 000CA000 2000/10 Int 7 frame Ethernet_II Protocol IPX 8137 Ethernet_II Protocol IP 0800 Ethernet_II Protocol ARP 0806 Ethernet_II Protocol RARP 8035 Ethernet_II To make TCP/IP connections, Kermit requires three "protocols", IP, ARP, and optionally RARP as shown above. The frame kinds can be anything the board will support: Ethernet, Token Ring, Arcnet, all IEEE 802.2-based frames etc. ODI will complain if the frame type cannot support these protocols. Arcnet uses different TYPE values, D4 for IP, D5 for ARP, and D6 for RARP, rather than 0800 etc, as per RFC-1201. Which board Kermit (or IPX or other application) will use if two or more boards are available? Although one would think the board could be selected by placing the Protocol IP, etc, lines under the desired Link Driver section, such is not really the case; those lines tell LSL the frame kind to associate with the protocol (say IP) but not the board. The frame lines are associated with particular boards, however. The default method for finding a board is that the application chooses "the first board" offering a suitable frame, regardless of whether or not the Protocol IP, etc, lines are present for that board. "First" refers not to the contents of NET.CFG but to the order in which board drivers are loaded at DOS level. So the indented protocol lines tell ODI which frame a protocol needs, and a TYPE to use for recognizing packets, but the lines do not identify a particular board. To target a particular board a separate main section is used in NET.CFG. The section starts with the word Protocol against the left margin and has Bind indented beneath it, like this - Protocol Kermit Identifies Kermit section of NET.CFG bind SMCPLUS Bind to SMCPLUS board driver When a board name is used more than once then the alternative form is to use a board number in place of the name: Protocol Kermit bind #2 bind to the board loaded second Kermit considers the text in these sections to be case-insensitive. The # construction must not have a separation between the number sign (#) and the digit. The # case is normally used when two or more boards share the same driver and thus are not distinguishable by name alone. A sample STARTNET.BAT file might look like this: @echo off run quietly c:\lsl >nul LSL is always loaded before boards c:\smcplus.com >nul SMC/WD8003E board, the first c:\exos.com >nul EXOS-205T board, the second rem c:\odinsup Odinsup can coexist with Kermit rem c:\odipkt 0 96 Odipkt can coexist with Kermit c:\ipxodi >nul IPX is always loaded after boards rem echo Starting network... may be needed to help some drivers c:\bnetx ps=my-preferred-server > nul rem (Packet Burst mode) NETX loads after IPX @echo on If both EXOS and SMCPLUS boards offer frame Ethernet_II Kermit will choose the first loaded board, SMCPLUS, in the absence of a "bind" command. Putting the section "Protocol Kermit, bind " anywhere in NET.CFG selects a particular board for Kermit. A complete NET.CFG file using two boards is shown below and applies to both regular NetWare shells and the newer VLM shells (but with minor changes to the no-board parts of things). # File NET.CFG, an example with two boards PB buffers=10 show dots=on # all main sections must start in column 1, indent local material. # Protocol "IPX" is for Novell's IPXODI Protocol IPX Bind #1 # Protocol "Kermit" is for MS-DOS Kermit Protocol KERMIT Bind EXOS Link Support buffers 6 1514 MemPool 2048 Link Driver exos Port 310 20 Mem 000D0000 400 Int 5 frame Ethernet_II Protocol IPX 8137 Ethernet_II Protocol IP 0800 Ethernet_II Protocol ARP 0806 Ethernet_II Protocol RARP 8035 Ethernet_II Link Driver SMCPLUS Port 280 20 Mem 000CA000 2000/10 Int 7 frame Ethernet_II frame Ethernet_Snap Protocol IPX 8137 Ethernet_II Protocol IP 0800 Ethernet_II Protocol ARP 0806 Ethernet_II Protocol RARP 8035 Ethernet_II # Protocol "TCPIP" is for Novell's Lan WorkPlace for DOS, not Kermit Protocol TCPIP ip_address 129.123.1.99 ip_router 129.123.1.254 ip_netmask 255.255.255.0 tcp_sockets 8 udp_sockets 8 raw_sockets 1 nb_sessions 4 nb_commands 8 nb_adapter 0 nb_domain usu.edu Link Driver SLIP_PPP DIRECT YES BAUD 9600 OPEN ACTIVE PCOMP YES ACCOMP YES PORT 3F8 INT 4 FRAME SLIP Protocol IP 0800 SLIP .