TCP/IP per Funk - Ohne Telefonkosten in's Internet
Marco Brandt (taurus@psnet.org) und Christoph Winkler (cw@psnet.org) 

Die meisten Betriebssysteme unterstützen inzwischen TCP/IP, jedoch nur Linux beherrscht auch das AX.25 Protokoll, das der Datenübertragung per Funk dient. Dieser Vortrag zeigt die Konfiguration von Linux und die Einrichtung der benötigten Hard- und Software, um eine kostenlose Internet-Verbindung mit CB-Funk zu realisieren.

1. Einleitung

2. Die Funkanlage

3. Funkmodems

4. Benötigte Software

5. Konfiguration

6. Sonstiges


1. Einleitung

"CB-Funk" ist Vielen ein Begriff. Die meisten Leute verbinden damit aber nur den Sprechfunk von LKW-Fahrern oder das Hobby von Kindern. Von der Betriebsart Packet-Radio haben diese Leute dann meist noch nie etwas gehört.

Packet-Radio ermöglicht es, mit handelsüblichen CB-Funk-Geräten Daten zwischen Rechnern zu übertragen. Im CB-Funk existiert es existiert seit 1994 und wurde anfangs hauptsächlich zur Unterhaltung per Computer (=Chat) eingesetzt. Dabei entstand auch ein eingenständiges Nachrichten-Netzwerk, vergleichbar mit Mail und News im Internet. Inzwischen gibt es sogar einige Gateways, mit denen sich Nachrichten zwischen beiden Netzen verschicken lassen.

Durch die immer stärkere Verbreitung von Linux gab es natürlich auch schnell Unterstützung für Packet-Radio. Inzwischen wird Linux von vielen Nachrichten-Systemen im Packet-Radio-Netzwerk eingesetzt. Was lag nun also näher, als neben dem bisher genutzen Verfahren auch noch andere Daten, wie zum Beispiel TCP/IP, zu übertragen.

Hierbei ist das benutzte Verfahren allerdings nicht völlig neu. Wie bei jeder Übertragung per Packet-Radio werde sogenannte AX25-Frames benutzt. Diese werden dann von der verwendeten Hardware per Funk zur Gegenstelle übertragen. Bei der Übertragung von TCP/IP funktioniert dies im Prinzip genauso, die einzelnen IP-Pakete werden einfach in AX25-Frames "verpackt".

Die Konfiguration von Linux und die Einrichtung der benötigten Hard- und Software soll hier erklärt werden. Eine solche Verbindung kann dann zum Beispiel für eine kostenlose Internet-Verbindung genutzt werden. Aber auch wenn keine Gegenstelle mit einer festen Internet-Verbindung zur Verfügung steht, kann man damit z. B. ein kleines Intranet aufbauen, um Nachrichten zwischen mehreren Rechnern auszutauschen.


2. Die Funkanlage

2.1 Was braucht man zum Funken ?

Sieht man mal von "nebensächlichen" Dingen wie Stromversorgung und diversen Verbindungskabeln ab, besteht eine Funkanlage im wesentlichen aus dem Funkgerät selbst und einer dazu passenden Antenne.

In Deutschland sind mehrere Frequenzbereiche für Jedermannsfunk oder sogenannte ISM-Anwendungen freigegeben. Bei den wichtigsten Bereichen handelt es sich um das 11m Kurzwellenband (auch als CB-Funk bekannt) und um einen schmalen Bereich im 70cm UHF Band. Die Funkgeräte hierfür heißen "LPDs" und sind unter anderem bei großen Elektronik-Versandhäusern erhältlich.

2.2 11m oder 70cm ?

Die folgende Tabelle soll die wichtigsten Unterschiede zwischen beiden Funkanwendungen darstellen:
 
7
0
c
m
 
Frequenz 70cm UHF (433-434 MHz)
erlaubte Sendeleistung 10 mW
Antennen sehr klein, dadurch Antennen mit vielen Elementen, hohem Gewinn und guter Richtwirkung möglich
Reichweite Sichtweite bis max. 20 km,
in der Stadt bis ca. 1 km
Störanfälligkeit gering, Störungen durch andere ISM-Anwendungen möglich (z.B. Drahtloskopfhörer, Funkthermometer...)
keine Überreichweiten
meist immer ein freier Kanal zu finden
Preis Gerät ca. 300 DM (als Paar billiger)
Antenne zwischen 40 DM und 200 DM (je nach Gewinn und Richtwirkung)
 
