Es gibt auch tty0tty http://sourceforge.net/projects/tty0tty/ , einen echten Nullmodem-Emulator für Linux.
Es ist ein einfaches Kernelmodul - eine kleine Quelldatei. Ich weiß nicht, warum es nur Daumen runter auf SourceForge hat, aber es funktioniert gut für mich. Das Beste daran ist, dass auch die Hardware-Pins (RTC / CTS DSR / DTR) emuliert werden. Es implementiert sogar die iotcl-Befehle TIOCMGET / TIOCMSET und TIOCMIWAIT!
Auf einem aktuellen Kernel können Kompilierungsfehler auftreten. Dies ist leicht zu beheben. Fügen Sie einfach ein paar Zeilen oben in die Quelle des Moduls / tty0tty.c ein (nach den Includes):
#ifndef init_MUTEX
#define init_MUTEX(x) sema_init((x),1)
#endif
Wenn das Modul geladen wird, werden 4 Paare serieller Schnittstellen erstellt. Die Geräte sind / dev / tnt0 bis / dev / tnt7, wobei tnt0 mit tnt1, tnt2 mit tnt3 usw. verbunden ist. Möglicherweise müssen Sie die Dateiberechtigungen korrigieren, um die Geräte verwenden zu können.
bearbeiten:
Ich glaube, ich war ein bisschen schnell mit meiner Begeisterung. Der Fahrer sieht zwar vielversprechend aus, scheint aber instabil zu sein. Ich weiß es nicht genau, aber ich glaube, es hat eine Maschine in dem Büro, an dem ich von zu Hause aus gearbeitet habe, zum Absturz gebracht. Ich kann nicht nachsehen, bis ich am Montag wieder im Büro bin.
Das zweite ist, dass TIOCMIWAIT nicht funktioniert. Der Code scheint aus einem "winzigen tty" -Beispielcode kopiert worden zu sein. Die Behandlung von TIOCMIWAIT scheint vorhanden zu sein, wird jedoch nie aktiviert, da der entsprechende Aufruf von wake_up_interruptible () fehlt.
bearbeiten:
Der Absturz im Büro war wirklich die Schuld des Fahrers. Es fehlte eine Initialisierung, und der vollständig ungetestete TIOCMIWAIT-Code verursachte einen Absturz der Maschine.
Ich habe gestern und heute den Treiber neu geschrieben. Es gab viele Probleme, aber jetzt funktioniert es gut für mich. Es fehlt noch Code für die vom Treiber verwaltete Hardware-Flusskontrolle, aber ich brauche ihn nicht, da ich die Pins selbst mit TIOCMGET / TIOCMSET / TIOCMIWAIT aus dem Benutzermodus-Code verwalten werde.
Wenn jemand an meiner Version des Codes interessiert ist, senden Sie mir eine Nachricht und ich werde sie Ihnen senden.