Frequently Asked Questions

&

HOW TO's

EQUIPMENT FOR FLEXNET NODES

Subject: Equipment for a PC/FlexNet-Digi

A typical PC/Flexnet-Digi site consist of a PC with multi serial ports connected via serial cables to tnc's running a special KISS EPROM called 6pack. Before you can select the hardware equipment needed to build or convert from a NetRom site you need to be sure you understand

Site design considerations:

FlexNet is a polling system with a configuration rule that must be followed to insure proper operation. When designing your configuration you must keep in mind that the RS-232 baud rate used on any of the PC serial ports and on it's associated TNC terminal port(s) must equal or exceed *twice* the sum of baud rate used on all the TNC Radio port(s).

A FlexNet 6pack software driver which is used within the FlexNet-Digi for each virtual channel which are called ports, communicates with each TNC running a program called 6pack.bin contained within the TNC EPROM. The 6pack EPROM is a special KISS EPROM with additions that allow FlexNet links to operate faster.

A single TNC can be connected to a single PC serial port. Up to six TNC's can be wired in series and connected to a single serial PC serial port. As an example a TNC running 9600 on it's radio port would need a TNC terminal port and PC serial port baud rate of 19200. Six TNC's connected in series all running 1200 on their radio ports would need 1200 X 6 = 7200 x 2 = 14400 which is not a standard value so again 1920 would be needed for the TNC(s) and PC serial port baud rate. Not all TNC terminal ports or PC serial ports are capable of 19200 baud. See paragraphs below for details. Remember 9600 radio links need 19200 terminal and PC serial port baud rate. If the TNC or PC serial port baud rate limit is 9600 then only four TNC's with 1200 radio baud rate may be used in series. If any one of TNC's in series fails they all fail. Although using the series configuration does save PC serial port requirements this config may not be a good idea at a remote site. This is a decision to be made by the Sysop based on local conditions.

Computer selection:

PC FlexNet software can run on about any PC with the DOS operating system. That includes an XT. Most of the flex systems here in the Greater New York region are running on yesteryear PC's such as 386/486, sx/dx, 20-33 or higher.  At some sites FBB PBBS are run as applications on the same machine. For this a 66 Mhz 486 does well. The combination Flexnet-Digi/FBB works well and is very stable. Some of these are running at remote sites with use of both the FlexNet and FBB remote sysop features. An example is WT3V on top of the blimp hangar at NAS Lakehurst NJ.

Memory. FlexNet can operate in the conventional 640k area of memory. No other memory needed. If FBB operating on same machine then up to 16 megs can be used but 4 to 8 meg will do the job. FlexNet runs in normal memory with some modules loaded high. FBB version 7.00 using DPMI must be used. FBB uses some of normal memory to load then runs in extended memory.

Drives. The machine should have one 144 floppy and a Flexnet-Digi can operate with just that. It is better to run a small hard drive which are common in the older machines. Flexnet writes current network status data to disk every few minutes. We have never had a hard drive problem even at the coldest mountain top sites such at W1TOM Chester, MA. A larger hard drive for a Flex/FBB system can't hurt.

For remote site in a small cabinet it is not necessary to operate with a keyboard and monitor. All commands can be done over the air by the Sysop using a valid password. A keyboard /monitor can be brought to the site for a config change such as adding a port or local RF testing etc. If the system is to be operated without a keyboard connected make sure the machine will boot. Some bios can select bypassing the no keyboard error. If you can't find a
machine that will boot without the keyboard remove the guts from an old keyboard and install it inside the computer case.

Serial ports:

Older PC serial cards and serial ports on mother boards used 8250 uarts. These are not suitable for operation above 9600 baud. Later model card and mother board serial ports use 16550 uarts which are OK above 9600. If you
buy new multi port serial cards make sure they use 16550 uarts. Make sure you know what kind of uarts you have and follow the rule explained above concerning radio vs terminal/PC serial port baud.

If you are going to operate a Flexnet_Digi needing a lot of serial ports you can get up to nine by using two multi port cards plus one of the lower com ports on a regular card or mother board. See below. That kind of a system
should stay away from newer machines with plug and play bios unless it can be disabled. A newer machine is great for a flex/fbb machine requiring only a few serial ports.

