How to Make NetWare and TCP/IP Coexist ¨Peacefully

How to get the Novell Netware Requester for OS/2 and IBM TCP/IP to work together on OS/2, without NTS/2, and without really trying...

This document details how I did it on my system. I'm running the OS/2 2.1 March beta, version 2.01 of the Netware Requester, and IBM TCP/IP version 1.2.1. I think these instructions will work for other versions of OS/2. I'm not at all sure they'll work for other versions of the Netware Requester or TCP/IP. Fortunately, the Netware Requester is available for FTP from ftp-os2.nmsu.edu, in /pub/os2/2_x/network/novell, as files wsos21.zip, wsos22.zip, and wsos2d.zip. I also recommend the UN37938 CSD level of TCP/IP.

It doesn't matter which order you install that Requester and TCP/IP. On the machine I started from scratch on, I installed the Requester first, and then TCP/IP, but I've also seen other folks recommend installing TCP/IP first. In any case, you need to install both, and configure both as though they were the only thing on your system. Before you go any further, you need to know the MLID name of your Netware driver; you can get this by rebooting, and watching the messages as they go by. The driver will identify itself with something like "Novell NE2000 MLID Driver" and some more text. Note the driver name for later use. You then need to update three files on your system. One thing I found out the hard way: Do not reboot your machine from when you start modifying the three files until you're finished; mine locked up when I did.

The first change is to CONFIG.SYS. You will have a statement that goes something like DEVICE=C:\IBMCOM\MACS\NE2000.OS2 (the file name will obviously change if you're using something besides an NE2000, but it will always be in \IBMCOM\MACS on your boot drive). REMark out this statement, and add: DEVICE=D:\NETWARE\ODINSUP.SYS (change D:\NETWARE to wherever you installed the Requester). This change removes the IBM-supplied network board driver, and installs the Novell-supplied communications driver that links the TCP/IP software to the Novell driver.

Next, you need to update NET.CFG. This file may have been built when you installed the Requester, or you may be getting along fine without one. If you don't have one, you'll need to create it; if you do, you'll just need to update it. Use the Requester's Install program to help build the file, as it supplies example statements you can cut and paste as needed. Here's mine, in its entirety (don't key in the comments out to the right!):

Link Support                   <=== this section may or may not be     MemPool 4096                    necessary... Buffers 8 4188 Link Driver NE2000             <=== This section specifies settings for INT #1 5                      your hardware and the link driver. Frame Ethernet_802.3     <=== Key point: You MUST have all four Frame Ethernet_II             of these statements in your file! Frame Ethernet_802.2          The ODINSUP driver uses the extra Frame Ethernet_SNAP           frame types to do its magic. Protocol IPX 0 Ethernet_802.3 <=== This statement is needed to set Protocol TCPIP 800 Ethernet_II    the default IPX frame type. Protocol odinsup               <=== These two statements tell ODINSUP bind NE2000                   which driver to talk to. Protocol ipx                   <=== Likewise, these two are for IPX... bind NE2000 Protocol TCPIP                 <=== ...and this section is for TCP/IP. Bind NE2000                   All of these are set to talk to the ip_address     129.106.9.73     NE2000 board. ip_router      129.106.1.9 tcp_sockets    8 udp_sockets    8 raw_sockets    1 NETWARE REQUESTER               <=== This section isn't required, just a   directory services off             performance boost if you're not running a Netware 4.x file server.

That takes care of two of three; the third is the PROTOCOL.INI file, which lives in \IBMCOM on your boot drive. The modification here is simple. There are two sections you're concerned with:

;*--* ;*- PROTOCOL SECTION ---* ;*--* [TCPIP_nif] DriverName = TCPIP$ Bindings = NE2000                       <=== Note 1 ;*--* ;*--- MAC SECTION --* ;*--* [NE2000]                                 <=== Note 2 ;DriverName = MS2000$ ;interrupt = 5 ;iobase = 0x320

This is how my file looks after modification. The key is that the Bindings=statement in the protocol section (note 1) points to a name in square brackets in the MAC section(note 2); this is how TCP/IP establishes the connection between the TCP/IP protocol stack and the NDIS driver. You've already replaced the driver when you modified CONFIG.SYS; now, to reestablish the connection, you must change the Bindings= to point to the driver, and that's done by changing it to the MLID name of the Novell driver. Then, change the corresponding name in the MAC section to match, using the same MLID name, so that the TCP/IP protocol stack doesn't get unhappy when it reads PROTOCOL.INI. You can remove or comment out the hardware-specific information, as I've done in my file, since the TCP/IP software doesn't talk directly to the hardware any more; leaving it in doesn't hurt anything, though, since the driver that would use the information is no longer being loaded.

Now, reboot, and enjoy having both Netware and TCP/IP connectivity on your system!

I've made copies of my CONFIG.SYS, NET.CFG, and PROTOCOL.INI files, as well as this document, available for FTP; they're on cdrom.com as ntwrtcp.zip (they'll start out in os2/incoming, but will move, hopefully to os2/2_x/network/novell).

Good luck!

Jay Maynard Senior Systems Programmer University of Texas Houston Health Science Center