Ich habe ein interessantes Problem. Ich arbeite an einer eingebetteten Box mit mehreren Instanzen von Linux, die jeweils auf einem ARM-Prozessor laufen. Sie sind über interne 1GBps Netzwerk verbunden. Ich habe einen Geräteknoten für den seriellen Port, der an den Prozessor A angeschlossen ist (sagen wir, Linux-A läuft darauf). Ich habe ein Programm, das auf Prozessor B läuft (sagen wir auf Linux-B), um auf das serielle Gerät zuzugreifen, als wäre es lokal an Linux-B angeschlossen.
Mein Programm ruft Term-i/o-Typ-API-Aufrufe auf dem Geräteknoten auf, um tty echo, Zeichenmodus-Eingabe zu steuern. Ich frage mich, ob es eine Möglichkeit gibt, ein virtuelles serielles Gerät zu erstellen, das auf Linux-B verfügbar ist und irgendwie mit einem echten seriellen Gerät auf Linux-A über ein internes Netzwerk kommuniziert.
Wie erstellen Sie ein virtuelles io-Gerät in Linux, das Daten an ein echtes Gerät überträgt?
Ich denke etwas in Richtung: Linux-B hat/dev/ttyvirtual. Alles, was darauf geschrieben wird, wird über den Netzwerk-Socket an Linux-A serialserver übertragen. Der serielle Server erbt die API-Aufrufe auf einem echten Gerät, sagen wir/dev/ttys0. Alle Daten, die auf ttys0 warten, werden zurück nach/dev/ttyvirtual transportiert.
Was sind all die Dinge beteiligt, um dies schnell zu erledigen?
Dank
Videoguy
Update: fand ich eine Diskussion auf http://fixunix.com/bsd/261068-network-socket-serial-port-question.html mit großen Zeigern.
Eine weitere nützliche Verbindung ist http://blog.philippklaus.de/2011/08/make-rs232-serial-devices-accessible-via-ethernet/
Diagramm wäre hilfreich;) – Merlin