The multi port cards we have been using for our NetRom HUB config and now our FlexNet config are made by SIIG Inc. Fremont, CA. USA.
HighSpeed/Hi-IRQ I/O, I/O Expander 4S

Current versions can address up to 12 ports Com-1 thru Com-12. Older versions could address only 8 ports COM-1 thru Com-8. All can select all irq's that could be available. That is 3, 4, 5, 7, 9, 10, 11, 12 and 15.

The basic card includes support for the 4 ports but comes with only 2 16550 Uarts installed. Current models have two DB-9 (male) connectors on the back. Older models have one DB-9 (male) and one DB-25 (male) on the back. This card sells retail for $39.95. To add the other two ports an upgrade kit is required. I/O Expander 4S Upgrade Kit. That includes the other two 16550 Uarts and the cable assy for the other two ports. Like the basic card, current
models have two DB-9 connectors and older models one DB-9 and and one DB-25 Connector. Retail on the upgrade kit is $28.95.

The older model addressing only 8 ports will do the job we need done in most of the time. There is one issue to be taken into consideration. The newer machines may have COM-1 and COM-2 on the mother board. Also many machines use multi I/O cards that support the two com ports, the printer port, game port,
the floppy and IDE drives. We have found that although the two com ports on the mother board or multi card can be disabled, they are not. We have run into problems when trying to use COM-1 and COM-2 addresses on the Hi speed card with the others disabled.

Please note that we want the 16550 Uart performance and sometimes the older regular cards do not have them. The SIGG card that does support the 12addresses does come in handy when using two cards to get 8 ports and avoiding
the normal COM-1 and COM-2 addresses. This is not necessary if you can find a only IDE card (no serial or game port) for the drives.

Serial Cables.

Standard serial cables available from computer stores can be used for connecting the PC serial port to the TNC terminal port. They can also be fabricated using only three wires. RXD, TXD and ground. Other RS-232 functions not used. The series config can easily be wired from one TNC to another.

TNC selection:

TNC's to be used for a Flexnet-Digi must be what is known as TAPR, TNC-2 compatible to be able to operate with FlexNet 6pack code contained in an EPROM. The most common of these are the AEA PK-80, PacComm TNC-200, Tiny-2, Spirit and the MFJ 1270 series. All of these have a 1200 baud radio modem and 9600 daughter board modems can be installed. The Spirit modem is on the main board starting at 4800 baud. Unfortunately the 6pack code is not available for Kantroncis TNC's therefore they cannot be used.

Open squelch DCD boards should be installed on all 1200 baud TNC's.

The original TNC-2 design used in the PacComm TNC-200 and and MFJ TNC's does not support 19200 terminal baud rate. As such without modification they cannot be used at the 9600 RF baud as explained above. Fortunately they can be easily modified to run 19200 terminal baud rate.

For the best performance TNC-200, early model Tiny-2 and MFJ TNC's should be upgraded to run 9.8 MHz. clock. The 19200 terminal rate also results when this upgrade is done. Upgrade kits are available from PacComm. 9.8 MHz clock is standard on later model Tiny-2 and all Spirit.

6pack EPROM.

All 6pack EPROM are the same. The EPROM is a type 27C256. A speed of -12 or -15 is ok for TNC's with 9.8 clock. I can burn them for you if required. The image 6pack.bin comes with the FlexNet software.

GETTING FLEXNET NODES TO TALK TO THENET NODES
From: "SANY Ski Reporting Service"
To: <info@northeastflexnet.org>
Date: Mon, 21 May 2001 10:30:11 -0400
Subject: A question?

Hi there. I am setting up a FlexNet digi in Cortland NY and I am trying to find some information on how to gateway FlexNet to our regular TheNet node stack. Do you have any URL's on how to do this. I would appreciate it. I have searched the web and can't seem to find out how to do this.


Chris Perrine - KB2FAF
Operations Director
Ski Areas Of New York, Inc.

Chris:

TheNet changes:

Set parms/modes on neighboring TheNet X1J4 node to the TN<-Flex column in NEDA parms table.

