ODITRPKT.COM 1.0 BETA 9 Oditrpkt open BETA test. Along with the driver I consider this text file to be on BETA test so I would like feedback on any problems you and others may have in setting up your machines. If you do download this you should send me an e-mail message so that I can inform you newer versions. I keep the e-mail address for all persons who send me mail regarding this in an alias and send out carbon copies of announcements of newer versions. This driver translates Token-Ring_SNAP ODI frame type packets to an ethernet looking packet driver. With this driver you should be able to use ALMOST any Token-Ring card to TELNET into a UNIX box or FTP into another machine using NCSA/CUTCP TELNET packages. The reason I say ALMOST is because when this driver talks to the LSL it does all of the MAC framing itself and some MLID drivers do not support this type of operation. I do not know of any MLID that don't support this but that doesn't mean that there aren't any out there. I will make public all that I hear of. In the future I hope to find time to add support for the others but It is quite involved so I will release the first version while working on the rest. ________________________________________________________ A little information on me and motivation behind this driver, The reason I undertook this project was to allow us at OSU to use Freeware TELNET packages such as NCSA/CUTCP while still having Novell Netware access. I do not get paid for programming nor do I really have enough time at work to do programming so I took this on as a weekend project. I have offered this to anyone and everyone and have even give out the source. If you do find that it doesn't fit your needs for a certain situation please let me know and I'll see what I can do. Everyone has the right to incorporate this into another product and also the right to make modifications but I do request that all of the copyright messages remain intact. This driver is distributed as Freeware and without any warranty, in other words (USE AT YOUR OWN RISK). I do make several tests before releasing BETA versions and will not release it beyond that until everyone is satisfied that it is working as it should. My primary test machines include an IBM PS/2 model 30 with an IBM 4 Mb TR card and a Compatible 486 having a 4/16 Mb TR card and a PS/2 model 50 with a Micro-Channel 4/16Mb card. This gives a fairly wide range test but by no means is as sufficient as Needed. Although it is Freeware and you are not obligated to send me any money you may do so if you wish. I am always struggling to pay tuition so any contributions to my scholastic career are greatly appreciated. In our policies and procedures manual there are regulations against using University Computer Center's Equipment for Profit and also the original code was provided by Dan Lanciani so I wouldn't sleep well if I was charging anyone to use it. The Internet was created to share resources and that is why I made it publicly available. The main gain for me in making this is the experience I'm gaining and also maybe It will someday help me find a job which pays the bills. I work full time in the Data Communications Department and I am also a student studying Computer Technology so sometimes there will be a slight delay in responding to e-mail. This driver is typically a weekend project and I usually try to investigate and make any fixes during that time. I usually will not reply to your message until I have either fixed the problem, or have found out that there isn't a fix available. Also, if it's going to take a while I will let you know so you at least feel that someone cares. Chances are that if its a problem for you It will also someday be a problem for us here so, It is a benefit for us to know and to also fix the problem. ________________________________________________________ I have tried to make this as easy to install for you as I can so if you have any difficulties please let me know the portions that were unclear so I can update this information and possibly make it easier for the next person to install. You might even try it out on your secretary or an "end-user" to see just how easy/hard my gibberish is to comprehend and you will probably want to delete a lot off the top of this document so feel free to do so. You will run into problems if you try to run this and another ODI interface over the same frame type. ODI only allows one device/frame type to receive a particular protocol so you can use this for multiple protocols but you can't have more than one application receiving more than one TCP/IP stack through ODI. This is written into the ODI specification so it isn't a bug. An exception to this would be to use pktmux.com which is part of the CRYNWR packet driver collection. This driver still only allows you to have multiple TCP/IP packet-driver stacks. Pktmux will not allow you to load up another device which binds to Token-Ring_SNAP frame type. Toward the end I will explain a work around for Novell's LAN WorkPlace for DOS. ________________________________________________________ I have made changes in the way you load up oditrpkt.com from odipkt.com. The board you type on the command line is now the board number given when the MLID's are loading up. For odipkt.com and previous BETA versions of this driver the command line argument was this number minus one. For example my net.cfg gives the following. Board 1, Frame TOKEN-RING Board 2, Frame TOKEN-RING_SNAP Board 3, Frame ETHERNET_II In this example you would bind to logical board number 2 which means you would enter 2 on the command line. Unfortunately if you were using odipkt.com you would also use 2 as the command line argument. Odipkt uses the MLID board number minus one for its command line argument. Also odipkt does not accept hex numbers so forit all command line arguments must be in decimal. The second command line argument is the Packet interrupt vector in DECIMAL or in HEX. When entered as hex it should be prefixed with 0x such as 0x61. The default is 97 (decimal) 61 (hex). A few examples are as follows, decimal hex 96 0x60 97 0x61 The format is oditrpkt If you are bridged off from your Token-Ring to Ethernet Router then you must use Route.com to do Source Routing for you. Oditrpkt only supports the Token-Ring_SNAP frame type. I can't think of a reason why Token-Ring should be supported by this driver so If you can think of a good one tell me and I will add it in. Both lansup.com and token.com have been tested and have worked for an IBM card. It seems reasonable to expect any card which supports ODI and has a MLID for it will work with this driver. Please give me reports if they don't and I'll see what I can do. At present I have ARP, RARP, and TCP/IP all working. So far the cards reported to have worked are: IBM 4 and 4/16 MCA and AT bus cards also AT 8 bit cards all using token and lansup drivers. Olicom 16 bit 4/16 card using octok16 driver Proteon p1347 using Pro4eui.sys Lansup driver. 3Com TokenLink III 4/16 3c619 Token.com worked Lansup ? If you know of others please let me know. Below Is a sample configuration which I took off one of our computers which is a 486 Compatible running DOS 5.0 and Windows 3.1. These drivers take up a considerable amount of memory and many can be loaded high so you will probably want to experiment and see if you can free up some of your conventional memory. ******************************************* Sample netware.bat/autoexec.bat file. ******************************************* ECHO OFF lsl.com ; Always needed Token ; For Token card direct MLID REM Lansup ; For Lansup MLID IPXODI ; Only needed for novell (IPX) 3c509 ; My Ethernet card NETX /c=c:\profiles\shell.cfg ; Only needed for Novell (IPX) ; IPXODI and NETX are only needed for Novell software my driver ; does not use them at all. If you choose to use IBM's LAN Support program then you will also need to load the "dixie-mods" in your config.sys file. You will also need to use the Lansup MLID in the autoexec.bat instead of the Token MLID. ******************************************* Example of how to load "dixie-mods" in your config.sys ******************************************* devicehigh=c:\DOS\DXMA0MOD.SYS ;IBM's Lan Support Program devicehigh=c:\DOS\DXMC0MOD.SYS ;IBM's Lan Support Program ******************************************* # If you want NCSA to run in a windows DOS window for Token-Ring lh oditrpkt 2 0x63 ; token-ring board SNAP frame type winpkt 0x61 0x63 #****************************************** # ;If you don't want NCSA to run in windows for Token-Ring lh oditrpkt 2 0x61 ; token-ring board SNAP frame type #****************************************** route board=1 ; source routing for IPX on Token-Ring route board=2 ; Source routing for IP on Token-Ring_SNAP #****************************************** #; This group for an Ethernet card. lh odipkt 2 98 ; for 3c509 board winpkt 0x60 0x62 ; If you want NCSA to run in windows for Ethernet lh pktint 0x60 ; Needed for qvtnet on ethernet lh pktint 0x61 ; Needed for qvtnet on token-ring ******************************************* Sample net.cfg ******************************************* # File NET.CFG, an example with two boards # A base net.cfg is given as a separate file zipped with these. # MEANS THAT IT IS A COMMENT OR MIGHT BE NEEDED IN # CERTAIN SITUATIONS. ## MEANS THAT IT IS ONLY NEEDED FOR NOVELL (IPX) # PROTOCOL STACKS # all main sections must start in column 1, indent local material. Link driver Token # max frame size 2048 ; If 8 bit card you will get a distracting ; non-fatal error on startup without this line ## frame Token-Ring frame Token-Ring_SNAP ; If you were not loading up Token-Ring ; frame type you would bind to board #1 ##BIND IPX ; This is not really needed unless you want ## Token-Ring ; IPX to bind to a frame type which isn't the ; first logical board to load up. #Link driver Lansup # max frame size 2048 ; If 8 bit card you will get a distracting ; non-fatal error on startup without this line ## frame Token-Ring frame Token-Ring_SNAP ; If you were not loading up Token-Ring frame type you would bind to ; board #1 #Link driver 3c509 ; This is here only to show how to load up # int 10 ; an ethernet board also # port 300 # frame ETHERNET_II # frame ETHERNET_802.3 ******************************************* For the Workstation Configuration Files ******************************************* For NCSA/CUTCP-TN3270 sample config.tel (config.tr) ; I use config.tr for token-ring and #myip=rarp ; config.eth for ethernet since they do myip=192.198.4.13 ; require different configurations hardware=packet #interrupt=2 #address=0 ioaddr=0x61 mtu=4096 maxseg=4096 rwin=4096 Sample batch routine for NCSA/CUTCP TELNET. @echo off c:\cutcp\TN3270 -t -h c:\cutcp\config.tel %1 %2 %3 %4 %5 %6 Windows ICON Properties for NCSA/CUTCP with windows 3.1 TELNET. With windows 3.1 and DOS 5.0 I have not seen any problems calling these packages without a pif. If you are using Windows 3.0 or an older DOS versionyou will probably need a pif file. One is provided with ncsa23bin.zip. Description: Telnettr CUTCP ; Just a name Command Line: c:\cutcp\tn3270.exe -t -h:\cutcp\config.tr ; need the -t option Working Directory: c:\temp ******************************************* For QVTNET #pc_ip=RARP pc_ip=192.198.4.13 # your PC's IP address (mandatory) my_name=pcms04tr.ucc.okstate.edu # your PC's network node name packet_vector=61 # packet driver interrupt vector # (hex, with NO leading '0x') packet_class=0 # 0 for Ethernet, 6 for SLIP mtu=4096 # maximum transmit unit in bytes maxseg=4096 # largest segment we can receive rwin=4096 ******************************************* When using my driver on a computer which you also want to run Lan Workplace for DOS you have to be careful anytime you load up tcpip. Tcpip takes the TCP/IP and ARP stacks away from oditrpkt.com. In other words, my driver goes deaf when tcpip is loaded. When tcpip is unloaded it can get it's stacks back and talk again. By using a batch routine such as this one below you can at least get a peaceful coexistence between the two. When this routine is called it will load up the drivers for LWP and start a TELNET session, then when you are finished and you exit the session the drivers are unloaded and oditrpkt is usable again. You can't load these high because if you do they will not be unloadable and you will loose oditrpkt functionality until you reboot. # Lan Workplace batch routine @echo off c:\xln\bin40\tcpip c:\xln\bin40\telapi c:\xln\bin40\tnvt220 %1 c:\xln\bin40\telapi -u c:\xln\bin40 You would also need to add these lines to your net.cfg if using Novell's Lan Workplace for DOS. PB buffers=10 show dots=on Link support buffers 4 4096 MEMPOOL 4096 BIND TCPIP Token-Ring_SNAP Protocol TCPIP ip_address 192.198.4.13 ip_router 192.198.4.1 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 okstate.edu Hints on trouble-shooting! First make sure you have the current ODI drivers I have attempted to provide them in a file located in this directory called odi.zip. Second, If the problem is at startup such as the PC locking up when this driver is loaded then try loading up ODIPKT to see if it exhibits the same characteristics. If so then it may be that your MLID drivers do not support the type of calls which I make to the LSL. In this case send me a message stating what card-drivers, and versions of everything else you are using. Send bug reports to oditrpkt@datacomm.ucc.okstate.edu