Der PTC-IInet ist eine geschickte Kombination aus einem PACTOR-Modem und einem Miniatur-Linux-Rechner.

Der komplette Linux Teil des PTC-IInet basiert auf µClinux. Für interessierte Benutzer bieten wir Patches gegen µClinux und den kompletten Source-Code des Web-Interfaces und der dazugehörenden Tools auf der SCS Homepage zum download an.
Alle von SCS entwickelten Linux-Sourcen werden unter der GNU GPL zur Verfügung gestellt!
Aktuelle Änderungen am µClinux-Kernel und am Web-Interface werden im CHANGELOG dokumentiert. Ebenso wird hier vermerkt wann ein Update freigegeben wurde.
Über Fehler und geplante Änderungen informiert BUGS.
Da der PTC-IInet dem PTC-IIusb sehr ähnlich ist empfiehlt sich auch ein Blick in das PTC-IIusb Handbuch.
Nach dem Einschalten passieren zwei Dinge:
Damit ist der PTC-IInet betriebsbereit.
Das Web-Interface ist weitestgehend selbsterklärend. Zu jedem Punkt ist eine Online-Hilfe verfügbar. Klicken Sie einfach auf die Beschriftung des entsprechenden Elementes zu dem Sie Hilfe benötigen.
Das Web-Interface des PTC-IInet erreichen Sie in dem Sie als URL in Ihrem Browser die IP-Adresse des PTC-IInet eingeben, z.B. http://192.168.0.100. Der Benutzername ist "root", das Passwort "PTC2net". Das Passwort sollten Sie möglichst schnell über das Web-Interface ändern!
Das Web-Interface des PTC-IInet benötigt JavaScript!
Getestet wird das Web-Interface mit folgenden Browsern: KDE Konqueror, FireFox (Linux/Windows), Opera (Windows), Internet Explorer 6 & 7 (XP), Safari (Mac OS X Leopard).
Das erste was der PTC-IInet nach dem Einloggen zeigt ist die Status-Seite. Angezeigt werden:

Hier werden alle netzwerkspezifischen Einstellungen vorgenommen.
Alle Einstellungen sind nur gültig wenn der DHCP-Jumper geöffnet ist!
Im Auslieferungszustand ist der DHCP-Jumper gesteckt, d.h. der PTC-IInet versucht seine IP-Adressen von einem DHCP-Server zu beziehen. Bei gestecktem DHCP-Jumper gibt es kein "Fallback" auf fixe IP-Adressen falls kein DHCP-Server gefunden wurde!
Ohne DHCP-Jumper gibt es bei aktiviertem DHCP ein Timeout: wurde innerhalb von 60 Sekunden kein DHCP-Server gefunden werden die eingestellten fixen IP-Adressen benutzt.
Sollten Sie keinen DHCP-Server in Ihrem Netzwerk haben so müssen Sie den PTC-IInet auf fixe IP-Adressen umstellen. Dies geschieht einfach durch Entfernen des DHCP-Jumpers im Inneren des Gerätes ganz in der Nähe des Stromversorgungssteckers. Die voreingestellte IP-Adresse ist dann 192.168.0.100, Netmask 255.255.255.0.
Im Falle von festen IP-Adressen müssen für eine funktionierende Internet-Verbindung unbedingt das Standard Gateway und ein DNS-Server angegeben werden.

Hier werden die wichtigsten Parameter für die HF-Seite eingestellt.
Call Sign ist das Rufzeichen unter dem der PTC-IInet erreichbar ist.
FSKA und PSKA sind die Ausgangsamplituden des PTC-IInet für die verschiedenen Modi. Die beiden Einstellungen sind extrem wichtig für den störungsfreien Betrieb! Am besten ermitteln Sie die beiden Werte mit einem normalen PTC-II-Modell, da der PTC-IInet in seinem Web-Interface hierfür noch keine sinnvolle Unterstützung bietet. Die genaue Prozedur zum Ermitteln der Werte ist in jedem PTC-II Handbuch im Kapitel "Installation" beschrieben.
Tx Delay kann üblicherweise auf der Standardeinstellung (4) belassen werden.
Die restlichen Einstellungen sind detailiert im Handbuch zur Professional Firmware beschrieben.
Aus den hier gemachten Angaben wird der sog. Init-String gebildet.

Reset PTC - führt einen Reset des Modem-Teils durch.
BIOS - schaltet den Modem-Teil ins BIOS.
Reboot - bootet den Linux-Controller.

