GUIDE TO INTERFACING JNOS 111x WITH WINDOWS 95/8
By Nick Parnell – G4ZXI – Kent TCP/IP Group
24th July 1999

1.0	Introduction

Some time ago, I published details of how to interface UKNOS running in a DOS window with Windows95; itself using Trumpet Winsock, Winpkt and PIPE.COM. Although this implementation has worked very well for many of you, Year2000 considerations and the fact that UKNOS development is halted have led me to look towards alternative methods.

I currently know of 2 such methods without getting yourself into multi-network card solutions:

1. 	For users wishing to interface directly with a single TNC and use purely windows based applications for everything, the SV2AGW software and instructions are available for download at http://www.amber.force9.co.uk/tcpip.html.
2. 	Using the new NDIS3PKT v2.4 driver available for evaluation download and purchase at http://www.danlan.com. This method is described below:

This document describes the method utilising JNOS 111b or greater, a standard network card and the NDIS3PKT v2.4 Virtual Packet Driver. You will need WFW-3.11, Win95a, Win95b (OSR2), Win95C or Win98/ Win98-SE running on the PC with a free IRQ available for the network card. This document only addresses setup under Windows 9x, however the driver is also designed to work with Windows for Workgroups 3.1.1.

This document assumes a basic knowledge of using Windows95/8. It assumes that the system is installed on a machine dedicated for TCP/IP operation based around JNOS. If  you wish to use this on a PC already connected to the internet via Windows Dial-Up Networking you will need to consider different TCP/IP tools for each connection to avoid the need for changing connection settings between sessions. I do however strongly recommend dedicating a 486 or low-spec Pentium PC to the amateur radio applications. I do this, and share a monitor, keyboard and mouse between them using a switch-box.

Either way, the implementation provides a convenient method of interfacing JNOS directly with MS-TCP using virtual drivers (requiring no conventional memory) and providing the flexibility for you to choose the tools you wish to use to communicate via Amateur TCP/IP.

2.0	What you need

You will need to obtain the following before starting:

•	486 or greater PC running WFW-3.1.1, Windows95a,b,c or Win98 with Free IRQ for the network card
•	JNOS111 Compilation with Packet Driver Interface (See download Link on this site)
•	2nd IP address to assign to your Windows TCP/IP stack (See your hub Sysop)
•	Standard 10Mbps network card
•	50ohm BNC ‘T’ piece adapter & 2 50ohm terminators
•	NDIS3PKT v2.4 Virtual Packet Driver 
•	Your WFW-3.1.1 / Windows95 / 98 /98-SE Disks/CD

Note:  NDIS3PKT v2.4 is licenced software. The evaluation version which can be downloaded from http://www.danlan.com is restricted to sending/receiving 75/200 packets per boot. Payment for the driver must be made in US$ drawn against a United States bank. I found UK registered Airmail (SWIFTAIR) available at UK post-offices a convenient method to mail the $US notes. At time of writing this is $15, however you should check the file ORDER.TXT included within the NDIS3PKT v2.4 driver zip archive for current order information.

3.0	Network Card Installation Instructions

•	With the PC power removed, and taking reasonable ESD precautions, carefully remove your PCs cover and install the network card in accordance with the manufacturers instructions.  If your motherboard supports Plug&Play then the card should self configure. If not you may need to setup the appropriate jumpers to select IRQ and memory address range. My card here is setup to use IRQ 11 and address range 0300-031F. This will differ according to your computer.

•	Replace the cover and power connectors. 

•	Place the ‘T’ piece onto the BNC socket of the network card and place the 50ohm terminators on each end of the T.

•	Switch on the PC. It will boot up and should detect the new card. When it asks for a driver insert the manufacturers disk into the floppy/CD drive and select the HAVE DISK option so that the driver is found (you may need to browse for it). You will be asked to specify a username, password and workgroup. I suggest the username is your callsign, your password is left blank and your workgroup is “Amateur Radio” (unless you have a common household network you wish this machine to be part of). The network card should now be configured. 

You should check the setup of the card by going into CONTROL PANEL, SYSTEM then NETWORK ADAPTERS and select PROPERTIES for your card. It should state “Device is Working Properly”. If not you have an IRQ/Address conflict this must be resolved before continuing.

4.0	Installing the Windows Protocols