1
1
m
 
Frequenz 11m Kurzwelle (um 27 MHz)
erlaubte Sendeleistung 4 W
Antennen sehr gross (ca. 5 Meter), kleinere Behelfsantennen haben nur geringe Reichweite
Einsatz von Rundstrahlantennen aus Platzgründen erforderlich.
Reichweite Sichtweite geht fast immer, mit Antennen voller Grösse bis 10km in der Stadt, bis 50km auf freiem Land, selten auch bis 100 km
Störanfälligkeit Störungen durch Computer, Motoren etc.
Teilweise mutwillige Störer
Störungen durch Überreichweiten (Stationen aus dem Ausland, 500-10000 km, meist im Sommer)
Kanäle in Ballungsgebieten überfüllt
Preis Gerät ca. 90 DM (40 Kanal) bis 300 DM (Qualitätsmarke)
Antenne zwischen 20 DM (Behelfsantenne) und 250 DM
 

3. Funkmodems

Um die Daten zum Funkgerät zu transportieren, müssen sie zuerst in Tonsignale umgewandelt werden. Das funktioniert im Prinzip genau wie bei einer Datenübertragung per Telefon, nur nicht ganz so schnell.

Ein Telefonmodem enthält eine eigene CPU, die den Datenfluß entsprechend für die Übertragung aufbereitet. Der Rechner wird also nicht stark belastet, da er einfach die Rohdaten an die serielle Schnittstelle kopieren muss. Alles Weitere übernimmt das Modem.

Bei den Funkmodems wird das Problem ähnlich gelöst. Ein Modem mit eigenem Prozessor heisst hier jedoch TNC. Es bekommt die Daten im sogenannten KISS-Modus über die serielle Schnittstelle und sorgt für deren Übertragung.

Als Modem bezeichnet man jedoch ein einfaches System, welches keine eigene CPU besitzt, sondern nur die Datensignale in Töne umwandelt. Wann welche Daten gesendet werden, hat der steuernde Computer zu entscheiden.

Noch eine Schritt weiter geht eine als Funkmodem eingesetzte Soundkarte. Hier wird selbst für die Tonerzeugung die vorhandene Hardware genutzt. Dieses Verfahren funktioniert vor allem bei 1200 Baud recht gut, da das Signal recht stabil gegenüber Verzerrungen ist.

Aufgrund der entstehenden Rechenlast sind Modems und Soundkartensysteme nur für geringe Geschwindigkeiten geeignet. Ein TNC dagegen belastet den Computer kaum und ist deswegen in allen Multitasking-Systemen (und damit auch unter Linux) den anderen Lösungen vorzuziehen.

3.1 TNC - Terminal Node Controller

Ein High-Speed TNC der Firma MHE
für 2400-9600bps
Der TNC verfügt wie bereits erwähnt über einen eigenen Prozessor. Alle TNC2 und kompatible Modelle enthalten einen Z-80. Die moderneren 16 Bit TNCs arbeiten mit Mikrocontrollern aus der 68000er Reihe.

Die Ansteuerung aller TNCs erfolgt jedoch immer im KISS-Modus. Dabei hat der Computer die größtmögliche Kontrolle über die Aussendung. Um einen KISS Treiber zu installieren, wird der Befehl kissattach aus den AX25-Utilities benötigt. Weiterhin muss KISS-Support in den Kernel kompiliert werden. (s. in den entsprechenden Abschnitten)

TNCs unterstützen grundsätzlich jede Datenrate auf der Funkstrecke. Diese Geschwindigkeit ist unabhängig von der Datenrate zwischen Computer und TNC. Die TNCs der Firma MHE können auch auf Kurzwelle (CB-Funk) mit bis zu 9600 bps übertragen, bei SSB-Schmalband Betriebsarten sind noch 2400 bps möglich.

Preis: TNCs kosten zwischen 200 und 300 DM. Die MHE TNCs kommen auf ca. 600 DM.

3.2 PC-COM Minimodems

1200 Baud Minimodem
Die Minimodems sind meist in einen Stecker für die serielle Schnittstelle integriert. Die Daten werden aber nicht über die normalen RX/TX Leitungen übertragen. Vielmehr werden die Kontroll-Leitungen direkt von der Software gesteuert. Aus diesem Grund darf der normale Treiber für die serielle Schnittstelle nicht geladen werden. Der Port muss mit setserial /dev/ttySx uart none abgeschaltet werden.

