Status: IP Zugang

IP

Die Idee, die BLUP BBS über das Internet zugänglich zu machen, keimt immer wieder auf. In den letzten Wochen habe ich mir das Thema etwas intensiver angesehen und fasse nun einmal den aktuellen Stand der Ent­wicklungen und die gesammelten Erfahrungen zusammen.

Motiv

Die BLUP ist derzeit nur über das ISDN Modem erreichbar. Da die Verbreitung von ISDN Karten und Modems immer weiter abnimmt und diese Geräte für einen Breitband Internetzugang nicht mehr erforderlich sind, steigen auch die technischen Hürden, die Besucher der Mailbox auf sich nehmen müssen. Damit die BLUP weiterhin erreichbar bleibt, ohne jedoch den Charme einer klassischen Mailbox einzubüßen, soll eine zusätzliche Zugriffsmöglichkeit über das Internet geschaffen werden. Dies ist jedoch aufgrund verschiedener Rahmenbedingungen kein ganz leichtes Unterfangen.

Rahmenbedingungen

Das Mailboxsystem der BLUP „Rainbow Mailbox Pro II“ (kurz rBox) ist eine DOS Software, die Mitte der 1990’er entstand und darüber hinaus auch nicht weiter entwickelt wurde. Die BLUP ist, soweit mir bekannt, das letzte verbleibende System, dass diese Software aktiv einsetzt. Über die Jahre sind meinerseits viele Entwicklungen in die Mailbox eingeflossen und man kann von einem „gewachsenem System“ sprechen.

Im Januar 2010 erlitt die bisher eingesetzte Hardware einen Totalausfall und war nicht mehr zu reaktivieren. In diesem Zuge wurde die gesamte DOS Umgebung auf ein Linux System ausgelagert und läuft dort nun seit mehr als zwei Jahren stabil in dem DOS Emulator DOSemu.

Neben vielen nützlichen Features, macht es der Emulator -- im Gegensatz zur DOS Hardware -- auch möglich, mehrere Instanzen der Mailbox Software parallel auszuführen. Software und Mailboxdaten liegen hierbei für alle Instanzen zentral im Dateisystem. Die rBox selbst ist grundsätzlich Multinode/ Multiport tauglich und meine Lizenz unterstützt bis zu 99 parallele Ports. Allerdings kann jede DOSemu Instanz nur jeweils einen Mailbox Port bedienen. Daher ist die Anzahl der tatsächlich nutzbaren Ports durch die Ressourcen des Linux Rechners eingegrenzt, sprich Speicher- und CPU Auslastung.

Carrier Lost

Die Mailbox kommuniziert über die serielle Schnittstelle mit dem externen ISDN Modem. Hierfür wird die physikalische Schnittstelle vom Linux System an die DOS Emulation weitergereicht. Über die Modem Steuerleitungen, speziell das DTR Signal (Data Terminal Ready), wird der Mailbox­software eine aktive Verbindung signalisiert. Im Fall des „CARRIER LOST“, das heißt dem Verbindungsabbruch, schreibt die Software ihr Systemdaten ordentlich auf die Festplatten und ist bereit für den nächsten Anrufer.

Pseudo Terminals und virtuelle Modems

DOSemu unterstützt zwei weitere Betriebsmodi für die serielle Kommunikation: Pseudoterminal (pty) und „virtual“ auf die Standard­ausgabe (stdout). Beiden Modi gemein ist, dass sie nicht direkt auf die serielle Schnittstelle zugreifen, sondern auf „virtuelle“. Dies ermöglicht die Kommunikation der Mailbox­software innerhalb der DOSemu mit dem Linux System.

Für den IP Zugang zur BLUP ist das schon ein Schritt in die richtige Richtung, denn der Zugriff auf das Linux System z.B. über telnet, ist trivial. Es wird lediglich ein kleines Stückchen Software benötigt, ein so genannter Proxy, der die IP Kommunikation auf die virtuellen Schnittstelle weiterreicht. Erste Tests hiermit liefen auch zu meiner Zufriedenheit.

Allerdings haben pty und stdout entschiedene Nachteile. Sie unter­stützen die Modem Steuerleitung DTR nicht. In der DOS Emulation ist bei beiden das Signal stets gesetzt. Damit kann die Mailboxsoftware nicht feststellen, ob eine Verbindung wirklich noch besteht oder ob sie unterbrochen wurde. Zwar trennt die Mailboxsoftware nach einigen inaktiven Minuten die Verbindung, dies gilt jedoch nicht für alle Tools, die damit zusammenhängen. Die Software würde also bis auf weiteres offen bleiben und der Port wäre nicht mehr verfügbar.

Als Ausweg bleibt hier vorerst nur das Beenden der DOSemu Instanz, was einem Ausschalten der DOS Hardware gleich kommen würde. Damit hätte die Mailbox keine Möglichkeit mehr, ihre Daten auf die Festplatte zu schreiben. Eine sehr unbefriedigende Lösung.

Fossil

Bei der Suche nach weiteren Lösungen für das DTR Problem bin ich auf eine interessante Software gestoßen: RLFOSSIL („FOSSIL driver over TCP/IP rlogin/telnet protocols“).