see
http://www.packetnetwork.org/neda/ (This link has been as reported broken 6/2003 by KA2MYD - Thank you!)

Of real importance is to set Parm /23 1 Mode /17 0 which allows FlexNet to digi through TheNet

At this point, we set the mnemonic for each TheNet backbone node facing FlexNet to FLEXxx or FLXxxx or FXxxx so TheNet users have a hint how to get into the FlexNet network.

For example:
If the node is facing FlexNet in Syracuse, which converted to FlexNet, I would make it FLXSYR..

For multiple TheNET nodes facing Syracuse, name them FX1SYR, FX2SYR, FX3SYR...

Hence, the backbone port now becomes a visible node with the name "Flex something"...

Also good to add more info to assist users on the connect text for FXxxx TheNet nodes.

This all can be done remotely with the cooperation of the node SysOp...

On the FlexNet node:

Add a link statement to each neighboring TheNet node.

Format of entry is "Link (from) (to) "
Ie "L (port number) (thenetcallsign-ssid) @"
or
"L 1 W2ABC-3 @" (no quotes !) the @ indicates link to non Flex Neighbor.

Any TheNet node you link to will show throughout the FlexNet network.

You can step further through TheNet, TNC by TNC, by "L (callsign-ssid) (callsign-ssid) @" ....

Hence if node stack W2ABC has a port W2ABC-6 facing another TheNet node K2XYZ-2 you can add the following link statements:

"L W2ABC-3 W2ABC-6 @"
"L W2ABC-6 K2XYZ-2 @"

Following this format you step through a TheNet node(s) to reach FlexNet network.

The last step to the FlexNet digi would not have the @ !

Any TheNet TNC you step through needs Parm /23 1 Mode /17 0 set...

The "LO"cal text on the FlexNet node can be quite extensive at first to assist users during the change over phase...

Those IMPORTANT little DETAILS:

Nothing works until the TXDelay is set for a port !

User ports and ports that link to non FlexNet neighbors need an SSID set !!!

Any SSID's set to a port MUST be within the SSID range originally defined by MY command.

Links to non FlexNet neighbors must have an "@" !

Links to FlexNet neighbors must NOT have an @ !

Links to neighboring FlexNet must point to the FIRST SSID in the range of the neighbor.

Links to FlexNet neighbors with SSID beginning with -0 must be entered with no ssid !!

Links to "callsign-0" are a special case, used to link to a none FlexNet neighbor without
an SSID or SSID-0, such as an HF BBS.

When installing a new FlexNet site, set the links on neighboring FlexNet pointing to new site first, then the links at new site pointing to neighbor site! (if you attempt setting the link on the near end first, you will not be able to connect to the far end to enter the link data.)

A maximum of 20 link entries can be installed at any FlexNet digi (node)...

The SSID on a FlexNet port can be removed by setting it to 16 !

The "U" flag for "User TXDelay test" is extremely harsh, will drop most users, don't use it!!

The "Y" flag on port 15 gives automatic sysop privilege to local keyboard. DON'T put a "Y" other ports !

Other lessons we have learned:

Better to be extremely verbose at first with the various information texts to assist users..

Link as far as you can, so users can find their way to familiar major nodes...

But only link over good solid paths ! (once multiple paths exist, FlexNet will choose the
best, and marginal paths can actually help the network as backup links)

The 20 limit on link entries may be a minor problem during the change over to FlexNet phase, but disappears as soon as a neighbors convert to FlexNet...

Converting every other site to FlexNet builds out FlexNet quickly, but leaves
some TheNET nodes isolated with very small nodes lists..

Backbone only node sites (one without a user port, if you have any) may initially
remain TheNET, as they were and will remain transparent to users..

Try to establish two paths to neighboring FlexNet network, or at least a fast solid path...

A single link over a crowded user (ZOO Channel) frequency is the quickest means to a disaster.

Hope this helps !!

73 John WB2CIK
FLEXNET ON EMERGENCY POWER
-----Original Message-----
From: Dave Packard
Sent: Sunday, May 20, 2001 1:18 PM
To: Bob Anderson; John Papson
Cc: John Kushneir (K2JFK); John Driscoll N2MKH; Jim Wzorek
Subject: flex query

