VIRTUAL PACKET DRIVER FOR WINDOWS

SwsVpkt provides a packet driver emulation for DOS networking applications running on Windows XP, 2000 and NT4 systems. NB Windows 95, 98 and Me are not supported.

SwsVpkt is shareware; that is it may be freely used by any individual for personal and private use or for their business without any restriction or charge. Companies, organizations or governments may not use it without a license. In no case may SwsVpkt be re-sold or used in a system to deprive anyone of life, liberty, livelihood or privacy

Copyright © 2005-2006 Software Systems Consultants. All rights reserved

Web: www.softsystem.co.uk
Tel: +33 5 49 72 79 63
e-mail: sales@softsystem.co.uk

REQUIREMENTS

- An Intel Pentium compatible PC running Windows XP (Home, Professional or Server), Windows 2000 (Professional or Server) or Windows NT 4 (Service Pack 6).
- 1 MB of free disk space.
- A Windows supported TCP/IP network e.g. Ethernet LAN, ADSL, cable or dial-up line.

INSTALLATION

If you have a self-extracting archive file (.exe) then double click it to expand the files into an empty folder. If you have a ZIP archive then use WinZip or similar to extract the files into an empty folder.

- Logon to an account with administrative privilege.
- Open the Network control panel, accessible from the desktop Start button menu:
  Windows XP: 'Control Panel> Network and Internet Connections> Network Connections".
  Windows 2000: 'Settings> Control Panel> Network and Dial up Connections".
- Select the 'Local Area Connection' then from the 'File' menu select 'Properties. This will open the Local Area Connection Properties dialog.
- Click the 'Install...' button to open the 'Select Network Component Type' dialog.
- Select the 'Protocol' icon and click the 'Add...' button to open the 'Select Network Protocol' dialog.
- Click the 'Have Disk...' button then click 'Browse...' to open the 'Locate file' dialog. Use the controls to navigate to the folder containing SwsVpkt and then press 'Open' to close this dialog.
- Press OK to close the 'Install From Disk' dialog.
- Verify that the 'virtual packet driver' is selected and press OK to install.
- The installation process will run after which you will be returned to the 'Local Area Connection' dialog. In the the list box you should see the item 'Software Systems virtual packet driver'.
- Finally click OK or Close on the 'Local Area Connection' dialog to complete the installation of the virtual packet driver protocol and support files.

NB the SwsVpkt protocol driver may be installed on Windows 9x systems but the packet driver emulation will be non-functional. However, the protocol driver exposes a set of private ioctls that can be called from any Win32 program. See www.sofysystem.co.uk/readme.htm for information on using this API.

REMOVAL

- Logon to an account with administrative privilege.
- Open the Network control panel, accessible from the desktop Start button menu as 'Settings> Control Panel> Network and Dial up Connections".
- Select the 'Local Area Connection' then from the 'File' menu select 'Properties. This will open the Local Area Connection Properties dialog.
- Select 'Software Systems virtual packet driver' in the list box and then click the 'Uninstall' button.

CONFIGURATION

Dial-up Networking

By default, SwsVpkt does not send or receive data over dial-up connections. This feature can be enabled by double clicking the file DialupEnable.reg supplied in the SwsVpkt distribution. Confirm the action by clicking yes when prompted. Similarly, the feature can be disabled by double clicking DialupDisable.reg. After either change the system must either be re-booted or the SwsVpkt driver restarted from the command line:

net stop swsvpkt
net start swsvpkt

Disabling SwsVpkt over dial-up

Normally SwsVpkt is enabled as a protocol in the network control panel for the dial-up adapter. This can be changed by selecting the networking tab for the dial-up adapter and ensuring that the checkbox next to 'Software System virtual packet driver' is clear.

Cautions

- IPX . SwsVpkt attaches to the dialup adapter by impersonating the IPX protocol. IPX is a rarely used protocol nowadays so conflicts rarely arise. However, if you have installed or need to use IPX then you should not enable dial-up networking with SwsVpkt.
- There have been significant changes recently in Windows 2000 post SP4 and XP post SP2 that affect NDIS protocols binding to WAN (dial-up) adapters. Problems here can be manifest as a lack of connectivity or failure to establish a connection. If these problems occur then it is recommended to disable SwsVpkt using dial-up. See 'Disabling SwsVpkt over dial-up' above.

Advanced options

The virtual packet driver does not normally require special configuration. However, for advanced uses, the following registry settings may be made:

Windows NT4, 2000 and XP

Under the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SwsVpkt\Parameters

