Date: Fri, 12 Feb 93 04:30:14 PST From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu> Errors-To: TCP-Group-Errors@UCSD.Edu Reply-To: TCP-Group@UCSD.Edu Precedence: Bulk Subject: TCP-Group Digest V93 #40 To: tcp-group-digest TCP-Group Digest Fri, 12 Feb 93 Volume 93 : Issue 40 Today's Topics: ANSI stat() Book on NOS! Death of AX.25 (3 msgs) G3RUH modem vs Direct FSK modems New ax25? (8 msgs) new firmware? NOS & MSC under Windows NT? nos bug query NOSintro - TCP/IP over Packet Radio NOS Xmodem Code release Wampes latest version Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>. Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>. Problems you can't solve otherwise to brian@ucsd.edu. Archives of past issues of the TCP-Group Digest are available (by FTP only) from UCSD.Edu in directory "mailarchives". We trust that readers are intelligent enough to realize that all text herein consists of personal comments and does not represent the official policies or positions of any party. Your mileage may vary. So there. ---------------------------------------------------------------------- Date: Wed, 10 Feb 93 09:42:45 EST From: crompton@NADC.NADC.NAVY.MIL (D. Crompton) Subject: ANSI stat() To: TCP-Group@UCSD.Edu, ssampson@sabea-oc.af.mil The problem is not the availability of stat() but the fact that it screws up royally on some DOS platforms and (Borland) compilers. This is a fact - I was just trying to find out if anyone could say exactly what the problem was and whose fault it was. If I remember right it was left at Borlands door?? Yes I am confused also as I saw the same reference in the manual - about it being ansi. Doug ------------------------------ Date: Wed, 10 Feb 93 8:11:23 EST From: John Ackermann AG9V <John.Ackermann@DaytonOH.NCR.COM> Subject: Book on NOS! To: Russell Nelson <nelson@crynwr.com> You (Russell Nelson) write: > > Yeah! Finally! Ian Wade, g3nrw, wrote a book on NOS. I don't know > enough about amateur radio to say if it adequately describes the > AX.25, PBBS, and NET/ROM stuff. I can say for sure that it explains > things I never understood before. I got a complimentary copy from Ian on Monday. I haven't had a chance to do more than dip into it yet, but it appears to be <very> well done... a serious cut above the usual Tab Books crap that most ham books seem to be these days. I think I'll probably be recommending it to people who want something more substantial than the currently available docs (mine included...). Though he may not cover a lot of territory that the existing docs don't, with the luxury of 300 pages to work with he can do a lot better job of explaining things. John AG9V ------------------------------ Date: Wed, 10 Feb 93 06:33:18 MST From: rnielsen@tapr.ampr.org (Bob Nielsen) Subject: Death of AX.25 To: MSgt S. Sampson <ssampson@sabea-oc.af.mil> MSgt S. Sampson <noao!ssampson@sabea-oc.af.mil> writes: > The problem is that you cannot have third party traffic on unspecified codes > in the US. There is a precedent that we can use to do this anyway though. > Pactor is an unspecified code, but the FCC doesn't care. So my feeling is > that we go ahead and use whatever we want (Ethernet, JTIDS, TDMA, CSMA, etc). > When we decide how we want the rules to read we just let the FCC know and > they'll publish it. Until then I don't think they really give a damn nor > should we. I'm not totally radical on this sort of anarchy, but in this case > changing an useless protocol to something better (as in the Pactor case) > improves communication and is therfore more important than waiting for the > ARRL to get off their RTTY ass. The Digital Committee suggested a change in the wording to the following: 97.109(e) No station may be automatically controlled while transmitting third-party communications, except a station retransmitting digital radio communications using an accepted protocol.... Hopefully the ARRL Board of Directors did not emasculate the wording here. I have only seen part of what they approved and am a bit disappointed, but hopefully the actual filing will be posted as soon as it comes out, so there will be plenty of opportunity to comment. Anyway, "accepted protocol" is a lot less restrictive than "AX.25" (accepted by whom, the user?) Bob Nielsen W6SWE ax.25: w6swe@wb7tpy.az.usa.na Internet: rnielsen@tapr.ampr.org amateur IP: 44.124.12.16 CIS: 71540,2364 ------------------------------ Date: Wed, 10 Feb 1993 16:47:39 -0600 (CST) From: MSgt S. Sampson <ssampson@sabea-oc.af.mil> Subject: Death of AX.25 To: TCP-Group@UCSD.Edu Concerning the death of AX.25 and the new protocol freedom petition: Report and Recommendation to the ARRL Board of Directors, from the ARRL Committee on Amateur Radio Digital Communications September 26, 1992 Here's a good idea: ------------------- 97.109 (e) No station may be automatically controlled while transmitting third-party communications, except a station retransmitting digital radio communications using an accepted protocol on the 6m and shorter wavelength bands, or on 10m and longer wavelength bands in sub-bands where automatic control is specifically authorized. The retransmitted messages must originate at a station that is being locally or remotely controlled. Here's a bad idea: ------------------ 97.216 Unattended Digital Station (a) Any amateur station licensed to a holder of a General, Advanced or Amateur Extra Class license may be an unattended digital station. Yes, those unwashed heathens called Technicians, certainly shouldn't be allowed to continue using packet radio. Seriously, I don't see why the Technician Class has to give up priveleges to get unlimited protocol in the ARS. Steve, N5OWK (Tech+) ------------------------------ Date: Wed, 10 Feb 1993 16:47:39 -0600 (CST) From: MSgt S. Sampson <ssampson@sabea-oc.af.mil> Subject: Death of AX.25 To: TCP-Group@UCSD.Edu Concerning the death of AX.25 and the new protocol freedom petition: Report and Recommendation to the ARRL Board of Directors, from the ARRL Committee on Amateur Radio Digital Communications September 26, 1992 Here's a good idea: ------------------- 97.109 (e) No station may be automatically controlled while transmitting third-party communications, except a station retransmitting digital radio communications using an accepted protocol on the 6m and shorter wavelength bands, or on 10m and longer wavelength bands in sub-bands where automatic control is specifically authorized. The retransmitted messages must originate at a station that is being locally or remotely controlled. Here's a bad idea: ------------------ 97.216 Unattended Digital Station (a) Any amateur station licensed to a holder of a General, Advanced or Amateur Extra Class license may be an unattended digital station. Yes, those unwashed heathens called Technicians, certainly shouldn't be allowed to continue using packet radio. Seriously, I don't see why the Technician Class has to give up priveleges to get unlimited protocol in the ARS. Steve, N5OWK (Tech+) ------------------------------ Date: Wed, 10 Feb 93 06:50:16 MST From: rnielsen@tapr.ampr.org (Bob Nielsen) Subject: G3RUH modem vs Direct FSK modems To: Steve_Wright@kcbbs.gen.nz (Steve Wright) noao!Steve_Wright@kcbbs.gen.nz (Steve Wright) writes: > Since there isn't a group specifically for packet RF bits (yet), may I ask > this question in this excellant forum ... > > ahem .. > > what are the pro's and con's of direct FSK modems (G3RUH compatible) > compared to the original RUH design which uses an EPROM lookup table. > > regards, > > Steve - ZL1BHD <- 'Big Hard Disk' At the risk of continuing a discussion that probably doesn't belong here (but where else, rec.radio.packet?)... 1. The G3RUH modem IS for direct FSK. The lookup table is used to generate the shaping required for the desired spectrum. 2. The original design was by K9NG, so the term should be "K9NG compatible". Bob Nielsen W6SWE ax.25: w6swe@wb7tpy.az.usa.na Internet: rnielsen@tapr.ampr.org amateur IP: 44.124.12.16 CIS: 71540,2364 ------------------------------ Date: Wed, 10 Feb 1993 09:15:18 -0500 From: goldstein@carafe.tay2.dec.com (k1io, FN42jk) Subject: New ax25? To: tcp-group@ucsd.edu The absolutely last thing we should be doing about the routing problem is worrying about the contention mechanism! We have debated token passing before; it fails if there is a long T/R time or many inactive stations who need to beep once every cycle. But anyway the issue concerns routing, not contention. (What we nos use on most simplex packet is a variant of Aloha, not CSMA. The ARRL lies a lot, though they could chalk a lot of it up to gross ignorance.) I did once, as a sort of joke, post a proposal called "A802", as a take-off on AX.25. Actually it's probably implementable. The joke is that A802 has as much to do with IEEE 802.x as AX.25 has to dow with CCITT X.25, which is to say, it takes some characters from the name and does violence to the rest. fred ------------------------------ Date: Wed, 10 Feb 93 10:42:12 CST From: andyw@aspen.cray.com (Andy Warner) Subject: New ax25? To: tcp-group@ucsd.edu (TCP Group) > We _DONT_ have to use callsigns for physical routing. We have to > carry callsign information, it would be quite valid to send it > as a tcp option field. Carrying that kind of information properly > as opposed to netrom which fails to regularly identify the true > source/destination user (only source/dest node) of a link. > Not only that but all the BBS traffic can easily get hold of > the callsign tcp option , or more likely extra tacked onto ip > field. Now, there's a novel idea. Is it feasable to eliminate the physical address, due to the inherently broadcast nature of the channel ? This would remove the need for ARP. Most networks resort to physical addressing to reduce the workload on hosts which are not the intended recipient. Currently most radio interfaces run in the equivalent of promiscuous mode, so the point is moot.. -- andyw. N0REN/G1XRL andyw@aspen.cray.com Andy Warner, Cray Research, Inc. (612) 683-5835 ------------------------------ Date: Wed, 10 Feb 1993 11:23:46 -0800 From: Lyndon Nerenberg <Lyndon.Nerenberg@ns.unbc.edu> Subject: New ax25? To: CCDRW@cc.newcastle.edu.au, iiitac@pyr.swan.ac.uk, tcp-group@ucsd.edu There are a couple of things to keep in mind about link layer callsign fields. First, the current six character field doesn't cut it any more. I have seen numerous callsigns (most of them special allocations) that exceed six characters. We must go to a variable length field. Second, we need to scrap the association of SSID/callsign with both identification and routing. I would prefer that the only callsign in the frame be that of the *transmitting* station, however some countries have tighter restrictions on identification. (Which brings up a side argument - how badly do we want the new design restricted by backwards regulations?) Actually the whole concept of the SSID should be scrapped - it doesn't belong this far down the stack. --lyndon ------------------------------ Date: Thu, 11 Feb 93 11:03:24 +1100 From: wkt@csadfa.cs.adfa.oz.au (Warren Toomey) Subject: New ax25? To: Alan Cox <iiitac@pyr.swan.ac.uk>, CCDRW@cc.newcastle.edu.au, In atricle by Alan Cox: > > We _DONT_ have to use callsigns for physical routing. We have to > carry callsign information, it would be quite valid to send it > as a tcp option field. I would like to see callsigns kept as unique identifiers a la Ethernet addresses at the data link layer. But I agree, routing via callsigns is an abomination. Warren vk1xwt ------------------------------ Date: Wed, 10 Feb 93 15:08:08 -0800 From: John_Hays@NeXT.COM (John Hays) Subject: New ax25? To: tcp-group@ucsd.edu Begin forwarded message: >From: Alan Cox <iiitac@pyr.swan.ac.uk> >Subject: Re: New ax25? >We _DONT_ have to use callsigns for physical routing. We have to >carry callsign information, it would be quite valid to send it >as a tcp option field. Carrying that kind of information properly >as opposed to netrom which fails to regularly identify the true >source/destination user (only source/dest node) of a link. Begin new message: Actually, as I recall the regulations, the station needs to only ID at 10 minute intervals and something about doing it in a manner that the FCC can "grok" ... A plain ASCII frame with the transmitter's callsign should do that. Simple Psuedocode follows... main-loop --- if (time-since-last-id >= 9-minutes-55-seconds && time-since-last-transmission <= 10-minutes) then send-id-packet; John ------------------------------ Date: Thu, 11 Feb 93 16:34:10 +1100 From: wkt@csadfa.cs.adfa.oz.au (Warren Toomey) Subject: New ax25? To: Phil Karn <karn@qualcomm.com> (Phil Karn), CCDRW@cc.newcastle.edu.au, In atricle by Phil Karn (Phil Karn): > > >> Yes, I think most of us agree AX25 needs replacing, lets experiment! with > >> something new. > >> I guess we have to define our problem a bit more and then we can start > >>working > >> on it. > > Well, I wasn't talking about replacing AX25, I was talking about creating > a new network layer to sit between it and IP. But since you bring it up, > yes, we could certainly use a new link layer protocol. > > >Ok, well start by replacing the CSMA Medium Access Control. How about > >some form of Token Ring? > > There are, in my opinion, much better access protocols for radio channels > than token ring. Token ring is complex, introduce long delays when the > channel is nearly idle, and don't work well when loss rates are high > (token recovery is the most complex and time consuming part of these > protocols.) > > There are many things you can do to CSMA to make it work much better, you > don't have to throw it out entirely. I agree, it does need attention. As for the something between AX.25 and IP, I'd rather see AX.25 replaced, but I know the US is restricted in that area. What would this special `middle-layer' have in it? I'd prefer a replacement for AX.25 with a better MAC, and little else apart from source/destination link addresses, a Protocol field, Data and Sync fields, and a CRC. Connectionless and unreliable. What say? Warren vk1xwt ------------------------------ Date: Thu, 11 Feb 93 23:07:46 -0800 From: Phil Karn <karn@qualcomm.com> (Phil Karn) Subject: New ax25? To: CCDRW@cc.newcastle.edu.au, tcp-group@ucsd.edu, At 9:11 2/10/93 +0000, Alan Cox wrote: >We _DONT_ have to use callsigns for physical routing. We have to >carry callsign information, it would be quite valid to send it >as a tcp option field. Carrying that kind of information properly >as opposed to netrom which fails to regularly identify the true >source/destination user (only source/dest node) of a link. >Not only that but all the BBS traffic can easily get hold of >the callsign tcp option , or more likely extra tacked onto ip >field. > >Alan The TCP option field would be the wrong place for ID information. An IP header option would be better, but if you're going to carry that overhead on every packet, why not make it do something useful? Like using it as a link level address? There's really nothing wrong with this. NET/ROM's problems with indentification are a result of the layering violation involved in making it talk to AX.25-only end stations. If you build a properly engineered network with all stations speaking the right protocol, this need not be a problem. Indeed, it's not a problem with NET/ROM when the end-users also speak it (as they can with NOS). Phil ------------------------------ Date: Thu, 11 Feb 93 23:07:46 -0800 From: Phil Karn <karn@qualcomm.com> (Phil Karn) Subject: New ax25? To: tcp-group@ucsd.edu At 9:11 2/10/93 +0000, Alan Cox wrote: |We _DONT_ have to use callsigns for physical routing. We have to |carry callsign information, it would be quite valid to send it |as a tcp option field. Carrying that kind of information properly |as opposed to netrom which fails to regularly identify the true |source/destination user (only source/dest node) of a link. |Not only that but all the BBS traffic can easily get hold of |the callsign tcp option , or more likely extra tacked onto ip |field. | |Alan The TCP option field would be the wrong place for ID information. An IP header option would be better, but if you're going to carry that overhead on every packet, why not make it do something useful? Like using it as a link level address? There's really nothing wrong with this. NET/ROM's problems with indentification are a result of the layering violation involved in making it talk to AX.25-only end stations. If you build a properly engineered network with all stations speaking the right protocol, this need not be a problem. Indeed, it's not a problem with NET/ROM when the end-users also speak it (as they can with NOS). Phil ------------------------------ Date: Wed, 10 Feb 93 21:11:11 -0800 From: Phil Karn <karn@qualcomm.com> (Phil Karn) Subject: new firmware? To: tcp-digest@ucsd.edu, "Jeffrey D. Angus" <jangus@skyld.tele.com> At 10:37 2/9/93 -0800, Jeffrey D. Angus wrote: >KISS Mode? The only things that would have to stay constant while re-using >existing TNCs are the BELL-202 modem and the 8530 HDLC. Actually, if you really want to redo amateur packet radio right from the ground up, even these have to go. I'm becoming convinced that some form of forward error correction (FEC) is essential, at least as an option when links get bad, and this pretty much precludes HDLC framing. I've been working on a sequential (Fano) decoder to a convolutional code that runs fast enough on a 486 to handle a 56kb/s modem without any trouble given channel bit error rates as high as several percent. This would deal nicely with the 70cm radar problem we have in southern California, among other things. The reason FEC precludes HDLC framing is because you need a much more robust synchronizing sequence to start off each frame. An HDLC flag is much too short. You need something more like 32 or 64 bits long that can be recognized reliably by a correlator even when a substantial fraction (say 10%) of the bits are in error. The Bell-202 modem I won't even talk about. Phil ------------------------------ Date: Thu, 11 Feb 93 20:59:50 CST From: jimh%kd4ldo.tcman.ampr.org@skeggi.vware.mn.org Subject: NOS & MSC under Windows NT? To: tcp-group@ucsd.edu Has anybody out there attempted to compile NOS under Windows NT? I understand that there are some problems with setjmp()/longjmp() under MSC 7.0 and wonder if those problems can be solved using a 32-bit architecture. What sorts of changes would I need to make to the makefile? Like most, I'm more used to Borland products, so I'm not familiar with MS's compiler. What I would like to do is compile NOS as an NT Console program, allowing it to be multi-threaded. The DOS version works, but not without difficulty. The lock files cannot be deleted (I believe this may be due to the way the file is opened, and a small problem under NT's DOS server which does not exactly emulate the DOS call.) And it seems to take *forever* for autoexc.nos to load. This is most likely because NT is multitasking a multitasking environment, and I think it would be solved by multithreading NOS. Suggestions and replies can go either to tcp-group, me (at the address listed below; not at the "Sender" address.), or both. Jim ---- Jim Henderson, KD4LDO/W0 jimh@kd4ldo.ampr.org [44.94.249.38] on 144.99 MHz Crystal, MN Internet: jimh%kd4ldo@skeggi.vware.mn.org CIS: 71321,1461 Alt. Internet: hendersj@alpha.db.erau.edu "Don't ask me how it works or I'll start to whimper!" - Arthur Dent ------------------------------ Date: Thu, 11 Feb 93 10:58:37 PST From: "Erik Olson" <erik@marge.phys.washington.edu> Subject: nos bug query To: karn@qualcomm.com, tcp-group@ucsd.edu >What you didn't say was what your FILES= parameter was in config.sys. >If it was 5 (a common value) I could easily see you get into trouble. > >Phil No, it's 20. Buffers=20 as well. I have now seen the effect triggered by * SMTP server * ftp server * pop3 server and in all cases it certainly doesn't seem to be a problem with having too many files open (only shows 4 or 5). I guess I'll come back to this one once someone else has seen it. :) --- Erik Olson (at work) erik@marge.phys.washington.edu University of Washington olson@phys.washington.edu Cosmic Ray Lab, Phys. 405 ------------------------------ Date: Wed, 10 Feb 93 14:31:48 -0800 From: brian (Brian Kantor) Subject: NOSintro - TCP/IP over Packet Radio To: brian@ucsd.edu My complimentary copy of "NOSintro - TCP/IP over Packet Radio, an introduction to the KA9Q Network Operating System" by Ian Wade G3NRW just arrived. It's 350+ pages, and appears to be quite thorough. The few chapters I've had time to browse are rather readable, with good illustrations and plenty of examples. This might be the book that finally gets packet people off their net/rom duffs and into real ham radio networking! Well done, Ian! ISBN 1-897649-00-2. Dowermain Ltd, publishers. Dunno the price. - Brian ------------------------------ Date: Wed, 10 Feb 93 15:20:38 EST From: crompton@NADC.NADC.NAVY.MIL (D. Crompton) Subject: NOS Xmodem Code release To: nos-bbs@hydra.carleton.CA I have place the nos TIPMAIL xmodem code at wg7j.ece.orst.edu in incoming/nosxmdm.zip - it is about 80K. This is based on wg7j107B code. Copy these files over that version. More info is in the readme files. This includes the latest update to the tipmail code. With the addition of this code the tip mailbox with binary file transfer (xmodem) has been working well on my system for over a week. This allows standard xmodem binary file xfer using the NOS BBS. I will probably be doing some tweaking to the xmodem code - possibly adding 1K blocks and batch support. As it stands it adds very little to the size of NOS - about 2K. I highly recommend utilizing this phone transfer to allow local beginners to get the code. Everyone has a computer and modem. I would hope the Johan would make this code a permanant part of his future releases. It is fully ifdef'ed so it should not add any overhead if you do not want it. I also ifdef'ed the stopwatch code - why carry this baggage when you don't need it. Besides it almost offsets the addition of the xmodem code. Have fun and let me know if you have any problems. Doug ------------------------------ Date: Thu, 11 Feb 93 13:46:12 MET From: erb@insu7.etec.uni-karlsruhe.de (Olaf Erb) Subject: Wampes latest version To: tcp-group@ucsd.edu B.T. writes: > Date: Tue, 09 Feb 93 16:41:05 CET > From: BARRY TITMARSH <BTITMARS%ESOC.BITNET@vm.gmd.de> > Subject: Wampes latest version > To: TCP-GROUP <TCP-GROUP@ucsd.edu>, pernici@mammolo.cnuce.cnr.it > > As far as i can see local to me the laters version being used on a number > of official bbs's and local user to these bbs's is WAMPES-300193 Right, it's no official release, and maybe you know that db0sao, db0id and other BBS's in Germany are auto-updated with Dieters versions. > But in contacting the Authors and proters of the code I have not had a > reply. This is not true. I sent you two e-mails. > In direct mail to the Author and a German Ham who ports the code to Linux > I have only had short meaningless comments, which have given no indication > of If and or Ever the wampes 930130 version will or will not be released. Meaningless comments? I thought it's the truth: > I had assumed that it had been infact released due to the Large number of > 'Trusted users' in Germany actually seen on line with W-930130. The short > responce i recived was 'Its not for me to decide when to release the code, > Ask Deter the Author' This was me, yes. It's not my decision if Dieter want to release a new version of WAMPES! And you read what he said here yesterday. I got a newer version than those at ucsd.edu from him, to test it with Linux - and it does not compile clearly.. do you want such a version? I bet one day later there would be many flames especially from YOU on this list, Barry. > Personaly if you like to wast email bandwidth then Do that. > I have never had Any replies regarding Wampes. This is not true. Maybe you should fix your mailer? Or generate resolvable return-addresses? > For me as a Linux user I stopped useing it months ago as the UNIX offers far > more in the way of mail nntp smtp telnet and ftp and much much more. It's your decision, all other users of WAMPES in Germany does not have your problems, I think they're all satisfied. And maybe others in the world can agree with this; I tried to help as much as I was able to via Email. I hate writing something like this, but I cannot just delete such junk from my mailer, sorry. Flames to /dev/null, Barry. I thought you learned something. Olaf -- ---------------------------------------------------------- ! erb@insu1.etec.uni-karlsruhe.de dc1ik@db0sao.ampr.org ! ---------------------------------------------------------- ------------------------------ Date: Wed, 10 Feb 93 13:21:49 EST From: DECARLIS@MTUS5.cts.mtu.edu To: tcp-group@ucsd.edu RMNC/FlexNet Software Version 3.0 Sysop Documentation we route everything This documentation was put together under considerable time pressure. The next RMNC/FlexNet version will contain completely revised documentation. We ask for your understanding. G. Jost, DK7WJ J. Sonnabend, DG3FBL Translated by Don Moe, DJ0HC/KE6MN Rev. 4 - 1 August 1990 Translated 20 October 1990 RMNC/FlexNet Software Version 3.0 Sysop Documentation Contents__________________________________________________________ Page 1. Introduction................................................ 1 (Part 1) 2. Hardware.................................................... 2 2.1 Reset Card.............................................. 2 2.2 New Reset Card.......................................... 3 2.3 Battery Socket.......................................... 4 2.4 Function................................................ 4 3. Installation................................................ 5 3.1 Card Addresses.......................................... 5 4. Operation................................................... 5 4.1 The Phases of a Connection via the Digipeater........... 5 4.1.1 Link Setup....................................... 5 4.1.2 Information Transfer............................. 5 4.1.3 Link Failure..................................... 6 (Part 2) 4.1.4 Disconnect....................................... 6 4.2 Routing Methods......................................... 6 4.2.1 Routing via Destination Table.................... 6 4.2.2 Routing via Link Table........................... 7 4.2.3 Routing by SSID.................................. 7 4.3 User Commands........................................... 9 11 (Part 3) 4.4 Sysop Commands.......................................... 14 16 (Part 4) 4.5 Operational Aspects..................................... 21 (Part 5) 4.5.1 Protocol version AX.25V2......................... 21 4.5.2 Unproto Frames................................... 22 4.5.3 RNR Recovery..................................... 22 4.5.4 Reconnects....................................... 22 4.5.5 I-Polling Method................................. 22 5. Creating a Master EPROM..................................... 22 5.1 Parameter Compiler...................................... 23 5.2 EPROM Patch Slave....................................... 24 6. Future Developments......................................... 24 7. Usage Restrictions.......................................... 25 7.1 Exclusion of Liability.................................. 25 8. Command List................................................ 25 8.1 USER Commands........................................... 25 8.2 SYSOP Commands.......................................... 25 9. Appendix.................................................... 26 (Part 6) 9.1 p-Persistence Method.................................... 26 9.2 Layer-2 States.......................................... 26 9.3 External Clock.......................................... 28 9.4 Links to Net/ROM & TheNet Partners...................... 30 31 (Part 7) 36 (Part 8) - i - RMNC/FlexNet Software Version 3.0 Sysop Documentation Version History 2.0:4 13 Feb 89 Test DB0AAI 2.0:5 15 Feb 89 Test DB0AAI/DB0KT - improved REJ recovery for WA8DED, etc. - eliminated bug in command interpreter 2.0:6 20 Feb 89 Test DB0AAI/DB0KT/DB0DA - optimized /ex (end of file) - transmit time limitation 2.1 23 June 89 Test DB0EQ/DB0AAI Distribution at HamRadio '89 - AX.25V2L2 version 1 support - improved Layer 1 (ext. clock, RX) - IO command implemented - /SEND command in Converse mode - general optimization 2.2 1 Oct 89 Test DB0AAI - replaced FRACK with measurement of propagation delay of <I> frames - moved SETSEARCH to a text file to make usage more flexible - eliminated SLOTTIME parameter, set equal to TxDelay - additional optimization of speed and program size - altered handling of SSID range assigned to digipeater allows operation of several nodes with the same callsign 3.0 1 July 90 TestDB0ODW, DB0KT, DB0DA, DB0AAI, DB0ZDF, DB0GV, DB0NWS, DB0WST - adaptive Sink Tree autorouter - destination table - automatic recognition of FlexNet neighbors - measurement of propagation delay on link paths - removed short wave restriction on C class licenses -------------------------------------------------------------------------- For more information contact the FlexNet Group in Germany: DK7WJ @DB0AIS.DEU.EU DG3FBL @DB0AIS.DEU.EU Gunter Jost Jochen Sonnabend Lichtenbergstr. 77 Annastr. 4 D-6100 Darmstadt D-6082 Moerfelden-Walldorf Phone (49) 6151 715279 Phone (49) 6105 25590 or by sending a Fax to DG3FBL QRL: Fax (49) 6151 895718 -------------------------------------------------------------------------- - ii - RMNC/FlexNet Software Version 3.0 Sysop Documentation 1. Introduction; Version 2 of the RMNC/FlexNet software differed significantly from its predecessors, primarily regarding the usage of the hardware and the interface presented to the user and operator. RMNC/FlexNet-V3 has several new distinguishing features, the autorouter doubtless being the most important. The most significant innovations in the RMNC/FlexNet software are: Hop-to-Hop Acknowledge The most obvious improvement since RMNC/FlexNet-V2 is that received frames from QSO's passing through the digipeater are confirmed immediately. Previously, the frame may have been transferred to another frequency and then forwarded; since V2 it is acknowledged by the digipeater immediately and then forwarded. This has improved the link reliability significantly. Whereas in the past the probabilities of an unreliable transmission were multiplied, today the entire route is as good as the worst link in the path. In general this feature is called Hop-to-Hop acknowledgement. "Connectability" Ever since the release of RMNC/FlexNet-V2, the users have been able to connect to an RMNC digipeater and conduct QSO's with it. The digipeater provides several service functions, such as information about the current activity and the available links as well as a conversation mode, etc. Remote Control Capability The RMNC/FlexNet software allows the operator to completely control the digipeater remotely. This includes all layer 1 and 2 parameters, information texts, routing data, etc. The installation of the new software is extremely simple: only the EPROM's need to be configured and installed. In order to simplify installing the parameters, a configuration program is provided for IBM-PC's and compatibles. Details can be found under 3. Installation and 6. Creating a Master-EPROM. The software is free and may be freely copied in binary form (EPROM) as long as the licensing rights are respected (see Section 7). Limitations Performance tests with the RMNC/FlexNet software have indicated that the top speed for links and user access is around 9600 bps per channel. At higher baud rates, error free processing of the data can no longer be guaranteed, although this depends upon the volume of traffic. The software design allocates 100 bytes per QSO, thus limiting the number of possible simultaneous QSO's. Tests have indicated that this number of QSO's significantly exceeds the "natural" limit imposed by the channel capacity. Although absolute numbers cannot - 1 - RMNC/FlexNet Software Version 3.0 Sysop Documentation be provided since these depend to a large extent upon the actual configuration, they are in the vicinity of 100 per channel computer. Creation of the RMNC/FlexNet Software The software described herein was developed by Gunter Jost, DK7WJ, and Ekkehard Plicht, DF4OR, in Darmstadt, West Germany. The first ideas for the software came to us in 1987, and the development was done primarily in 1988. The initial tests were conducted at our homes and later with the digipeater DB0ODW in Odenwald. This digipeater is equipped with a complete 6809 development system which allows new versions to be tested after uploading. The software is written to 95% in C by DK7WJ and some parts such as low level I/O in 6809 assembler. The code size, which was only 28 KByte in V2, has grown to 32 KByte, and thus there is no more room available for further enhancements. At this juncture we wish to thank all OM's who have helped us with assistance or observations to get the software as error free as possible. We especially thank all sysops who have contributed to stabilizing the new version by patiently testing the software. 2. Hardware; For the sake of completeness, we will first briefly recapitulate the RMNC hardware requirements, even though the most important aspects are certainly already known to the operators of previous versions. For more detailed descriptions, please refer to the RMNC documentation from the RMPRG, Frankfurt am Main, West Germany, c/o DL2FCQ, Klaus-Dieter Friedrich. A network node constructed with RMNC cards consists of 1 to 16 identical RMNC cards, each card containing the following: mc6809 processor, 4 MHz clock Z8530 SCC, serial port 6522 VIA, timer and parallel I/O TCM3105 modem Each card can be connected to a radio or an external modem. One or more of the installed cards would be used for user access and the remaining for the interlinks. SCC The serial data protocol, also know as HDLC, is generated by the Z8530 SCC. The software allows a series of options for selecting parameters such as the baud rate, full or half-duplex, external clock, etc. - 2 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Modem The data from the SCC are sent either via the internal or an external modem to the radio equipment. The internal modem, based on the chip TCM3105, is designed for 1200 bps half-duplex. For full-duplex operation, a hardware change is required, as was also the case in the previous version of the RMNC software. The modem is easily aligned with a single trimmer potentiometer. The layout of the external modem connector (see figure 2) has not been changed. VIA The VIA generates the necessary timing signals for system control and serves to communicate with the other cards in the system. This communication occurs over an 8-bit parallel bus and is thus quite fast. The layout, the designations and the usage of the bus signals has been changed since RMNC version 1.6! This is irrelevant for normal operation, but is important for sysops who wish to use their own hardware. (see figure 1). Additionally the card address is determined by the VIA from a three pole DIP switch. For further information see the section on addressing the cards. Processor The mc6809 processor is clocked at 4 MHz, resulting in a bus cycle time of 1 fsec. It is important that the clock rate of the processor not be changed since the timing of the entire software is based on 4 MHz! Tests at higher processor clock rates will take place in the future. 2.1 Reset Card; The old reset card from the RMNC can generally be used without change. However, there is the possibility that the time constants for the RESET as well as the PTT watchdog may be too short and it may be necessary to lengthen them. A new Reset-I/O card has recently become available and is strongly recommended for stable operation. 2.2 New Reset Card; The development of the new RMNC reset card was inspired primarily by problems with the old card which occasionally did not provide a clean Power-On reset. However, this signal is absolutely required for reliable operation of the FlexNet software and also for the battery backup. With the new card these problems should be solved. In the case of software crashes, caused by such things as nearby lightning strikes, there still is the possibility of loss of the data stored in the RAM, and in such a case the EPROM default values will be used. The card was developed by DK7WJ, and DC5YF from the N rnberg PR group performed the layout. The most important changes: 1. Clean Power-On reset even with fluctuating supply voltage. The battery powered RAM is reliably protected from being - 3 - RMNC/FlexNet Software Version 3.0 Sysop Documentation overwritten. During a low-voltage condition, below approximately 4.8 volts, a reset will occur. 2. The watchdog timing is performed using a digital counter chain instead of monostable flip-flops so that the times remain exact. A blockage of the watchdog as in a monoflop circuit is now impossible. 3. The remaining free space was used to provide 16 switched outputs and 16 inputs, which may be used for general control and supervisory tasks. 4. The double-sided plated-through circuit board with solder mask costs a little more but provides for quick and reliable construction. The following items should be heeded during construction: 1. One pin is incorrectly connected to the VG plug strip. This is corrected by a solder bridge from 24a to 25a. 2. The 37 pole I/O jack must be mounted with plastic screws since several circuit traces pass too closely to the mounting holes. Alternatively, plastic insulating washers may be used. 3. Reliable operation of the card is only possible with 74HCxxx IC's. xxHCTxxx or xxLSxxx are not suitable. (Exceptions: IC 7 and 8, see next). 4. IC 7 and 8 must be HEF40244. Although these are shown as 74HC244 in the parts list, these can be destroyed under certain input conditions, since they have no Schmitt trigger inputs. 5. If the I/O lines are not required, IC's 6-12 can be left off. 6. Several clock signals are available on the bus to support external modems: 4.1952 MHz : c2 (PCLK for the SCC's on the channel computers) 2.4576 MHz : a4 1.2288 MHz : a3 614.4 kHz : a2 Further clock frequencies can be taken from IC13 and put onto unused bus lines as needed. If no clocks other than PCLK are required, IC13 can be left off. The clock lines may be loaded with a maximum of 2 LS-TTL loads. For reasons of economy, a protection circuit on the bus was not provided. After being unplugged from its connector, the card must be handled according to customary CMOS practice. It may be plugged in or removed only when the computer is powered off. The power consumption of the card is less than 10 mA, assuming open switch inputs. Each switched input draws an additional 0.5 mA. - 4 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Input Circuitry The inputs may be connected to voltages, switch contacts or opto- coupler outputs. Switch contacts and opto-couplers are simply connected from the input to ground. When closed, 0.5 mA of current will flow. Opto-coupler outputs can be connected directly without pull-up resistors. Collector to the input, emitter to ground. The inputs allow a maximum of 24 volts, and the switching threshhold lies between 2 and 3 volts. Output Circuitry The outputs can drive relays or even opto-couplers directly. The outputs can withstand a maximum of 50 volts in open condition and can pass a maximum of 500 mA. Relays are switched to ground; thus the other side of the relay coil must be attached to the voltage required by the relay. A diode, such as 1N4148 with cathode on plus, must absolutely be wired across the relay coil! Alternatively, the "D" pin (18) of the connector can be attached to the supply voltage of the relay, in which case the ULN internal protective diodes take over. If LED's or opto-couplers are to be driven, their anodes can be connected to +5V. A 220 Ohm resistor limits the current flow to approximately 10 mA. Warning: The outputs are not protected against short-circuits. In the case of a current flow of more than 500 mA, the ULN's will be destroyed. Thus IC sockets are recommended, as they don't cost much more than fuses. During reset the switch outputs are disabled reliably. The state after reset can be programmed into the EPROM like all other parameters. The I/O command has been included in the PC compiler since RMNC/FlexNet version 2.1. In the case of battery backup, the output states will be stored. When attaching external equipment however, be aware that these are only switched on after some delay following a reset. If an older reset card is being replaced by the newer model, it can be still be used with LED's for monitoring the bus if the 4060 and 4528 IC's are removed. 2.3 Battery Socket; The RMNC/FlexNet software stores all QSO parameters in RAM. A loss of power thus will cause the digipeater to forget all QSO's with and over it. The majority of QSO's via the digipeater will continue without hop-to-hop acknowledgement if the digipeater no longer stores any unacknowledged frames. Furthermore, all parameters changed by the sysop will be reset to the default values. To retain the parameters during a power outage, a battery socket may be installed on the master card. Only RAM must be buffered, which is also on the slave cards. The second RAM on the master card does not need a battery socket since it is automatically initialized upon reset. This socket only makes sense - 5 - Msg# 316055 To: RMNC @WW From: DG3FBL Date: 24Oct92/0651 Subject: Part 2 / english FlexNet documentation Bulletin ID: FLX9210_2_8 Path: DB0LX!DB0AAA!DB0MWE!DB0KCP!DB0CZ!OE9XPI!HB9EAS!DB0GE!DB0LJ!DB0GV de DG3FBL @ DB0GV RMNC/FlexNet Software Version 3.0 Sysop Documentation with the new reset card since the old card did not always provide a clean reset signal. 2.4 Function; The function of the hardware does not differ significantly from earlier versions. Merely the bus communication has been restructured. Previously all cards in the system had equal priority and sequentially got the chance to exchange data. Now the cards are arranged in a so-called master-slave system. Here the card with user access is the master and all others are the slaves. The entire bus communication takes place under control of the master; it interrogates the other cards sequentially whether they have data and then forwards it if necessary. Thus the only difference between the cards is that the master has a different EPROM than the slaves. This provides the advantage that only the master card needs to be programmed with parameters, as all slave cards receive their parameter information from the master. Following a reset, the master determines how many cards are in the system and at which addresses. These are then initialized according to the parameters in the EPROM. If a card should fail during operation, this will be automatically recognized by the master after the resulting watchdog reset. This card will no longer be interrogated, assuming that defective hardware does not block the bus. After a reset, all cards are ready to support a QSO. A connection via the digipeater also counts as a QSO. The software on the link cards autonomously carries out a layer 2 connection and directs all received data to the bus so that it can be redirected by the master to other links as necessary. 3. Installation; 3.1 Card Addresses; When installing the RMNC/FlexNet software, addresses must be assigned to the cards. Here it is important to note that the card with the master EPROM has no address! It is easily identified since it is the only one with a Master EPROM. The DIP switch on this card must be set with all three switches open! The remaining cards are addressed as before with the peculiarity that each DIP switch is set to 1 higher than the card address. This results in possible card addresses of 1 to 8. The cards may be addressed in any desired order and vacant addresses are irrelevant. For card addresses from 9 to 16, DIP switch settings from 1 to 8 are used, but a value other than FF hex must also be entered at address FF00 hex into the slave EPROM. Example: Master Slave-1 Slave-2 Slave-3 Slave-4 - 6 - RMNC/FlexNet Software Version 3.0 Sysop Documentation 111 (must) 000 001 100 010 Addr.0 Addr.1 Addr.2 Addr.5 Addr.3 In the display of the parameter table (P command), the master will always appear at the address 0! The EPROM's can then be installed. Only one master EPROM is used here and all other cards receive identical slave EPROMs. To be precise, it is irrelevant whether the master EPROM is used on a link or user access, however it is recommended that it be on the user access. It may be necessary to make a small hardware change: replace the capacitors for the PTT and watchdog time constants. In order to determine whether the time constants are long enough, we recommend the following procedure: Enter the CAL command numerous times on all channels. This command causes the corresponding card to transmit for a minute, interrupted every 15 seconds to reset the PTT watchdog. If the command executes correctly without causing a PTT alarm, the time constant is OK, otherwise the capacitor on the card must be enlarged. The RMNC should now be ready for operation. After switching on power, all LED's on the reset card turn on. Shortly thereafter a characteristic counting of the 8 data lines will be seen indicating that the system is determining which cards are installed and their addresses. Immediately following the reset, a beacon packet will be transmitted by the master card. 4. Operation; Operation with an RMNC/FlexNet V3 node appears to the user initially just like V2, not much has been changed. However, it is no longer necessary to provide the complete digipeater path, rather only the entry and exit digipeaters. The hop-to-hop acknowledgement, available since V2, is probably already well known by the users. The newly implemented autorouter represents the actual improvement, making it significantly easier for the user to initiate a connection. 4.1 The Phases of a Connection via the Digipeater; 4.1.1 Link Setup; During the setup of a connection, the <SABM> frames received by the digipeater are forwarded normally, a <UA> is not sent immediately. Thus a connection will only be established if the called station is actually there. If the called station answers with a <UA>, this is forwarded to the caller. At this point two QSO's are entered into the QSO table, one from the calling to the called station and one in the other direction. - 7 - RMNC/FlexNet Software Version 3.0 Sysop Documentation 4.1.2 Information Transfer; During the information exchange, hop-to-hop acknowledge is in effect. Each <I> frame from one station or the other is immediately acknowledged by the digipeater. It then attempts to pass the <I> frame over the corresponding link. Example: Station A 1:<I> --> Digi 2:<Ack> <-- Digi Digi --> 3:<I> --> Station B Digi 4:<Ack> <-- Time sequence: 1, 2, 3, 4 Repeats due to interference or collisions will thus only occur on one interlink path and not over the entire connection route. This is particularly interesting when several digipeaters using this principle are employed. 4.1.3 Link Failure; If during an information exchange one side of the connection collapses, the connection will be broken by the digipeater with a message such as "*** DB0xxx --> link failure". This informs the partner station that something did not work. Such a link failure would generally occur if the digipeater requires more than the preset number of repeats in order to forward an <I> frame. 4.1.4 Disconnect; If station "A" executes a disconnect, this will be acknowledged immediately by the digipeater. The digipeater will then attempt to terminate the connection to station "B". If no further data from this QSO is still in memory for station "B", the disconnect will occur immediately. If there are unacknowledged data from this QSO, they will be forwarded first and the connection will then be terminated. If "B" sends further data to station "A" during this period, the data are discarded. 4.2 Routing Methods; As previously briefly mentioned, it is no longer necessary during establishment of a connection to supply all digipeater callsigns, rather only the entry and destination or exit digipeater. The routing sequence: routing via destination table, routing according to link table, routing by SSID. 4.2.1 Routing via Destination Table; The first method is based on routing according to callsign information. In this case the digipeater finds the next callsign in the digipeater field of the received frame and compares it with a table of calls maintained by the autorouter in a destination table. If a callsign match is found, the frame will be sent on the corresponding channel to the neighboring digipeater leading in the direction of the goal. - 8 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Example: DB0ODW has the following links: 1:DB0KT 2:DB0EAD 3:DB0IE and knows the following destinations: DB0ONA, DB0AAI, etc. The frame: <fm DF4OR to DK7WJ via DB0ODW,DB0AAI> will be extended to: <fm DF4OR to DK7WJ via DB0ODW,DB0KT,DB0AAI> ^^^^^ next callsign DB0KT is the next callsign in the digipeater field and is known to DB0ODW as link partner, via channel 1. Thus the frame is sent out via channel 1, even though no direct link to DB0AAI exists. 4.2.2 Routing via Link Table; If the autorouter finds no entry in the destination table, the next step is to search through the link table entered by the sysop for matches. If a route is found here, the frame is sent via this port. Example: DB0ODW has the following links: 1:DB0KT 2:DB0EAD 3:DB0IE 4:DB0XXA # The frame: <fm DF4OR to DK7WJ via DB0ODW,DB0XXA> will be sent via port 4 even though no entry exists in the destination table. 4.2.3 Routing by SSID; A further method of routing the frames is based on the SSID, which was assigned to the digipeater. In the RMNC/FlexNet V3 software, individual channels (card addresses) can be assigned SSID's, also called port numbers here. This takes place with the PARMS command. In order to use routing by SSID, the user supplies the SSID for the port over which his frame is to be sent. - 9 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Example: DB0ODW has the following link information: =>L links: channel port 1:DB0KT 1 4 2:DB0EAD 2 3 3:DB0IE 3 5 The digipeaters DB0KT, DB0EAD and DB0IE are so-called permanent links, i.e. entered with their callsigns. Furthermore an assignment of SSID's to the channel numbers is performed: channel 0 has SSID 0, channel 1 SSID 4, channel 2 SSID 3, etc. If a connection request arrives from an link and specifies an SSID for DB0ODW, the frame will sent on the channel having this SSID: <fm DF4OR to DK7WJ via DB0ODW-3> This frame will be send via channel 2, which has the SSID 3. However, the following appears on channel 2: <fm DF4OR to DK7WJ via DB0ODW-0*> Thus someone copying on channel 2 will know where the frame came from. The SSID is thus turned around. Somewhat complicated? Possibly, or inadequately explained. The best is to make some tests in order to see the effects better. Here are a couple other examples which should clarify the principle of routing by SSID: Digipeater DB0ODW Card 0 +-< Card 0 <-- A to B v SSID 0 | SSID 0 DB0ODW-7 | Card 1 | Card 1 SSID 3 | SSID 3 | A to B v DB0ODW-2* Card 2 <--+ Card 2 <-- SSID 7 SSID 7 Card 3 Card 3 SSID 4 SSID 4 Station A sends a frame to station B via DB0ODW-7, i.e. the frame is output via SSID 7. The output appears "via DB0ODW-2", thus with the SSID of the port on which the frame was received. The SSID was swapped. And the answer from B to A goes as follows: - 10 - Msg# 316063 To: RMNC @WW From: DG3FBL Date: 24Oct92/0846 Subject: Part 3 / english FlexNet documentation Bulletin ID: FLX9210_3_8 Path: DB0LX!DB0AAA!DB0MWE!DB0KCP!DB0CZ!OE9XPI!HB9EAS!DB0GE!DB0LJ!DB0GV de DG3FBL @ DB0GV RMNC/FlexNet Software Version 3.0 Sysop Documentation Digipeater DB0ODW Card 0 +-> Card 0 --> B to A v SSID 0 | SSID 0 DB0ODW-7* | Card 1 | Card 1 SSID 3 | SSID 3 | B to A v DB0ODW-2 -- Card 2 >--+ Card 2 > SSID 7 SSID 7 Card 3 Card 3 SSID 4 SSID 4 Another example: Digipeater DB0ODW C to D v DB0ODW-4 -- Card 0 >--+ Card 0 > SSID 0 | SSID 0 | Card 1 | Card 1 SSID 3 | SSID 3 | Card 2 | Card 2 SSID 7 | SSID 7 | Card 3 <--+ Card 3 C to D v DB0ODW-0* SSID 4 SSID 4 <-- Station C wishes to send a frame via the port with the SSID 4. On port 4, other stations see that the frame came from the port with SSID 0. As long as a digipeater only has fixed RMNC link partners, it is more sensible to employ call routing alone. If a digipeater has one or more Net/ROM neighbors however, it is important to use both: designate on which channel a callsign can be reached and use an SSID during connection setup. Thus the RMNC call will always find the return route to a Net/ROM digipeater. Additional examples can be found under the commands LINKS and PARMS (for sysops). 4.3 User Commands; All commands that can be entered by a user are called USER commands. The sysop has an additional set of commands or can use the USER commands with supplemental parameters. In the following explanations, <CR> represents entry of a carriage return, 0D hex. The "=>" is the system prompt from RMNC/FlexNet V3, indicating that it is waiting for input. All entries can be entered in upper or lower case letters. If a command other than - 11 - RMNC/FlexNet Software Version 3.0 Sysop Documentation those listed below is entered, the digipeater responds with "invalid command". Command: A (Actual Info) Syntax: A <CR> The A command outputs the text "AKTUELLES". This text should be reserved for current messages, such as planned changes in the near future, reports about new links, etc. The text for "AKTUELLES" can only be entered by a sysop. This text is empty after a cold restart. Command: B (Beacon text) Syntax: B <CR> The B command displays the current beacon file. This file contains each beacon for each port along with its repetition rate. Following a cold restart, a default beacon will be transmitted on channel 0. Command: C (Conversation mode) Syntax: C <CR> If the C command is entered without parameters, the Conversation mode is entered. This mode allows a large number of stations to participate in round-table discussions. A maximum of 255 different groups are possible. After entering this command, the digipeater displays a list of the stations currently logged into the conversation mode and waits for a number corresponding to the desired group to be joined. Example: =>C<CR> *** conversation mode *** users: 0: DL1AA 0: DL1ZZ --: DL2XY 73: DG3FBL 73: DK7WJ channel (0..255) => <n><CR> *** starting converse; exit: /q In this example, DL1AA and DL1ZZ are in group number 0, DG3FBM and DK7WJ in group 73. DL2XY is connected to the digipeater but is not in conversation mode. After entering the desired number <n>, the conversation mode begins. If other stations are already logged into the selected channel, they all receive the message: <DL9ABC>: *** Logon During the conversation mode, the following commands are available: /w - displays all users of the conversation mode and all stations connected to the digipeater - 12 - RMNC/FlexNet Software Version 3.0 Sysop Documentation /w n - shows all conversation participants on channel n /c - shows the current channel number /c n - switches to channel number n /s call msg - sends a private <message> only to <call> /q - terminates the conversation mode If a station disconnects from the digipeater or terminates the conversation mode, all other participants on that channel receive the message: <DL9ABC>: *** Logoff If a user switches to another channel, all participants on the original channel receive the message: <DL9ABC>: *** switched to channel n If no channel number is entered upon starting the conversation mode, the mode is immediately terminated and the user can enter a new command. Command: C (Connect mode) Syntax: C Call [Digi1 Digi2 ... Digi8] <CR> Entering the C command with parameters initiates a connection to another station. The digipeater sends a SABM to the designated callsign via the optionally specified digipeaters. As confirmation the user receives the message "link setup...". When the connection is established, the digipeater reports this with the message "*** connect to Call". If the connection to the desired callsign does not come about, the digipeater reports "*** failure with Call". If the other station responds with a busy, you will receive the message "*** busy from Call". The connection mode can be cancelled by sending a <CR> or a new command. It is not possible to establish a QSO where the source and destination callsigns are identical and have the same digipeater in the path. If such an attempt is made, the user receives the message "*** Call: can't connect twice" and the connect command is cancelled. This command can also be used on digipeaters with several user ports to switch between ports. Entering "C MYCALL-7" will switch to the port with SSID 7 and results in the confirmation "*** Call: ssid ok". If the QSO is terminated by the partner station after being initiated using the connect command, the QSO will be resumed at the previously connected digipeater, and the user receives the message "*** reconnected to MYCALL". Example: (the user is already connected to DB0HP) => C DB0ODW <CR> link setup... *** connected to DB0ODW FlexNet V. 3.0 - DB0ODW - JN49IQ - Help with H - 13 - RMNC/FlexNet Software Version 3.0 Sysop Documentation => Q <CR> 73! *** reconnected to DB0HP => or => C DB0ODW <CR> link setup... *** failure with DB0ODW => Command: D (Destination Table) Syntax: C [Call] <CR> The D command lists the destination table automatically generated by the digipeater. This table contains all stations to which the autorouter knows paths. The range of valid SSID's are shown for each callsign that can be reached. Additionally the average travel time to the destination callsign is displayed in 100 ms increments. If this number is quite large, it is possible that several <SABM>'s can be sent by the user's TNC before the <UA> arrives from the destination. The callsign of the destination may be optionally entered. The digipeater determines the path to the destination and then displays it after several seconds along with the travel time. Digipeaters shown in capital letters along the path support the FlexNet protocol, whereas those in lower-case letters are used by the autorouter to reach a destination without FlexNet neighbors. This list is essentially the same for all digipeaters. Only if the travel time exceeds 15 minutes will the destination be removed from the list. It is questionable whether such a QSO would even be possible without a link failure. Command: F (Find) Syntax: F <CR> This is the FIND command. This command can be used to search for a specific station on the same or another frequency. If the FIND command is entered along with a callsign, an <UI> frame will be transmitted via one or several neighboring digipeaters with the desired callsign as the target call. Source callsign is the digipeater's MYCALL. If the sought station hears this frame, it answers with a <DM> frame. The digipeater analyzes all returning frames and using the other callsigns in the frame can determine if it was a reply to a FIND command. If this is the case, the user who requested the search will be notified where the sought station was located. If that station is already connected to the digipeater, no search frame will be transmitted, rather the message will be immediately sent that the station is currently active via the digipeater. Example: => F DK7WJ <CR> *** DK7WJ found via DB0ODW => - 14 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Fundamentally only the digipeater will be mentioned where the sought station was located. It will generally be known by autorouter. If the sought station is not found, no message is generated, merely the system prompt "=>" reappears. Since the <UI> and <DM> frames can be "lost" in route, it may be necessary to repeat the FIND command several times. Command: H (Help Info) Syntax: H <CR> The H command calls up the help information file. This text should provide the user with some assistance in using the digipeater. The help text can only be entered by the sysop. Following a cold restart, the text memory is empty. Command: I (Info Text) Syntax: I <CR> The I command displays the contents of the INFO text memory. This text should be used to distribute general information about the digipeater, such as location, equipment, antennas, etc. The INFO text can only be entered by the sysop. Following a cold restart, the text memory is empty. Command: L (Link Info) Syntax: L <CR> The L command lists the link table entered by the sysop. The channel number as well as the callsigns reachable on the channel are listed. Example: => L <CR> DB0KT 0-7 60/68 P 1 DB0EAD 0-15 53 P 2 DB0IE 0-15 83 P 3 DB0EQ 0-8 (355/399) via DB0IE DK7WJ 8-11 44/67 P 0 - DB0ABA P 4 DB0BBS 0-15 --- P 5 => In the first column are all stations that can be reached by this digipeater. In the second column is the range of SSID's valid for the station. If there is no entry, then the range is 0-15. The third column lists the current travel times to the neighbor in 100 ms increments. If the value is missing, no measurement is performed to the neighbor. Three dashes indicate that the link currently is not operational. If only one number is in the travel time column, the partner station does not support the FlexNet protocol or no QSO is possible. If the value is in parenthesis, the value is too bad to - 15 - Msg# 316072 To: RMNC @WW From: DG3FBL Date: 24Oct92/1007 Subject: Part 4 / english FlexNet documentation Bulletin ID: FLX9210_4_8 Path: DB0LX!DB0AAA!DB0MWE!DB0KCP!DB0CZ!OE9XPI!HB9EAS!DB0GE!DB0LJ!DB0GV de DG3FBL @ DB0GV RMNC/FlexNet Software Version 3.0 Sysop Documentation be passed along to other FlexNet nodes. If there are two numbers separated by a slant bar, the neighbor is a FlexNet partner. In this case, the travel times for both directions are listed. If these values are in parenthesis, the autorouter knows a better path to the goal, meaning that the direct route is not used. A permanent connection exists to the stations assigned a port number. Stations that are reached via another are shown in the list with "via". A dash after the port number means that this link is not reported to the network. This is intended for auxiliary links in case the existing links fail or for other reasons this station should not be reported to the network, e.g. software tests, etc. Command: M (MyCall) Syntax: M <CR> The M command displays the call of the digipeater (MYCALL) as well as the range of SSID's used with the digipeater. Example: => L <CR> mycall: DB0ODW, SSIDs: 0-7 => Command: P (Parameters) Syntax: P <CR> The P command lists the currently active parameters. The parameters are classed into those that are valid for all ports (Layer 2) and those that can be set for each port individually (Layer 1). Example: => P <CR> no infobox timeout L2: check 480s; retries 5; maxframe 3; paclen 256; NR- check 90s L1: channel ssid txd persistence mode 0 1 40 100 1200 2 3 20 --- 4800 5 -- 20 128 9600tr 7 7 30 64 300 The first item is the timeout value for the infobox. Here is either the number of minutes or, as in the example, no timeout. L2 Parameters: The layer 2 parameters can only be set for all links together, as follows: check: T3 timer for AX.25V2L2 protocol retries: number of attempts maxframe: maximum number of unacknowledged frames - 16 - RMNC/FlexNet Software Version 3.0 Sysop Documentation paclen: maximum allowed frame length NR-check: timer for testing for remote busy condition L1 Parameters: The layer 1 parameters can be set individually for each link, as follows: channel: card address (0=master) ssid: SSID setting for this card or "--" means that this card does not have a special SSID. txd: TxDelay time in 10 msec steps persistence: persistence in x/255 mode: Baud rate setting for this port. A supplemental "t" or "r" after the Baud rate means external clock for TX or RX. If a link operates in full-duplex, this is indicated by "---" under persistence. An explanation of the parameter and persistence can be found in the appendix: p-Persistence method. The P command also serves to provide information about the parameter settings. Furthermore it is also very interesting for the sysop since it shows which cards were found by the master following a reset. Command: Q (Quit) Syntax: Q <CR> The Q command, QUIT, terminates the connection with the digipeater. A "73!" will be sent out first. After this frame has been acknowledged, a disconnect follows. If the QSO was initiated from a FlexNet digipeater using the connect command, a reconnect to the last digipeater results automatically. Command: S (Set Search) Syntax: S <CR> The S command (SETSEARCH) lists the digipeaters over which the FIND command is executed. Example: => S <CR> search digis: DB0ODW DB0KT via DB0ODW DB0AAI via DB0ODW DB0DA via DB0ODW DB0IE via DB0ODW => According to this example, the FIND command would thus be sent over the digipeaters DB0ODW, DB0KT, DB0DA, DB0AAI and DB0IE. The search frame is sent out from the autorouter. - 17 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Command: U (Users) Syntax: U <CR> The U command (USERS) list the users who are currently in QSO with or over the digipeater. Various other information is also displayed. Example: => U <CR> 1: S 5: P 0: DB0ODW>DF4OR 6: S 7: U 1; P 0: DB0ODW>DK7WJ 35: S 5: P 0: DL1AA>DB0GV v DB0ODW,DB0KT 2014: S 5: L 1: DB0GV>DL1AA v DB0KT,DB0ODW => The columns have the following meanings: 1. QSO number. The digipeater uses an internal number to manage each QSO. 2. S x (x:0..15) QSO state. The number x corresponds to the state number in the AX.25 protocol. S 5 means information transfer, hopefully the most common state. 3. U n; is only shown as needed and indicates the number of unacknowledged frames in this QSO. 4. P x; Port (channel number). 5. Calls and digipeater route The first QSO's listed are those with the digipeater, followed by those passing through the digipeater. Here the QSO's can be seen that pass exclusively over the links. When entering the U command, an optional parameter can be specified, namely the channel number or an "i". If an "i" is entered, only the QSO's with the digipeater's infobox are listed. If a channel number is specified, all QSO's via that channel are displayed. Command: IO (I/O Status) Syntax: IO <CR> The IO command is used to show the input and output ports of the new reset card. This card supports 16 inputs and 16 outputs, which can only be activated by the sysop. These lines allow the digipeater to be remotely controlled and data to be interrogated. Here the imagination of the sysop knows no limits. The data are output in binary. Example: => IO <CR> I:0000 0000 0000 0000 O:0000 0000 0000 0000 => The inputs are shown first, followed by the outputs. A 0 signifies a "low" on the input, a 1 a "high", likewise on the outputs. The meaning of the individual bits must be documented by the sysop. - 18 - RMNC/FlexNet Software Version 3.0 Sysop Documentation 4.4 Sysop Commands; The sysop has commands in addition to those available to the user. Some are extra commands, others are user commands with extended parameters. Commands with supplementary parameters: L - LINKS, entry of link partners M - MYCALL, setting the digipeater's callsign P - PARAMETER, setting various parameters IO - Input/Output, set or read Extra commands: CAL - CALIBRATE, transmit a calibration signal K - KILL, terminate a QSO MO - MODE, set HDLC operating parameters, reset all SCC's SY - SYSOP, authentication of sysop WRITE - Write text files, also beacons and search files RESET - Reset the entire digipeater to default values Command: CAL (Calibrate) Syntax: CAL <ch> [Min] <CR> The CALIBRATE command causes the transmitter on the card selected by parameter <ch> to transmit continuously for one minute. During this time, the carrier is modulated with a continuous sequence of 0's and 1's so that a keying ratio of 50/50 results. This command serves two purposes: - A partner station gets the opportunity to aim an antenna using a steady signal. - Modulation symmetry can be checked and adapted to the modem, similarly at the partner's receiver. Any waiting frames will be sent before executing the CAL command. In order to reset the PTT watchdog, the CAL signal is briefly interrupted every 15 seconds. Starting with RMNC/FlexNet V3, the calibrate time can be specified. Default is one minute. Entering "CAL <ch> 0" will cancel a possibly longer CAL command on this channel. Command: IO (I/O Command) Syntax: IO <bit_nr> 0|1 <CR> The IO command can set or clear the output ports on the new reset card. The bit number to be changed must be specified after the IO command, followed by a 0 or 1 depending on whether the bit should be cleared or set. - 19 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Command: K (Kill QSO) Syntax: K <QSO_nr> <CR> The KILL command serves to delete a current QSO from the user table. This requires that the QSO number be specified, which can be found in column 1 of the list from the U command. What's the purpose of this command? The KILL command is not intended to encourage capricious behavior. Under certain operational conditions, it may be necessary to delete some QSO's or QSO corpses from the table. For example: Station A and B are connected to each other and a lengthy text should be transmitted from B to A. After a period of time, the recipient, station A, becomes busy and his TNC enters the RNR condition. If this state is not manually alleviated by A, this QSO will permanently remain active, or until the next power outage. Command: L (Link) Syntax: L <ch|CALL|-> <CALL> [#|$|-] <CR> Link information is entered with the L command, whereby two or optionally three parameters are necessary. The callsigns can be entered in either lower or upper case. 1. Parameter: ch (channel number, card number) or CALL (callsign of existing link) or - (minus sign) If a channel number is specified, new link information for this channel will be stored. If a callsign is entered, the callsign is interlinked by this digipeater, i.e. the next station can be reached via this station. If a "-" is entered, the link information deleted for this channel or this callsign. 2. Parameter: CALL The callsign of the station is entered which can be reached via this port or this station. Wildcards are permitted. 3. Parameter: # (hidden) or $ (no verification) or - (no reporting) The third parameter is optional and has the following meanings: "#" : this link is NOT displayed in the link list. Thus hidden links are possible. "$" : this link is not tested for availability. This is for links that should not continuously be tested. "-" : this link will not be reported to the network. Thus auxiliary or test links are possible. Internode communication does take place between partners. All - 20 - Msg# 316073 To: RMNC @WW From: DG3FBL Date: 24Oct92/1103 Subject: Part 5 / english FlexNet documentation Bulletin ID: FLX9210_5_8 Path: DB0LX!DB0AAA!DB0MWE!DB0KCP!DB0CZ!OE9XPI!HB9EAS!DB0GE!DB0LJ!DB0GV de DG3FBL @ DB0GV RMNC/FlexNet Software Version 3.0 Sysop Documentation destinations other than this one are reported to the network. Example: L 3 DB0KT All frames destined for DB0KT are sent via card 3. L 1 DB0KT L 1 DB0FUL Two link partners can be reached via card 1, thus both callsigns are entered for number 1. In principle, when no SSID is supplied with a link callsign, all SSID's will be routed to this card. If a specific SSID is entered, only it will be routed. Example: L 1 DB0KT All frames destined for DB0KT, including DB0KT-1, -2, etc. are sent via card 1. L 1 DB0KT-7 Only frames for DB0KT-7 are redirected to card 1, all others will be sent out on the user input channel, as long as no other link information exists for the other SSID's of DB0KT. An automatic adaptation of the SSID ranges takes place between FlexNet partners. It is not possible to route one callsign to two different cards. However several callsigns may be assigned to one card. It is also not possible to use the same SSID on two different cards. If the same link information is entered for two different cards, the oldest is deleted. Example: L 3 DB0IE Frames for DB0IE are sent via card 3. L 5 DB0IE As of now data for DB0IE are sent via card 5, the previous entry is automatically deleted. In order to delete link information specifically, a "-" (minus sign) is entered as the first parameter in place of the channel number. Example: DB0ODW has the links: 1: DB0KT 2: DB0EAD 3: DB0IE L - DB0KT deletes the routing entry for DB0KT. Frames will no longer be routed there but will be output on the user access channel. It is possible to enter link information with a callsign containing wildcards. A "?" is used as the wildcard character. - 21 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Example: L 4 Y2????-2 This entry specifies that only those calls are routed by the RMNC to card 4 that correspond to this pattern, e.g. Y21AB-2, Y27XYZ-2, etc. Links to Net/ROM partners should be configured as described in the appendix. Command: MO (Mode) Syntax: MO <ch> <mode> <CR> The operational parameters for the HDLC side of the card are set using the MODE command. These parameters include the following: - baud rate for internal clock - full or half-duplex - external or internal RX or TX clocks The coding of the <mode> is in the form of a hexadecimal byte with the following bit assignments: Bit 7 6 5 4 3 2 1 0 f r t - - b b b Bits 0-2: Baud rate The baud rate is specified in bits 0-2. There are thus 8 different baud rates supported, coded as follows: Bit 210 Baud Rate 000 9600 bps 001 4800 bps 010 2400 bps 011 1200 bps (EPROM default value) 100 600 bps 101 300 bps 110 150 bps 111 75 bps Other than 300 bps for use on short-wave, the slower baud rates are certainly not very useful. Bits 3-4: Unused, reserved for future use Bits 5: Optional external/internal TX clock Bit 5 = 0: internal TX clock used = 1: external TX clock used This option can be used in the case where an externally connected modem supplies the transmit clock signal. In this case bit 5 must be set to 1. Naturally it is also necessary to actually feed the TXCLOCK signal to the appropriate pin of the modem connector. (Refer to appendix 9.3, external modems) Bits 6: Optional external/internal RX clock Bit 6 = 0: internal RX clock used = 1: external RX clock used This option can be selected in the case where an externally connected modem supplies the receive clock signal. Then bit 6 must - 22 - RMNC/FlexNet Software Version 3.0 Sysop Documentation be set to 1. Naturally it is also necessary to actually feed the RXCLOCK signal to the appropriate pin of the modem connector. (Refer to appendix 9.3, external modems) Bits 7: Optional Full or Half-Duplex Bit 7 = 0: half-duplex = 1: full-duplex If bit 7 is set to 1, the corresponding RMNC card operates in full-duplex mode. This mode has been tested to 9600 bps and functions perfectly as long as the partner station also supports it. Some TNC's or the software used in the TNC's have problems at this speed. Examples: MO 1 03 Card number 1 is set to 1200 bps, half-duplex and uses internal TX/RX clocks. MO 3 80 Card number 3 is set to 9600 bps, full-duplex with internal clocks. MO 2 5 Card number 2 is set to 300 bps, half-duplex with internal clocks. MO 6 C1 Card number 6 is set to 4800 bps, full-duplex with external RX clock. Note that the <mode> parameter must always be entered as a hexadecimal number. When a MODE command is entered, the master initializes all attached cards in Layer 1. This should not cause any problems and could at most cut short one frame being sent at that moment. The QSO's in progress are not affected. A mode command could possibly reinitialize stuck SSC's. Therefore before using the RESET command after a link failure, first try the mode command to reinitialize all cards. Refer to appendix 9.3 for connections to external modems and usage of the options for external clocks. Command: M (MyCall) Syntax: M <call> [<ssid1> <ssid2>] <CR> The M (MYCALL) command is used to set the callsign of the digipeater. The optionally supplied SSID's can specify a range which the digipeater supports for connects. The SSID range must contain all SSID's needed for the links. No port SSID can be outside this range. - 23 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Examples: M DB0ODW 0 7 The callsign is set to DB0ODW and the digipeater can be connected with the callsigns DB0ODW-0 to DB0ODW-7. M DB0AAI The callsign is set to DB0AAI and the digipeater can only be connected with SSID 0. If the MYCALL is changed, this takes effect only for the new connections with or via the digipeater. Currently active QSO's, including the one with the sysop, will continue under the old callsign. Command: P (Parameters) Syntax: P I <value> or P <L2P> <value> or P <L1P> <value> <ch> The P command sets the Layer-1 and Layer-2 parameters as well as the infobox timeout. For the Layer-2 parameters only three input values are needed since these values apply to all cards. In the case of the Layer-1 parameters, the channel number is also needed since each channel can be set individually. The infobox timeout is specified in minutes, where a value of 0 means no timeout. Possible Layer-2 parameters are: c - check r - retries m - maxframe l - paclen n - NR check Check Syntax: P C <value> Range: 10-2550 in steps of 10 (seconds) Default: 480 The check timer corresponds to the T3 timer in the AX.25 protocol. Retries Syntax: P R <value> Range: 1..255 Default: 10 The maximum number of attempts to be made to transmit a frame. Maxframe Syntax: P M <value> Range: 1..7 Default: 3 Number of simultaneously sent frames for a single QSO. - 24 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Paclen Syntax: P L <value> Range: 1..256 Default: 256 Length of a frame (I field) NR-Check Syntax: P N <value> Range: 10..2550 in steps of 10 (seconds) Default: 120 This is the timer which specifies how often the partner station should be polled if it is in the RNR state. Possible Layer 1 parameters are: txd persistence TXDelay Syntax: P T <value> <ch> Range: 1..255 (10 millisec.) Default: 40 This determines the TXDELAY for card <ch>. p-Persistence Syntax: P P <value> <ch> Range: 1..255 Default: 128 This sets the probability for card <ch> to key the transmitter. Refer to the appendix for a exact description of the p-Persistence procedure. Note: A persistence of 0 prevents the card from ever keying the transmitter, even for full-duplex! This can be used if a link should be taken out of service for a while. It is also possible however to be locked out if all links are set to p- Persistence 0. Command: SY (Sysop) Syntax: SY <CR> The SYSOP command is used to inform the digipeater that the user is a sysop. This is intended to be a simple block for "players" who like to reconfigure other digipeaters. The digipeater sends a random number as response to this command. Based on this random number and a "secret code" stored in the EPROM, the digipeater computes the necessary number for a successful login. This means that the user must perform the same computation and send the result to the digipeater. The algorithm employed is simple enough that the result can even be computed in the head, hence the security is somewhat limited. If necessary the algorithm may be changed in the future. How does it work? Here is an example: => SY <CR> <- Sysop command 12345> <- random number from digipeater - 25 - Msg# 316077 To: RMNC @WW From: DG3FBL Date: 24Oct92/1208 Subject: Part 6 / english FlexNet documentation Bulletin ID: FLX9210_6_8 Path: DB0LX!DB0AAA!DB0MWE!DB0KCP!DB0CZ!OE9XPI!HB9EAS!DB0GE!DB0LJ!DB0GV de DG3FBL @ DB0GV RMNC/FlexNet Software Version 3.0 Sysop Documentation Assuming that the secret code programmed into the EPROM was 54321, the computation is as follows: Multiply the digits in a column: 12345 <- random number 54321 <- secret code 1 * 5 = 5 2 * 4 = 8 3 * 3 = 9 4 * 2 = 8 5 * 1 = 5 The separate products are then totalled: 5+8+9+8+5 = 35 Finished! This is the number to send back to the digipeater. Assuming the computation was performed correctly, the user immediately has sysop status. In order to hide the process somewhat, the sysop command could be repeated several times. At least once the correct answer must be supplied. If the other answers are incorrect, a potential intruder would find it somewhat more difficult to recognize the correct number. No particular message is sent following a successful login as sysop, and only after trying a harmless command, such as TIMEOUT, can be determined if the process succeeded. If the user has logged in once as sysop, the preset timeout no longer applies, which means that he can remain connected to the digipeater indefinitely without making any further entries. The sysop authorization is cancelled by a disconnect, a reconnect (link reset) or a connect command. Several sysops can log in simultaneously. Command: WRITE Syntax: WRITE <A|B|C|H|I|S> <CR> The WRITE command is used to enter the texts for ACTUAL, BEACON, C-TEXT, HELP, INFO and SETSEARCH. Except for BEACON and SETSEARCH, all texts may have any format. All texts taken together can be no longer than 5000 bytes. When there have not yet been entries for the texts A, I and H, the digipeater will just send another prompt when the corresponding text is requested. The contents of C-TEXT are is sent following the standard system message at the beginning of a connect. The standard message is: "RMNC/FlexNet V. 3.0". If C-TEXT is empty, only the standard prompt is sent. - 26 - RMNC/FlexNet Software Version 3.0 Sysop Documentation After completing the WRITE command, the remaining free storage space is reported in bytes, regardless of the text. We recommend the following use for these texts: ACTUAL: For current information such as: "Out of service tomorrow due to maintenance" or "New link to DB0xxx is now available. Give it a try." INFO: General information about the digipeater, such as location, equipment, antennas, I/O port usage, etc. HELP: A brief list of the most important user commands. Due to limited storage, the texts cannot be stored in the EPROM. The text input is terminated with "/EX" or a Ctrl-Z. The line is then stored up to the character just before /EX. Since many packet radio stations use "split-screen" programs, all texts other than the C-TEXT should start with a <CR>. This will look better on the user's screen. In the case of the BEACON texts, a special format must be observed. Any number of beacons can be programmed for all links. The structure of such a text is as follows: m c <tocall> [ via [ via ...]]: Beacon text.....................# where "#" separates the different beacon texts. "m" is the number of minutes between beacon transmissions (1 to 255 minutes allowed). "c" is the card address where the beacon is to be sent. <tocall>: is the destination callsign of the beacon, such as "BEACON", "RMNC", "FLXNET", "TEST", etc. via: Up to 8 digipeaters may be specified over which the beacon should be sent. Example: 10 0 RMNC:Digi Odenwald * JN49IQ * Krehberg/Odw. *# 30 1 RMNC DB0KT DB0ODW:DB0KT QRV# 5 0 FLXNET:Test beacon....DB0xxx In this example, the text consists of three beacons separated by "#" (beacon1...#...beacon2...#...beacon3). Between the individual entries, carriage returns may be inserted in order to make the text more readable. Capitalization of the callsigns is unimportant. The sender callsign is always the preset MYCALL of the digipeater. If no beacon has yet been entered, the digipeater sends the following default beacon every 3 minutes on the card containing the Master EPROM: "3 0 FLXNET:RMNC V. 3.0" - 27 - RMNC/FlexNet Software Version 3.0 Sysop Documentation All beacons are sent as <UI> frames (Unproto-Information) with the command bit set. The SETSEARCH text also requires a special format. An unlimited number of search commands may be sent. The number of digipeaters is limited to 7. The text has the following structure: <call1> <call1> [<call2> [<call3> [<call4> [<call5>]]]] The search routes for the FIND command are entered into the SETSEARCH text. First the digipeater is entered where the search frame is to exit, then the digipeaters used to get there. These paths should be identical with the routes used by the users. Thus digipeaters on the route to the destination should be left out. Examples: Search routes for FIND command DB0ODW DB0DA via DB0ODW DB0KT via DB0ODW DB0AAI via DB0ODW The first example indicates that the search command should be transmitted by this digipeater. The second example shows how a search route to DB0DA is to be specified. DB0DA is reached from DB0ODW via the autorouter. 4.5 Operational Aspects; 4.5.1 Protocol version AX.25V2; The RMNC/FlexNet-V3 processes QSO's over the digipeater in protocol versions 1 and 2. A QSO with the digipeater is only supported in version 2! We prefer not to get into a general discussion to the advantages and disadvantages of both versions at this point, but are of the opinion that AX.25V2 generally provides all participants a higher data rate. Furthermore, virtually all users should now be able to use the newer protocol version. Connects to the digipeater using protocol version 1 are answered with a <DM> (Disconnect Mode). If station A initiates a connect in version 2 with station B, which then answers in version 1, a connection is established quite normally and a QSO is thus possible. However, the connection does not enjoy the so-called hop-to-hop acknowledgement, but rather the frames are merely digipeated in the traditional manner. QSO's using version 1 do not appear in the user list. 4.5.2 Unproto Frames; Fundamentally, the RMNC/FlexNet-V3 software transmits and routes all <UI> (unproto frames), even <UI> frames in protocol version 1. This allows an unproblematic operation with TCP/IP, since most of the TCP/IP programs send <UI> frames in version 1. The length of the <I> field in the <UI> frame may not exceed 256. - 28 - RMNC/FlexNet Software Version 3.0 Sysop Documentation 4.5.3 RNR Recovery; Since each QSO with and via the digipeater only has a limited memory space available, it may occur that a user is set to Remote Busy <RNR> by the digipeater. This is most likely to happen during a file transfer. It may also occur in converse mode if one of the participants in the group has a bad link. As soon as the <RNR> condition has been alleviated, the TNC waiting in the <RNR> state receives an <RR> frame with the command/response bit set. In some software TNC versions this results in an immediate resumption of the transmission, others first poll the digipeater in order to receive an <RR> with poll/final bit set. 4.5.4 Reconnects; A particular problem for a digipeater supporting hop-to-hop acknowledge is the handling of reconnects. A reconnect is the reestablishment of a connection between two stations while a connection already exists, either over the same or another route. Since the digipeater is not informed in the case of a reconnect via another route, this can lead to certain problems. The digipeater maintains the current QSO in its tables. As long as no unacknowledged frames from this QSO are left over, nothing will happen and the QSO quietly "dies" after 13 minutes. If there are still frames waiting to be sent, however, the digipeater will attempt to poll the other station. Since the QSO over the new route has no doubt continued in the meanwhile, the sequence numbers will most certainly no longer agree with those of the digipeater, resulting in a <FRMR> (frame reject). The best solution to avoiding this problem is first to terminate the QSO properly and then to initiate a new connection. 4.5.5 I-Polling Method; During a connection it is very likely that an <I> frame may not be acknowledged. In this case, the protocol version 2 prescribes that a poll frame <RR> be sent to ask if the last <I> frame was received. If not, it will be repeated, otherwise the next frame will be sent. It can be proven that this method leads to a superfluous frequency loading if the <I> frame in question is very short. Therefore, in the case of a short frame, protocol version 3 will not send a poll frame <RR> but rather the short <I> frame is immediately repeated, however with the poll bit set. This method represents a mixture of the old version 1 and the newer version 2. The question what constitutes a short frame is difficult to answer. We have set the length to 15 bytes. This means that each <I> frame containing up to 15 bytes is immediately repeated, if it is not acknowledged within the FRACK time (T1). This value cannot be changed. - 29 - RMNC/FlexNet Software Version 3.0 Sysop Documentation 5. Creating a Master EPROM; The RMNC/FlexNet-V3 software is only provided in an unconfigured form. In order to perform the configuration, an eprommer capable of programming 27C256 EPROM's and a PC are required. 5.1 Parameter Compiler; A part of the RMNC/FlexNet-V3 software consists of the "parameter compiler". With the help of this compiler and a parameter file, a binary file is generated that is completely parameterized and ready for burning into an EPROM. The slave EPROM's do not need to be configured since they are identical for all RMNC's. In order to have the compiler generate a new master file, an individual parameter file must first be written. The parameter file is a completely normal text file that can be created by any editor. All necessary parameters are entered into this file. The syntax used in the file is essentially the same as the sysop commands. The resulting binary file can then be burned into the 27C256. When using a 27C256 EPROM, the slave file must be programmed into the upper half, starting at $4000. The following files are on the diskette: MRMNC.EXE - the compiler DB0AAI - a sample parameter file RM_SLAVE.BIN - binary file for all slaves SYSOP30.PRN - sysop documentation, 72 lines/pate, IBM READ.ME - last minute infos Compiler usage: MRMNC <parmfile> <binfile> <CR> The first command line parameter is the filename of the parameter file with extension. If no binary file is specified as output file, only the syntax of the parameter file will be checked. If a binary file is specified, it will be generated. If a file with the same name already exists, the user will be asked before overwriting the file. The compiler automatically creates a list file documenting the default values generated. Parameter file structure: In general, everything following a "*" is considered commentary. Blank lines are ignored. Otherwise the command syntax is the same as for the digipeater. Capitalization is irrelevant. Example: ***** Configuration for DB0AAI Version 10/01/89 Mycall DB0AAI 0 7 sysop 12345 * secret code for sysop access P S 0 0 * user access via channel 0: SSID 0 - 30 - Msg# 316085 To: RMNC @WW From: DG3FBL Date: 24Oct92/1708 Subject: Part 7 / english FlexNet documentation Bulletin ID: FLX9210_7_8 Path: DB0LX!DB0AAA!DB0MWE!DB0KCP!DB0CZ!OE9XPI!HB9EAS!DB0GE!DB0LJ!DB0GV de DG3FBL @ DB0GV RMNC/FlexNet Software Version 3.0 Sysop Documentation * Permanent link partners. Routing always to specified * channel if call without SSID, if SSID don't care; max * 32 calls! If # follows call, link will not be shown to * users! L 1 DB0KT L 2 DB0ONA P S 1 2 * ONA is Net/ROM, thus assigned SSID 1 L 3 DB0AAC L 4 DB0ID L 5 DF5IY-7 # IO 7 1 * set I/O bit 7, turn on PA * * Layer 1 modes, input in hex, default is 03 (1200 baud * half-duplex) mode 0 03 * only as example P I 240 * connect timeout in minutes for infobox p c 480 * check p r 10 * retries p m 3 * maxframe p l 256 * paclen p n 120 * NR check * Parms user access parm txdelay 40 0 parm persist 100 0 END * final command! Deviations from the normal syntax happen in the case of the sysop command, for example, since the compiler is informed of the secret code. The WRITE command does not work here! Do not forget the END statement. 5.2 EPROM Patch Slave; For link cards 1 to 8, the file RM_SLAVE.BIN can be burned directly into an EPROM. For link cards 9 to 16, the byte $3F00 ($7F00 for 27C256) must be changed to a value other than $FF. Thus this card adds 8 to the address setting of the DIP switch. 6. Future Developments; Further developments, both in hardware and in software, are being planned for the RMNC node computer design from the Frankfurt RMPRG. - 31 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Hardware The first item is to test and publicize a CMOS version for the RMNC cards. This version will have a significantly lower power consumption and will run twice as fast. The card will then be clocked at 8 MHz instead of 4 MHz. We are considering developing a new CPU card to replace the current master. The other cards in the system remain the same and serve as intelligent I/O units. Preliminary specifications: CPU - 16 bit RAM - min. 256KB, max. 1024 KB ROM - 256 KB I/O - parallel, serial (high-speed, RS232, HDLC) DMA - bus communication to slaves (1 Mbit/sec) Details will appear in the mailboxes under the heading "RMNC". Software The FlexNet software for the RMNC will also be developed further. The next step is the creation of a special master version which operates a normal RMNC card without HF support and is equipped with additional features. Under consideration is likewise a Net/ROM interface in order to simplify the transition from FlexNet to Net/ROM systems for the user. Details will appear in the mailboxes under the heading "FLEXNET". 7. Usage Restrictions; The RMNC/FlexNet software is a product of Gunter Jost, DK7WJ. All copyrights to the software remain with the author. The user receives merely the right to use the software under the following conditions: - The software is used exclusively in amateur radio for non- commercial purposes; - The legal regulations governing amateur radio are obeyed; - No alterations are to be made to the software unless they have been authorized by the author. Installation of the operational parameters is specifically excluded from this limitation. - The copyright notice RMNC/FlexNet may not be removed. Under these conditions, unlimited numbers of copies may be made from the original diskette and distributed, whereby the originator, the FlexNet Group, Darmstadt, West Germany, G. Jost, DK7WJ, must always be noted. The source code for the program is not available. - 32 - RMNC/FlexNet Software Version 3.0 Sysop Documentation 7.1 Exclusion of Liability; The authors and the distributors of the software cannot be held liable for possible damages resulting from the installation and use of the RMNC/FlexNet-V3.xx software. By installing and using the software, the user acknowledges and accepts these usage restrictions and the exclusion of liability. 8. Command List; Data in [] are optional. 8.1 USER Commands; A - display AKTUELLES text B - display BEACON text C - begin converse mode /w - show all users /w n - show all users on channel <n> in converse mode /c - show current channel number in converse mode /c n - change to channel number <n> in converse mode /s Call Text - send a message to a specific user /q - leave converse mode C call [digi] - initiate connect to <call> D [call] - show destination table; path to destination <call> F <call> - FIND command, search for <call> H - display HELP text I - display INFO text IO - show state of I/O port L - show all link information M - show MYCALL and connect SSID's P - show Layer 1/2 parameters Q - QUIT, terminate connection S - SETSEARCH, show search paths U [ch;"i"] - USER, show user table, also selectively 8.2 SYSOP Commands; CAL <ch> [min] - card <ch> transmits calibration signal IO <ch> 0|1 - clear/set an output bit K <QSO-#> - delete a QSO from the table L <ch> <call> [#$-] - LINK, route <call> via card <ch> L - <call> - LINK, delete link info to <call> M <call> [s s] - MYCALL, enter <call> as MYCALL MO <ch> <mode> - MODE, set card <ch> to <mode> P I <value> - PARAMETER, set infobox timeout P <L2P> <value> - PARAMETER, set Layer-2 parameter P C <value> - set CHECK parameter P R <value> - set RETRY parameter P M <value> - set MAXFRAME parameter P L <value> - set PACLEN parameter P N <value> - set "Not Ready Check" parameter P <L1P> <val> <ch> - PARAMETER, set Layer-1 parameter P T <value> <ch> - set TXDELAY parameter for card <ch> P P <value> <ch> - set PERSISTENCE parameter for card <ch> SY - SYSOP - 33 - RMNC/FlexNet Software Version 3.0 Sysop Documentation WRITE <A|B|C|H|I|S> - WRITE, enter text messages (end with /EX) WRITE A - WRITE, enter AKTUELLES text WRITE B - WRITE, enter BEACON text WRITE C - WRITE, enter C-TEXT text WRITE H - WRITE, enter HELP text WRITE I - WRITE, enter INFO text WRITE S - WRITE, enter SETSEARCH text 9. Appendix; 9.1 p-Persistence Method; The p-Persistence method is a technique to control the access by several stations relative to one another on a single frequency. The assumption is also made that the stations do not necessarily hear each other. Earlier access methods were based on the so- called DWAIT parameter. The p-Persistence method is intended to replace that method. It is already implemented in the WA8DED software as well as in TCP/IP using a KISS-TNC. Two parameters are employed in the p-Persistence method: Persistence and Slot-time. The first parameter determines the probability that the transmitter will be keyed when the channel is clear, and the second is the time to wait. The process may best be explained through an example: The TNC has data to send and wishes to key the transmitter. At this point a random number between 1 and 255 is computed. If this random number lies below the persistence parameter, the transmitter can be switched on, assuming the frequency is not occupied. If this random number lies above the persistence, however, a period of time must pass, namely the slot-time. The slot-time is the same as TX-Delay since RMNC version 2.2. After it passes, another random number is calculated and the process repeats from the start. The p-Persistence parameter specifies the probability that the transmitter will be keyed immediately without delay. If the persistence equals 255, the probability is thus 255/256, nearly 1. For a persistence of 128, the probability is 128/256, or 0.5, for 64 it is 64/256, or 0.25, etc. The best arrangement would be if the persistence value could be set in conjunction with the channel occupancy so that other stations also get the chance to use the frequency. This means that during periods of high activity the persistence is small (e.g. 32 to 64), for low activity somewhat higher (e.g. 128 to 192). The length of the slot-time should also be set in conjunction with the channel occupancy, for low activity shorter and for high activity longer. 9.2 Layer-2 States; In the display of the currently active connections with and via the digipeater, the Layer-2 states are listed in the second column. These are shown in the following table. For an exact - 34 - RMNC/FlexNet Software Version 3.0 Sysop Documentation explanation of the individual states, please refer to the AX.25 Version 2 Protocol Specification. State Meaning 1 Disconnected 2 Link Setup 3 Frame Reject 4 Disconnect Request 5 Information Transfer 6 REJ Frame sent 7 Waiting Acknowledge 8 Device Busy 9 Remote Device Busy 10 Both Devices Busy 11 Waiting Acknowledge and Device Busy 12 Waiting Acknowledge and Remote Device Busy 13 Waiting Acknowledge and Both Devices Busy 14 REJ Frame sent and Device Busy 15 REJ Frame sent and Remote Device Busy 16 REJ Frame sent and Both Devices Busy Disconnected This condition is the starting state of each connection. It is left when a connection is established. In FlexNet-V3, QSO's with State 1 are not displayed. Link Setup A connection is being established, i.e. <SABM> frames are being sent, the confirmation <UA> has not yet been received. Frame Reject Due to a synchronization error, a <FRMR> frame was sent. The connection is being restarted. Disconnect Request The connection is being terminated, i.e. <DISC> frames are being sent, the confirmation <UA> has not yet been received. Information Transfer Hopefully the most common state. The connection has been established, both stations are exchanging <I> frames. REJ Frame sent A <REJ> frame was sent because a received frame did not arrive in the proper sequence. Thus a repetition is being requested. Waiting Acknowledge After an <I> frame was sent and before the waiting period (FRACK) has expired, an acknowledge is being expected. - 35 - Msg# 316095 To: RMNC @WW From: DG3FBL Date: 25Oct92/0039 Subject: Part 8 / english FlexNet documentation Bulletin ID: FLX9210_8_8 Path: DB0LX!DB0AAA!DB0MWE!DB0KCP!DB0CZ!OE9XPI!HB9EAS!DB0GE!DB0LJ!DB0GV de DG3FBL @ DB0GV RMNC/FlexNet Software Version 3.0 Sysop Documentation Device Busy The TNC is busy, most likely due to full memory. If another <I> frame is received, the TNC responds with an <RNR> frame (Receiver Not Ready). Remote Device Busy The TNC at the other end of the connection is busy. Both Devices Busy Both TNC's, the local as well as at the other end of the connection, are busy. Waiting Acknowledge and Device Busy Waiting Acknowledge and Remote Device Busy Waiting Acknowledge and Both Devices Busy These conditions (11, 12, 13) represent a combination of the previously listed states 7 and 8 through 10. Reject Sent and Device Busy Reject Sent and Remote Device Busy Reject Sent and Both Devices Busy These conditions (14, 15, 16) represent a combination of the previously listed states 6 and 8 through 10. 9.3 External Clock; Operational modes of the SCC In general the SCC 8530 from Zilog contains two separate serial channels and each channel has its own baud rate generator. Since a channel needs two different clock signals for HDLC operation (1x and 32x clock), the baud rate generator of the second channel (B- channel) is used for supplying the 32x receive clock in order to simplify the design. Thus the B-channel can no longer be used for data transmission. If both channels of the SCC are needed for data transmission (HDLC), the receive clock would need to be derived elsewhere, additional external components would be required. In the normal operation of an RMNC with its own modem, the clock is derived from the clock signal PCLK supplied by the reset card. The A-channel of the SCC is used for data transmission. The baud rate generator for A (BRGEN A) generates the transmit clock (1x), the baud rate generator of the B side generates the clock for the DPLL on the A side (32x). Transmitter: ASCC PCLK --->BRGEN(A) --->TX(A)-Register ASCC TRXcA-Pin Receiver: ASCC RTX(A) --> DPLL(A) --> RX (A)-Register BSCC PCLK ---> BRGEN(B) --->TRXcB - 36 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Transmitter The RMNC clock (PCLK) on the reset card feeds the baud rate generator A. This divides down corresponding to the designated baud rate and drives the transmit shift register. Simultaneously the transmit clock is available at the output TRXcA. This signal from the SCC is also applied to the connector strip for the external modem (pin 16). Pin 16 is jumpered with pin 8 (RTXcB), however this jumper is irrelevant for all operating modes of the RMNC. Receiver The receiver works with an internal DPLL which must have a 32x clock signal coming from the baud rate generator B. It is fed by PCLK, BRGEN B outputs its signal on TRXcB. This signal from the SCC is routed to pin 6 of the external modem connection and jumpered to pin 18 on the connector. The signal is taken from this pin to RTXcA on the SCC. This is the clock input for the SCC receiver section. The DPLL follows this signal internally, and the output is determined by the receive baud rate. External Clock When using an external modem, either the transmit or the receive clock signal may be supplied externally. The selection is done with the MODE command. Since the external modem must supply the 1x receive clock, the SCC's internal DPLL is not used and is disabled. The clock signal(s) are provided via the connector on the edge of the card. TRXcA is the input for the transmit clock (pin 16 of the modem connector), RTXcA is the input for the receive clock (pin 18). The following should be observed in regard to these connections: In normal operation with the internal modem, TRXcA on pin 16 is an output, but with an external modem it becomes an input. Thus two outputs would connected together if the mode is switched to normal operation when an external modem is still connected. Although pin 16 (TRXcA) on the modem connector is jumpered with pin 8 (RTXcB), this is unimportant and neither is it needed nor does it disturb anything. Pin 18 (RTXcA) is jumpered to pin 6 (TRXcB). In normal operation this jumper supplies the A-DPLL with the 32x clock signal. In operation with an external modem, this jumper must be opened up, since the output TRXcB would otherwise conflict with the clock output of the external modem. Transmitter: TRXcA pin -------------> TX(A) register Receiver: RTXcA pin -------------> RX(A) register Transmitter: The 1x transmit clock is routed externally via TRXcA (pin 16 of the external modem connector). This pin is now selected as input! - 37 - RMNC/FlexNet Software Version 3.0 Sysop Documentation Receiver: The 1x receive clock is routed to pin RTXcA and supplies the RX shift register directly without DPLL. In the simplest case the connection of an external modem appears as follows: Modem Modem Connection SCC RX-data --------> Pin 17 RXDA TX-data <-------- Pin 15 TXDA RX-clock --------> Pin 18 RTXcA TX-clock <-------- Pin 16 TRXcA 0V --------> Pin 11 DCDA +--> Pin 12 CTSA -> PTT logic +--> Pin 13 RTSA In this case both clock signals are provided by the modem. The clock signals must be 1x. In addition, remove TCM3105 and 74HC00 and jumper pins 12 and 13 on the modem connector for PTT. Remove the jumper between pins 6 and 18 on this connector. Connect pin 11 (DCDA) to Low (only for full duplex). What about DCD? On the RMNC card the DCD output from the 3105 modem IC is gated via a NAND gate with the PTT signal from the SCC (RTSA) and thus generates the actual PTT signal. This means that an already started transmission could be interrupted by an activated DCD. The purpose for this is left open. This condition cannot occur in half duplex operation. For full duplex there are two possibilities: 1. The DCD can be supplied by the external modem if it is stable. In this case it is fed to pin 11 of the modem connector. IC 74HC00 must be removed and the PTT rewired so that the output RTSA (pin 13) is connected to the input CTSA (pin 12) on the modem connector. 2. DCD is held in one state, namely active. Thus pin 2 of the 74HC00 is high. A further possibility: internal modem and full duplex. It is also possible for the internal TCM3105 modem to operate in full duplex, however only at 1200 baud. In this case the gating between the PTT and DCD signals must be disabled. This can most easily performed by cutting the trace between pins 3 and 4 of the 74HC00 and jumpering pins 4 and 5 together. 9.4 Links to Net/ROM & TheNet Partners; RMNC/FlexNet version 3 supports links to Net/ROM and TheNet neighbors and forwards these links through the network, as long as they function. In the following explanation we assume that our FlexNet node DB0FLX has a link to a Net/ROM node DB0NR. A Net/ROM node consists of several TNC's with different SSID's. Usually the user access has the SSID 0. For example, DB0FLX has a link to DB0NR-4. It would thus be appropriate to enter DB0NR-4 - 38 - RMNC/FlexNet Software Version 3.0 Sysop Documentation into the link table, as was the case in RMNC/FlexNet version 2. This brings certain disadvantages however: - The Net/ROM node may have other FlexNet neighbors. If these also forward their DB0NR-x information, DB0NR-x will appear multiply in the FlexNet destination tables. This makes these tables rather involved. - If a user wishes to connect DB0NR, without asking his FlexNet entry node, he will not know which path is most favorable for reaching DB0NR at that moment. Thus he may take a detour in establishing a connection, since FlexNet routes the different DB0NR's differently. The problem can be easily solved by performing some tricks when entering the links. The basic idea is that the network only needs to know that DB0NR exists. The way to reach the individual TNC's at the Net/ROM's only needs to be known by the neighboring node which has the best link to DB0NR. The entry at DB0FLX must appear as follows, where the link to DB0NR is on channel 5: L 5 DB0NR-3 - The minus sign means that although the link is checked, the call DB0NR-2 is not reported further. L DB0NR-3 DB0NR This is the trick: here the link to the user access DB0NR is checked. Simultaneously however the SSID range 0- 15 is reported to the network via NR-3. At this point FlexNet knows one route to DB0NR, but only DB0FLX knows that the path to DB0NR-3 is direct and the path to the other DB0NR TNC's is indirect via DB0NR-3. Only DB0NR (0-15) shows up in the destination lists. The user access DB0NR-0 can be reached directly. If, for example, the converse TNC DB0NR-8 exists, it can also be connected directly. The situation gets even trickier if DB0NR has a second FlexNet neighbor. Let's call it DB0ZZZ, which has a link to DB0NR-2. Now the link list needs to be extended with the following entries: L DB0NR-3 DB0NR-2 $ Indirect link that is not tested or reported further, but is shown in the link list. L DB0NR-2 DB0ZZZ Link to FlexNet is tested via DB0NR and possibly used by the network. There is naturally a certain hitch in the matter: - The D command now also reports a route to DB0NR-14, even though it may not even exist. The link command can only link one (-0, -1, -2) or all SSID's (0-15). - The Net/ROM link nodes, not the user accesses, must allow L2 digipeating. This should not cause any problems for - 39 - RMNC/FlexNet Software Version 3.0 Sysop Documentation accesses to DB0NR-0, since the diode matrix in the Net/ROM TNC's operate without collisions. The links made possible by this trick for two FlexNet digipeaters via a Net/ROM node suffer naturally from the missing hop-to-hop acknowledge. This compromise can be accepted in view of the advantages for the network: if the links operate 100%, there will be no disadvantages, since the hop-to-hop acknowledge only comes into effect for retries. If they work poorly, FlexNet will use another route if available. In case the Net/ROM operator is uncooperative and disables L2 digipeating on the link TNC's, the link should still be configured as described. The call of the Net/ROM will just not be forwarded and the users are forced to find their own way there. When digipeating is again enabled, the route starts running immediately. - End - bbs> ------------------------------ End of TCP-Group Digest V93 #40 ****************************** ******************************