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]