This will differ slightly depending on which version of windows you are running. I will therefore describe the general case; which should provide sufficient information to allow you to complete the operation. It is possible that windows will have already set some of this up for you when installing the network card. If so, just browse the settings and change as necessary.

•	Obtain the licenced NDIS3PKT v2.4 driver by ordering through http://www.danlan.com. This will take 7-10 days. You will need to specify an email address on the order form to which the licenced software can be sent.
•	Unzip the NDIS3PKT v2.4 files obtained from http://www.danlan.com onto a floppy disk.
•	Goto CONTROL PANEL, NETWORK.
•	If not already present, select ADD to install the following: 
•	Client - CLIENT FOR MICROSOFT NETWORKS
•	Protocol – Microsoft TCP/IP
•	Protocol – NetBEUI (If connecting your network card to another computer too)

•	Now, close the window down by clicking OK or Apply and let the computer reboot for changes to take effect.
•	After the reboot, go once again to CONTROL PANEL, NETWORK and select ADD followed by PROTOCOL and ADD.
•	Place the floppy disk with the Unzipped NDIS3PKT 2.4 drivers on into your floppy drive then select HAVE DISK. Use the browse option to goto the floppy directory. VIRTUAL PACKET DRIVER will be displayed. Click on OK to select and install this driver. If the computer reports that it cannot find a component, but click OK again and it will find it! You will then need to reboot your computer again.

•	After the reboot, once again goto CONTROL PANEL, NETWORK. Highlight TCP/IP and click PROPERTIES. A number of TABS will be displayed for entry of information specific to your windows machine. Remember, this is your windows side of the interface and must not be confused with JNOS. This is where you enter your Windows IP address. 

The following describes what to put in each tab:

•	IP ADDRESS
•	Select “Specify an IP Address”
•	Enter your windows IP address (Which you should have obtained from your hub sysop)
•	Enter a subnet mask of 255.0.0.0. This identifies the machine as a member of the “44” subnet.

•	WINS CONFIGURATION
•	Select “Disable WINS resolution”

•	GATEWAY
•	Under new gateway, enter the IP address of  your NOS machine then click ADD. This is the address to which all outbound IP frames will be sent.

•	DNS CONFIGURATION
•	Click “Enable DNS”
•	Under host enter the callsign you are using for your windows machine. i.e Your sys2 callsign corresponding with your windows IP address.
•	Under domain enter “ampr.org”
•	Under DNS server search order enter the IP address of the hub/server you use to provide Domain Name Lookup services. If your NOS machine is a hub then this will be your nos machines address. If you are an end-user then it’s usually the callsign of your hub (Without the ampr.org suffix). Check with your hub sysop.
•	Under domain suffix search order enter “ampr.org”
•	Leave NETBIOS, BINDINGS and ADVANCED alone. 
•	Now click on OK.

•	Now, Highlight Virtual Packet Driver and click PROPERTIES and ADVANCED. You should check and change the values to be as follows:

•	Buffers			10
•	V86 Mode Stack Size	128
•	TR routing info Byte 0	0xc2
•	TR routing info Byte 1	0x20
•	Always schedule VM	true
•	Multiplex tcp/ip		true
•	Multiplex MS tcp/ip	true
•	Ignore local broadcasts	false
•	Warn on mux tab full	true
•	First PD interrupt vector	0x60
•	Force 802.3 framing	false
•	Fake ethernet on TR	false

Double check these values. The PD interrupt vector is the address where NOS will link to later. This needs to match the value you supply in JNOS or it won’t work!

•	Click OK then OK again to save changes. You should then restart the PC.
•	Now, finally you need to configure the Windows Registry to use sensible values for    
 MTU etc as opposed to the large values used by default on ethernet. 

 You may wish to experiment with differing values of MTU, however remember that any value you specify is what goes out over the network. If you’re only interested in communicating with your local hub and have a good 9k6 1024 packet size link then of course MTU can be 1024 and you will get faster response. Just remember that the quality of the path is governed by the smallest MTU encountered en-route. Exceed this and you’ll get no traffic past this point!

•	Backing up the Registry
This is an essential step and can save you an enormous amount of grief if you make a mistake. The windows registry is the heart of the system. Its easy to make mistakes and get the frozen mouse or blue screen for evermore. You’ve been warned!

To backup the registry, open up an MSDOS window and type the following:

cd c:\windows
attrib –S –H system.dat
copy system.dat system.bak
attrib +S +H system.dat
attrib –S –H user.dat
copy user.dat user.bak
attrib +S +H user.dat