Es muss ein 2.1er Kernel oder ein Kernel 2.0.x mit AX25-Module Patch verwendet werden.

Obwohl es Modems der Firma MHE gibt, die 2400-4800 bps übertragen können, empfiehlt sich die Verwendung eines Minimodems nur für Datenraten bis 1200 Baud. Die Erkennung höherer Signalgeschwindigkeiten erfordert mehrere tausend Interrupts pro Sekunde und wirkt sich sehr störend aus das Systemverhalten aus.

Linux unterstützt bis zu vier Minimodems. Zum Betrieb eines solchen Modems ist mindestens ein 386er notwendig. Eine Schnittstelle mit 16550 bringt keine Vorteile, da die Kontrolleitungen direkt angesteuert werden.

Preis: Ein Minimodem ist ab 90 DM erhältlich. Im Eigenbau benötigt man Teile für ca. 50 DM.

3.3 Soundkarte als Funkmodem

Die billigste Lösung ist eine bereits vorhandene Soundkarte als Modem zu benutzen. Der Treiber hierfür kommt vom gleichen Programmierer wie der Treiber für Minimodems. Deswegen gelten auch ungefähr die gleichen Voraussetzungen. Unterstützt werden alle Soundblaster und kompatible Karten, sowie alle Windows-Sound-System Karten. Der Treiber gerät in Konflikt mit dem normalen Linux Soundtreiber. Deswegen sollten beide Treiber als Module kompiliert werden, damit die Konfiguration zur Laufzeit geändert werden kann.

Da die Qualität der Soundkarten stark schwankt (was sich am besten anhört ist nicht unbedingt das beste Modem), sollte man auch bei diesem Modemtyp nur bis 1200 oder maximal 2400 Baud gehen. 9600bps FSK kann zwar gelesen werden, das Senden macht aber oft Probleme.

Im Gegensatz zu TNC und Minimodem kann die Soundkarte nicht das Funkgerät von selbst auf Sendung schalten. Entsprechende Hardware muss am Parallelport, an einem COM-Port oder an der MIDI-Schnittstelle angeschlossen werden. Weitere Informationen hierzu gibt es auf http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html.

3.4 Modulationsarten

Theoretisch läßt sich jedes vorgestellte Modem mit jedem Funkgerät betreiben. In der Praxis muß man jedoch einige Einschränkungen hinnehmen. Für die Benutzung einiger Übertragungsarten müssen die Funkgeräte modifiziert werden. Meist genügt es, die Anschlüsse des Modems an bestimmte Punkte innerhalb des Senders oder Empfängers zu klemmen. Dabei werden die meist überflüssigen Mikrofon- und Lautsprechervorverstärker umgangen.
 
Übertragunsverfahren 11m 70cm Modem
1200 Baud AFSK Ja Ja TNC
Modem
Soundkarte
2400 Baud AFSK modifiziert Ja TNC
Modem
Soundkarte
2400 bps QAM Ja Ja MHE-TNC
MHE-Modem
4800 bps QAM Ja Ja MHE-TNC
MHE-Modem
7200 bps QAM modifiziert modifiziert MHE-TNC
MHE-Modem
9600 bps QAM modifiziert modifiziert MHE-TNC
MHE-Modem
9600 Baud FSK Nein modifiziert TNC
Modem
Soundkarte
Beschreibung:
AFSK - Audio Frequency Shift Keying
Verfahren, bei dem das Signal binär durch zwei Töne dargestellt wird.
QAM - Quadratische Amplituden Modulation
Dieses Verfahren wird in den MHE Modems angewendet und kann mehrere Bits pro Arbeitsschritt (Baud) übertragen. Somit spart man Bandbreite auf Kosten des Signal/Rauschabstandes ein.
FSK - Frequency Shift Keying
Bei diesem Verfahren werden die Daten direkt in den Modulator des Funkgerätes gespeist (Umbau notwendig). Diese Übertragungsart funktioniert nur auf FM. Das Signal beansprucht eine hohe Bandbreite und funktioniert deswegen meist nur auf 70cm.

4. Benötigte Software

4.1 Kernelversionen und passende AX25-Utilities

