TNCs

Optionen bei der Kernel-Compilierung:

General Setup

[*] Networking support

Network Device Support

[*] Network Device Support
...
[*] Radio network interfaces
...
[*] Serial port KISS driver for AX.25

Die häufigste Konfiguration ist sicher ein KISS-TNC an der seriellen Schnittstelle. Dieser muß vorkonfiguriert und an die Schnittstelle angeschlossen sein. Der TNC kann mit einem Programm wie Minicom oder Seyon in den KISS-Modus gebracht werden.
Um ein KISS-Device zu erzeugen, wird das Programm kissattach verwendet: (Annahmen: TNC hängt an /dev/ttyS0 (COM1) und der vorgesehene Port in /etc/ax25/axports heißt radio)

/usr/sbin/kissattach /dev/ttyS0 radio
kissparms -p radio -t 100 -s 100 -r 25

Damit wird ein KISS-Netzwerk-Device erzeugt. Diese Devices erhalten die Namen ax0 - ax9. Beim ersten Aufruf erzeugt kissattach ax0, beim zweiten ax1 usw.
Jedes Kiss-Device hat eine zugehörige serielle Schnittstelle.
Mit 'kissparms' lassen sich verschiedene Parameter des Kiss-Device einstellen.
Das oben dargestellte Beispiel erzeugt ein Kiss-Device, welches die erste serielle Schnittstelle und den Eintrag 'radio' in der Datei /etc/ax25/axports nutzt. Anschließend wird es auf ein TXDelay und eine Slottime von 100 Millisekunden und einen Persistence-Wert von 25 eingestellt.
Weitere Informationen geben die Hilfeseiten der einzelnen Programme.

Erscheint die Fehlermeldung:

kissattach: TIOCSETD: Invalid argument

so sollte man nochmals prüfen, ob der Serial port KISS driver auch wirklich in den Kernel einkompiliert oder als Modul geladen wurde. Der Treiber kann fest eincompiliert werden (CONFIG_MKISS=y in /usr/src/linux/config) wenn die AX-25-Unterstützung ebenfalls fest einkompiliert wurde. Andernfalls muß er als Modul kompiliert werden, oder die Erstellung des neuen Kernels würde fehlschlagen.

Einrichtung von Dual-Port-TNCs

Das mkiss-Utility, das bei den AX.25-Utilities dabei ist, erlaubt die Nutzung beider Modems an einem Dual-Port-TNC. Die Konfiguration ist recht einfach.
Der Multiport-TNC wird an eine serielle Schnittstelle des Rechners angeschlossen. Die anschließende Konfiguration läßt ihn dann als mehrere einzelne seriell angeschlossene TNCs erscheinen.
Das Ganze muß VOR der AX.25-Konfiguration durchgeführt werden.
Die Geräte, die dann einzurichten sind, sind Pseudo-TTY-Interfaces, (/dev/ttyq*) und nicht die eigentliche serielle Schnittstelle. Mit Pseudo-TTY wird eine Art Röhre (Pipe) erzeugt, durch die Programme, die mit TTY-Geräten Daten austauschen, mit anderen Programmen, die ebenfalls für Datenaustausch mit TTY-Geräten entwickelt wurden, kommunizieren können.
Jede dieser Röhren hat ein "Master"- und ein "Slave"-Ende. Die "Master"-Enden heißen /dev/ptyq*, die "Slave"-Enden /dev/ttyq* . Jeder Master hat einen Slave, /dev/ptyq0 ist also der Master einer Pipe, deren Slave /dev/ttyq0 ist.
Man muß das "Master"-Ende einer Pipe vor dem "Slave"-Ende öffnen.
mkiss nutzt diesen Mechanismus, um ein einzelnes serielles Device auf mehrere virtuelle Devices aufzuteilen.
Beispiel: Hat man einen Dual-Port-TNC an eine serielle Schnittstelle /dev/ttyS0 mit 9600 bps angeschlossen, erzeugen die Befehle

/usr/sbin/mkiss -s 9600 /dev/ttyS0 /dev/ptyq0 /dev/ptyq1
/usr/sbin/kissattach /dev/ttyq0 port1
/usr/sbin/kissattach /dev/ttyq1 port2

zwei Pseudo-TTY-Devices, die beide wie ein normaler Single-Port-TNC erscheinen.
Nun lassen sich /dev/ttyq0 und /dev/ttyq1 wie serielle Schnittstellen mit daran angeschlossenen konventionellen KISS-TNCs behandeln.
Das heißt, man verwendet kissattach wie oben beschrieben, für die AX.25-Ports port1 und port2.
Auf die serielle Schnittstelle selbst kann kein kissattach angewendet werden, da mkiss diese ja bereits nutzt. Der Befehl mkiss kennt einige Optionen:

-c    schaltet die Erzeugung einer Prüfsumme für jedes KISS-Paket 
      ein.
      Die meisten KISS-Implementationen, außer dem G8BPG KISS-ROM,
      unterstützen dies jedoch nicht. 

-s    <Baudrate> stellt die Baudrate der seriellen Schnittstelle ein. 

-h    schaltet den Hardware-Handshake ein (Voreinstellung: Aus). 
      Wird von den meisten KISS-Implementationen nicht unterstützt. 

-l    schaltet eine Mitschrift (logging) in die syslog-Logdatei ein.


Wegweiser

Überprüfen sie nun ihre Konfiguration.



Hans-Peter Zorn
Last modified: Sun Sep 5 14:32:01 CEST 1999