Seriellen Port nutzbar machen?

MReimer

Aktives Mitglied
Mitglied seit
4 Sep 2005
Beiträge
825
Punkte für Reaktionen
0
Punkte
0
Hallo,

ist es rein theoretisch möglich den seriellen Port der Fritz!Box zu irgendeinem Zeitpunkt vom Kernel zu "entkoppeln" um dort ein beliebiges Protokoll mit einem externen Gerät zu sprechen? Da der Kernel ja zu Beginn noch den Boot-Vorgang dort reinschiebt, würde ich den Port erst zu späterem Zeitpunkt z.B. mit einem Reedrelais ankoppeln. Steuern könnte man das ja über eine der LEDs.
 
Man kann die Konsole auch auf ein anderes Gerät umleiten.

Mit einem geänderten Kernel kann man sogar die serielle Konsole aus dem Kernel weglassen oder deaktivieren.
 
Anderer Kernel scheint mir etwas zu aufwändig. Zudem könnte man das "umschalten" z.B. um 5 Sekunden verschieben. Man könnte sich so im Notfall doch noch Zugriff verschaffen.

Ein Reedrelais parallel zu einer der LEDs sollte ja zum "Einschalten" des Ports eine gute Lösung sein, oder nicht?

Wie leitet man die Konsole auf z.B. das gute alte /dev/null um?
 
Die Datei /etc/profile enthält folgende Zeilen (kann je nach Modell abweichen):
Code:
        getcons $tty
        echo "Console Ausgaben auf dieses Terminal umgelenkt"
Damit wird die Konsole auf eine telnet-Anmeldung umgelenkt.
Man könnte es mit "getcons /dev/null" versuchen, notfalls mit einer automatisierten telnet-Anmeldung.

Es hat auch schon jemand einen seriellen USB-Adapter anschlossen, wobei das auch von dem konkreten Modell abhängt, ob ein USB-Host vorhanden ist.
 
getcons bzw. setconsole kann man nicht nach /dev/null umleiten, es sollte schon eine "echte" andere offene Konsole sein, sonst gibt es einen Fehler wie diesen:
Code:
setconsole: TIOCCONS: Inappropriate ioctl for device
 
Es heißt, daß der AR7/OHIO Chip zwei serielle Anschlüsse hat. Zumindest gibt es im ADAM2 sowohl modetty0 als auch modetty1. Allerdings kann man /dev/ttyS1 nicht öffnen.

Geht denn die Konsole wieder zurück nach /dev/console, wenn man sie auf ein pty umleitet und dieses wieder schließt?
 
Ja, die Konsole geht wieder zurück nach /dev/console, zumindest bei mir (BusyBox 1.8.1, getestet mit setconsole). Aber das war vermutlich schon immer so.
 
Weiterleiten nach /dev/null ist also nicht.

Da fragt man sich doch gleich: Wie kann man ein "dummy-Terminal" erzeugen? Gibt es ein "tty1" um ein (natürlich später nicht zugreifbares) virtuelles Terminal zu schaffen? Danach /dev/console löschen und symlinken auf /dev/tty1?

Wenn man einen Kernel ohne diese eingebaute virtuelle Konsole baut, kommt die Firmware dann überhaupt damit klar? Ein /dev/console gibt es ja dann wohl nicht mehr.
 
Die serielle Konsole ist etwas sehr Sinnvolles, weglassen würde ich sie nicht, eher schauen, ob man da etwas dynamisch umschaltbar machen kann. Wie das mit Euren Wünschen nach anderweitiger Nutzung der Schnittstelle zusammen paßt, weiß ich nicht, dazu kenne ich mich zu wenig mit Hardware aus.
 
Sobald die Schnittstelle verbogen ist, würde ich eine der LEDs einschalten. Dieser LED kommt ein (Reed-)Relais inklusive Freilaufdiode (oder irgendwas elektronisches) parallel, welches den Port an das Endgerät anbindet.

Frage ist nur, wie man die Schnittstelle zuverlässig und dauerhaft abgekoppelt bekommt.

Ich würde die serielle Konsole auch nur ungern ganz entfernen. Besser wäre, wie bereits erwähnt, ein "sleep 10" in der debug.cfg und danach erst das "umswitchen". So könnte man im Fehlerfall einfach die "debug.cfg" via serieller Konsole abwürgen und so Zugriff zur Box erhalten.
 

Statistik des Forums

Themen
244,695
Beiträge
2,216,692
Mitglieder
371,315
Neuestes Mitglied
jack-mack
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.