Die Update-Funktion des PTC-IInet vergleicht die aktuell installierten Versionen mit den Versionen die auf dem SCS Server verfügbar sind. Das bedeutet aber auch, dass für die Update-Funktion eine Internetverbindung benötigt wird!
Die Spalte installed zeigt die auf dem PTC-IInet installierten Versionen, die Spalte available zeigt die auf dem SCS Server verfügbaren Versionen.
Gibt es auf dem SCS Server eine neuere Version wird die entsprechende Zeile rot eingefärbt und unter der Liste wird der Update Knopf eingeblendet mit dem der eigentliche Updatevorgang gestartet wird.
Achtung: Ein Update kann mehrere Minuten dauern!

Ein Klick auf den Knopf Beta zeigt zusätzlich die verfügbaren Beta-Versionen an.
Bitte beachten sie den Warnhinweis!

Damit nicht jeder x-beliebige PTC-II Besitzer das HF-Internet-Gateway des PTC-IInet benutzen kann muss sich jeder Benutzer mit einem Benutzernamen und Password beim PTC-IInet anmelden. Benutzername und Password müssen in die folgende Liste eingetragen werden.
Tragen Sie dazu den Benutzernamen und das Passwort in die entsprechenden Felder ein und klicken Sie auf Add.
Sie können Benutzer löschen indem Sie das Feld ganz rechts anklicken und dann auf Delete klicken. Auf diese Weise können Sie auch mehrere Benutzer gleichzeitig löschen.
Vermeiden Sie Leerzeichen im Benutzenamen und im Password!
Benutzername und Password sind Groß-/Kleinschrift sensitiv!

Alternativ ist auch eine komplette Benutzerverwaltung über einen RADIUS Server möglich!
Die RADIUS Konfiguration erfolgt über das System Menü.
Über das Web-Terminal erhalten Sie direkten Zugang zum Modem-Teil, dem eigentlichen PTC.
Zuerst müssen Sie das Web-Terminal starten. Drücken Sie dafür einfach auf den Knopf Start Terminal.

Wurde das Web-Terminal erfolgreich gestartet werden die zusätzlichen Knöpfe aktiviert und der PTC meldet sich mit dem üblichen cmd:.
Mit den Knöpfen ESC, Ctrl-Y und Ctrl-D können Sie die entsprechenden Steuerzeichen an den PTC schicken.
Wird das Web-Terminal nicht mehr benötigt beenden Sie es mit dem Knopf Stop Terminal.

Zur Zeit hat das Web-Terminal noch einen Schönheitsfehler: der Empfangsbildschirm scrollt nur mit dem Internet Explorer und FireFox automatisch nach unten! Außerdem sollten Sie das Web-Terminal sowieso nur für Diagnosezwecke einsetzen!
Falls Sie noch nicht mit den vielfältigen Möglichkeiten der Transceiversteuerung vertraut sind empfiehlt sich die Lektüre des Kapitels TRX z.B. im Handbuch zum PTC-IIusb.
Im ersten Dialog wird der Transceiver-Typ und die weiteren daraus resultierenden Parameter eingestellt.

Hier wird eingestellt ob der PTC-IInet die eingestellten Kanäle scannen soll.
Dwell definiert die Verweilzeit des Scanners auf jedem Kanal in 100 ms Schritten. Bei einem Wert von 30 bleibt der Scanner also genau 3 Sekunden auf jedem Kanal stehen.
Wait bestimmt die Zeit in Sekunden die der Scanner nach dem Beenden einer Verbindung noch auf dem aktuellen Kanal verweilt.
Offset definiert einen Frequenzoffset der zu jeder Frequenzangabe aus der Kanalliste addiert wird.

Hier werden die Zeitfenster (Timer) für zeitgesteuertes Scannen definiert. Es können bis zu 10 Zeitfenster definiert werden.
Ein neues Zeitfenster definieren Sie einfach durch Einstellen der Start-/Stop-Zeit und Drücken des Submit-Knopfes. Das neue Zeitfenster wird einfach an der ersten freien Stelle eingefügt.
Mit
können Sie ein Zeitfenster ändern.
Mit
wird ein Zeitfenster gelöscht.

Hier wird die eigentliche Frequenzliste definiert. Es sind bis zu 32 Kanäle möglich.
Mit Scan geben Sie den Kanal für einen eventuellen Scan-Vorgang frei. Falls Zeitfenster definiert wurden, können Sie noch definieren, ob dieser Kanal nur in einem bestimmten Zeitfenster in den Scannvorgang einbezogen wird.
Mit
können Sie einen Kanal ändern.
Mit
wird ein Kanal gelöscht.

