I am trying to resolve a crash that seems to be exclusively
related to IPX/SPX. Although the machine is not a router
or doing NAT, I've been using INETCFG to manage the
server's networking.

But, after disabling and unbinding IPX from the network
card, the IPXSPX.NLM continues to be loaded when the
server starts. Why is it still loading? (It doesn't seem like
it'd be at all useful if it isn't bound to anything, so I don't
see how it can manage to load successfully and then sit
there doing nothing.)

Completely deleting the protocol configuration for IPX
so that INETCFG lists the protocol as "Unconfigured"
does not change the situation. It still loads when the
server boots. Further probing shows no actual
INETCFG commands to load IPX support so where is
it loading from?

I finally managed to trace this to INITSYS.NCF which
is loading BCALLSRV, for unknown purposes:
LOAD E1000 (NIC commands)
BIND TCPIP (bind commands)

(This call to BCALLSRV also loads BTrieve, which was
superseding another BTrieve load attempt listed in the

Unfortunately due to the IPX crash mentioned, this server
had its NWSERVER directory corrupted and lost all of
its local registry data. So perhaps the config data that
put BCALLSRV in place was lost when the registry was
wiped, and INETCFG doesn't realize that it BCALLSRV
is still enabled and needs to be removed when IPX is
set to unconfigured.. (I do not know what all is managed
in the registry.)

I am having a very hard time finding any information at all
about how BCALLSRV works, what it is for, or where it
keeps its configuration file, so at this point I don't trust its
actions much and I'm ready to just cut it out of the picture
since it doesn't seem critical to the operation of the server.

And so I reverted the AUTOEXEC.NCF back to the
original three-line network configuration + BSTART.NCF,
commenting out the call to INETCFG's INITSYS.NCF:
LOAD E1000 (NIC commands)
BIND TCPIP (bind commands)

However, this still does not stop IPXSPX.NLM from

As I continued to explore I discovered that SMDR is
triggering the loading of the unbound/unconfigured IPX,
and that SMDR has a configuration file located at
SYS:ETC\SMS\SMDR.CFG which in default state
loads both TCP and IPX support.

And so I edited the SMDR.CFG to include the line:
which prevents SMDR from loading IPX support.

But now Backup Exec 9.1 is upset. When it starts up,
it complains that a utility known as NETDB.NLM is
not loading, and so Backup Exec won't load up all
the way.

When I try manually loading NETDB at the console
prompt, it immediately loads up IPXSPX support.

This one is turning out to be a dead-end just like
BCALLSRV. I cannot find any information on where
NETDB stores its configuration file, or what command
line options might be available to disable IPX
support and restrict it to TCPIP only. Anyone know
how to stop NETDB from trying to load IPXSPX?

The final and most drastic approach to stopping
NETDB from trying to load IPX support would be
to simply rename IPXSPX.NLM and IPXS.NLM so
that they cannot be found at all. Though this may cause
many more problems than it may solve, and I don't
want to potentially crash NETDB, corrupt this server,
and get into a situation where I have to restore it from

The school year is about to begin and this server
will have to go back into full-scale use in about
five days from now.