Amiga Linux Terminal
In diesem Beitrag zeige ich euch wie man ein Amiga Linux Terminal erstellt. Dabei fungiert der Amiga Rechner als Client und der Linux Rechner als Server. Vom Client loggt man sich auf dem Server über die Konsole ein. Damit wird der Amiga 500 mit seinen 7 MHz zu einem ThinClient für den leistungsfähigeren Linux Rechner, in meinem Fall ein Raspberry Pi Modell B mit 700 MHz auf einem ARM Chip.
Amiga Linux Terminal
Ich verwende für dieses Tutorial das bereits bekannte Setup aus meinem Beitrag zur Datenübertragung zwischen PC und Amiga. Der Amiga ist über ein serielles Null-Modem Kabel mit einem Raspberry Pi verbunden. dieser verwendet aufgrund fehlendem RS-232 Steckplatz einen RS-232 USB Adapter. Die Kommunikation damit klappt ganz gut, sofern man das einmal korrekt eingerichtet hat. Zusätzlich benötigen wir am Amiga Rechner (in meinem Fall am Amiga 500) ein Terminal Programm. Ich verwende NComm, wie man das für den 500er einrichtet könnt ihr im NComm Artikel nachlesen.
Telnet
Im folgenden zeige ich euch die funktionierende Lösung. Weiter unten habe ich dann ausführlich beschrieben welche Fehler ich gemacht habe und was man noch so alles wissen sollte. Ihr könnt euch in jeden beliebigen Rechner im Netzwerk einloggen. Ihr braucht nur dessen IP Adresse. Der Rechner muss vom Raspberry Pi erreichbar sein und er muss Telnet aktiv haben (ist heutzutage fast immer deaktiviert). Ich habe auf dem Pi Telnet installiert und aktiviert:
1 | sudo apt-get install telnet.d |
und danach mit
1 2 3 | sudo /etc/init.d/openbsd-inetd restart <img class="alignnone size-full wp-image-3168" src="https://technology-blog.net/wp-content/uploads/2017/07/telnet-service-restart-1.jpg" alt="Telnet Service restart" width="1000" height="65" /> |
starten. Am besten ihr testet die Funktionalität mit einem anderen Rechner im Netzwerk, damit ihr sicher sein könnt, dass es funktioniert.
Tcpser starten
Neben dem beschriebenen Hardware-Setup benötigen wir am Raspberry Pi das Programm tcpser. Dieses laden wir uns von Github herunter (bitte unbedingt diese Version nehmen und nicht die aus dem Paketmanager!). Bei der Version ist ein Bug behoben worden. Ihr müsst das Programm erst kompilieren, das funktioniert ganz einfach über den Befehl
1 2 3 | make <img class="alignnone size-full wp-image-3167" src="https://technology-blog.net/wp-content/uploads/2017/07/tcpser-compilieren.jpg" alt="tcpser kompilieren" width="1000" height="410" /> |
den ihr im Hauptverzeichnis von tcpser aufrufen könnt. Danach starten wir das Programm in etwa so:
1 | ./tcpser -d /dev/ttyUSB0 -s 9600 -l5 -p23 |
Mit dem Parameter d geben wir das Device an über das kommuniziert wird. Mein Null-Modem Kabel hängt über einen Adapter am USB Anschluss. Mit s geben wir die Übertragungsgeschwindigkeit in Baud an. Wichtig ist, dass man in NComm den selben Wert einstellt. Beginnt lieber mit niedrigen Werten wie 9600, sobald alles läuft könnt ihr auch höhere Werte probieren. Mit l stellen wir den Loglevel ein. 5 gibt da bereits sehr ausführliche Infos. Mit p stellen wir noch den Port ein, 23 ist der Standard Telnet Port.
NComm
Am Raspberry Pi läuft nun tcpser und gibt auf der Konsole mehr oder weniger wichtige Debugausgaben aus. Am Amiga 500 starten wir nun NComm. Unter dem Programm kann man bei gedrückter rechten Maustaste aus dem Menü oben Einstellungen vornehmen. Wir müssen nun im Com Menü die korrekten Einstellungen setzen (z.B. 9600 Baud wie oben). Alle Einstellungen können auch jederzeit abgespeichert werden, solltet ihr also eine funktionierende Konfiguration haben bitte unbedingt abspeichern.
Über Phone -> Phone Book kann man sich neue Logins erstellen und abspeichern (sofern man das Phone Book abspeichert). Ich habe dort die Verbindung mit meinen Amiga Pi wie folgt eingerichtet:
Unter Dial kann man nun eine Verbindung einrichten. Als Name habe ich Amiga Pi vergeben. Als Phone# gibt man die IP Adresse an. Hat man alles richtig gemacht und wählt den Eintrag aus, dann solten man wenige Augenblicke danach das Login sehen. Mit den korrekten Logindaten gelangt man ins Linux Terminal.
Making of
In diesem Making of habe ich noch alles wissenswerte notiert. Solltet ihr Probleme haben werdet ihr hier hoffentlich fündig.
Modem
Retro Computer (darunter verstehe ich Rechner wie Amiga, Atari oder C64) haben für gewöhnlich keinen LAN Anschluss. Man kann sie also nicht so einfach ins Heim LAN Netzwerk anschließen. In den 80er Jahren hatten diese Rechner aber sehr wohl die Möglichkeit untereinander Daten auszutauschen. Es war sogar möglich sich über die Telefonleitung an bestimmte Dienste und Services einzuloggen, Daten auszutauschen oder zu kommunizieren. Das alles noch vor dem Internet. Für all das benötigte man ein Modem, ein Gerät, das digitale Signale in analoge Signale umwandeln, über die Telefonleitung schicken und danach wieder zurückverwandeln konnte. Kaum jemand wird heute noch ein Modem haben, falls doch wird das kaum mehr funktionieren, denn Telefonleitungen werden meist nur noch fürs Internet verlegt. Wir können aber wie immer in der EDV ein solches Gerät mit einer Software emulieren.
Tcpser
Über das amiga.org Forum bin ich auf dieses kleine Programm tcpser gestoßen. Es emuliert ein Hayes Modem, welches den AT-Befehlssatz versteht. Das war damals ein Industriestandard. NComm versteht diesen Befehlssatz, weshalb eine Kommunikation ohne weitere Konfiguration möglich sein sollte. Tcpser ist ein Debian Paket und kann deshalb relativ einfach über:
1 | apt-get install tcpser |
installiert werden. Ich habe nach mehreren Stunden herausgefunden, dass tcpser einen Bug hat, weshalb man sich mit Linux nicht über Telnet verbinden kann. Was tun?
Problemlösung
Die Lösung habe ich ja oben bereits beschrieben. Der Vorteil von Open Source ist, dass man fehlende oder nicht funktionierende Funktionalität selber einbauen oder verändern kann. Ein findiger Entwickler hat den Bug behoben und dankenswerter Weise online gestellt. Damit klappts, leider hat bis heute nieman diesen Bugfix ins offizielle Debian Paket übernommen. tcpser hat seit vielen Jahren keinen Maintainer mehr, weshalb ich am überlegen bin das zu übernehmen. Mal sehen, eventuell lest ihr bald darüber einen Artikel.
Motivation
Der eine oder andere fragt sich bestimmt warum ich das mache. Im Prinzip könnte ich auch anstatt der Prozedur mit der seriellen Verbindung auch gleich Maus, Tastatur und Bildschirm am Raspberry Pi anschließen. Das spannende ist, dass man ohne Netzwerkverbindung und demnach ohne TCP/IP mit einem Retro Rechner mit aktueller Hardware kommunizieren kann. Der angeschlossene Raspberry Pi kann nun nicht nur über einen Amiga Rechner gesteuert werden, er kann auch als Gateway ins Internet dienen. Wie das funktioniert zeige ich im nächsten Artikel zum Thema BBS (Bulletin Board System). Diese Systeme gab es schon viele Jahre vor dem Internet und es gibt nach wie vor zahlreiche solcher Systeme die immer noch erreichbar sind.
Fazit
Die Recherche und Vorbereitung für diesen Artikel zum Amiga Linux Terminal war wie immer sehr spannend. Ich habe sehr viel über alte Hard- und Software gelernt. Wissen, dass mir auch bei der täglichen Arbeit hilfreich sein kann. Ich werden den Raspberry Pi auch weiter als Amiga Modem verwenden und dazu sicher noch das eine oder andere Artikelchen schreiben.
Habt ihr Anregungen, Wünsche oder Fragen? Ich freue mich über jeden Kommentar.