Hi guys.

K2JFK and I were discussing emergency power for our packet nodes, when John brought up the question of how one could supply enough power to a computer in a FlexNet node during a power outage. We understand the advantages Flex has over NetROM in recovering from a power failure, but much of the interest in packet up this way relates to emergency communications.

An off-the-cuff estimate of the power requirements of a 386/486 computer sounded like a lot of current drain for a back-up battery. Most of our nodes are on deep cycle battery backup for short interruptions and manual start gasoline generators for any outage that lasts about 12 hours or more.

Have you had any experience along these lines? Comments? Regards,

Dave

K1YHR.


Hello All:

Yes, computer does draw more power, but overall improvement of FlexNet outweighs this concern. FlexNet's major benefit being it's ability to automatically route around node site and link failures.

One has to ask oneself, how often does a momentary power blink extend beyond an hour or two ? What we have found is that there is never enough battery for a real emergency, such as a hurricane or ice storm. We also found that 15 minutes of backup carries us for months on end.. The "up time" in the "ST"atus dump shows how long a node has been continuously running.

Backup time can be maximized by careful hardware selection.
Trick is to find computers that draw a minimal amount of power.

1) First off a keyboard draws power and is not needed...

2) Use a PC with a highly integrated motherboard, one with large IC's.
Also look for one WITHOUT a big heatsink on the processor IC..
Later 386 boards with about 5 big IC's and plastic 386SX processor.
386SX20's work fine for moderate size node stacks. Use of 16550
UART serial cards out weighs need for a super fast PC !

3) Finally, load the computer with the minimum amount of memory,
1 meg for a small node, 2 megs for a large multiport site.
Use newer memory such as SIMM's, modern memory draws less per
megabit than older !

4) Check the label on the hard drive, some draw a lot more power then others ! (always use IDE hard drives, old MFM and RLL drives are power hungry and plain unreliable !) It is possible to replace the hard drive with a "flash card" and small adapter board. A Flashcard has an identical electrical interface as an IDE hard drive. TAPR has a kit for the Flashcard to IDE adapters.

5) It's possible to remove fan, saving more, requires testing before doing..
One can glue heatsinks to all the chips, and let PC convection cool.

6) The floppy can also be disconnected as it also is not needed. Leave it in the machine, just unplug both the power and data cables !
That way it is available if needed for an update or something..

7) Or it is possible to run FlexNet from a Floppy drive, forgetting about
a hard drive all together. (I prefer a hard drive over a floppy, HD's are
sealed, floppy's collect dust and dirt.)

8) If you want to run a DXCluster, BBS, or whatever at a remote site,
that can be in a big fast computer linked to main node computer.
Hence the node computer can be a slower lower power unit...
Battery backup only the node computer, and forget about the frills
running in the big power hungry computer in time of emergency!

I've measured several typical 386SX20 machines, and they all draw under 50 watts, with fan, floppy and keyboard enabled.. (when one adds up how much power all the TNC's and radios draw when passing traffic, it will most likely greatly exceed the PC power drain !)

A small UPS with a marine deep cycle gel battery will keep the PC running for hours! Don't forget that most UPS's are designed to keep the monitor running to allow user to shut down. No monitor is needed for a remote site, extending backup by a factor of 4 or more !

A more expensive solution is to use a "Single Board Computer" (SBC) running off of a small 5 volt supply... These typically have built in DOS on a chip, and can run FlexNet out of a Flash ROM. A small one chip switching supply can convert 12 volt battery to 5 volts for the SBC. I have a couple that draw less than 5 watts!

Finally, an older Laptop or Notebook PC can also serve remote site. You may be limited to a single serial port, but can drive four 1200 baud links by daisy chaining TNC's RS-232 at 9600 baud... Laptops have the best designed in power management. We have these now running at two sites, one with the display (was busted) and backlight totally removed.

73 John WB2CIK
FBB Settings for FLEXNET 
to: flxnet@ww
subject: F6FBB 7.00G <--> FlexNet 3.3G
Hello All:

This is in response to a query by Jocelyn F6IQA on how to interface the F6FBB
BBS with FlexNet. As described in his original bulletin, running under DOS,
FlexNet with TFEMU loads and runs in the background. F6FBB BBS is then loaded
and runs in the foreground.  This arrangement does work perfectly, as we are
running it at many sites here in the Northeastern USA...

The following lines in three files are key to making F6FBB 7.00g work with
PC FlexNet 3.3g..
**************************************************************

INIT.SRV file:

<snip>
#
# DRSI and TFPC interrupt (Hexadecimal, default FF and FE)
FF FD
#
<snip>
***************************************************************

PORT.SYS file:

#Ports TNCs
1       1
#
#Com Interface Address (Hex) Baud
5    5         0            9600
#
#TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M/P-Fwd Mode Freq
0    0     0   0      0     0     0     0      01/03   ---- FILE
1    10    5   1      230   2     4     10     00/20   UDLY FLEX
#
****************************************************************
INITTNC1.SYS file:

M UISC
I WA2PNU-4
O 2
Y 10
****************************************************************
Hope this helps at least one struggling SysOp!														
A FlexNet Node in a PC Case - Self Contained!

Greetings,

Just thought I would share something of possible interest to the rest of you. Here's an email (further below) that I sent out to our local group of packeteers ..

Best regards,

Maiko Langelaar / VE4KLM

<<<< start of email >>>>

Just an update. Over the course of the last week I put together a rather interesting system (I think so anyways). I figured I'd pass this along to the rest of you incase it sounds interesting.


I got an old 386-16mhz PC in a 14x18x6 case, running MS-DOS 6.22 currently off a hard drive. Once I'm happy it is working, I'll replace the hard drive with a floppy disk / ram disk setup instead, like I currently use at home.

I'm running PC/FlexNet Digipeater software in DOS, controlling the TNC (thanks Chris :-) using a 6PACK eprom I burned using my eprom programmer (thanks Bill :-) The MFJ1270B is powered by the PC PSU itself !!! (12 VDC between yellow and black), and is also mounted inside the PC case. The PC fits nicely in the old PKT fridge (cabinet), leaving me with 2 shelves to put other goodies on down the road.

The only *external* component (outside the PC case) is the old VE4PKT 2 meter radio, which is ALSO POWERED by the PC PSU unit (hey, they are rated for 8 amps in some cases, so why not). Seems to work so far. Werner, thanks for the spare PSU units, since I blew one of mine trying to build this thing :-)

A nice little system that seems to be working pretty good so far. NO EXTERNAL POWER SUPPLIES NEEDED !!! I love it. It needs some more tweaking, and configuration. I'll probably put a faster CPU/Board in there, but so far so good.

The new digipeater is connectable just like a Node. It has CONVERS and TALK capabilities, so packet users can connect direct to it and have group conversations, 256 channels, or just direct conversations between users connected to the node.

It also has a MH (mheard) feature, so finally we can keep track of who the active users are in our area. Lately that feature is not required :-)

This has been running at the PKT site since yesterday morning. It's experimental of course, but just the beginning.

That's all for now. Next step, all the *paper work* ...

Maiko

<<<< end of email >>>>

BASIC BCT COMMANDS
Basic BCT commands:

"BCT" from DOS prompt will bring up terminal program...

"Alt-X" shuts BCT down, do so before leaving a node site...

":C" connects you to node as sysop (if a "Y" is set FlexNet port 15)...

":Q" forces a disconnect from your end...

F1 thru F6 are 6 different streams, have to connect individually on each stream.

Each stream can have a different callsign if wanted, set with
":MY <Callsign-SSID>"

F7 F8 have no function

F9 selects between panels

F10 is a channel monitor

Top Panel is sent text, Center Panel is Received Text, Bottom Panel is
Channel Monitor...

Home, End, PgUp and PgDn scroll back whatever panel your in (F9)...

Ctrl Home, Ctrl End, Ctrl PgUp, and Ctrl PgDn change size of panels...
How To TCP-IP with FlexNet