Aufgrund der verbesserten Eigenschaften sollte man unbedingt einen 2.1er Kernel verwenden. Alternativ kann man auch einen stabilen 2.0er Kernel mit dem AX-Module patchen. Alle AX.25 Treiber entsprechen dann denen eines 2.1er Kernels. Deswegen muss auch das dafür vorgesehene AX25-Utility Paket verwendet werden.

Hier eine Übersicht, welche Kernelversionen mit welchen AX25-Utilities zusammenarbeiten:
 
Kernel Version AX25 Utilities
linux-2.0.29 ax25-utils-2.0.12c.tar.gz veraltet
linux-2.0.29+module12 ax25-utils-2.1.22b.tar.gz
linux-2.0.30+module14c ax25-utils-2.1.42a.tar.gz
linux-2.0.31+module14d ax25-utils-2.1.42a.tar.gz
linux-2.1.22 ++ ax25-utils-2.1.22b.tar.gz
linux-2.1.42 ++ ax25-utils-2.1.42a.tar.gz
Sollen Baycom-Modems in Verbindung mit dem TCP/IP Protokoll verwendet werden, so haben sich Kernelversionen > 2.1.42 bewährt. Der Module-Patch machte hier teilweise Probleme.

4.2 Kernel 2.0.x patchen

Der AX-Module Patch wird folgendermassen angebracht: (im Verzeichnis /usr/src/linux/ befinde sich der Quellcode eines passenden 2.0.x Kernels)
        # cd /usr/src
        # tar xfz /pub/net/ax25/ax25-module-14e.tar.gz
        # patch -p0 < /usr/src/ax25-module-14/ax25-2.0.31-2.1.47-2.diff
An einigen Stellen wird während des Patchens nach einer Datei gefragt, die nicht automatisch gefunden werden konnte. Hierbei handelt es sich um Quellcode für andere Systeme, wie z.B. Alpha oder m68k. Diese Abfragen kann man dann überspringen.

4.3 Kernel kompilieren

Die Kentnisse, wie ein Kernel kompiliert wird, sollen hier vorausgesetzt werden. Wird der Kernel mit "menuconfig" konfiguriert, so sind folgende Schritte erforderlich:
        # cd /usr/src/linux
        # make menuconfig
Die wichtigsten Optionen sind nun:
        Code maturity level options  --->
                ...
                [*] Prompt for development and/or incomplete code/drivers
                ...
        General setup  --->
                ...
                [*] Networking support
                ...
        Networking options  --->
                ...
                [*] TCP/IP networking
                [?] IP: forwarding/gatewaying
                ...
                [?] IP: tunneling
                ...
                [?] IP: Allow large windows (not recommended if <16Mb of memory)
                ...
                [*] Amateur Radio AX.25 Level 2
                [?] Amateur Radio NET/ROM
                [?] Amateur Radio X.25 PLP (Rose)
                ...
        Network device support  --->
                [*] Network device support
                ...
                [*] Radio network interfaces
                [?] BAYCOM ser12 and par96 driver for AX.25
                [?] Soundcard modem driver for AX.25
                [?] Soundmodem support for Soundblaster and compatible cards
                [?] Soundmodem support for WSS and Crystal cards
                [?] Soundmodem support for 1200 baud AFSK modulation
                [?] Soundmodem support for 4800 baud HAPN-1 modulation
                [?] Soundmodem support for 9600 baud FSK G3RUH modulation
                [?] Serial port KISS driver for AX.25
                [?] BPQ Ethernet driver for AX.25
                [?] Gracilis PackeTwin support for AX.25
                [?] Ottawa PI and PI/2 support for AX.25   
                [?] Z8530 SCC KISS emulation driver for AX.25
                ...
Die Optionen, bei denen ein [*] angegeben ist, müssen auf jeden Fall aktiviert werden. Optionen mit [?] werden individuell nach der verwendeten Hardware aktiviert.

Kommt z.B. ein TNC (im KISS-Mode) zum Einsatz, so muss bei den "Network Devices" nur

                [*] Serial port KISS driver for AX.25
angegeben werden.

Soundmodem-Unterstützung sollte man immer als Modul einbinden, da dieser Treiber nicht gleichzeitig mit dem normalen Linux Soundtreiber laufen kann. Als Modul kann man den Soundmodem-Treiber dann später einfach mit

        # modprobe soundmodem
