[HowTo] Telnet (u.a.) ohne Telefon/Mod aktivieren

Ich muß meine Aussage in #33 dahingehend korrigieren, daß die 3490 sehr wohl den telefon-Daemon verwendet (in Kombination mit dem voipd) und die Möglichkeit der IP-Telefonie bietet ... auch wenn das Handbuch das (Stand heute) Wort Telefon im Zusammenhang mit irgendwelchen Fähigkeiten der 3490 nicht enthält (7 Vorkommen von "telefon", keines mit VoIP-Bezug). Ich bin erst auf die Idee einer Suche in der AVM-KB gekommen, als ich in den Support-Daten einer 3490 den telefon-Daemon in der Prozessliste gesehen habe.

Damit sollte natürlich auch dort die Aktivierung des Telnet-Daemons per 'telefon'-Daemon (noch) funktionieren, wenn denn die Randbedingungen erfüllt sind. Die direkte Verarbeitung der Tastencodes funktioniert meines Wissens von einem IP-Telefon aus generell nicht, die Methode über den Eintrag im Telefonbuch und die Wählhilfe wird (vermutlich) ebenfalls nicht funktionieren, denn die Wählhilfe setzt auch ein "nicht-IP-Telefon" voraus.

Bleibt also noch die Möglichkeit der Aktivierung über die Änderung der fx_conf (oder auch hier und hier) in einer Export-Datei (das kann natürlich auch eine aus einer anderen Box exportierte Datei wie in #30 sein) oder über ein Pseudo-Image, wenn man den anstehenden Restart durch "firmwarecfg" abbricht (die PID des zu beendenden Prozesses steht in der Datei /var/run/delayed_reboot.pid) und anschließend die ganzen beendeten Dienste neu startet (was nicht ganz einfach ist, besonders wenn man wieder 100% erreichen will - von USB über Mediaserver/NAS bis WebDAV und das auch noch mit funktionierenden Watchdogs, damit bei Fehlern die Box nicht hängt).

Alles andere als die Pseudo-Image-Methode versagt aber bei neuer Firmware (ab 06.25) dann ebenfalls, wenn der Symlink für den Telnet-Daemon nicht mehr vorhanden ist. Nur bei der Pseudo-Image-Methode kann man ihn nachträglich wieder anlegen, indem man das Verzeichnis /usr/sbin mit einer beschreibbaren Kopie im tmpfs per bind-Mount überlagert. Das sähe dann in der install-Datei eines solchen Images etwa so aus:

Code:
mkdir /var/usrsbin
cp -a /usr/sbin/* /var/usrsbin/
ln -s /bin/busybox /var/usrsbin/telnetd
mount -o bind /var/usrsbin /usr/sbin
/usr/sbin/telnetd -l /sbin/ar7login

und das Abbrechen des Neustarts sähe in etwa so aus in Shell-Code (Beispiel, es führen viele Wege zu den sieben Hügeln):

Code:
rpid_name=/var/run/delayed_reboot.pid
if test -e $rpid_name; then
        rpid=$(cat $rpid_name)
        rm $rpid_name 2>/dev/null
        [ ${#rpid} -gt 0 ] && kill -TERM $rpid
fi

Das ist natürlich alles von der Existenz entsprechender Busybox-Applets abhängig, das variiert offenbar stark. Ich habe z.B. einen Screenshot von einer 3490-Shell, der die Vermutung nahelegt, daß dort kein Symlink für "reboot" im Pfad enthalten ist - was mich ziemlich schockiert hat, denn auch die AVM-Komponenten rufen an einigen Stellen intern "reboot" auf.
Anhang anzeigen 82374

Das eigentliche Problem des Telnet-Starts über ein Pseudo-Image bleibt es aber, daß die Box wie beschrieben einen teilweisen Shutdown ausführt beim Datei-Upload und es eben nicht trivial ist, den Ausgangszustand wiederherzustellen.

Ein "/etc/init.d/rc.net start" ist schon mal ein Anfang, aber es werden auch noch viele andere Dienste beendet (vom USB-Anschluß (hier hilft u.U. ein "udevadm trigger" mit anschließendem Warten) bis zur Home-Automatisierung in S78-aha und dem CAPIoTCP-Server), deren Wiederbelebung auch vom konkreten Modell abhängig ist, die Notwendigkeit ja sogar von den konkreten Einstellungen der jeweiligen Box.

Daher kann man dafür keine allgemeingültigen Vorlagen schaffen, ohne den kompletten AVM-Init-Prozess nachzubilden. Nach meinen Tests auf einer 7490 ist es auch nicht unbedingt eine gute Idee, einfach /etc/init.d/rc.S erneut aufzurufen (wie es 'init' beim Systemstart macht), um einfach noch einmal den gesamten Init-Prozess zu durchlaufen. Da dort erst mal einige Dateien auf Standardwerte gesetzt werden, bevor die tatsächlichen Einstellungen der Box angewendet werden, knallt das ziemlich schnell ... zumal ja auch noch einige Prozesse aktiv sind und auf die alten Dateiinhalte zugreifen - so jedenfalls meine Interpretation der anschließend auftretenden Crashes. Auch dürfte das mehrmalige Laden der binären Firmware-Dateien für den DSL-Prozessor und die DECT-/ISDN-Unterstützung nicht immer reibungslos verlaufen, wenn die nicht "in Grundstellung" sind.

Daher bleibt (zumindest in meinen Augen) die Pseudo-Image-Methode immer nur ein Provisorium für den ersten Zugriff, wenn andere Wege nicht funktionieren. Spätestens wenn man das erste Mal Zugriff auf die Shell hat (und diesen schon noch desöfteren benutzen möchte), sollte man sich Gedanken machen, wie man den Telnet-Daemon (natürlich noch besser einen sichereren Zugang zur Shell, z.B. SSH mit Dropbear oder ShellInABox mit TLS) dauerhaft aktiviert.

EDIT: Ganz merkwürdiges Phänomen ... der oben stehende Text wurde schon vor drei Tagen verfaßt, ist aber irgendwie beim Speichern unter die Räder gekommen, wie ich erst vorhin bemerkt habe, als ich ihn selbst suchte. Die Funktion "Gespeicherten Text wiederherstellen" hat ihn dann (ich hatte von diesem Laptop m.W. keinen weiteren Text danach mehr verfaßt) wieder zum Vorschein gebracht, aber im direkten Versuch des Speicherns klappte es wieder nicht. Erst mit C&P in eine neue Antwort wurde zumindest das "Original" akzeptiert, mal sehen, was jetzt aus dieser Änderung wird.
 
Zuletzt bearbeitet:
Na ja, ich verstehe Deine Skepsis ... aber es war ja nun auch nicht mein allererster Beitrag und - ob Du es nun glaubst oder nicht - ich habe in den sechs Minuten zwischen diesen Beiträgen sogar mit der Forensuche überprüft, ob er jetzt existiert.

War aber wieder nicht der Fall und meines Wissens funktioniert das "Gespeicherten Text wiederherstellen" (das habe ich auch beim zweiten Anlauf als erstes verwendet, um überhaupt wieder an den Text zu gelangen) ja auch nur so lange, bis der Server das "Speichern" akzeptiert hat ... wobei ich mir das jetzt gleich mal ansehe, ob der "Entwurf" lokal oder in der Foren-DB gespeichert wird. Ich tippe auf Foren-DB, weil lokale Speicherung HTML5 voraussetzen würde und das m.W. schon länger funktioniert.

EDIT: Ok, getestet ... die Speicherung erfolgt auf dem Server (vermutlich sogar pro Thread, aber das teste ich jetzt nicht) und nach dem erfolgreichen Veröffentlichen ist der per "Autosave" gesicherte Text offenbar wirklich nicht mehr abzurufen ("weg" will ich nicht schreiben, das dürfte eine Datenbank sein). Damit fällt mir als Erklärung für die Möglichkeit des Wiederherstellens des Textes auch nach >5 Minuten, obwohl der erste Beitrag ja doch gespeichert wurde, eigentlich nur ein Serverproblem ein. Wie auch immer, es scheint ein Einzelfall gewesen zu sein ...
 
Zuletzt bearbeitet:
Hallo zusammen,

wie bekomme ich den in die entpackte Firmware den Symlink für telnet wieder erstellt...

Ich habe mit fwmod das image entpackt und möchte mit aktiviertem Symlink wieder ein image bauen...

DANKE
 
Hallo zusammen,
Ich weiß, der Thread hier ist schon ein paar Jahre alt. Und die beschriebene Anleitung funktioniert mit meiner 7050 wenn ich hinter der Nummer ein @ schreibe.
Aber, jetzt meine total blöde Frage: Wofür braucht man das? Wenn man eh über die Browseroberfläche gehen muss kann man doch z.B. WLAN auch gleich über die entsprechende Einstellungsseite konfigurieren.
 
Lies einfach den Titel noch einmal in Ruhe.
 
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.