FOSSIL sind im Wesentlichen Kommunikationstreiber für DOS Betriebs­systeme. Sie ermöglichen einen genormten Zugriff auf serielle Schnitt­stellen. Populärer Vertreter unter SysOps war unter anderem das Werkzeug cFos, das den Zugriff auf interne ISDN Karten auch unter DOS ermöglichte. Um die Vorteile des FOSSIL nutzen zu können, muss die DOS Software jedoch entsprechend programmiert sein und z.B. nicht direkt auf die seriellen Schnittstellen zugreifen.

RLFOSSIL ist nun ein interessanter Vertreter dieser Softwaregattung, weil er direkt TCP/IP „spricht“. Die Mailbox Software sieht nur den FOSSIL, auf der Gegenseite wartet jedoch ein telnet Server.

Auch für die BLUP geht das wieder in die gewünschte Richtung, denn DOSemu kann Netzwerkschnittstellen in die Emulation herreinreichen. Hier setzt RLFOSSIL an und der Mailboxsoftware wird ein Modem simulieren. Die ersten Tests waren erfolgreich und auch die notwendige Unterstützung für das DTR Signal war gegeben.

Allerdings war RLFOSSIL bei den Test nicht immer stabil und hängte sich oder gar die gesamte DOSemu Instanz zwischendurch auf. Problematisch ist auch die FOSSIL Unterstützung in der Mailbox Software. rBox selbst kann zwar mit FOSSIL Treibern umgehen, dies gilt jedoch nicht für alle beteiligten Tools. RLFOSSIL wird auch nicht von jeder FOSSIL kompatiblen Software als solcher erkannt.

Beim Einsatz dieser Software muss also genau geprüft werden, welche Softwareteile betroffen sind und evtl. ausgetauscht oder gänzlich abgeschaltet werden müssen. Erschwerend kommt hinzu, dass RLFOSSIL nicht besonders weit verbreitet war und es im Netz entsprechend dazu auch kaum Support gibt.

Weitere Vorschläge?

Weitere Ideen zur Lösung des Problems, wären beispielsweise eine Portierung der Mailbox auf eine alternative Software, die native unter Linux funktioniert. Allerdings müsste damit die gesamte Mailbox quasi neu aufgezogen werden. Das ist mit einem enormen Aufwand verbunden, den ich eigentlich vermeiden möchte. Außerdem ist mir die Rainbow Mailbox, trotz einiger Widrigkeiten über die Jahre „ans Herz gewachsen“.

Auch der Einsatz eines anderen DOS Emulators ist einige Überlegungen wert. DOSBox ist ein oft genannter Kandidat. Er bringt sogar IP Support für die seriellen Schnittstellen und des notwendigen DTR Signals mit. Leider unterstützt es kein „File Locking“ mit der SHARE.EXE. Diese ist jedoch zwingend erforderlich, wenn man Dateien parallel zwischen verschiedenen DOS Instanzen verwenden möchte.

Bereits zu Zeiten, als die BLUP noch auf einer dedizierten DOS Maschine lief, d.h. auf echter Hardware, hatte ich über mögliche Hardwarelösungen nachgedacht. Denkbar wären z.B. COM-auf-LAN-Adapter, die auf der einen Seite als IP Device erscheinen, für die serielle Schnittstell jedoch als normales Modem daher kommen. Solche Lösungen schlagen jedoch mit rund 70 Euro pro Port zu buche und skalieren schlecht, denn der Rechner muss über entsprechend viele serielle Schnittstellen verfügen. Entsprechendes gilt auch für allerlei USB Adapter.

Interessant wäre auch ein Patchen von DOSemu selbst. DOSemu ist Open Source und steht im Quelltext zur Verfügung. Eventuell könnte man das DTR Signal der seriellen Schnittstellen für den pty Modus von „außen“ ansprechbar machen.

Meine bevorzugte Lösung ist ein virtuelles Modem auf der Linux Seite, das für die DOSemu vollkommen transparent erscheint und ohne FOSSIL oder gravierende Änderungen in der DOS Umgebung auskommt. Bisher habe ich entsprechende Lösungen nur für Windows gefunden, aber damit würde ich eine Richtung einschlagen, die mir nicht so recht zusagen will.

Und nun?

Wie bereits bei den einleitenden Motiven erklärt, ist es nicht ganz trivial, die BLUP mit dem Internet zu verheiraten. Die hier vorge­stellten Lösungen gehen bereits in die richtige Richtung, sind aber noch nicht ganz rund.

Klar ist, es muss sich etwas tun. Das Ende der reinen ISDN- und Modemanschlüsse ist abzusehen. Will die BLUP auch darüber hinaus noch erreichbar sein, führt kein Weg an einer Zugangsmöglichkeit über das Internet vorbei.

Update 29.08.2012

Zufällig bin ich heute bei github über das Projekt tty0tty gestoßen, das in den ersten Tests sehr vielversprechend aussieht. tty0tty ist ein Nullmodem Emulator für Linux, der im Gegensatz zu den pty Lösungen auch die DTR/RTS Signalleitungen unterstützt. Damit erfüllt es eine wichtige Grundvorraussetzung für den geplanten Einsatz. Bisher kommt die Lösung auch ohne Änderungen innerhalb der DOSemu aus. Ich kann mir gut vorstellen, diese Lösung weiter auszubauen und relativ zeitnah in den Praxiseinsatz zu überführen.