einbinden. Um einen Treiber als Modul zu generieren, muss man bei "Menuconfig" an der entsprechenden Stelle ein [M] angeben und nach dem Kernel nochmals die Module mit
        # make modules
        # make modules_install
übersetzen und installieren.

4.4 Netzwerk-Tools

Wenn der Kernel läuft, sollte eine neue Version der "Net-Tools" installiert werden. Dies ist zwar für den Betrieb nicht unbedingt erforderlich, allerdings werden die Netzwerktreiber sonst z.B. bei ifconfig falsch angezeigt.

Die net-tools-1.33.tar.gz werden als Quellcode geliefert und müssen kompiliert werden.

        # cd /usr/src
        # tar xfz net-tools-1.33.tar.gz
        # cd net-tools-1.33
        # make config
Bei der Konfiguration wird abgefragt, welche Netzwerktypen unterstützt werden sollen. Alles, was mit AX.25 zu tun hat, sollte auf jeden Fall eingebunden werden. Im Zweifelsfall einfach mit Ja ("Y") antworten.

Nun können die Binärfiles mit

        # make install
in die vorgesehenen Verzeichnisse kopiert werden.

4.5 AX-Utilities

Um die Kernelunterstützung des AX.25 nutzen zu können, werden bestimmte Programme als Benutzerschnittstelle benötigt. Unter anderem handelt es sich um: und diverse andere Hilfsprogramme, die jedoch für TCP/IP Betrieb nicht benötigt werden.

Auch diese Programme werden als Quellcode geliefert. Die Installation verläuft ungefähr folgendermaßen:

        # cd /usr/src
        # tar xfz ax25-utils-2.1.42a.tar.gz
        # cd ax25-utils-2.1.42a
        # make config
        # make
        # make install
Weiterhin wird die Möglichkeit geboten, einen Satz vorgefertigter Konfigurationsdateien zu installieren. Dies sollte auf jeden Fall gemacht werden, es sei denn, es handelt sich um ein Update eines bereits laufenden Systems. In diesem Fall würden die AX25-Konfigurationsdateien überschrieben werden.

Es empfiehlt sich also für alle Neuinstallationen

        # make installconf
Achtung: Falls es zu Fehlern während des Kompilierens kommt, könnte dies daran liegen, daß das ncurses Paket nicht oder falsch installiert ist.

5. Konfiguration

5.1 Die Datei /etc/ax25/axports

Die Datei /etc/ax25/axports ist eine einfache Textdatei, die mit jedem Texteditor bearbeitet werden kann. Wurde bei den AX-Utilities die Option make installconf ausgeführt, so befindet sich bereits eine vorgefertigte axports Datei im Verzeichnis.

Diese kann (fertig konfiguriert) ungefähr so aussehen:

        #portname       callsign        baudrate        paclen  window  description
        port1           205193          19200           255     7       MHE
        port2           NOCALL-1        9600            128     3       TNC2S