Setzen des Hostname des PTC-IInet.
Über den Time-Server holt sich der PTC-IInet Datum und Uhrzeit aus dem Internet.

Kontrolliert die Passworte für das Web-Interface und den Telnet Zugang.
Ein Passort muss mindestens 5 und darf maximal 8 Zeichen lang sein.
Achtung: Passworte sind Groß-/Kleinschrift sensitiv!

Für die Fehlersuche protokolliert der PTC-IInet wichtige Systemereignisse in zwei Log-Dateien. Syslog (System Log) ist das Haupt-Log des PTC-IInet. Mgetty, der Prozess der auf einen eingehenden Connect wartet, führt ein eigenes Log.
Über Log Level wird die Geschwätzigkeit eingestellt. Ist PPPD Debug selektiert so protokolliert der PPP Daemon Details über den PPP-Verbindungsaufbau. Unter anderem auch Username und Passwort. PPPD Debug sollte deshalb normalerweise ausgeschaltet sein! Der PPPD sendet seine Meldungen an das Syslog.
Die Geschwätzigkeit des mgetty läßt sich etwas feiner regulieren. Bei Level 0 protokolliert mgetty überhaupt nichts, Level 4 ist optimal für die normale Fehlersuche, bei Level 6 wird mgetty sehr geschwätzig! Mgetty protokolliert in ein eigenes Log. Wichtige Meldungen landen zusätzlich aber auch im Syslog.
Die Log-Dateien werden im RAM geführt und sind deshlab nach dem Einschalten oder nach einem Reset leer!
Das Syslog läßt sich deshalb an einen Syslog-Server weiterleiten.

Für spezielle Applikationen kann es erforderlich sein, den Zugang zu bestimmten Internet-Protokollen komplett zu blockieren.
Ist z.B. HTTP selektiert so können Benutzer nicht über die PIB bzw. PTC-IInet im Internet surfen!

RADIUS (Remote Authentication Dial-In User Service) ist ein Protokoll mit dem Einwahlknoten (wie z.B. der PTC-IInet) die Daten eines Users (also Username und Passwort) bei einer zentralen Stelle (dem RADIUS Server) überprüfen können. Dies ist dann von Vorteil wenn ein Netzwerk aus mehreren PTC-IInet Einwahlknoten besteht.

Für spezielle Applikationen stellt der PTC-IInet ausführliche Statusinformationen via UDP bereit.

Zuerst muss der UDP-Status mit einem Klick auf "Enable Status" eingeschaltet werden. Mit "Status Interval" wird das Interval der Status-Aussendung in Sekunden eingestellt. "Status Server" spezifiziert den Ziel-Server an den die Statusinformation geschickt wird. "Status Port" bestimmt den Ziel- sowie den Absende-Port.
Das Datenfeld der UDP-Pakete ist wie folgt aufgebaut:
Das erste Byte gibt immer den Status-Typ an.
Bei allen Multibyte-Werten kommt das MSB zuerst!
Status Type 0 enthält den PACTOR-Status und andere "Low Layer"-Informationen.
| Offset | Inhalt |
|---|---|
| 0: | Type Identifier (immer 0) |
| 1: | PACTOR Status Byte |
| 2: | PACTOR level 0=not connected, 1=PACTOR-I, 2=PACTOR-II, 3=PACTOR-III |
| 3: | PACTOR Speed-Level 0-5 |
| 4,5: | Anzahl der noch zu sendenden Bytes im PACTOR Sendepuffer. |
| 6: | Belegung des Transmittpuffers in Prozent. Der Wert ist abhängig vom PACTOR-Speedlevel und kann sich daher schnell ändern. |
| 7-10: | Anzahl der Bytes (incl. PIB-Overhead) die während des aktuellen Connects schon zum PACTOR-Sendepuffer geschickt wurden. |
| 11-14: | Anzahl der Bytes (incl. PIB-Overhead) die während des aktuellen Connects schon aus dem PACTOR-Empfangspuffer gelesen wurden. |
| 15,16: | Empfangsfrequenz Offset in Hertz. Bei PACTOR-I bis PACTOR-III ist der Wertebereich auf -127...127 Hz limitiert. Der Wert -128 bedeutet "keine Frequenzinformation verfügbar". |
Status Type 1 liefert wichtige Informationen von der Remote-Seite.
| Offset | Inhalt |
|---|---|
| 0: | Type Identifier (immer 1) |
| 1: | Remote Status Information 0=reserviert 1=PAP not acknowledged (PAP NACK) Da die PACTOR-IP-Bridge nur PAP benutzt, bedeutet dies dass die Authentifizierung auf der Gegenseite fehlgeschlagen ist. Dieser Status wird nur auf der Client-Seite ausgegeben. Normalerweise wird der Link ein paar Sekunden nachdem der "PAP NACK"-Status generiert wurde abgebaut. 2...255=reserviert |
APRS, das Automatic Position Reporting System, ist ein Protokoll zur einfachen übertragung der aktuellen Position bewegter und unbewegter Objekte.
Um APRS mit dem PTC-IInet zu empfangen, müssen Sie die (Funk-) Baudrate einstellen. Speichern Sie ihre Einstellung mit "Submit".

