From : DL8AAU
To : TNC2@DL
Date : 17-Oct 13:21
MsgId : BF - 17A409DB0GV
Title : TF2.7: Allgemeine Beschreibung
Path: !PI8RYS!PI8MBQ!PI8VNW!PI8MID!ON4AWP!ON6AR!ON1BWP!ON7RC!LX0PAC!DB0GE!
!DB0GV!
de DL8AAU @ DB0GV.#HES.DEU.EU
to TNC2 @ DL
T H E F I R M W A R E
======================
AX.25 Version 2
Multi Channel TNC Firmware
Version 2.7
TheFirmware Version 2.7 DAMA/SMACK/XHOST (2553 Bytes * xx Channel)
Copyright by NORD>
mitz„hlt. Wenn das 256. Zeichen kein ist, wird es berlesen und
ein zum Terminal geschickt. Einzelne Zeichen k”nnen mit = 08
HEX oder = 7F HEX gel”scht werden. Mit oder kann
die gesamte Zeile gel”scht werden. Ein bringt die Schreibmarke
ohne L”schen an den Zeilenanfang, so daž eingelaufene Meldungen ange-
zeigt werden k”nnen. Mit einem zweiten kann dann wieder an das
Ende der angefangenen Zeile gegangen werden, um die Eingabe fortzuset-
zen. Zwischen diesen beiden werden alle Eingaben ausser
und ignoriert. Zeichen werden als an das Terminal
weitergereicht, sowohl bei der Eingabe als auch beim L”schen. Zeilen,
die mit beginnen (wird als '*' ausgegeben) werden als Befehlszei-
len interpretiert. Wenn ein Befehl ohne Parameter eingegeben wird, wird
der augenblickliche Wert dieses Parameters angezeigt. Alle Zeilen, die
nicht mit beginnen, werden als Information gesendet.
Durch den Wegfall der 7-Bit Umwandlung/Maskierung im Terminal-Modus wer-
den jetzt alle 8-Bit Zeichen transparent ausgegeben. Zur Vermeidung von
Problemen mit Terminalprogrammen im ECHO-Mode, werden nicht druckbare
Zeichen jetzt als "." ausgegeben. Lediglich BELL und TAB werden trans-
parent im Echo ans Terminal geschickt.
An dieser Stelle sei jedoch darauf hingewiesen, daž der eigentliche
Vorteil der TheFirmware in dem sogenannten WA8DED-HOSTMODE liegt. Dies
ist ein spezielles Protokoll zwischen TNC und Computer, welches wesent-
lich flexibler als der reine Terminalmode ist. Im Hostmode k”nnen z.B.
problemlos Bin„rdateien bertragen werden und spezielle Encoder wie
UUENCODE, 7PLUS, YAPP sind nicht erforderlich.
Die Firmware stellt dem Benutzer elf logische TNC Kan„le bereit, die
von 0 bis 10 numeriert werden. Das Terminal ist immer einem dieser Ka-
n„le logisch zugeordnet, die Auswahl erfolgt mit dem 'S'-Befehl. Kanal
0 ist reserviert fr nicht protokollierte Sendungen (CQ, Bake). Der
Leitweg fr Kanal 0 wird wie bei den anderen Kan„len mit dem 'C'
Befehl gew„hlt. Die Kan„le 1-10 senden im Terminal-Modus auch an 'CQ',
solange sie nicht mit anderen Stationen verbunden sind. Connect Versuche
k”nnen auf jedem beliebigen, derzeit nicht belegten Kanal gesendet wer-
den. Einlaufende Connect Versuche anderer Stationen werden auf den
ersten freien Kanal gelegt, sofern dadurch nicht die durch den 'Y' Be-
fehl gegebene maximale Zahl gleichzeitiger Verbindungen berschritten
wird. Information, die auf einem belegten, derzeit nicht mit dem Ter-
minal verbundenen Kanal einl„uft, wird gespeichert, bis dieser Kanal
auf das Terminal geschaltet wird. Mit dem 'L'-Befehl kann leicht fest-
gestellt werden, ob auf anderen Kan„len Informationen eingelaufen sind
und auf den Abruf warten. Informationen werden nur auf dem gerade ange-
w„hlten Kanal gesendet. Nach einem Disconnect werden eingegangene In-
formationen bis zum Abruf im TNC-RAM gespeichert. Wenn der Leitweg oder
das Ziel gewechselt werden sollen, w„hrend eine Verbindung gerade auf-
gebaut wird oder besteht, muž nicht erst ein Disconnect ausgel”st wer-
den, es gengt, mit einem neuen 'C'-Befehl die Verbindung neu aufzu-
bauen. Es geht keine Information dadurch verloren. Es ist aber nicht
zul„ssig, die gleiche Station auf mehr als einem Kanal zur gleichen
Zeit zu w„hlen.
Die Protokollversion ist fest auf Version 2 eingestellt. Verbindungen
mit Stationen in der alten Protokollversion 1 werden abgewiesen. Version
2 ist besser fr Netzwerke geeignet und erlaubt eine bessere Kanal-
usnutzung, besonders unter erschwerten Bedingungen. In der Version 2
des Protokolls wird ein Timer gestartet, sobald keine Information mehr
zu bertragen ist. Bei einer Pause von mehr als drei Minuten wird der
TNC der Gegenstation abgefragt, um sicherzustellen, daž die Verbin-
dung noch existiert. Wenn die mit dem 'N'-Befehl vorgegebene Anzahl
an Versuchen erfolglos geblieben ist, wird versucht, die Verbindung neu
aufzubauen. Hierdurch wird auch der Fall abgedeckt, daž jemand eine
Verbindung aufbaut und dann ohne Disconnect wieder verschwindet.
Fr die Befehle 'F', 'I', 'N' und 'O' werden die Parameter fr
jeden Kanal getrennt gespeichert. Der Wert des Kanals 0 wird im RAM ge-
speichert und wird zur Initialisierung der Kan„le 1-10 nach Reset und
nach Trennen der Verbindung benutzt. Man kann daher vor oder w„hrend
einer Verbindung diese Werte „ndern und erh„lt automatisch am Ende der
Verbindung die Standard Werte wieder zurck. Mit dem 'D'-Befehl kann
ein freier Kanal auch wieder initialisiert werden.
Mit dem 'M'-Befehl kann die Kanalaktivit„t beobachtet werden. Der
Parameter fr diesen Befehl entscheidet, welche Pakettypen beobachtet
werden sollen. Mehrere Parameter k”nnen gleichzeitig angegeben werden.
Parameter Paket-Typ
--------- ---------
N nichts
I Informationen
U unprotokolliert
S Status (Kontroll Pakete)
C auch beobachten, wenn eine Verbindung besteht
+ nur Pakete von/zu bestimmten Stationen (maximal 8)
- keine Pakete von/zu bestimmten Stationen (maximal 8)
Die kombinierte Benutzung der '+' und '-' Parameter ist nicht zul„ssig.
Sie mssen als letzter Parameter vor den Rufzeichen eingegeben werden.
Die Eingabe von '+' oder '-' ohne Rufzeichen l”scht die aktuelle Liste.
Die SSID wird nicht ausgewertet. Alle Pakete einer bestimmten Station
werden entweder gemonitort oder nicht.
Ein '*', der in einer Rufzeichenliste erscheint, kennzeichnet die
Station, die das Paket gesendet hat. Der Pakettyp kann aus der folgenden
Liste entnommen werden.
Name Beschreibung
---- ------------
RRa bereit zum Empfang
RNRa nicht bereit zu Empfang
REJa Paket nicht akzeptiert
UI unprotokollierte Information (an alle)
DM Verbindung besteht nicht
SABM Aufforderung zum Verbindungsaufbau
DISC Aufforderung zum Trennen der Verbindung
UA Best„tigung eines nicht numerierten Paketes
FRMR Protokoll Fehler
Iab Information
?ccH nicht definierter Typ
Hierbei bedeutet:
a = Nummer des n„chsten erwarteten Paketes
b = Nummer dieses Paketes
cc = Hexadezimal Zahl
Ein weiteres Zeichen gibt die verwendete Protokollversion und das
Poll/Final sowie das Command/Response Bit an:
= Protokollversion 1 ohne P/F Bit
! = P/F Bit in Protokollversion 1
^ = Kommando Paket in Protokollversion 2 ohne Poll Bit
+ = Kommando Paket in Protokollversion 2 mit Poll Bit
- = Antwort Paket in Protokollversion 2 mit Final Bit
v = Antwort Paket in Protokollversion 2 ohne Final Bit
Das Protokoll Identifikationsfeld wird in hexadezimaler Form ausgegeben.
ACHTUNG:
Pakete werden nur gemonitort, wenn mehr als 128 Buffer im TNC frei sind.
Dadurch wird ein šberlaufen der internen Buffer bei lagsamen Rechnern
bzw. langsamen Hostmode-Programmen bei starker Kanalaktivit„t verhin-
dert.
Mit dem 'U'-Befehl kann ein Connect-Text ein- bzw. ausgeschaltet werden.
Es ist m”glich, einen frei w„hlbaren Text an die anrufende Station zu
senden und dann der rufenden Station die M”glichkeit zu geben, eine
kurze Nachricht zu hinterlassen. Dies kann auf allen Kan„len gleichzei-
tig geschehen und beeinflužt in keiner Weise die M”glichkeit des
Bedieners, Informationen in eine bestehende Verbindung einzugeben oder
seinerseits Verbindungen aufzubauen. Wenn der Ctext eingeschaltet ist,
werden alle Zustandsmeldungen des betreffenden Kanals gespeichert und
erst auf das Terminal gegeben, wenn dieser Kanal angew„hlt wird. Sta-
tusmeldungen werden daher dann in zeitlich richtiger Reihenfolge zu-
sammen mit den eingelaufenen Informationen ausgegeben. Ausserdem wird
der mit dem 'U'-Befehl eingegebene Text an jede anrufende Station gesen-
det. Wenn Kanal 0 als letztes gew„hlt wurde, k”nnen Stationen auf den
Kan„len 1-10 anrufen und Meldungen hinterlassen, wobei die Zahl der
maximal gleichzeitig m”glichen Verbindungen mit 'Y' gew„hlt wird. Mit
dem 'L'-Befehl kann festgestellt werden, welcher Kanal Informationen
enth„lt. Wenn dann dieser Kanal gew„hlt wird, werden alle gespeicherten
Informationen und Meldungen dieses Kanals auf das Terminal gegeben. Wenn
mit dem 'Z'-Befehl X-ON/X-OFF-Protokoll gew„hlt wurde, kann die Aus-
gabe mit gestopt und mit wieder aufgenommen werden.
Neu ist beim 'U'-Befehl der Parameter 2. Hier kann, wie oben beschrie-
ben, eine Nachricht im TNC hinterlegt werden. Zus„tzlich kann nun die
Gegenstation mit der Zeichenfolge "//Q" den TNC veranlassen, einen Dis-
connect auszul”sen. Die Gegenstation wird somit wieder bis zum letzten
Digipeater "Reconnected" oder der gesamte Verbindungsweg wird getrennt,
je nach verwendetem Digipeater-System. Allerdings funktioniert diese
Option NUR im Terminal-Mode. Ist eine HOSTMODE-Anwendung aktiv, bleibt
die Funktion abgeschaltet und unter Kontrolle des Hostmode-Terminalpro-
gramms.
Die TheFirmware 2.7 hat eine 24-Stunden-Uhr und einen Kalender per
Software eingebaut. Man kann wahlweise alle Statusmeldungen (also CON-
NECT REQUEST fm, CONNECTED to, usw.) und Monitormeldungen (Header gemo-
nitorter Pakete) mit einem Datum/Uhrzeit-Stamp versehen lassen. Mit
'K 0' schaltet man die Ausgabe dieses Stamps ab. Trotzdem werden alle
Meldungen/Header mit einem Stamp versehen, ein Einschalten des Stamps
wirkt also auch richtig bei l„ngere Zeit im Buffer stehenden Meldungen/
Headern mit abgeschaltetem Stamp. Mit 'K 1' schaltet man die Stampaus-
gabe fr Statusmeldungen ein, mit 'K 2' die Stampausgabe fr Status-
meldungen und Monitorheader. Eingabe von 'K' zeigt die aktuelle Einstel-
lung gefolgt vom Datum und der Uhrzeit. Je nachdem wie man das Datum ge-
setzt hat, wird es bei Stamps entweder im europ„ischen oder ameri-
kanischen Format ausgegeben. Das Datum und die Uhrzeit werden bei QRES
oder einem Kaltstart gel”scht. Bei einem Warmstart l„uft die Zeit ab
dem Zeitpunkt weiter, der beim Ausschalten des TNC vorlag. Anhand einer
nachgehenden Uhr kann man so leicht feststellen, ob sich ein Stromaus-
fall w„hrend des Betriebs ereignet hat. Tests haben ergeben, daž die
Uhr ohne Korrekturen sehr genau l„uft.
ANHANG
------
1. Best„tigungszeitgeber T1 (Ackknowledgement Timer, FRACK)
------------------------------------------------------------
Eine feste FRACK-Einstellung gibt es nicht mehr, stattdessen wird bei
jedem QSO die Zeit zwischen Aussenden eines Info-Frames und Empfangen
der zugeh”rigen Best„tigung gemessen und zur Berechnung des Startwer-
tes des Best„tigungstimers T1 herangezogen.
Um grože Schwankungen zu vermeiden, wird die gemessene Zeit RTT (round
trip time) nach folgender Formel gegl„ttet:
SRTT' = ( Alpha x SRTT + RTT ) / ( Alpha + 1 )
Dabei ist SRTT (smoothed round trip time) der aus der letzten Messung
ermittelte Wert fr gegl„ttete Zeitmessung, RTT die soeben gemessene
Zeit und SRTT' der neue Wert fr SRTT. Der Parameter Alpha ist fest auf
den Wert 10 eingestellt.
Der Timer T1 ergibt sich aus SRTT dann nach:
T1 = a3 x SRTT
(wobei a3 im Eprom fest auf den Wert 2 eingestellt ist)
Vor Beginn eines QSOs muž SRTT initialisiert werden, da ja noch keine
Messung stattgefunden hat. Dies geschieht mit dem Wert, der mit ESC F
eingegeben werden kann (10 ms - Schritte, Default: 500). Die RTT-Berech-
nung beginnt erst nach Aufbau der Verbindung, d.h. nachdem das UA der
Gegenstation empfangen worden ist. Bei QSOs ber mehrere Digipeater
wird die Zeit zwischen den einzelnen SABMs berechnet nach:
T1 = (2 x "Anzahl Digis" + 1) x IRTT
Zusammengestellt aus diversen Beschreibungen
der Softwareautoren ........................... DJ1OR September/1992
šberarbeitet fr TF2.6 ........................ DB2OS Juli/1993
šberarbeitet fr TF2.7 ........................ DB2OS September/1994
[End of communication #51292 from DL8AAU]