How-to install MFNOS on a pc-FlexNet link
Drafted by N1URO and edited by K2MF
Requires: MFNOS 1.29.2 or greater
March 21, 2003 ver-1.0.7
=========================================

As we all know, there have been issues with linking MFNOS into a Flex-net machine, and running TCP/IP successfully through Flexnet. After many hours spent, much debating, and some decent code modifications by K2MF to MFNOS to include yet another kluge for the behavior of Flex-net, N1URO discovered some interesting things (some of which make sense, some do not) that severely affected the behavior of using an IP-VC or an AX.25 virtual circuit IP mode. Whether you are using an AXIP link from NOS to Flexnet, a KISS serial link from NOS to Flexnet or an RF AX.25 path from NOS to digipeat through a Flexnet machine there are many new things to consider due to the dynamic behaviors of how pc-Flexnet operates.

Now to configure! Simply connect NOS to pc-Flexnet as you normally would. I personally happen to use the IPPD module for Flexnet and use AXIP over ethernet between my MFNOS and Flexnet, however a KISS serial interface may be treated in an identical fashion.

In Flexnet, it is BEST to configure the NOS link so that NOS' SSID is independent of the Flexnet machine. If you don't, then it is quite possible (and very probable) that Flexnet's kernel may try to take
control over the link layer 2 processes and prohibit the IP-VC from getting through to NOS as shown below:

797: S2 P9 : N1URO-6>WA2SNA-1 v WA2SNA-6*
796: S0 P7 : WA2SNA-1>N1URO-6 v WB2ZII-9

Here we have an attempt to create an IP-VC through WA2SNA's Flexnet from N1URO-6 [44.88.44.1] however because the NOS SSID (WA2SNA-1) is aliased within the range of Flexnet (WA2SNA 0-14), the kernel is responding quicker than NOS is and grabs control of the link layer 2. You will notice above in process number 796 where the digipeater WA2SNA-6* is omitted as proof of my theory. It is my personal suggestion from many tests that (depending on your individual configuration) if you are going to add an IP gateway using MFNOS to your Flex-net site you plan out your SSID range in Flexnet so that one non-user SSID (0 or 15) is allocated for the MFNOS node. If you are going to allocate your Flexnet SSID range from 1-14, I would suggest using -1 for MFNOS, and then set your SSID range in Flexnet from 2-14 instead. This way if MFNOS unfortunately locks up, freezes, vanishes, etc. for whatever reason, or is overburdoned with another process at the same time an IP-VC request comes in, the Flexnet kernel will not answer the incoming request and create a bogus link layer 2 connection. Here I have Flexnetconfigured as N1URO (1-4) with NOS having the next available SSID which is 5.

NOTE: Remember that in a pc-Flexnet network, when a machine vanishes from the direct link, Flexnet will tell the WAN to delete that machine from the Flexnet destination lists, which also will successfully disconnect the VC to the remote NOS machine.

On a wired AX.25 link, Flexnet will poll NOS approximately every 2-3 minutes, so if you have a batch file to restart NOS, you may wish to add a timer using the DOS CHOICE command which will wait 3 minutes before reloading NOS. This will give Flexnet a chance to see that NOS is down and Flexnet will force a flush of VC links to all other remote NOS ends. I personally observed this one night where the path from K2BJG-8 to N1URO-5 failed during a TCP connection. While the fault was within the Flexnet WAN cloud, Flexnet did disconnect the VC at both NOS machines which automatically re-established itself without disrupting the TCP connection when the Flexnet path was restored.

Now let's first configure Flexnet properly.

Step 1:
Create your SSID range properly. The first SSID you configure in Flexnet is also the node's primary SSID Since I will give MFNOS an SSID of 5, I will configure Flexnet to have the SSID range of 1-4 as follows:

=>mycall n1uro 1 4

Remember, if you are also a user on the network, do *not* assign your nodes with an SSID of 0 or 15 or you will lock yourself out of the network!

Step 2:
Configure your pc-Flexnet machine with a link to NOS as a non-Flexnet destination that is routable within the Flexnet WAN. You may do so by telling Flexnet to link the interface number to NOScall-SSID. In my example, NOS links on interface 3 so my link statement in pc-Flexnet is:

=>L 3 N1URO-5 @ <-- @ = routable non-Flexnet aware machine

Step 3:
You have to give the interface an SSID to enable connections through the Flexnet digipeater. This must be an unused interface SSID within the SSID range you specified for Flexnet. You do this by using the parameter command in Flexnet. In my example I will set an SSID of 2 to interface 3:

=>P S 2 3

Failure to do so will cause Flexnet to deny any and all outbound link requests from NOS!

Flexnet's side is now complete.

Now let's configure NOS. I personally use independent interface .src files for managing interfaces on my copy of MFNOS which I call using the 'source <filename>' command in autoexec.nos. The following exam-
ples are from my file called 'flexnet.src' in which I name the interface "FlexNet". You will have to adjust your timers accordingly to your specific needs. The example below shows TCP settings for my interface with an initial retry timer of 20 seconds (if no TCP ACK is received) and it will use a linear timer type to back itself off to a retry time of 1 full minute in case the network is busy with other traffic such as PBBS mail forwarding connections. The retries setting of 8 will let TCP retry a maximum of 8 times in case the IP-VC fails for whatever reason and needs restarting... thus allowing TCP to pick up where it left off and not totally time out. Using your existing 'ifconfig <interface>' commands modify the following:

ifconfig FlexNet tcp blimit 3
ifconfig FlexNet tcp irtt 20000
ifconfig FlexNet tcp maxwait 60000
ifconfig FlexNet tcp retries 8
ifconfig FlexNet tcp timertype linear

Similar settings for the AX.25 layer can also be applied to the interface. The example below shows that on link layer 2, it will initially retry the packet within 5 seconds if it has not heard an ACK. This will give Flexnet more than enough time to digipeat the packet for you. The check timer is almost void since in reality all it will be doing is checking the process link to Flexnet, not the *real* virtual circuit. Flexnet itself will check the IP-VC circuit to see whether or not the processes are still valid and if not will close them. Again, you will have to adjust these pending your own specific tests. It is quite possible that your link to Flexnet itself is very rapid however if the direct neighbor *to* the Flexnet link is slow then we don't wish to flood the network with retries too fast.

ifconfig FlexNet ax25 blimit 3
ifconfig FlexNet ax25 check 60000
ifconfig FlexNet ax25 irtt 5000
ifconfig FlexNet ax25 retries 10
ifconfig FlexNet ax25 timertype linear

Now let's tell AX.25 in NOS how to deal with the interface, and add other things Flexnet likes such as digipeating, etc.:

ax25 digipeat FlexNet on

This enables digipeating on the interface.

ax25 mode FlexNet vc

Set the default IP mode to virtual circuit. This also forces any connections on this interface to prohibit a mailbox server from launching unless the user 'kicks' the mailbox with a packet having a Text PID (by pressing the [Enter] key). This also blocks Flexnet's link polling connections from showing up as user logins by you! In a 24 hour time period Flexnet can login as you to your NOS mailbox over 200 times! That is just simply annoying and irritating and presents you with bogus mailbox login statistics. It is also a requirement of the kluge code (see K2MF's modifications in 1.29.2).

Now add a route to the local Flexnet machine and let the VC default IP mode comply with anti-polling/login kluges. If there is no pre-existing AX.25 connection from Flexnet to NOS, Flexnet will check the link by issuing an SABM (connect request) packet to NOS. In compliance with normal AX.25 specifications, NOS will send a UA (unnumbered acknowledgement) packet back to Flexnet which verifies to Flexnet that the link is still valid and to which Flexnet will then immediately send a DISC (disconnect request) packet to NOS.

ax25 route perm n1uro-1 FlexNet # Add a route to FlexNet N1URO (1-4)
ax25 hport FlexNet on # Log callsigns heard
ip hport FlexNet on # Log IP addresses heard

In autoexec.nos, be sure to have the following set:

ax25 jumpstart on

Jumpstart being on when the IP mode is VC has no meaning during the initial setup of the VC but it is now necessary for the K2MF kluge code to work properly.