Eine Variante die empfangenen Positionsdaten auszuwerten, ist es die Daten als Eingabe an ein HTML-Formular zu senden. Hierzu geben Sie die URL des Servers der die empfangenen Positionsdaten weiterverarbeiten soll und welche APRS-Informationen überhaupt an den Server weitergeleitet werden sollen an. Speichern Sie ihre Einstellung mit "Submit".
Um den APRS-Empfang endgültig zu starten, klicken Sie auf den grünen Knopf "Start APRS".

Der PTC-IInet wechselt in den APRS-Modus. Alle anderen Funktionen sind nun außer Betrieb!

Die empfangenen Positionsdaten werden einfach als HTML Formulareingaben an den im URL-Eingabefeld angegebenen Server weitergeleitet. Dazu müssen Sie im URL-Eingabefeld hinter die URL des Servers den Namen des Scriptes das die Eingaben verarbeiten soll und die Parameter die verarbeitet werden soll eingeben. Ein möglicher Eintrag in das URL-Eingabefeld könnte etwa so aussehen:
http://www.myurl.localnet/setpos.php?src=$SOURCE&lat=$LATITUDE&lon=$LONGITUDE
Hier werden Rufzeichen, Breite und Länge an ein PHP-Script mit dem Namen setpos.php weitergeben. Das Script erwartet die Parameter in den Variablen src, lat und lon. Die Ausdrücke $SOURCE, $LATITUDE und $LONGITUDE werden vor dem Absenden durch die aktuellen Werte ersetzt. Allgemein ist das Format für das URL-Eingabefeld wie folgt aufgebaut: http://meine_server_url/script_name?script_variable=$_ausdruck&script_variable=$_ausdruck&...
Dabei ist
| meine_server_url | die URL des Servers an den der PTC-IInet die Positionsdaten schicken soll |
| script_name | der Name des CGI/PHP-Scriptes das die Positionsdaten auf dem Server verarbeiten soll |
| script_variable | der Variablenname der im CGI/PHP-Script benutzt wird |
| $_ausdruck | eine der PTC-IInet Variablen |
Um die Lesbarkeit zu erhöhen stellt der PTC-IInet folgende Variablen zur Verfügung die beim Absenden der Positionsdaten an den Server durch die aktuellen Werte ersetzt werden:
| Variable | Bedeutung |
|---|---|
| $SOURCE | Rufzeichen |
| $LATITUDE | Breite |
| $LONGITUDE | Länge |
| $ALTITUDE | Höhe |
| $SPEED | Geschwindigkeit |
| $COURSE | Kurs |
| $SYMBOL_TABLE | APRS Symbol Table |
| $SYMBOL_CODE | APRS Symbol Code |
| $COMMENT | Kommentar |
Natürlich muss es nicht unbedingt ein PHP-Script sein. Jedes beliebige CGI-Script in Perl, Python oder C funktioniert auch. Es muss nur die entsprechenden Eingaben verarbeiten.
Was das CGI-Script mit den empfangen Positionsdaten macht hängt letztendlich von Ihrer konkreten Anwendung ab!
Als Beispiel stellen wir Ihnen eine kleine Applikation zur Verfügung die alle empfangenen Positionsdaten in einer MySQL Datenbank speichert und die Positionen mit Hilfe von Google Maps in einer Karte darstellt. Die Beispiel-Applikation können Sie direkt von der SCS Homepage herunterladen. Zum Betrieb der Beispiele benötigen Sie einen Web-Server auf dem Ihnen MySQL und PHP zur Verfügung stehen. Zur Installation lesen Sie bitte die README-Datei!
Der PTC-IInet kann auch als sog. IGate arbeiten und die empfangenen Positionsdaten an APRS-Server im Internet weiterleiten. Dazu geben Sie den Namen oder die IP-Adresse und den Zielport des APRS-Servers an. Weiterhin benötigen Sie einen Usernamen und ein Passwort, damit der APRS-Server die Positionsdaten auch akzeptiert. Der Username ist normalerweise das eigene Rufzeichen. Besitzen Sie kein Passwort für den APRS-Server, dann tragen Sie in das Password-Feld den Wert -1 ein. Damit akzeptiert der APRS-Sever nur Positionsdaten, die von dem eingetragenen "IGate Username" kommen. Um auch sog. "Third-Party-Traffic" an den APRS-Server zu senden, müssen Sie ein gültiges Passwort beim Betreiber des APRS-Servers anforden. Speichern Sie ihre Einstellung mit "Submit".
Um das IGate endgültig zu starten, klicken Sie auf den grünen Knopf "Start IGate".

