Path: utzoo!attcan!uunet!cs.utexas.edu!swrinde!ucsd!ucbvax!VAX.FTP.COM!jbvb From: jbvb@VAX.FTP.COM ("James B. Van Bokkelen") Newsgroups: comp.protocols.tcp-ip.ibmpc Subject: Re: Windows 3.0 and PC TCP Message-ID: <9006281604.AA18707@vax.ftp.com> Date: 28 Jun 90 16:04:30 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: jbvb@vax.ftp.com Organization: The Internet Lines: 32 >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