=> [ Main index ] [ Topics index ]

Wyrepak Packet Radio Group

Technical Topic - Using AGWPE for TCP/IP

Instructions for use with Windows 98/NT/2000, by Mike Wager G7RAZ

TCP/IP over radio has often had a bad press. Many amateurs have criticised the supposed need to abandon the Windows environment in favour of a command-line programme (eg. JNOS). There have been many complaints about the perceived difficulty of setting it up, and regret at the diminishing amount of IP activity in their neighbourhood. However, for those who are within reach of IP stations and who wish to experiment seriously, various Windows-based options have long been available - and their number continues to increase.

Certain solutions have been around for a while, often relying on a Windows PC being connected via ethernet to a DOS PC which acts as the main IP server. More recently G3ZFR has brought out an eprom image for the PacComm Tiny-2 which enables the tnc to be seen by Windows as a dialup adapter (see http://www.g3zfr.freeserve.co.uk/ These hardware solutions allow native Windows TCP/IP applications to be used over radio.

Perhaps the best known of the few software solutions is the AGW Packet Engine, developed by SV2AGW. It has a W95 version but recently a better version was produced which is designed for Windows 98, NT and 2000. AGWPE also supports certain AX25 applications (such as WinPack) at the same time, making it an attractive option for the packet user - especially one who wishes to use Windows applications for packet radio. However it is often seen as something of a challenge.

This is partly because AGW's own instructions are brief, optimistic (and translated from his native Greek), partly because there are very few other help resources which are easily accessible, but also partly because of the widely-held belief that there are many amateurs out there who have tried to set it up and couldn't get it working.

In an attempt to help those packet users who are daunted by this challenge, I have written a Help File. This document - divided into 7 sections for ease of reference - aims to assist those who genuinely wish to "have a go", and who are not too proud to be told in some detail how to do some occasionally quite basic routines! It only refers to the TCP/IP driver designed for Windows 98 and later, although users of W95 may find some of the notes helpful when attempting to set up the W95 Dialup version.

It derives its information firstly from SV2AGW's own help files, secondly from notes written by a range of other amateurs (notably G4APL, IW3HXN and IR3MP) and lastly from my own, very limited experience with W98.

If you use this document and find it useful, I should be glad to hear from you. Should you spot any errors, or wish to suggest improvements, I would also be pleased if you would get in touch.

73, Mike Wager, G7RAZ

Packet: G7RAZ@GB7WIS.#22.GBR.EU
E-mail: MikeWager@aol.com

(Written: April 2002)
 

1. Obtaining & loading the required AGW files

  1. Obtain copies of the latest AGW software

    If searching on the internet, there are two main websites:

    The required files are:

    • agwpe.zip - the packet engine (currently version 2002.10)
    • drivers.zip - the driver files
    • agwmonitortcp.zip - a monitor program
    • arpagw.zip - a utility for creating a static arp
    • agwtermtcp.zip - a terminal program

  2. Extract all the files into a suitable directory (eg C:\AGW)

    Drivers.zip contains two further zip files

    • agwtcpip.zip - for W98/NT
    • tcpip2000.zip - for W2K

    Unzip the files appropriate to your situation. Note that agwpe.zip also creates a sub-directory for HTTP files.
     

  3. Load the TCP/IP adapter files onto a floppy disk

    The files required are:

    • AGWTCP.INF - for W98/W2K
    • OEMSETUP.INF - for NT
    • AGWTCPIP.SYS

    Note there are two AGWTCPIP.SYS files. Be sure to load the one supplied in association with the appropriate .INF file.


 

2. Installing & Configuring the TCP/IP adapter

(Note: These are mainly SV2AGW's notes with minor changes and a few extra observations)

Installing the adapter:

  1. Put the floppy disk with the files AGWTCPIP.INF (or OEMSETUP.INF for NT) and AGWTCPIP.SYS into the A: drive
  2. From Control Panel double click [Network]
  3. Press [Add] button
  4. Select [ADAPTER] and Press [ADD] button
  5. Press [Have Disk] button
  6. AGWTCPIP.INF should be found. Press [OK] to install

Configuring the adapter:

  1. From Control Panel double click [Network]
  2. Scroll down to the SV2AGW TCP/IP Adapter. (Don't confuse this with the SV2AGW Network Adapter further up). Select it and press [OK]
  3. At this point Windows may possibly ask for the installation CD
  4. Select from the list TCP/IP->SV2AGW TCP/IP Adapter and press [Properties]
  5. Check "Specify an IP address" and enter your IP address. In the "Subnet Mask" enter the value 255.255.255.0 (some commentators advise 255.0.0.0)
  6. Go to the WINS Configuration tab and check "Disable WINS Resolution"
  7. Go to the Gateway tab and enter the address of the IP station you link to (either a router/node or a hub/BBS. Enter nothing if you are going to be a Gateway station.
  8. Go to the DNS Configuration tab and check "Enable DNS". Enter the details of your nearest domain name server. If, for example, it is "gb7oip.ampr.org", type "gb7oip" in the Host field and "ampr.org" in the Domain field. Then enter the IP address into the DNS Server Search Order field and click on Add. Please note however that I have operated quite happily with DNS disabled. This may be to do with having set up the HOSTS and AGWROUTE.BAT files (see later). You may wish to experiment here.
  9. Go to the Bindings tab and check "Client for Microsoft Networks" (only)
  10. Go to the Advanced tab and check that it is empty or that values are set to "No".
  11. Go to the NETBIOS tab and ensure that NETBIOS is disabled.
  12. Press [OK] to complete the configuring of the adapter.

Finally press [OK] to complete configuring the Network.

Windows will encourage you to restart the computer. You don't need to do so until later.

 

3. Configuring Windows routing

This is to enable Windows to route AGW's packets not only towards the nominated gateway, but also (and especially) towards stations beyond the gateway.

  1. Double click on AGWARP.EXE (the ARP utility). It will ask for a Callsign.
  2. Type the AX25 address of your gateway station (eg GB7WIS-8)
  3. For RadioPort, type 1 (let's assume your first AGW port will be number 1)
  4. Enter the gateway's IP address (in my case: 44.131.168.242)
  5. Make a (carefully-written) note of the command line in brackets
  6. Press Return to close the window and repeat the above for as many other stations you wish to link up with (eg my hub/BBS is GB7WIS-5, 44.131.168.246)
  7. Open an MS-DOS window and type "EDIT AGWROUTE.BAT"
  8. The first line will be the first ARP command you wrote down. However, you should use hyphens (-) not colons (:) to separate the hex characters at the end (see example)
  9. On the second, type "ROUTE ADD 44.0.0.0" then your gateway's address
  10. A third line might be the second ARP command you wrote down (eg. My BBS)
  11. A fourth might be something like
    "ROUTE ADD 44.131.168.246 44.131.168.242"
    (which ensures that packets to the BBS (246) are routed via the gateway (242).

For illustration, my AGWROUTE.BAT looks like this:

ARP  -s  44.131.168.242  8e-84-20-84-4c-76
ROUTE ADD  44.0.0.0  44.131.168.242
ARP  -s  44.131.168.246  8e-84-22-84-4e-74
ROUTE ADD  44.131.168.246  44.131.168.242

Save the file into the folder where all the AGW files are stored. Then test the file by double clicking on it and checking no error messages occur.

There is also a file in the Windows directory called HOSTS (no extension). I cannot say with certainty that it is useful to have it configured, but I have entered into it details of my gateway, my BBS and a couple of other local IP stations. My understanding is that this enables me to quote their (domain) name rather than their (numeric) address when attempting to connect to them. The format is explained in the sample file HOSTS.SAM, and therefore making additions of your own should be straightforward. For illustration, this is an extract of my HOSTS file:

# home/node/bbs calls
44.131.168.128  g7raz.ampr.org
44.131.168.242  gb7wi.ampr.org
44.131.168.246  gb7wis.ampr.org
# local amateurs
44.131.63.34  m0cke.ampr.org
44.131.174.18  uhf.g4wsz.ampr.org
# nodes and mailboxes
44.131.174.2  news.gb7oip.ampr.org
44.131.174.3  mail.gb7oip
44.131.174.73  gb7oip.ampr.org

 

4. Loading & configuring AGWPE

Run AGWPE.EXE - this will install the program into the windows task bar. Right click this icon to bring up the configuration screen. Select "Properties" and click on "New Port". After clicking "OK" you will need to configure the port according to your circumstances - mainly depending on what type of TNC you are operating and how your PC is connected to it. Once this initial configuration is complete, close and restart AGWPE, following these instructions:

  1. Run AGWPE.EXE configured properly with tnc(s) attached
  2. Right click on its icon and select "TCPIP over radio setup"
  3. Select "Enable TCPIP (Recommended method)". You can ignore the "Setup Routes" as this is covered by our AGWROUTE.BAT file
  4. Enter your registration number. If you don't then TCPIP will work for only 45 minutes (enough for tests) after which you'll have to restart AGWPE.
  5. Select the desired radio port for default routes. (Probably "All Ports USE")
  6. Enter your callsign for TCPIP operation (eg. G7RAZ-5, following UK convention)
  7. The "Via path" setting is unclear - I believe it may be the (AX25?) call of a digipeater you use to get to your gateway.
  8. The "Pass all ip traffic ..." box is usually unchecked, unless your computer is acting as a router. Some commentators advise having it checked, however. It seems to make few odds.
  9. The "Allow broadcast messages...." box should be unchecked too, otherwise you will tx "ugly" broadcast messages. You can enable it for network testing (if you wish to see other computers in the Network Neighborhood"), but since it will send out a lot of long packets which are unhelpful on a 1200Baud link, it is best left unchecked.
  10. Set the desired Paclen (it is actually the MTU or MSS). The optimum value for 9600 is 576. This produces packets about 520-530 bytes long. For 1200 use a smaller value since it is possible for Baycom users to lose sychronisation when receiving large frames. A value of 256 is quite good, especially if working into a BPQ or unmodified x1j4 node . This value is added in the registry and is controlled by the driver.
  11. Click OK, but don't restart the program just yet.

Right click on the icon again and select "Start up programs". Using "Add" and then "Browse" select the following three programs to be automatically started when AGWPE is run:

  • AGWTERMTCP.EXE   &   AGWMONITORTCP.EXE (from the AGW directory you set up)
  • AGWROUTE.BAT (from wherever you saved it to)

If you are going to have people make HTTP connections into your machine, have a look at the "Setup Interface" section in the icon bar menu. I have no information about its configuration available, but certain items are obvious. Note that this configuration appears not to be necessary for your own use of Internet Explorer for outward connections (see next section).

Exit the program and restart the computer. When the PC is ready, load AGWPE. There may be some issues about configuring AGWTERMTCP and AGWMONITORTCP - I couldn't ever get them to work under W95, for example - but they can be put to one side for the time being. As long as you have the AGW icons (in the form of tnc's in your icon tray) you are ready to start testing Windows applications over radio.
 

5. Testing Windows applications
 

Ping, Telnet and FTP

To ping another IP station, open an MS-DOS window and type "ping 44.131.168.242", amending the IP address to your intended target. Windows will send four test "pings" to the target and will report on what comes back. Note that pings to more distant IP stations may appear to be lost as Windows IP is impatient and times out rather quickly on slow links.

For telnetting other stations, first load the program (C:\WINDOWS\TELNET.EXE). Click "Connect" and then "Remote system". Enter the address of the first IP station you might connect. Hopefully you should be connected and be able to proceed as with other telnet connects. You may wish to set up a batch file to enable you to simplify these instructions. Type the line "C:\WINDOWS\TELNET.EXE 44.131.168.242" (again amending the IP address to your intended target) and save the file somewhere sensible, creating a shortcut to it on the desktop. By double-clicking on the shortcut not only will the program be run, but also the telnet request will be sent.

For FTP testing, you can use the basic Windows FTP.EXE. From an MS-DOS window type "FTP 44.131.168.242" (again amending the IP address to your intended target) and you will hopefully be connected and then proceed to log in. Remember, other FTP client programs are available.
 

Internet Explorer (HTTP)

By typing in the address in the URL box (for example: http://44.131.174.73), you should be able to make an HTTP connect to an IP address, too. Amend the Connection settings within IE's properties, selecting "Never dial a connection". Some commentators advise configuring a proxy server via the LAN, but I found this unnecessary, with connects being directed correctly. I would like to think that this was due to AGWROUTE.BAT and the HOSTS file having informed Windows where to send RF-intended (ie 44.x.x.x) packets.
 

Outlook Express (SMTP, POP3, NNTP)

Assuming you already have Outlook Express on the PC and have configured it for internet access, make a new identity for your amateur radio mail/news, using File > Identities > Add New Identity.

Use the wizard to create a mail account (Tools > Accounts > Add ... Mail). Your name could be your callsign or your real name. Your address should be similar to g7raz@g7raz.ampr.org. Liaise with your sysop about the names he uses for the incoming and outgoing mail servers. The account name will usually be your callsign, and the password should be the password agreed with your sysop (often your first name).

Once the account is created, add some final settings by double clicking on the account name. Under General, add "Amateur Radio" as the Organization, and your "Reply address" should repeat the address mentioned above. Most importantly, under Connection, find "Local Area Network" and check "Always connect to this account using...". Under Advanced you may wish to lengthen the "server timeouts", if the link to your mail server is likely to be slow.

Use the wizard in the same way to create a news account. Configure the final settings also as above. Hopefully Outlook should now function on RF exactly as it does on the internet.
 

6. Troubleshooting

I cannot be alone in finding that nothing works first time on a PC...!

The most obvious suggestion, when the TCP/IP side of things doesn't work (even with PING) is to retrace your steps and check the configuration settings. Perhaps double-check the ARP codes in AGWROUTE.BAT file especially. Otherwise here are a few hints which may point you in the right direction.

The best form of diagnosis is by means of observation. By checking what is happening to the IP packets, some clue may be gained as to where problems lie. Monitoring can be achieved either with the TCP version of AGW MONITOR or, more simply, in the monitor window of Winpack, which runs very happily on AGW. Of course you need to be familiar with how IP packets interact, but even if you aren't, any fellow IP enthusiasts, whose helpful advice you ask for, may well find a trace of packet exchanges to be useful in pinpointing problems.

Some commentators I have read have found WINIPCFG to be useful for identifying wrong adapter settings. From Start, click on "Run", type WINIPCFG and press Return. Use the pull-down menu to locate the "SV2AGW TCP/IP Adapter" and examine the "Adapter Address". This has been derived from the callsign you entered as MyCall in AGWPE's "TCPIP over Radio Setup" configuration. You will need to check the table in the Appendix to see if your call is correctly reported. See also that your IP address, sub net mask and gateway address are correctly reported. If not you should remove and re-install the TCP/IP adapter in the way already described.

I have found, however, that my setup works despite a wrongly reported code. I have entered G7RAZ-5 as the IP MyCall. This is 7 characters, but only 6 Hex codes are permitted, and if I read this aright, it looks as though the SSID (-5) is ignored, and in its place "00" is tacked on, giving 83-6e-73-2c-92-00. The inconsistency is with the "R" which the table lists as 71 and the "Z" which should be 90. Nonetheless my setup works, so any discrepancies you find may not be critical either.

Also suggested as a check is the registry settings of callsign and MTU. The registry is accessed by clicking Start, then Run and typing "regedit" and pressing return. Work your way down the directory structure thus: HKEY_LOCAL_MACHINE > System > CurrentControlSet > Services > Class > Net. Check the contents of files 0000, 0001, etc, until you find the one referring to the "SV2AGW TCP/IP Adapter". You will see the references to MyCall (format as above) and PacLen. Ensure that these are correct. Mind you, editing these values is a tricky thing and you would do well to do this only if you know what you are doing... Fortunately my settings were as I expected.

Finally, you can always call on the help of the packet community. The bulletin field AGW or AGWPE can be written to with requests for help. More fruitful, however, might be putting out requests to the Yahoo group set up by SV2AGW, provided you have internet access. But then, if you're interested in running IP applications like Internet Explorer, it's surely because you already use them on the internet...
 

7. Appendix - Ethernet adapter address codes

This is the table of codes I found published by an Italian AGW user to show how the conversion between your call and this hyphenated Ethernet adapter address is done. The introductory explanation is my translation...

"Let's take as our example the callsign IK5ABC. The first 2 bytes of the code correspond to the letter I, which is in initial position and is 92 in hex. Then K in second position is 96. Number 5 in third position is 19. Letter A in fourth position is 2C. Letter B in fifth position is 30 and letter C in sixth position is 34."

 
000000  60 60 05 04 04 04 
111111  62 62 09 08 08 08
222222  64 64 0D 0C 0C 0C 
333333  66 66 11 10 10 10 
444444  68 68 15 14 14 14 
555555  6A 6A 19 18 18 18 
666666  6C 6C 1D 1C 1C 1C 
777777  6E 6E 21 20 20 20 
888888  70 70 25 24 24 24 
999999  72 72 29 28 28 28 

AAAAAA  82 82 2D 2C 2C 2C 
BBBBBB  84 84 31 30 30 30 
CCCCCC  86 86 35 34 34 34 
DDDDDD  88 88 39 38 38 38 
EEEEEE  8A 8A 3D 3C 3C 3C 
FFFFFF  8C 8C 41 40 40 40 
GGGGGG  8E 8E 45 44 44 44 
HHHHHH  90 90 49 48 48 48 
IIIIII  92 92 4D 4C 4C 4C 
JJJJJJ  94 94 51 50 50 50 
KKKKKK  96 96 55 54 54 54 
LLLLLL  98 98 59 58 58 58 
MMMMMM  9A 9A 5D 5C 5C 5C 
NNNNNN  9C 9C 61 60 60 60 
OOOOOO  9E 9E 65 64 64 64 
PPPPPP  A0 A0 69 68 68 68 
QQQQQQ  A2 A2 6D 6C 6C 6C
RRRRRR  A4 A4 71 70 70 70 
SSSSSS  A6 A6 75 74 74 74 
TTTTTT  A8 A8 79 78 78 78 
UUUUUU  AA AA 7D 7C 7C 7C 
VVVVVV  AC AC 81 80 80 80 
WWWWWW  AE AE 85 84 84 84 
XXXXXX  B0 B0 89 88 88 88 
YYYYYY  B2 B2 8D 8C 8C 8C 
ZZZZZZ  B4 B4 91 90 90 90 

=> [ Main Index ] [ Topics index ]


Copyright 2002 Paula Dowie G8PZT
g8pzt@blueyonder.co.uk