wobei:
portname
ist eine Kennung für einen Port
callsign
ist ein AX25-Rufzeichen. Es darf maximal 6 Zeichen lang sein und kann Buchstaben und Ziffern enthalten. Optional kann eine Zahl zwischen 0 und 15 angehägt werden, die sogenannten SSID. z.B. N0CALL-7. Die letzen sechs Stellen der IP-Adresse eignen sich hervorragend als Rufzeichen.
baudrate
Die Baudrate, mit der mit dem TNC kommuniziert werden soll. (Ohne Bedeutung bei Minimodem oder Soundkarte
paclen
Die "MTU" für AX25, also Anzahl der Bytes pro Paket. Da TCP/IP nur bei sehr guten Verbindungen im Nahbereich benutzt werden sollte, kann man hier das Maximum von 255 einstellen.
window
Wie viele Pakete an einem Stück gesendet werden, ohne daß auf eine Bestätigung gewartet werden muß. Für TCP/IP ohne Bedeutung.
description
Textbeschreibung des Ports (Ohne Bedeutung)

5.2 Erzeugen eines AX25 Netzwerkeintrages

Ein Netzwerkeintrag ist das, was man sieht, wenn man ifconfig aufruft. Im Linux AX25 Code gibt es verschiedene Gerätetreiber. Der gebrächliste ist wohl der KISS Treiber (für TNCs), es existieren aber auch Treiber für Minimodems und für Soundkarten.

5.3 Konfiguration bei Verwendung eines TNC

Beim kompilieren des Kernels muss [*] Serial port KISS driver for AX.25 aktiviert sein. TNCs werden normalerweise an eine serielle Schnittstelle angeschlossen. Der TNC muß dazu bereits in den KISS-Modus gesetzt sein. Dies kann durch ein spezielles Eprom erfolgen, daß den TNC gleich nach dem Einschalten im KISS-Modus startet. Alternativ kann auch das Programm kissinit verwendet werden, welches allerdings nicht zu den AX25 Utilities gehört. Der TNC kann auch mit Hilfe eines Terminals (wie minicom) von Hand in den KISS-Modus geschaltet werden. Weitere Hinweise dazu sind im TNC-Handbuch zu finden.

Um ein KISS-Eintrag zu erzeugen, wird das Programm kissattach benötigt:

        # /usr/sbin/kissattach /dev/ttyS0 port1
port1 ist die Bezeichnung, die in in der axports Datei am Anfang einer Zeile verwendet wird.

Der kissattach Befehl erzeugt einen KISS-Netzwerkeintrag. Diese Einträge werden von ax[0-9] durchnummeriert.

5.4 Konfiguration bei Verwendung eines Minimodems (Baycom)

Baycom-Unterstützung im Kernel muss dazu aktiviert sein:
Code maturity level options  --->
                [*] Prompt for development and/or incomplete code/drivers
        General setup  --->
                [*] Networking support
        Network device support  --->
                [*] Network device support
                ...
                [*] Radio network interfaces
                [*] BAYCOM ser12 and par96 driver for AX.25
Minimodem Treiber bekommen die Bezeichnung bc[0-3].

Um einen solchen Treiber z.B. auf COM1 (/dev/ttyS0) zu installieren, sind folgende Schritte notwendig:

 
        # setserial /dev/ttyS0 uart none
        # sethdlc -p -i bc0 mode "ser12*" io 0x3f8 irq 4
        # /sbin/ifconfig bc0 hw ax25 NOCALL-1 up
Mit setserial muß der normale serielle Treiber abgeschaltet werden, da das Minimodem eine spezielle Ansteuerung erforderlich macht. sethdlc setzt die Parameter für den zu erzeugenden "bc0"-Eintrag. Mit ifconfig läßt sich schließlich der Port hochfahren. Dabei wird das angegebene Rufzeichen in der axports Datei gesucht und die entsprechende Portbezeichnung am Anfang der Zeile diesem Port zugeordenet. Beim Hochfahren mit ifconfig kann dem Port auch gleich eine IP-Adresse zugewiesen werden.

5.5 Konfiguration bei Verwendung der Soundkarte

Soundmodem Treiber sollten immer als Modul eingebunden werden, um Konflikte mit dem normalen Linux-Soundtreiber zu vermeiden.
        # modprobe soundmodem
läd das entsprechende Modul.

Die Soundkarte wird durch das Laden des Treibers nicht unbedingt initialisiert. Eventuell ist ein Aufruf von

        # setcrystal [-w wssio] [-s sbio] [-f synthio] [-i irq] [-d dma] [-c dma2]
erforderlich. Um z.B. eine Soundblasterkarte zu initialisieren, benutzt man:
        # setcrystal -s 0x220 -i 5 -d 1
Der Treiber muss genau wie der Minimodemtreiber mit sethdlc konfiguriert werden. Die erzeugten Netzwerkeinträge lauten sm[0-3].
        # sethdlc -p -i sm0 mode sbc:afsk1200 io 0x220 irq 5 dma 1 pario 0x378
Hierbei wird eine PTT-Schaltung an der parallelen Schnittstelle verwendet.

Die richtige Anpassung der Sende- und Empfangslautstärke ist sehr wichtig, damit die Pakete sauber gelesen werden. Hierzu gibt es zwei Hilfsprogramme smdiag und smmixer, die jedoch nur kurz vorgestellt werden sollen.

smmixer ermöglicht Lautstärkeeinstellungen an der Soundkarte, da Programme wie xmix aufgrund des deaktivierten Linux-Soundtreibers nicht funktionieren.

smdiag ist ein kleines Programm für X, das ein Oszilloskop darstellt und zur Überprüfung des Empfangs eingesetzt werden kann. Es kann auch sg. Augendiagramme fü 9600 Baud FSK ausgeben.

Nun kann der Port mit

        # /sbin/ifconfig sm0 hw ax25 NOCALL-1 up
aktiviert werden. Hierbei gilt das gleiche wie bei den Minimodem-Treibern bc[0-3]. Bei ifconfig können auch gleich wieder die für TCP/IP erforderlichen Daten mit angegeben werden.

5.6 Einstellen des TCP/IP-Routings

Die Konfiguration eines Netzwerkeintrages für TCP/IP ist sehr einfach. Im Prinzip kann man die AX25 Netzwerkeinträge genau so konfigurieren, wie einen Ethernetadapter (eth0). Dazu werden die Programme ifconfig und route benötigt. Die Kentnisse über TCP/IP Routing werden hierbei vorausgesetzt.

Weiterhin besteht die Möglichkeit, die IP-Adressen und Netzmasken zumindest beim KISS-Treiber gleich mit kissattach zu setzen.

Fertige TCP/IP Konfigurationen können dann wie üblich mit

        # ping -i 5 192.168.205.33
getestet werden. Das -i 5 gibt dabei an, dass nur alle 5 Sekunden ein Ping gesendet werden soll, da sonst der Funkkanal hoffnungslos überlastet werden würde.

Funktioniert die Verbindung, so können alle (nicht zeitintensiven) Internetdienste über die Funkverbindung verwendet werden.

5.7 AX25 Parameter

TCP/IP stellt eigentlich fast alle nötigen Parameter von selbst ein. Dadurch ist es leider nicht immer besonders schnell, besonders wenn Pakete verloren gehen und es zu lästigen Retries kommt. Deswegen ist es besonders wichtig, daß die Funkverbindung stabil ist und keine Daten verloren gehen.

Ein wichtiger Parameter, den die Software nicht von alleine erkennen kann ist das TX-Delay. Hierbei handelt es sich um die Verzögerung zwischen Auftasten des Senders und der Aussendung der Daten. Je nach Funkgerät und Übertragungsverfahren beträgt das TX-Delay zwischen 100 und 500 Millisekunden. Ein zu langes TX-Delay belegt den Funkkanal unnötig, bei zu kurzem TX-Delay wird das erste Paket einer Aussendung verschluckt.

Dieser Parameter wird beim KISS-Treiber mit dem Befehl 

        # kissparms -p <port> -t TXD
gesetzt. TXD gibt dabei den TX-Delay Wert in Millisekunden an.

Bei den Treibern für Soundmodem und Minimodem muß dafür der Befehl

        # sethdlc -a -i bc0 txd 250   oder
        # sethdlc -a -i sm0 txd 250
verwendet werden.

Es empfiehlt sich, die man-pages zu folgenden Befehlen zu lesen:


6. Sonstiges

6.1 Probleme und Schlußwort

Einer der größten Nachteile einer Funkstrecke gegenüber einer Drahtleitung ist, daß zwischen Senden und Empfang umgeschaltet werden muß. Für jedes Datenpaket muß eine Bestätigung zurückgesendet werden. Die Bestätigungen stauen sich also auf, bis die andere Station auf Sendung gehen kann. Der Datendurchsatz wird dabei praktisch halbiert. Lange Umschaltzeiten wie z.B. bei der MHE Technik sorgen für weitere Verzögerungen.

Diesem Problem kann man eigentlich nur dadurch begegnen, daß man zwei Funkgeräte auf jeder Seite verwendet. (natürlich auf getrennten Kanälen.) Die TNCs und Minimodem sind für diesen sogenannten Vollduplexbetrieb bereits ausgelegt. Bei Einsatz einer Soundkarte muß diese gleichzeitige Aufnahme und Wiedergabe unterstützen.

Ein größeres Problem hierbei sind allerdings die Funkgeräte. Betreibt man mehrere Funkgeräte gleichzeitig, so stört die Sendung des einen Funkgerätes den Empfang des anderen. Dadurch werden nur noch starke Signale gelesen, die Reichweite von CB-Funk sinkt auf ein Minimum.

Abhilfe schafft hier eine Reduzierung der Sendeleistung und die räumliche Trennung der Antennen. Bei 70cm LPDs treten diese Probleme kaum auf, da die Sendeleistung sehr gering ist. Keine Störungen treten ausserdem von 70cm auf 11m und umgekehrt auf.

Es sollte auf jeden Fall darauf geachtet werden, dass keine Datenpakete auf der Funkstrecke unter normalen Umständen verloren gehen. Ein Datenverlust von 25% ist bereits nicht mehr erträglich. Weite Verbindungsstrecken über 100km, wie sie beim normalen AX.25 Betrieb auf CB teilweise verwendet werden, funktionieren mit TCP/IP nicht oder nur schlecht.

Der Funk sollte also dafür eingesetzt werden, wofür er gedacht ist: Für Kurzstreckenverbindungen, bei denen Standleitungen technisch nicht möglich oder zu teuer sind. Mobilbetrieb ist natürlich auch möglich, aber aufgrund der geringen Reichweite kaum rentabel.

6.2 Benötigte Software zum Download

Alle oben erwähnten Programme stehen hier direkt zum Abruf bereit:
ax25-module-14f.tar.gz
AX-Module Patch Version 14f
ax25-utils-2.1.42a.tar.gz
AX-Utilities Version 2.1.42a
net-tools-1.33.tar.gz
Net-Tools Version 1.33
kissinit.gz
Kissinit - zum Schalten des TNC in den KISS-Mode

6.3 Links zum Thema CB-Funk und digitale Datenübertragung

Hersteller

CB-Funk- und Exportgeräte

Alan
Aktionen, Gewinnspiele, Produktinformationen, Händlerverzeichnis, Support, Preise
Albrecht
Bedienungsanleitungen, Schaltpläne, Produktinformationen
Danita
(englisch) Produktinformationen
DNT
Produktinformationen (etwas unübersichtlich)
Kaiser
Produktinformationen, Gewinnspiel, allgemeine Infos
Maas
Produktinformationen, Händlerpreisliste
Midland
Produktinformationen
Pan
im Aufbau, Anforderung von Produktinfos per Post möglich
President
(englisch) Produktinformationen (auch Exportgeräte)
Stabo
Produktionformationen, Infos rund um den CB-Funk
Zodiac
im Aufbau, Links zu Partnerfirmen

Hardware zur Funk-Datenübertragung

Symek, Ulf Kumm
Hersteller von TNCs (TNC2 und TNC3), Preislisten, Support, allgemeine Infos
Baycom
Hersteller von Packet-Radio Modems, Produktinformationen, technischer Support
Landolt
Hersteller von Packet-Radio TNCs, Produktinformationen

CB-Funk Magazine

FM-Funkmagazin - Onlinemagazin
sehr aktuelle Infos rund um CB und PR
CB-Radio
Verbandsübergreifende unzensierte Informationen! Spezialtip !!
Radio Break - Rundfunksendung rund um CB und Packet-Radio
Infos rund um CB und PR, QSO der Woche als Audiodatei
Piraten-News - Onlinemagazin
Infos rund um CB und PR, Online-Bestellungen bei CB-Versand, leider nicht sehr aktuell
CB-Kurier - CB-Funkzeitschrift
Infos zur aktuellen Ausgabe der genannten Zeitschrift

6.4 Adressen

Lokale Händler für Funktechnik

Raum Pirmasens

L.A.N.C.E.T. Funkcenter

Joachim Bergfeld
Muehlstrasse 35
66981 Muenchweiler a. d. Rodalb

Tel.: 06395-7689

Raum Kaiserslautern

KKE Funktechnik

Gunter Schwambach
Hauptstrasse 26
66882 Huetschenhausen

Tel.: 06372-6843 (ab 17 Uhr)

6.5 Das Pfalz-Saar-Netz (PSNet)

Um den Aufbau des Packet-Radio Netzes und neuerdings auch das "Internet per Funk" zu fördern, wurde die Interessengemeinschaft PSNet gegründet. Interessierte Personen können hier Hilfe bei technischen Problem und Unterstützung bei der Einrichtung einer Funkverbindung oder einfach nur eines Linux-Rechners erhalten. Weiterhin setzen wir uns für einen freien, nicht-kommerziellen CB-Funk ein und unterstützen somit auch die Idee des freien Betriebssystems Linux.

Bei weiteren Fragen sind wir unter http://www.psnet.org zu erreichen. Hier gibt es auch weitere Informationen zu den interessanten Themen Packet-Radio und CB-Funk.

Wir freuen uns über jeden interessierten Benutzer, der einmal in die Welt des Funks reinschauen möchte.