Windows 98 and Me

Under the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Class\NetTrans\00XX\Parameters

Where X is in the range 0..FF.

Network Parameters

The following registry values affect the NDIS driver:

- AllLocal Default 0. Set to 1 to receive all local packets.
- Buffers Default 256, Maybe increased if incoming packets are dropped.
- Packets Default 256, Maybe increased if incoming packets are dropped.
- WanAllLocal Default 0, Set to 1 to see all local packets on the WAN.
- WanEnable Default 0, Set to 1 to bind to the dial up adapter.

Emulation Parameters

Under the key HKEY_LOCAL_MACHINE\Software\Software Systems\SwsVpkt

The following registry values affect the packet driver emulation:

- Buffers Default 48, RxBuffer queue. Increase if incoming packets are dropped.
- WanEnable Default 0, Set to 1 to support the dial up adapter.

OPERATION

Before starting any packet driver clients (DOS applications), the real mode packet driver stub must be installed in the virtual DOS machine. This can be accomplished from a Command Prompt by typing:

SwsVpkt

which will install the driver on the default software interrupt of 0x60, using the default hardware interrupt 7.

The full command line syntax is:

SwsVpkt [options] [SWI]
-i<u> : Hardware IRQ
-l : List adapters
-a<u> : Select adapter
-u : Unload driver
-t : Quiet mode
-h : Help

The driver may also be installed from a batch file.

Notes

In common with its DOS counterparts, SwsVpkt plays no part in the setup or configuration of third party communications libraries such as TCP/IP stacks. SwsVpkt solely conveys raw Ethernet frames to and from the local network. The IP address and settings of the host computer, apart from the hardware MAC address, have no effect upon SwsVpkt.

By default, SwsVpkt binds to all LAN adapters. You can change this by opening the 'Network and Dial-up connections' control panel, right click the adapter you wish to change and select properties. In the components list box you should see 'Software Systems virtual packet driver' - uncheck the box next to this. When the dialog is closed the driver unbinds from the adapter, a re-boot is not required. From this point on, the adapter is not accessible via SwsVpkt. If there is an active SwsVpkt session when the driver is disabled then Windows will prompt you to reboot since it can't unbind the driver until all open handles are closed. To avoid the reboot you should either close the SwsVpkt session or exit your app and execute SwsVpkt -u, before changing the driver bindings.

The SwsVpkt packet driver emulation provides access to multiple adapters through a single driver instance. However, many applications are coded to only use the first adapter. In this case it is necessary to start multiple instances of SwsVpkt, specifying a different adapter and software interrupt for each e.g.

Swsvpkt -a0 0x60
Swsvpkt -a1 0x61
Swsvpkt -a2 0x62
etc…

PROBLEMS

SwsVpkt is designed to be compatible with all recent Windows systems and common DOS networking applications. The following limitations are known:

- The DPMI server that ships with Windows NT4 service pack 6 has a problem with DJGPP applications. This manifests as a SIGSEGV abort when a frame is received. There is no known workaround.

If you should have other problems, issues or for technical support contact: sales@softsystem.co.uk

WHO ARE SOFTWARE SYSTEMS?

Software Systems provide software development services and consultancy. Our current products include:

- SwsSock TCP/IP communications library
- Virtual packet driver
- MailCenturion
- NetCenturion
- SoundFX
- Masm2djg

Contacts:
Web: www.softsystem.co.uk
Tel: +33 5 49 72 79 63
e-mail: sales@softsystem.co.uk

WARRANTY

SwsVpkt is supplied 'as is' with absolutely no warranty given or implied. The use of SwsVpkt is entirely at the risk of the end user. Software Systems will not be held responsible for any loss or damage, however caused, resulting from the use of SwsVpkt.

Release History

- 1.0.0.5 20-May-06
  Added IOCTL_GETDESC to protocol driver to get adapter name.
  Added code to the VDD and real mode stub to get adapter names.
  Added adapter listing and default adapter command line options to real mode stub.
- 1.0.0.4 13-Oct-05
  Fixed bug in access_type for types >= 0x8000.
  Added rcv_mode 5 (all multicast).
- 1.0.0.3 07-Sep-05
  Increased default RxBufferQ from 16 to 48 MTU's
  Removed pageable flag from functions acquiring spinlocks.
- 1.0.0.2 30-Jun-05
  Packet driver protocol binds to WANs (dialup) for SwsSock.
  VDD excludes WAN adapters.
- 1.0.0.1 24-Jun-05
  Initial release.