KERMIT Dateitransfer zwischen zwei PC(W)s

Übersicht
In der Anfangszeit der EDV war die Verbindung zu einem Zentralrechner realisiert durch ein Terminal, also ein Gerät, welches Daten über eine Tastatur zum Rechner schickte und Daten vom Rechner empfing, die dann auf dem Bildschirm dargestellt wurden. Neben der Tastatur und dem Bildschirm war ein Terminal ausgerüstet mit einer Schnittstelle, also der Verbindung zum Rechner. Typischerweise war dies eine serielle Schnittstelle nach der V.24 Norm (auch unter RS232 bekannt). Dies ist eine serielle Schnittstelle, deren Geschwindigkeit in Bits pro Sekunde (Baud) angegeben wurde; in der Anfangszeit lag diese bei 110 Baud, also 110 Bits pro Sekunde. Rechnet man mit etwa 11 Bits pro Datenwort, so liegt man bei 10 Zeichen pro Sekunde. Heutige serielle Verbindungen werden mit bis zu 115200 Baud betrieben, also etwa die tausendfache Geschwindigkeit wie in den Anfangstagen!
Als dann die ersten Personal Computer auf den Markt kamen - meist übrigens mit dem Betriebssystem CP/M - standen ebenfalls eine Tastatur und ein Bildschirm zur Verfügung. Darüber hinaus verfügten solche Geräte über einen externen Massenspeicher - Diskette oder Festplatte - sowie meist über einen Drucker. Mit einer zusätzlichen seriellen Schnittstelle konnte ein PC dann in ein Terminal gewandelt werden. Allerdings benötigte man dazu noch ein Programm, das den PC funktionell in ein Terminal "verwandelte", einen sog. Terminalemulator. Ein solches Programm hat neben den Möglichkeiten eines Terminals (also 1.) Daten von der seriellen Schnittstelle auf den Bildschirm und 2.) Daten von der Tastatur auf die serielle Schnittstelle auszugeben) noch die Möglichkeiten Daten von der seriellen Schnittstelle 1.) auf dem Drucker zu protokollieren und 2.) in eine Datei zu schreiben. Ebenfalls können Daten aus einer Datei auf die serielle Schnittstelle gesendet werden. Bei der Übertragung von Dateien ist es wichtig, daß keine Daten verloren gehen. Deshalb wurden hierfür Protokolle entwickelt, die sicherstellen, daß die Daten korrekt übertragen werden. Einer der ersten, der dies für CP/M tat, war Ward Christensen. Er entwickelte, eingebettet in einen Terminal Emulator, ein Protokoll, das später den Namen XMODEM Protokoll enthielt. Neben diesem XMODEM Protokoll, aus dem das YMODEM sowie ZMODEM Protokoll weiter entwickelt wurde, setzte sich das KERMIT Protokoll durch, welches aus dem Universitätsumfeld stammt. Dieses Protokoll wurde schon sehr früh an unterschiedlichen Plattformen installiert, d.h. ein simpler CP/M Rechner konnte z.B. von einer DEC VAX Daten problemlos empfangen.
Genau dies soll jetzt zwischen einem CP/M Rechner, dem JOYCE, und einem IBM PC beschrieben werden. Wie man unten erkennen kann, sind die Kommandos für KERMIT am PC und am JOYCE weitestgehend identisch.

Vorbereitungen
An beiden Maschinen muß eine serielle Schnittstelle vorhanden sein. Dies ist beim IBM PC Standard, beim JOYCE benötigt man eine Schnittstellenerweiterung. Weiterhin muß an beiden Maschinen das Programm KERMIT vorhanden sein. Außerdem müssen beide Maschinen über ein gekreuztes V.24 Kabel, dem sog, Null Modem Kabel, verbunden werden. Die Schnittstelle am JOYCE ist mit einem Standard 25 poligen DB-Stecker ausgerüstet, der PC mit einem 9 poligen DB-Stecker. Oft liegt beim Kauf eines PCs ein Umsetzer von 9-polig auf 25-polig bei. Zur Sicherheit ist die Beschaltung für beide Typen angegeben:


 25-polig auf 25-polig          25-polig auf 9-polig