Now let's configure the routing. Personally, I keep all IP routing commands in a seperate file called 'iproutes.src' (like with my interface configuration commands). If you used the install.bat file, you will notice that these commands (as with the interface commands) were included in autoexec.nos. Either will work, but if you call routines from external files they must be loaded with the 'source <drive>:/<path>/<filename>.src' command in NOS. With that said, let's create an IP route through N1URO (1-4) Flexnet to IPUE:AA1UE-8 MFNOS using the following commands:

ax25 route perm aa1ue-8 FlexNet n1uro-1

This configures an AX.25 digipeated route to AA1UE-8 through Flexnet. It also raises the question, if the Flexnet port SSID is -2, why did we use -1? This simply helps NOS tap into the power of Flexnet's dynamic routing. When a packet is received by Flexnet, it looks at four possible ways to route it! First, it checks its Link list to determine whether or not the callsign belongs to a direct neighboring link. If it doesn't, then Flexnet checks its Destinations list for the callsign. If the callsign is not on the Destinations list, then Flexnet checks its Mheard list for the callsign. If the callsign is not on the Mheard list, then Flexnet will attempt to connect to the callsign through all interfaces that have SSIDs attached to them until the request times out or the remote machine sends an acknowledgement to Flexnet, which then puts the callsign on the MHeard list and Flexnet will start to route to it that way. Also, remember that the first SSID configured in Flexnet is its primary SSID.

ax25 jumpstart exclude aa1ue-8

Ignore any I (information) frame that contains a Text PID from AA1UE-8 and also prohibit the mailbox server from ever spawning to AA1UE-8, unless the source connection is from a human (see K2MF's release notes for 1.29.2).

arp add 44.88.40.42 ax25 aa1ue-8 FlexNet

Create an ARP list entry to which the 'next IP gateway', in this case 44.88.40.42, may be resolved.

route add 44.88.40.42/32 FlexNet 44.88.40.42

Create an IP route to this single machine using the FlexNet interface. If 44.88.40.42 was routing for a larger block, then that entire block may be added to the route list instead.

Now load NOS and let's attempt to ping AA1UE-8 [44.88.40.42] over my 1k2 user interface:

ipuro-R> ping aa1ue
ipuro-R> 44.88.40.42: rtt = 2680 ms

Let's also check the AX.25 virtual circuit:

ipuro-R> ax25 status

74e2 0 0 N1URO-5 AA1UE-8 FlexNet Connected and the AX.25 route:

ipuro-R> ax25 route

AA1UE-8 FlexNet Perm default N1URO-1

At this point, all should be fine!

I hope this "How-to" helps you in not only successfully routing IP through a Flexnet WAN cloud, but also gives you some basic understanding as to how Flexnet handles the link layer 2 encapsulation
of IP frames through a Flexnet digipeater node. Flexnet is much more dynamic and robust in how it handles its AX.25 routing, and unlike our previous TheNet/X1J network is more of a real time router where nodes come and go quickly throughout the WAN. Also, in this configuration, the Net/Rom layer 3 has been eliminated (which is good in the sense that there is less packet overhead and more room for data).


Comments are always welcomed.

73 de
Barry K2MF
Brian N1URO
eof >>

Mods to MFJ-1274C or MFJ-1270C for FlexNet 6PACK
For all those that have purchased a MFJ-1274C or MFJ-1270C for the purpose of running FlexNet's 6PACK type EPROM.

As produced, these units are not the same as the previous MFJ-1270B / MFJ-1274B models, as an IC (U40) was added to do memory bank switching. They will not function correctly without the following simple modification:
1) Remove the IC U40. (CD74HCT374E) (Save IC for future use in case you want to use TNC for normal packet activity.)
2) Jumper Pin #16 to PIN#1 of the IC socket. (this grounds pin#16)

A small piece of thin solid wire inserted in the socket for U40 will surfice for the jumper. After this modification, it will function as a standard TAPR-2 compatable TNC. (Same modification is needed for NETROM/TheNet EPROMS)
73 John WB2CIK

 

 Home FlexNet Coverage Maps
 Links to other Sites The Software & Firmware 
NE FlexNet News Node Photos
Screen Shots FAQ's and How To's

Click on icon to send me e-mail