Installing AppleShare Client for Windows

This article is a guide to installing AppleShare Client for Windows with other network software such as Novell Netware and Microsoft Windows for Workgroups.
Novell NetWare

ODI ARCHITECTURE

ODI (Open Datalink Interface)

Novell and Apple co-developed the ODI architecture. The ODI architecture refers to a series of network drivers loaded in DOS and the order in which they are loaded. ODI was developed in order to be able to use any vendor's network card with NetWare by simply installing the MLID driver provided by the vendor. NetWare, Novell's primary product, running its native IPX protocol, loads 4 drivers into memory:

LSL.COM-Link Support Layer

This driver loads first. It provides an interface between network hardware and network software. LSL.COM, along with its configuration file (NET.CFG) tell the network card driver what type of network is being used and also includes settings such as IRQ, memory address, buffers, and others.

XXXX.COM-MLID (Multi Link Interface Driver)

The name of this driver is specific to the type of network card being used, but always contains the .COM file extension. For example, if an NE2000 ethernet card is being used, the driver is called NE2000.COM. This driver relies on the LSL.COM for its configuration.

IPXODI.COM-Protocol driver

This is a driver which only NetWare uses. It is a protocol driver for the IPX protocol

VLM.EXE-Virtual Loadable Module

Provides network services such as file and print capabilities in a NetWare environment.

NetWare 3.11 vs 3.12

NetWare 3.11 and earlier used a driver called NETX.EXE instead of the current VLM.EXE which is used with 3.12 and later. When working with NetWare, it is important to determine if NETX or VLM is being used. 3.12 is backward compatible with NETX, meaning that NETX.EXE can be substituted for the VLM.EXE in version 3,12 and later.

NETWARE USING NETX (3.11)
LSL.COM
XXXX.COM
IPXODI.COM
NETX.EXE

NETWARE USING VLM (3.12)
LSL.COM
XXXX.COM
IPXODI.COM
VLM.EXE

Using AppleShare and NetWare simultaneously

AppleShare and NetWare are both ODI stacks, and therefore install very similar files. The key to getting them to run simultaneously is to integrate these files into one set which can be used by both applications. If NetWare is already installed, a standard installation of AppleShare should automatically make the proper changes.

DOS-level Files installed by NetWare
C:\\NWCLIENT\\STARTNET.BAT-->batch file which loads the netware drivers listed above
C:\\NWCLIENT\\NET.CFG-->configuration file for LSL.COM
C:\\NWCLIENT\\LSL.COM
C:\\NWCLIENT\\XXXX.COM-->MLID
C:\\NWCLIENT\\IPXODI.COM-->ipx/spx protocol driver
C:\\NWCLIENT\\NETX.EXE or VLM.EXE

DOS-level Files installed by AppleShare
C:\\APPLE\\A_SHARE\\ATDRIVER.BAT
C:\\APPLE\\A_SHARE\\NET.CFG
C:\\APPLE\\A_SHARE\\LSL.COM
C:\\APPLE\\A_SHARE\\XXXX.COM-->MLID
C:\\APPLE\\A_SHARE\\ODI.EXE-->AppleTalk protocol driver

AUTOEXEC.BAT with NetWare+AppleShare
The AUTOEXEC.BAT should start with the following 2 lines:

call C:\\NWCLIENT\\STARTNET.BAT
call C:\\APPLE\\A_SHARE\\ATDRIVER.BAT

They need to be loaded in this order, or AShare will not be able to find the LSL.COM

ATDRIVER.BAT with NetWare installed

rem C:\\APPLE\\A_SHARE\\LSL.COM
rem C:\\APPLE\\A_SHARE\\XXXX.COM
C:\\APPLE\\A_SHARE\\ODI.EXE

The first 2 lines are remarked because these files are already being loaded by the STARTNET.BAT for NetWare. Thus, we end up with the combined drivers loading in the following order:
C:\\NWCLIENT\\STARTNET.BAT
C:\\NWCLIENT\\NET.CFG
C:\\NWCLIENT\\LSL.COM
C:\\NWCLIENT\\XXXX.COM-->MLID
C:\\NWCLIENT\\IPXODI.COM
C:\\NWCLIENT\\NETX.EXE or VLM.EXE
C:\\APPLE\\A_SHARE\\ODI.EXE

Another way to go about it is to completely remove the ATDRIVER.BAT and the corresponding call statement in the AUTOEXEC.BAT and add the C:\\APPLE\\A_SHARE\\ODI.EXE line to Novell's STARTNET.BAT