Note: This document assumes a windows directory of C:\WINDOWS throughout. You may have to vary this according to your setup.

•	If you need to restore your Registry from the backup

If all goes pear shaped, then restoring the registry is easy. Just start the PC up and repeatedly press the F8 Key until a text menu appears. Select COMMAND PROMPT ONLY then type the following to restore the registry to its values before you changed them:

cd c:\windows
attrib –S –H –R system.dat
attrib –S –H –R user.dat
copy system.bak system.dat
copy user.bak user.dat
attrib +S +H +R system.dat
attrib +S +H +R user.dat

You will then need to reboot the system.

•	Changing the registry values
Now, assuming you’ve backed the registry up here’s what you need to change. You may wish to experiment with these slightly to suit your environment. Remember that the MTU must match that specified on the NOS attach line (Covered in section 5).

•	Click START then RUN and in the box type regedit and click OK
•	A tree will be displayed. Click the ‘+’ sign at the edge of each box to move down the tree as follows:
•	HKEY_LOCAL_MACHINE
•	System
•	CurrentControlSet
•	Services
•	VxD
•	Then click on the Folder MSTCP
•	RightClick and select NEW and STRING VALUE.
•	Create New String Values for each of the following, then Right Click and select MODIFY to change the values assigned to them:

•	DefaultRcvWindow		2048
•	MaxConnectRetries		7
•	MaxDataRetries		7
•	DefaultTTL			64

DOUBLE CHECK EVERYTHING!!

•	Now, as before goto the following location in the registry:
•	HKEY_LOCAL_MACHINE
•	System
•	CurrentControlSet
•	Services
•	Class
•	NetTrans
You will see a number of folders under NetTrans something like 0000 0001 0002 etc…
Carefully click on each folder to find the one which contains your TCP/IP settings and IP address for your windows machine.

When you see the one with a key called IPAddress and a value matching your amateur radio windows IP address, create a new string value called MaxMTU and assign the value of 256 to it.

•	Now, exit from the registry, cross your fingers, shut down the PC and reboot.
•	If the PC dosent reboot properly go back to page 4 and follow the instructions for restoring the registry, then try again.

5.0	Setting up JNOS to communicate with windows

Establishing the connection between JNOS and windows requires some configuration of JNOS to attach to the interrupt on which the NDIS3 driver is installed and waiting. In addition some configuration files must change in order to setup the correct operation paramaters for an amateur network.

The following steps will complete the configuration:

•	Setting up the HOSTS file
In order to provide immediate Domain Lookup from windows, a file called HOSTS needs to be present in the C:\WINDOWS directory. Microsoft already provide a sample called HOSTS.SAM. We will use this and then modify it for our purposes:

•	Copy C:\WINDOWS\HOSTS.SAM to C:\WINDOWS\HOSTS
•	Edit the file HOSTS to look as follows, including your details where the < > are placed:

# Copyright (c) 1994 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Chicago
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97    	rhino.acme.com         	 	# source server
#       38.25.63.10     	x.acme.com              	 	# x client host

127.0.0.1       		localhost
<HUB IP Address>	<HUB c/s>.ampr.org
<NOS IP Address>  	<NOS c/s>.ampr.org         
<Windows IP Address>  	<sys2.yourcall>.ampr.org  

•	Save the file.

•	Setting Up Windows ROUTES in NOSENV.BAT
In order for windows to understand how to deal with amateur IP addresses other than that of the gateway it is necessary to establish some routes. This is done via the windows ROUTE command. Since windows95/98 are pretty poor at routing we have to fudge this stage to make it work. The following explains how this is done:

Note: If you have a file called ROUTE.* (ie ROUTE.EXE, ROUTE.BAT or ROUTE.COM) in your NOS top directory rename it to NOSROUTE.* before continuing. 

•	Edit NOSENV.BAT (Your NOS environment setup file in the NOS directory)
•	Add the following lines into the top of it, replacing < > with your details:

•	ROUTE ADD  0.0.0.0                                            <Your NOS IP Address>
•	ROUTE ADD  44.131.0.0     MASK 255.255.0.0  <Your NOS IP Address>

Note:  If you are outside the UK (Region 44.131), or wish to access other international regions you must either change the line to indicate your 44.xxx country and/or add a separate line for each 44.xxx region routing to <Your NOS IP address>.

