SRVIFS as an OS/2 Peer-To-Peer Network

From OS2World.Com Wiki
Jump to navigation Jump to search

After giving up on Lantastic running in a DOS session, I started to look around for a native OS/2 solution to network 4 machines at home. The best solution I have found so far, is using some of the remote installation files from MPTS, NPTS or LAPS. This consists of a server program (SERVICE.EXE) running on each machine that contains drives you wish to share with other machines, and an IFS called SRVIFSC.IFS that talks to NetBIOS and supports long filenames etc.

The disadvantages of this network setup include:

  • It has no security to speak of.
  • It doesn't connect to DOS or Windows machines.
  • You are left with dead drive letters if a server goes down before you can detach all drives connected to it.

The advantages of this network setup include:

  • It's small. It takes next to no system resources compared to any other networking products I have seen for OS/2.
  • It has no security that you have to deal with.
  • It is cheap...free even if you already have MPTS, NTPS or LAPS.
  • Being an IFS, it provides you with a new disk icon in your drives folder for each network drive you are connected to.
  • It supports all OS/2 and DOS sessions.
  • It doesn't connect to DOS or Windows machines.

DISCLAIMER

Before you start, I would like to point out that I know almost zero about networking. Try the below procedure at your own risk. Please take all necessary steps to back up your system before proceeding.

This setup works fine with my 8 bit WD/SMS network cards. I have never tried it with any other cards.

People have pointed out to me that it isn't an ideal network solution, and that it doesn't connect to DOS machines, doesn't have security etc etc. I realize this, and I am not trying to promote it as a elegant network solution, but it is something I can use until IBM (or someone) comes up with something better.

If anyone has any improvements/suggestions etc please let me know, and I'll add them to this document.

FILES REQUIRED

The files you need to make SRVIFS run, come from IBM and are commercial... sorry folks.

I got all the files listed below off my 3 MPTS/2 disks. If you don't have any MPTS/2 disks then you are a little stuck. I am told that SRVIFS is also included on the LAPS and NTPS disks. I have also been told that SRVIFS is included on some of the DEV-CON CDs from IBM, and I suspect that you could probably find them on many of the networking CSD's and betas that can be found on various FTP sites. (Although I have no idea about the legalities of using such copies).

If you do find them from somewhere else and they seem to work, please let me know and I'll add them to the list.

Most files I got from the A:\SRVIFS, A:\IBMCOM, and A:\IBMCOM\PROTOCOL directories of my MTPS floppies.

Trap for new players: The NETBEUI.OS2 and NETBIOS.OS2 files might be contained in a zip file called A:\IBMCOM\PROTOCOL\PROTOCOL.ZIP on some disks. Use InfoZip or PKZip to extract the files you need.

Anyway, if you can find these files you're in business:

  3349           0  ACSNETB.DLL  // DLL file
   170          35  AURORA.INI   ** This will be the name of your machine
 17972           0  MACWD.OS2    ** These are the dvrs for my SMS card...
  3516         162  MACWDAT.NIF  ** you'll have to find some for your cards
113460         162  NETBEUI.OS2  // NetBIOS driver
 13657         255  NETBIND.EXE  // Required file
 15860         162  NETBIOS.OS2  // NetBIOS driver
  2234         158  PRO.MSG      // Error msg text
 20212         162  PROTMAN.OS2  // Network driver
  1076         194  PROTOCOL.INI ** INI file...see below
 50208           0  SERVICE.EXE  // Server program
 13938           0  SRVATTCH.EXE // Client program
  1076           0  SRVIFS.SYS   // Driver for the IFS
 24692           0  SRVIFSC.IFS  // IFS
  8502           0  XI1.MSG      // Error msg text
 28879           0  XI1H.MSG     // Error msg text

The dates on all my files are sometime in 1994. Earlier versions might work in the same fashion...I have no idea.

The files marked ** will either be different for your setup, or will have to be edited.

The MACWD*.* files are drivers for my "Standard Microsystems" or "Western Digital" cards. You'll have to find the equivalent drivers for your cards.

INSTALLATION

Follow these instructions on any machine that you want to connect to the network.

Copy them all files into a directory called C:\SRVIFS.

The AURORA.INI file should be named the same as the name of your machine... (mine is called Aurora). Here is a listing of mine:

Name=Aurora
Groupname=No
MaxClients=20
PermitWrite=Yes
ClientWorkers=6
Adapter=0
Path=E:\
Alias = ReadWrite,Single,DriveE,E:\
Alias = ReadWrite,Single,DriveD,D:\

You'll need to change the "Aurora" to the name of your machine, set up aliases for drives you want to share, and change the path to a drive that exists on that machine.

The PROTOCOL.INI is a bit tricker. Here is a listing of mine:

[PROT_MAN]

   DRIVERNAME = PROTMAN$

[IBMLXCFG]

   NETBEUI_nif = NETBEUI.NIF
   MACWDAT_nif = MACWDAT.nif

[NETBIOS]

   DriverName = netbios$
   ADAPTER0 = netbeui$,0

[NETBEUI_nif]

   DriverName = netbeui$
   Bindings = MACWDAT_nif
   ETHERAND_TYPE = "I"
   USEADDRREV = "YES"
   OS2TRACEMASK = 0x0
   SESSIONS = 40
   NCBS = 225
   NAMES = 21
   SELECTORS = 15
   USEMAXDATAGRAM = "NO"
   ADAPTRATE = 1000
   WINDOWERRORS = 0
   MAXDATARCV = 4168
   TI = 30000
   T1 = 1000
   T2 = 200
   MAXIN = 1
   MAXOUT = 1
   NETBIOSTIMEOUT = 500
   NETBIOSRETRIES = 2
   NAMECACHE = 1000
   RNDOPTION = 0
   PIGGYBACKACKS = 1
   DATAGRAMPACKETS = 10
   PACKETS = 350
   LOOPPACKETS = 8
   PIPELINE = 5
   MAXTRANSMITS = 6
   MINTRANSMITS = 2
   DLCRETRIES = 10
   FCPRIORITY = 5
   NETFLAGS = 0x0

[MACWDAT_nif]

   DriverName = MACWD$
   IOBase = 0x280
   IRQ = 5
   RamAddress = 0xD000
   MaxRequests = 8
   MaxTransmits = 12
   ReceiveBuffers = 12
   ReceiveBufSize = 256
   ReceiveChains = 12

As you can see, the last section refers to my network card. The way I got it was to install MPTS/2 and it was created automatically for me. I don't pretend to know what all the settings do.

When all this is done, add these lines to your CONFIG.SYS:

DEVICE=C:\SRVIFS\PROTMAN.OS2 /I:C:\SRVIFS
CALL=C:\SRVIFS\NETBIND.EXE
DEVICE=C:\SRVIFS\NETBEUI.OS2
DEVICE=C:\SRVIFS\NETBIOS.OS2
DEVICE=C:\SRVIFS\MACWD.OS2
DEVICE=C:\SRVIFS\SRVIFS.SYS
IFS=C:\SRVIFS\SRVIFSC.IFS AURORA1

I have no idea why, but both the server and client won't run at the same time if the SRVIFSC.IFS parameter is the name of the machine.

Add C:\SRVIFS to the PATH, LIBPATH, and DPATH statements in your CONFIG.SYS file.

Reboot.

USING THE NETWORK

If the installation has worked, you should be able to type:

START C:\SRVIFS\SERVICE.EXE /INI=AURORA

(replacing the AURORA with the name of your computer) to start the server program. This can be added to your STARTUP.CMD file, or a shadow of a CMD file can be placed in the startup folder so that the server starts up each time. You may want to change the settings to "Start minimized".

The server can be closed down by switching to the session and pressing [CTRL][BREAK]. The server will shut down when all clients have detached.

To start the client, type:

C:\SRVIFS\SRVATTCH.EXE X: \\UTOPIA\DriveC

for each drive you want to attach...usually you'll want to assign one drive letter for each alias in the other INI file. Don't forget to replace UTOPIA with the other machines name.

Typing:

C:\SRVIFS\SRVATTCH.EXE X: UTOPIA

Will assign H: to be X: to be the directory specified in UTOPIA's PATH statement contained in UTOPIA.INI.

Network drives can be detached by typing:

C:\SRVIFS\SRVATTCH.EXE X: /D

Now all we need to do is convince IBM to release these files as an EWS peer product. :-)

Good luck.

Michael Brown zilch@aurora.equinox.gen.nz

23/9/94