Sample NET.CFG with NetWare installed

Note: when NetWare is installed, AppleShare uses the LSL.COM and its configuration file (NET.CFG) from the C:\\NWCLIENT directory, not the C:\\APPLE\\A_SHARE\\ directory.

Sample:

#
# Configuration file for xxxx
# Unknown NIC
#
Link Support
  Buffers 10 628
   MemPool 16K
Protocol AppleTalk
   DEFAULT xxxx
  AARP xxxx H(0001) L(6) B(090007FFFFFF)
Link Driver xxxx
  FRAME ETHERNET_SNAP
   FRAME ETHERNET_802.3
   PROTOCOL IPX 0 ETHERNET_802.3
   PROTOCOL APPLETALK 80007809B ETHERNET_SNAP
  PROTOCOL AARP 80F3 ETHERNET_SNAP
   INT 10
   PORT 300

This sample is the same as the default NET.CFG that AShare uses when no other network software is involved. The NET.CFG for NetWare will contain additional sections which are only for use by NetWare. One of these sections is titled "NetWare DOS Requester". Installation of Ashare will not affect these sections, and thus they are not of concern when installing AppleShare. The important lines to look for in here are the Ethernet_SNAP frame statement and the Appletalk protocol statement.

Apple Share and NETX.EXE

There is an error in the PROBLEMS.WRI file for AppleShare client in regards to using Ashare with Novell 3.11 or earlier, which uses NETX.EXE.

It says: NETX.EXE, the NetWare connection utility, does not work with AppleShare Client for Windows. NETX, and similar network connection utilities, are written for other networks and are specific to their respective networks. These utilities cannot be used for connecting to a server of another type, such as an AppleShare server.

First of all, AShare does not even use NETX. It only uses the LSL and the MLID from the STARTNET.BAT file. Ashare uses its own ODI.EXE to connect to an AppleShare server.

In most cases, NetWare clients will have a line in the autoexec.bat which reads F:login. When NETX is loaded, it automatically connects to the first available server, unless otherwise specified. Then the login program on the server (F:) must be run in order to access files. NetWare mounts drives on drive letters which fall after the drive specified in the lastdrive statement. Therefore, lastdrive has to be set to E in order for the first NetWare server to mount on drive F:.

When AppleShare is installed it changes the lastdrive to z. This leaves no drives after the lastdrive to mount the netware server. Simply changing the lastdrive to E will not really work, because that only leaves drives D: and E: for use with ashare, and if they have a cd rom, only one of these will be available. What must be done is to change the lastdrive to something like m. This will cause the netware server to attach to drive N:. At this point, if they have F:login in the autoexec, it will give the message "bad command or file name." Simply change the F to whatever drive the server has used--in this case N:.

MemPool

This line (in net.cfg) specifies the amount of memory which is allocated to the network card driver (MLID). In some cases, increasing the amount of memory allocated can solve problems involving multiple protocol stacks. By default , the mempool line in the link support section reads," MemPool 16k". this value can be set as high as 64k. If it is set to a value higher than this, it will only allocate 64k.

Windows for Workgroups

NDIS

NDIS (Network Driver Interface Standard)

Microsoft networks (Windows for Workgroups and Windows NT) use NDIS-type drivers instead of ODI. All of the network drivers involved with Windows for Workgroups load when Windows starts. Windows for Workgroups can also be configured to use ODI drivers which load at the DOS level.

Aside from Microsoft products, many TCP/IP stacks use NDIS. AppleShare, however, can only be configured to work with Windows for Workgroups NDIS. It will not recognize any other NDIS- type drivers during installation. If AppleShare is to work with these TCP/IP stacks, the TCP/IP must be configured to work with ODI.

Installing AppleShare to work simultaneously with a Windows for Workgroups network

There are 2 ways to install AppleShare so that it will co-exist with Windows for Workgroups networking software.

1. Install AppleShare over an existing Windows network so that AShare uses NDIS.

2. Install AppleShare while no windows network is configured and then configure windows to use the ODI drivers which AShare installed. Installing AppleShare using NDIS is covered in the AppleShare manual.

Configuring Windows for Workgroups to use ODI

1. Install AppleShare using standard installation while no WFWG net is configured

2. Make sure that AppleShare is working properly

3. Go to the Network group from the program manager and choose Network Setup

