Die Idee:
Früher waren Computer zu teuer als das man jedem Mitarbeiter einen Auf den Schreibtisch hätte
stellen können. Mal abgesehen das sie ohnehin nicht durch die Bürotüre gepasst hätten. Da liegt
es nahe ein langes Kabel zu nehmen und einfach Bildschirm und Taststur in das Arbeitszimmer zu
verlegen. Terminals funktionieren nach dem Prinzip das sämtliche Taststureingaben sofort über
eine serielle Verbindung an einen entfernten Rechner geschickt werden und vom Rechner kommende
Bildschirmausgaben an das Terminal zurückgeschickt werden. Ein Terminal ist also eine Art
Fernbedienung für Computer. Seit Linux ist durch die Computerwelt ein Ruck gegangen. Unix und die
Shell ist wieder "in". Jeder der einen mit Linux oder einen mit einem anderen Unix ausgestatten
Computer besitzt kann theoretisch auch ein Terminal anschließen. Die Befehle mit denen man die
Konsole auf die serielle Schnittstelle umleiten kann sind bis heute standartmäßig implementiert.
Terminals oder besser gesagt Terminal Emulationen haben mich deshalb fasziniert weil es einfach
genial ist wenn man als Computersammler sich mit einer uralten Kiste auf seinem Unixrechner
einloggt und mit Lynx im Internet surft. Das ist ungefähr so als wenn man mit einem Oldtimer mit
200 Sachen über die A23 brettert.
Was das soll:
Meine Motivation das hundertfünfundsiebzigste Terminal Howto zu schreiben lag darin das die Howtos die
ich im Netz gefunden habe entweder viel zu kompliziert, verwirrend oder schlicht falsche Infomationen
beinhalteten. Diese Anleitung wendet sich an Leute die innerhalb eines Nachmittages ein funktionierendes
Terminal zusammenfummeln wollen und dafür nicht extra Tabellenbücher und Unixschwarten wälzen wollen.
Terminal Emulationen gibt es schon mindestens so lange es Terminals gibt. Wer ein Terminal besitzt braucht
sich die Stellen wo es um das einrichten der Terminalsoftware geht nicht durchlesen. Wir werden im folgenden
einen alten IBM kompatiblen PC in ein Terminal für einen Linuxserver verwandeln. Ich selbst habe es mit meinem
X86er PC mit SuSE Linux 9.0 und meinem Zenith Z100 der mit 8086 Prozessor und Novell Dos 7 läuft probiert.
Das Kabel löten:
Für viele fängt der Frust schon beim Kabel löten an. Im Netz hat man mindestens drei Pinouts gefunden und zwei
davon sind vielleicht auch noch Falsch. Die Angelegenheit fällt schon erheblich leichter wenn man weiß was
eigentlich bei der Übertragung passiert. Wenn man das weiß braucht man im Prinzip kein Pinout mehr. Das Ziel
besteht darin Daten von A nach B zu bekommen. Man kann sich das vorstellen wie bei zwei Wasserleitungen. Es
gibt einen Wasserhahn und ein Blumenbeet. Der Wasserhahn wäre bei der seriellen Schnittstelle die Senden-Leitung
(Als TxD oder TX bezeichnet) und das Blumenbeet der Empfangende Eingang (Als RxD oder RX bezeichnet). Es liegt
also deshalb Nahe beim Bau des Kabels den Senden-Ausgang (TX) des einen Systems mit dem Empfangen-Eingang (RX)
des anderen Systems zu verbinden. Die Kabel werden als gekreuzt. Damit das ganze noch ein Bezugspotential hat
werden die Masse-Leitungen (SG bzw. SignalGround) mit einander verbunden. Das ganze nennt man in der Fachsprache
eine "Drei-Draht-Kopplung". Dann gibt es noch die Möglichkeit die Leitungen mit einander zu verbinden die den
Datenfluss regeln. Das ist dann ungefähr so als würde jemand am Wasserhahn stehen und einer am Blumenbeet und
der am Blumenbeet sagt bescheid wann das Wasser aufgedreht werden muss und wann es genug ist. Das wäre dann eine
Verdrahtung mit "Hardware Handshake". Ich habe zwei Datenblätter erstellt in denen jeweils die Verdrahtung mit
und ohne Hardware Handshake für 24 auf 24 und für 24 auf 9 Pol dargestellt sind. Ich empfehle das Kabel zunächst
einmal ohne Hardware Handshake zu verdrahten das ist erstens einfacher und man braucht nur drei Adern. Bei PCs
die als Terminal arbeiten klappt das wunderbar. Ich habe es auch mal an einem V24 IBM Terminal getestet und das
hat auch wunderbar funktioniert. In besonderen Fällen kann es allerdings sein das ein Hardware Handshake
erforderlich ist. In der Regel ist dies aber nicht der Fall und es reicht ein einfacher Software Handshake
mit drei Adern. Das Pinout
Pinout für 9 und 24 Pol sowie
die Datenblätter für die Verdrahtung von
von 9 auf 24 Pol
und von
24 auf 24 Pol stehen zum
Download bereit.
Wem das jedoch zu kompliziert ist kann auch ein handelsübliches Nullmodemkabel verwneden. Ein solches Kabel
bekommt man in jedem Computerladen.
Das Terminal basteln:
Leute die schon einen als Terminal konfigurierten PC, einen anderen Computer mit funktionierender Terminalemulation
oder ein echtes "dummes" Terminal besitzen können diesen Teil überspringen und beim nächsten Punkt weiter lesen. Ein
alter PC ist schnell gefunden und die Hardware Verbindung mit dem eben gerade gebastelten Kabel schnell hergestellt.
Jetzt muss man den PC nur noch dazu bringen sich wie ein Terminal zu benehmen. Am schnellsten geht das mit dem beim
Norten Commander mitgelieferten Programm "Term90". Dort kann man unter Einstellungen-->Schnittstelle die
Verbindungsdaten einstellen. Hier sind nur zwei Werte von Bedeutung. Das sind Baud-Rate (Geschwindigkeit)
und die Schnittstelle. Die erste serielle Schnittstelle heißt bei Dos PCs "Com1" und die zweite "Com2". Als
Baudrate ist zum Testen ein geringerer Wert zu empfehlen. "9600" Baud bietet sich deshalb als Wert an. Parity
und Stoppbits und Wortlänge (7 oder 8 Bit) Werden vom Linuxrechner automatisch ermittelt. Ich verwende eine
Wortlänge von 7 Bit, ein Stopbit und keine Parity. Mit dem Bestätigen dieser Werte ist die Terminalemulation
einsatzbereit. Wenn man gerade einen WindowsPC oder Laptop zur Hand hat kann man die Verbindung auch mit
HyperTerminal testen. Für den Dauereinsatz empfehle ich jedoch Kermit. Kermit ist ein der wirklich besten
und schnellsten kostenlosen Terminalemulationen. Kermit ist für eine vielzahl von System verfügbar und selbst
auf einem uralten Dosrechner noch schnell. Bei Kermit muss man um die Verbindungsdaten einzustellen die
"mscustom.ini" editieren. Dort gibt es eine Sektion für Baudrate und Port. Alle anderen Daten können so bleiben
wie sie sind. In der Datei "message.txt" kann man eine persönliche Nachricht eingeben die nach dem Start von
Kermit angezeigt wird. Beispielsweise kann man dort eine kleine Beschreibung zur Benutzung der Terminalemulation
eingeben. Danach wird die "kermit.exe" gestartet und es erscheint nach einer etwas längeren Initalisierungsroutine
ein Prompt. Mit der Eingabe des Befehls "c" (für "Connect") verbindet sich Kermit mit dem Server und es kann
gearbeitet werden. Kermit kann bei der Columbia University in New York
heruntergeladen werden. Für alle die
Konfigurationsdatei nicht selber anpassen wollen habe ich sie zum
Download bereitgestellt. Mit dieser Datei
emuliert Kermit ein VT320 Termial Mit 7 Bit Worklänge, Einem Stopbit und keiner Parity an Com1. Diese Datei wurde
allerdings für die MS-DOS Kermit Verson 3.14 geschrieben. Bei neueren Kermit Versionen kann es sein das diese
Konfigurationdatei nicht richtig funktioniert.
Die Einrichtung unter Linux:
Die Einrichtung unter Linux ist denkbar einfach. Zunächst einmal muss man wissen das unter Linux die seriellen
Schnittstellen des Systems nicht Com1, Com2 usw. heißen sondern das sie hier mit "ttyS" anstatt "com" bezeichnet
sind. Die Nummerierung der Schnittstellen beginnt bei Linux auch nicht bei 1 sondern schon bei 0. Mit "ttyS0" ist
also "com1" gemeint. Wenn man unter einem Unix Ausgaben auf eine serielle Schnittstelle umleitet spricht man von
einem "getty - Prozess" Unter Linux übernimmt diese Aufgabe der Befehl "agetty" den man als Root eingeben muss.
Theoretisch reicht es als Root folgende Befehlszeile einzugeben: "agetty -L ttyS0 vt320" Zum Testen ist diese
Methode auch völlig ausreichend. Wenn Sie diese Befehlszeile eingeben sollte auf dem Bildschirm des Terminals
der Login Prompt erscheinen. Erscheinen nur wirre Zeichen dann ist meistens die Baudrate falsch eingestellt. Jetzt
müssten sie sich Theoretisch einloggen können und mit dem Linuxrechner vom Terminal aus arbeiten können. Leider
kann es bei dieser Methode oft zu Problemen kommen. Es kann Sein das nach der Eingabe des Benutzernamen die Verbindung
sofort wieder zusammenbricht. Deshalb ist es notwendig den Getty Prozess mit der Initab zu starten. Die Initab
befindet sich im Verzeichnis /etc und ist ungefähr das was unter Dos die Autoexec.bat ist. Diese Datei muss um
folgende Zeile ergänzt werden: "S0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt320" Die einzelnen Spalten dieser
Zeile sind durch Doppelpunkte getrennt.Das "S0" in der ersten Spalte steht in diesem Fall für die Id der seriellen Schnittstelle und muss auch entsprechend angepsst werden. Die
nachfolgende in der zweiten Spalte Zahl steht für den Runlevel in denen der Getty Prozess verfügbar sein soll.
Wenn Sie "12345" dort hinschreiben sind sie auf jeden Fall auf der sicheren Seite. Dann folgt in der dritten
Spalte die Aktion "respawn" das bedeutet das der Prozess wenn er beendet wird automatisch neu startet. Dies ist
wichtig das sie wenn Sie sich ausloggen sofort wieder einen Loginprompt bekommen. Danach wird der Befehl mit
vollem Pfad und Parametern aufgerufen. In diesem Beispiel ist es wieder ein Getty Prozess mit 9600 Baud an Com1
unter der Berücksichtigung das ein VT320 angeschlossen ist. Wichtig ist das die genannte Zeile an der Stelle in
die initab eingetragen wird wo die Konfiguration der Konsolen erfolgt. Damit Sie diesen Bereich schnell finden
habe ich hier einen kleinen Ausschnitt aus meiner initab zum
Download bereitgestellt. In vielen Fällen steht der
agetty Prozess schon auskomentiert als Beispiel in der initab. Sie brauchen also nur noch das Kommentarzeichen
entfernen und die Parameter entsprechend verändern.
Links zum Thema:
Abschließend möchte ich noch auf die Howtos verweisen die ich verwendet habe um mein Terminal einzurichten.
Sollte es bei der Einrichtung zu Komplikationen kommen ist es immer Ratsam noch weitere Quellen zu Lesen.
Ich habe die Erfahrung gemacht das der beste Schutz vor Fehlern die man selber macht eine gute Kenntnis der
Materie ist. Wenn man von bestimmten Dingen schon einmal gehört hat dann fällt die Fehlersuche oft leichter.
Desweiteren möchte ich auf Das Elektrotechnik Tabellen, Energie/Industrieelektronik Tabellenbuch von Westermann
verweisen. Dieses Buch ist ein echtes Muss für jeden Bastler und darf meiner Meinung nach in keinem Bastelkeller
fehlen.
Anschluß und Einrichtung eines Terminals von Michael Breitenbach
Auf die Plätze fertig TEXT-TERMINAL ! von Gismo und Philipp