•	Setting up Autoexec.NOS
In order for NOS to communicate through the Virtual Packet Driver, you need to attach a port to the address on which the packet driver resides (0x60).

Now you also need to make some choices regarding just what you want NOS to do. These options are as follows:

1.	Collect/Send everything to the hub (No Local Storage)
This is only really practical when you have a good 9k6 connection between you and the hub. Everything is done on-line. If you wish to use this option then download the CLIENT ONLY version of JNOS111 from the download site at http://www.gb7iph.demon.co.uk. You will need to point all your windows tools (mailers, browsers etc) to the hub IP address so that they are polled over the air.

The Autoexec.nos settings for such a configuration are as follows:

#  Wormhole to Windows (MS-TCP)
#
attach packet 0x60 win95 2048 256
rou add <windows IP address> win95 <windows IP address>

# Add one of these lines for each attached RADIO port you have (here with examples # for  ports named 144 and 432. So if hostname is g4zxi <yourcall-5> will be 
# g4zxi-5):
#
arp publish <windows IP address> ax25 <yourcall-5>  144
arp publish <windows IP address> ax25 <yourcall-5>  432

		ifc win95 descr       	"Wormhole to windows TCP/IP"
ifc win95 mtu          	256              
ifc win95 tcp mss      	216          # PACLEN/2 - 40 HEADER
ifc win95 tcp win      	432          # Mss, Mss*2 or *3
ifc win95 tcp syndata 	on
ifc win95 tcp maxwait 	12000      # MAX BACKOFF 12s
ifc win95 tcp irtt    	7000
mode win95 		datagram

ax25 hport win95 	on
ip   hport win95 		on
start			http
trace win95		111

	Since you will not be collecting NNTP or POP3 on your local machine you can #out any NNTP or POP3 related lines in your autoexec.nos file.

2.	NOS Server - Local Storage of POP3 mail and NEWS
If you have a slow connection to your hub, or indeed wish to simply increase the speed of transfer between NOS and windows you should consider using the version of JNOS111 with POP3 and NNTP servers added. This is called LIMITED SERVER and once again is available from the download site.

	The autoexec.nos settings for this configuration are the same as for example 1, however since you will be running POP3 and NNTP server on your NOS machine you will need to setup external files and add lines to autoexec.nos as follows:

•	Start the Servers
Edit autoexec.nos and add the following lines to whatever is already present: 
	
	Start POP3
	Start NNTP
	Start HTTP

	In addition to this, ensure your NOS system is already setup to poll your hub for POP3 mail. This will then be stored on your NOS system and your windows programs will then poll the NOS system to get mail.

•	Setup NNTP Client and Server
Your NOS system will need to poll (as usual) for the NNTP groups you are interested in from your hub. Following your nntp addserver lines in autoexec.nos, you will need the additional server commands:

nntp ihave 1
nntp autocreate 3
nntp profile organ “<YourCall> - <Town>, <County>, <Country>”
at 0430 “expire 24+”
at 0431 “expire now+”

Note: You will only be able to view local newsgroups in this manner if you are polling your hub for them using the nntp addserver command.
You could of course set your windows newsreader program up with a default server of your NOS system and a secondary server being your hub. This way you can browse either locally or ad-hoc via the hub and have the best of both worlds!

•	Create a POPUSERS file
Create the file called POPUSERS in your NOS top directory. This should contain your callsign followed by “:” followed by your name in lowercase followed by “:”.
i.e 

g4zxi:nick:

The callsign represents the POP3 account referred to in windows mail program setup boxes, and the name represents the POP3 password used to access the local mailbox.

•	Setup NEWS expiry file
In order to ensure your newsgroups don’t mount up to infinitum, you should place a file called EXPIRE.DAT in the NOS SPOOL directory. This file should contain the name of each newsgroup to be expired followed by the expiry period. The format is as follows:

!ampr.all		7
!ampr.misc		10
!ampr.club		7
!ampr.space		5
!ampr.comp.os2	3

etc…

•	Setting up JNOS to run in a DOS window – Background Mode
Ok, you’re almost there. The final step is to setup NOS to run in a DOS window in background mode. Assuming JNOS is installed in the directory C:\NOS, the following instructions demonstrate how to set this up:

•	Right Click on the Desktop and Select NEW and SHORTCUT
•	In the COMMAND LINE box type C:\NOS\NOSENV.BAT and click NEXT
•	Type a name for the shortcut. I suggest JNOS. Click NEXT.
•	Select an ICON for JNOS from the list displayed and click FINISH.
•	Now, right click on the ICON which has just been created on the desktop, and select PROPERTIES.
•	Under the PROGRAM TAB, Enter “JNOS” in the TOP BOX currently filled with NOSENV. Under RUN, select MINIMISED and tick CLOSE ON EXIT.
•	Under FONT select 7*12.
•	Under SCREEN ensure USAGE is set to WINDOW, and DISPLAY TOOLBAR, RESTORE SETTINGS ON STARTUP, FAST ROM EMULATION and DYNAMIC MEMORY ALLOCATION are all ticked.
•	Under MISC, ensure that BACKGROUND ALWAYS SUSPEND is NOT TICKED. Also, ALLOW SCREEN SAVER should NOT be ticked. WARN IF STILL ACTIVE should be ticked and the IDLE SENSITIVITY slider should be moved to one notch right of the FAR LEFT (Low) position.
•	Click APPLY then OK. You’re now ready to roll!

Note: You should ensure that all screensavers and power management features are turned off. They will degrade NOS performance or stop it altogether!

6.0	Testing the System for the first time.

Ok, so you’ve made it so far. Now for the moment of truth. Will it work?
I would suggest that you shut the computer down to ensure a clean start. Upon reboot, double click on the newly created JNOS icon to start JNOS running. If the TNC STA light remains on it may be necessary to exit JNOS, recycle the power to the TNCs and then restart JNOS.

The following steps will prove connectivity:

•	With JNOS running, open an MS-DOS window
•	Type PING –w 5000 <Windows IP address> 
This will prove that you can ping the windows IP address OK.
•	Now, type PING –w 5000 <NOS IP address>
This will prove connectivity between Windows and JNOS
•	Finally, type PING –w 5000 <HUB IP Address>
If this works then windows is communicating through NOS and out of the radio port. Success! (Hopefully).

	If you are having problems pinging the windows IP address then you have probably not set the network card up properly. Check for IRQ conflicts.

Problems pinging the NOS IP address usually relate to either the WINDOWS ROUTE command being incorrectly specified, the JNOS ROUTE ADD command being setup wrongly or errors in setting up the GATEWAY or DNS in WINDOWS NETWORKING.

Finally, if you can ping JNOS but not out of the radio port, check the following:

•	Ensure you can Ping from JNOS OK. The STA light may be on on the TNC in which case exit JNOS recycle the TNC power and restart JNOS again.
•	If this is OK, check the WINDOWS ROUTE COMMAND SETTINGS to ensure you have the route for 44.131.0.0 MASK 255.255.0.0 setup correctly. Typing ROUTE PRINT in an MSDOS window will show which routes are present in the windows routing table.

7.0	Using the System with Windows Tools

You now have a system which provides full connectivity with MS-TCP. You can in theory run any internet tool (Mailers, Newsreaders, Browsers etc.) you like over the link. You will need to configure the tools to point to the server. This will vary depending on whether you’ve set your hub as the server or indeed your local machine.

Carefully step though the tool configuration settings. Remember, for email the POP3 name and password are almost always your callsign and your name (both in lower case) and as specified in either YOURS or YOUR HUBS POPUSERS file.

Have fun. I am always looking to improve this and can only do so with comments and suggestions from you.

8.0	Acknowledgements

I would like to thank the following for assistance given in the setup and testing of this system.

Karl-Heinz Weiss (dj9nz)
Dan Lanciani
Matthew Curtis (m1cmn)

	Note: If you are pleased with this system, donations towards the running of the hub and / or the work of the Kent IP group are always gratefully welcome QTHR but never expected. As they say, if you like it tell everyone and if you don’t tell me!

DISCLAIMER:
All attempts have been made to ensure the validity of this information, but it should be noted that neither I nor the KIPG accept any responsibility for the correctness of the information contained herein. It must therefore be appreciated that the use of this package is entirely at your own risk. Emphasis is placed on the need to be familiar with basic windows operation, and if you are in any doubt you should seek guidance from a windows expert.

Changes to the windows registry made during this setup should be carefully performed and only after carrying out the backups described herein. 

I trust you will enjoy using the interface.
Happy Surfing!

Nick Parnell – G4ZXI
Sysop GB7IPH &Treasurer - Kent IP Group