4. In the window that follows, click on the "Networks" button.

5. Select "Install Microsoft Windows Network" and click "ok"

6. On the next screen, choose "drivers"

7. choose "add adapter"

8. Choose the approprate network card from the list and click OK NetBeui and IPX/SPX compatible transport protocols are installed. TCP/IP software can also be obtained from Microsoft and installed.

9. Highlight the adapter name shown in the window and click "setup"

10. Change the driver type to "ODI Driver" and click OK . When finished, click "close". Then click OK

11. Windows will prompt you to insert a username and password for the network and then ask for the necessary Windows disks.

12. When finished, Windows will prompt you to restart your computer.

13. While DOS is booting, you will receive a message which reads "ERROR: cannot find LSL". Press any key to continue.

14. Use the edit command to edit the autoexec.bat. The first three lines in the AUTOEXEC.BAT will read:
    C:\\WINDOWS\\net start
    C:\\WINDOWS\\odihlp.exe
    call C:\\APPLE\\A_SHARE\\ATDRIVER.BAT
  The order of these lines needs to be changed so that it reads:
    C:\\WINDOWS\\net start
    call C:\\APPLE\\A_SHARE\\ATDRIVER.BAT
    C:\\WINDOWS\\odihlp.exe

15. Save this file and restart the computer.--installation is complete. If an error 58 occurs while starting windows, the incorrect adapter is chosen in windows.

MemPool

This line (in net.cfg) specifies the amount of memory which is allocated to the network card driver (MLID). In some cases, increasing the amount of memory allocated can solve problems involving multiple protocol stacks. By default , the mempool line in the link support section reads," MemPool 16k". this value can be set as high as 64k. If it is set to a value higher than this, it will only allocate 64k.

TCP/IP

TCP/IP packages come in 2 varieties--NDIS and ODI. AppleShare client for windows will only work with ODI-based TCP/IP. Normally, TCP/IP software which uses NDIS drivers can be configured to work with NetWare, or ODI drivers. This is the key to getting NDIS TCP/IP to work with Ashare.

Some examples of NDIS TCP/IP packages:   


Some examples of ODI TCP/IP packages (these are configured for ODI by default and will easily work with AShare):
Sample batch file (atdriver.bat) for loading AppleShare with an ODI-based TCP/IP stack:

C:\\apple\\a_share\\lsl.com
C:\\apple\\a_share\\XXXX.com (mlid driver)
C:\\odipkt.com (or whatever the TCP/IP driver name is)
C:\\apple\\a_share\\odi.exe

Typical LINK SUPPORT AND LINK DRIVER of NET.CFG for tcp/ip follows:

LINK SUPPORT
  MEMPOOL 64k
  BUFFERS 6 1600
  MAX STACKS 6
LINK DRIVER 3C5X9
  INT 10
  PORT 300
  FRAME ETHERNET_II
  FRAME ETHERNET_SNAP
  PROTOCOL IP 800 ETHERNET_II
  PROTOCOL ARP 806 ETHERNET_II
  PROTOCOL RARP 8035 ETHERNET_II
  PROTOCOL APPLETALK 80007809B ETHERNET_SNAP
  PROTOCOL AARP 80F3 ETHERNET_SNAP

Binding TCP/IP protocols in the net.cfg

The following lines must be added to the link driver section of the net.cfg in order to use TCP/IP:

Link Driver XXXX
  Frame Ethernet_II
  Protocol IP 800 Ethernet_II
  Protocol ARP 806 Ethernet_II
  Protocol RARP 8035 Ethernet_II
Without these lines, the tcp/ip software will load, but will not be functional on the network.

Max Stacks

This line allows multiple protocol stacks to access the same ethernet card. Without fail, the Max Stacks line must be added to the Link Support section of the net.cfg in order to get appleshare and tcp/ip to work simultaneously. If the Max Stacks line is absent, the resulting error will read, "LSL out of resources" when either the ODI.EXE or the tcp/ip packet driver loads. The line should read: "Max Stacks 6" or "Max Stacks 8"

MemPool

This line (in net.cfg) specifies the amount of memory which is allocated to the network card driver (MLID). In some cases, increasing the amount of memory allocated can solve problems involving multiple protocol stacks. By default , the mempool line in the link support section reads," MemPool 16k". this value can be set as high as 64k. If it is set to a value higher than this, it will only allocate 64k.

Published Date: Feb 18, 2012