Female           Female       Female             Female
(Buchse)                    (25-polig)          (9-polig)
  2 ------\/------ 2  Transmit  2 ---------------- 2
  3 ------/\------ 3  Receive   3 ---------------- 3
  7 -------------- 7  Ground    7 ---------------- 5

Verwendete Versionen für das Programm KERMIT

Für meine Tests habe ich folgende Versionen von KERMIT verwendet:
PC: IBM-PC MS-DOS Kermit: 3.14 18 Jan 1995 patch level 6
JOYCE: Kermit-80 v4.11 configured for Amstrad PCW with SIO option

Bedienung
Ist das Kabel vorbereitet und die Verbindung zwischen dem JOYCE und PC hergestellt, kann nun auf beiden Maschinen KERMIT gestartet werden, wodurch man im Kommandomodus von KERMIT landet. Dann muß nur noch sichergestellt sein, daß beide Maschinen mit den gleichen Einstellungen versehen sind:


Einstellung am PC Einstellung am JOYCE
set parity none set parity none
set port com'x'1 (entfällt)
set speed 96002 set speed 9600

Danach wird im Kommandomodus der Befehl 'connect‘ auf beiden Maschinen abgesetzt (jetzt werden die Schnittstellen aktiviert) und auf beiden Maschine kann der erste Test losgehen. Das, was auf der Tastatur der einen Maschine getippt wird, muß nun auf dem Bildschirm der anderen Maschine erscheinen. Sollte dies nicht klappen, dann liegt ein Fehler vor. Hierzu sollte nochmals die korrekte Beschaltung der Kabel bzw. die Konfiguration überprüft werden.

Connectmodus verlassen:

Eingabe am PC Eingabe am JOYCE
Alt-X Alt-\ [Alt-Ö]

Filetransfer
Bei reinen Textdateien ist es gleichgültig, aber bei binären Dateien müssen spezielle Kontrollzeichen, die im Text Modus etwa das Ende einer Datei anzeigen, "abgeklemmt" werden. Es empfiehlt sich in jedem Fall die Einstellung für binäre Dateien:

Einstellung am PC Einstellung am JOYCE
Set file type binary Set file BIN

Beide Versionen von KERMIT verfügen über Befehle, um sich die benötigte Umgebung zum Arbeiten mit Dateien zu schaffen:

Aktion Einstellung am PC Einstellung am JOYCE
Laufwerk wählen Cd lw: Set default-disk lw:
Verzeichnis wählen Cd dir1/dir2/.. Set user u
Daten anzeigen Dir Dir

Nach diesen Vorbereitungen können nun Dateien übertragen werden:

Aktion Einstellung am PC Einstellung am JOYCE
Eine Datei vom PC zum JOYCE Send Datei Receive
Alle Dateien vom PC Send *.* Receive
Alle Dateien vom JOYCE Receive Send *.*

Bei der Übertragung erscheint auf jeder Maschine eine Anzeige der Aktivitäten, die beim JOYCE wie folgt aussehen, hier am Beispiel des Sendens vom JOYCE zum PC:
Number of packets: xxx                Diese Zahl sollte sich stetig erhöhen
Number of retries: x                Diese Zahl sollte klein sein
File name: DATEI

Sending...
Die Anzeige auf dem PC ist ähnlich, jedoch enthält diese mehr Informationen. Wenn alle Aktivitäten beendet sind, heißt es Abschied nehmen von KERMIT, dies geschieht auf beiden Maschinen im Kommandomodus mit dem Befehl 'quit‘.

Das war der kurze Ausflug in die Welt von KERMIT. Ich selbst besitze seit einiger Zeit eine Windows-95 Maschine, auf der der JOYCE Emulator 'JOYCE v2.01' von John Elliott installiert ist. Eine der "wichtigsten" Arbeiten war bzw. ist noch, alle meine Dateien vom JOYCE auf den PC zu bekommen. Hier hat mir KERMIT sehr geholfen.

Werner Cirsovius                                                                          Dezember 1997


1 Für "x" wird üblicherweise entweder 1 oder 2 gesetzt, je nach Anschluß an die COM1: oder COM2: Schnittstelle.
2 Ich habe auch mal mit höheren Baudraten gespielt, aber hier versagt der JOYCE.

Abgedruckt in Klubzeitung Nr. 51. Autor: Werner Cirsovius