[comp.protocols.tcp-ip.ibmpc] Windows 3.0 and PC TCP

wolfy@usage.csd.unsw.oz.au (Anthony Wolfenden) (06/27/90)

From:  wolfy.csd.unsw.oz.au

My Platform:
	NEC 386/20  2Mb RAM
	Windows 3.0
	Racal Interlan 6510 Ethernet Adaptor
	FTP Software PC/TCP
		using Resident Module Version 2.03 pl 3
		Packet Driver Type 35

My Problem:

The TCP resident module occupies approximately 83K of valuable memory that I require most of the time.  I can load the module before I start Windows.  This works and I can swap windows, but I do not have enough memory to do anything useful.  I would therefore like to load and unload the module as it is required.  I have written a batch file to load the module, open a command shell and then on exit from the shell remove the module.
This process works correctly and all communications occur as they should.  The problem occurs when I attempt to swap to another window with the module loaded.  The system hangs.  I have tried all possible combinations of PIF settings in an attempt to stop this occuring.  These efforts have proved fruitless so far.
Has anyone got any ideas?? If not I would love an explanation just for my enlightenment... 

wolfy@uunet.uu.net (Anthony Wolfenden) (06/27/90)

From:  wolfy.csd.unsw.oz.au
  
My Platform: 
        NEC 386/20  2Mb RAM
        Windows 3.0
        Racal Interlan 6510 Ethernet Adaptor
        FTP Software PC/TCP
                using Resident Module Version 2.03 pl 3
                Packet Driver Type 35
  
My Problem: 
  
The TCP resident module occupies approximately 83K of valuable memory that I require most of the time.  I can load the
module before I start Windows.  This works and I can swap windows, but I do not have enough memory to do anything usefu
l.  I would therefore like to load and unload the module as it is required.  I have written a batch file to load the mo
dule, open a command shell and then on exit from the shell remove the module.
This process works correctly and all communications occur as they should.  The problem occurs when I attempt to swap to
 another window with the module loaded.  The system hangs.  I have tried all possible combinations of PIF settings in a
n attempt to stop this occuring.  These efforts have proved fruitless so far.
Has anyone got any ideas?? If not I would love an explanation just for my enlightenment...

jbvb@VAX.FTP.COM ("James B. Van Bokkelen") (06/28/90)

>My Platform:
>	NEC 386/20  2Mb RAM
>	Windows 3.0
>	Racal Interlan 6510 Ethernet Adaptor
>	FTP Software PC/TCP
>		using Resident Module Version 2.03 pl 3
>		Packet Driver Type 35
>
>...I have written a batch file to load the module, open a command shell
>and then on exit from the shell remove the module.  This process
>works correctly and all communications occur as they should.  The
>problem occurs when I attempt to swap to another window with the
>module loaded.  The system hangs.  I have tried all possible
>combinations of PIF settings in an attempt to stop this occuring.

First, I would note that the 2.04 pl 2 ETHDRV kernel is about 10Kb smaller.

Second, your problem is well understood, but not easy to fix.  It's root
is in the Packet Driver.  When you swap to another window, the Packet Driver
is still active, and thinks that it should deliver packets to 01AF:0350
or something like that.  Windows changes the address space mapping when
you switch windows, a packet arrives, and the Packet Driver calls hyperspace.

The Packet Driver needs one of two things:  The simplest solution is being
worked on by a couple of driver authors, and it is an attempt to recognize
that the receiver() upcall has vanished, and skip the call.  The more
complex solution is for the Packet Driver to store the caller's virtual
machine number with each 'handle', and ask Windows to switch to that
context before delivering the packet.

James B. VanBokkelen		26 Princess St., Wakefield, MA  01880
FTP Software Inc.		voice: (617) 246-0900  fax: (617) 246-0901