Der PTC-IInet wechselt in den IGate-Modus. Alle anderen Funktionen sind nun außer Betrieb!

SER2NET reicht die (interne) serielle Schnittstelle zwischen PACTOR-Modem und Linux-PC über TCP/IP nach außen. Mit Hilfe eines Virtual-COM-Port-Treibers können Sie von einem beliebigen PC im Netzwerk auf dem Modemteil des PTC-IInet zugreifen so als wäre ein PACTOR-Modem direkt an diesen PC angeschlossen.
Soweit die Theorie. In der Praxis funktionieren jedoch keine Programme die ein exaktes Timing auf der Schnittstelle erfordern, da die Weiterleitung der seriellen Daten über TCP/IP immer auch eine Verzögerung der Daten mit sich bringt.

Natürlich können Sie den Port z.B. auch in Ihrem Router freigeben und so den Modemteil des PTC-IInet via Internet von (fast) jedem Punkt der Erde steueren. Doch Achtung: Das ist ein Sicherheitsrisiko, da der Zugang nicht Passwort geschützt ist. So kann Jeder der ihre IP-Adresse und den richtigen Port kennt den Modemteil ihres PTC-IInet bedienen (und natürlich auch Senden!).
Als Virtual-COM-Port-Treiber empfehlen wir den HW Virtual Serial Port von HW-group
.
Die Installation ist weitgehend selbsterklärend.
Nach dem Start vom "HW Virtual serial Port" müssen Sie noch verschiedene Einstellung vornehmen. In das Feld "IP Addess" tragen Sie die IP-Adresse Ihres PTC-IInet ein. Und in das Feld "Port" tragen Sie den "Data Port" des PTC-IInet ein. Mit "Port Name" stellen Sie den COM-Port ein, den "HW Virtual serial Port" erzeugen soll.

Klicken Sie nun noch auf den Reiter "Settings" und prüfen Sie die Einstellungen. Das folgende Bild zeigt die empfohlenen Einstellungen (was auch die Standardeinstellungen sind).

Kehren Sie zurück zum Reiter "Virtual Serial Port" und klicken Sie auf den Knopf "Create COM". "HW Virtual serial Port" erzeugt nun den eingestellten COM-Port und verbindet ihn über TCP/IP mit dem PTC-IInet.
Testen können Sie die Funktion z.B. mit dem Windows Hyperterminal
Als Baudrate benutzen Sie bitte immer 115200 Baud! Andere Baudraten werden nicht unterstützt.
Neben dem Web-Interface bietet der PTC-IInet auch ein Kommandozeilen-Interface über Telnet. Es dient hauptsächlich der Software Entwicklung und der Fehlersuche. Der Benutzername ist "root", das voreingestellte Passwort ist "PTC2net". Das Passwort läßt sich über das Web-Interface verändern.
Nach erfolgreichem Login stehen viele der üblichen Linux-Befehle zur Verfügung.
Mit netid finden Sie auf einfachem Weg alle PTC-IInet in Ihrem lokalen Netzwerk.
Dazu lauscht der "PTC-IInet Information Daemon" (netid) auf Port 1101 auf UDP-Broadcast-Pakete und beantwortet korrekte Anfragen mit einem Info-Paket an den Absender.
Das Paketformat und Beispiel-Software, geschrieben in C, ist auf Anfrage verfügbar.