FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: ext23 am 13 Januar 2015, 23:00:22

Titel: 72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 13 Januar 2015, 23:00:22
Nabend,

ich habe die FRITZ!OS 06.21-29680 BETA auf der 7390 und der Login funktioniert nicht. (Bei dem CALLMONITOR übrigens auch nicht)

Hat sich da der telnet Login prompt geändert oder woran liegt das? Funktioniert das bei jemanden?

Gruß
Daniel
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: carlos am 14 Januar 2015, 07:30:20
Beim Callmonitor funktioniert's bei mir auch nicht:

configfile: Could not read remote FritzBox phonebook file - no password available to access FritzBox

Das Passwort lässt sich nicht setzen. Folgender Fehler:
unable to check password - Couldn't recognize login prompt: pattern match timed-out

Beim Fritzbox module geht's, da hab ich den user und das Passwort gesetzt.
Gruß
Carlos
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 14 Januar 2015, 07:35:51
Mit der Version die ich habe? Weil ich habe eben von anderen gehört, dass einige das Modul angepasst haben (mussten) damit es funktioniert, ich warte nur noch auf die Info was geändert wurde.

Gruß
Daniel
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 16 Januar 2015, 08:08:15
Mhh nutzt keiner die Version? Der Fehler ist übrigens:

Telnet error while waiting for command prompt: pattern match timed-out

manchmal lautet der auch Passwort falsch, was mich etwas wundert.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 11:29:21
Ich habe für FB_CALLMONITOR gerade eine Änderung im SVN eingecheckt.

siehe dazu Forum: http://forum.fhem.de/index.php/topic,30244.msg247065.html#new

http://sourceforge.net/p/fhem/code/HEAD/tree//trunk/fhem/FHEM/72_FB_CALLMONITOR.pm?format=raw

Damit sollte es wieder funktionieren.

Viele Grüße

Markus
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 11:43:56
Mhh

unable to check password - Could'nt recognize shell prompt: pattern match timed-out

Also bei mir nicht. Aber meine Box braucht auch ewig bis das Prompt kommt nach dem Login, kann es sein das da ein Timeout greift?

Gruß
Daniel
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: carlos am 17 Januar 2015, 12:56:05
Also bei mir geht es auch nach wie vor nicht. Im log steht:
2015.01.17 12:44:36 4: FB_CALLMONITOR (my_callmonitor) - setting user to FritzBox: fhem
2015.01.17 12:44:36 4: FB_CALLMONITOR (my_callmonitor) - connected to FritzBox via telnet

Eigentlich müsste laut coding jetzt folgende Meldung kommen:
FB_CALLMONITOR ($name) - giving password to FritzBox
Kommt aber nicht also scheint mit der Passwort Übergabe was nicht zu stimmen.
Das passwort an sich ist richtig das habe ich schon geprüft.

Mal ne ganz grundsätzliche Frage.
Fritzbox telnet wird jetzt meines wissens in mehreren modulen benutzt, z.b.:
72_FB_CALLMONITOR.pm
72_FRITZBOX.pm
99_RFritzbox.pm ist nur über ein zip installierbar, also nicht eingecheckt
...

Warum muss jeder FB module Entwickler das Rad dafür neu entwickeln.
Kann man das nicht in eine FB util wie z.B. 99_myUtilFB oder so auslagern und richtig implementieren. Letzthin hat auch mal eine was gepostet wo man gleich am Anfang eine prompt setzt, der dann allgemein gültig ist für telnet Abfragen der fritzbox. Das wäre noch eine gute Erweiterung.


Gruß

Carlos
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 14:49:45
Wie ist denn euer Shell-Prompt, wenn ihr euch manuell auf der Box via telnet einloggt?

am besten mal den gesamten manuellen Telnet-Login Vorgang posten.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 15:01:13
Fritz!Box user: fhem
password:


BusyBox v1.20.2 (2014-07-04 14:29:21 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

ermittle die aktuelle TTY
tty is "/dev/pts/0"
Console Ausgaben auf dieses Terminal umgelenkt
disable start/stop characters and flowcontrol
#
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 15:13:17
Wie lange braucht es denn bis der shell prompt (#) kommt nachdem ihr das passwort eingegeben habt?
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 15:20:56
Also bei meiner 7390 so ca. 3-4 Sekunden, also recht lange. Blockiert das eigentlich? Oder ist das ein extra Thread?

/Daniel
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: carlos am 17 Januar 2015, 15:28:02
Bei mir sieht es genau so aus:

Fritz!Box user: fhem
password:


BusyBox v1.20.2 (2014-07-04 14:29:21 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

ermittle die aktuelle TTY
tty is "/dev/pts/1"
weitere telnet Verbindung aufgebaut
disable start/stop characters and flowcontrol
#


Prompt ist sofort da.
Gruß
Carlos
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 16:38:20
Zitat von: ext23 am 17 Januar 2015, 15:20:56
Also bei meiner 7390 so ca. 3-4 Sekunden, also recht lange. Blockiert das eigentlich? Oder ist das ein extra Thread?

Momentan blockiert es. Das Telefonbuch wird aber nur einmalig beim starten abgefragt oder wenn man "set <name> rereadPhonebook" ausführt.

Bitte ändert mal Zeile 890 in:     unless($telnet->waitfor('/#/'))
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 16:56:21
Hab ich gemacht und das Modul reloaded.

Sobald ich "set Callmonitor password xxxx" eingebe kommt: unable to check password - Could'nt recognize shell prompt: pattern match timed-out

Der Username steht bei den attribs.

Gruß
Daniel
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 17:07:20
Bitte mal die angehangene Version probieren. Danke
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 17:20:17
Zitat von: carlos am 17 Januar 2015, 12:56:05
Warum muss jeder FB module Entwickler das Rad dafür neu entwickeln.
Kann man das nicht in eine FB util wie z.B. 99_myUtilFB oder so auslagern und richtig implementieren. Letzthin hat auch mal eine was gepostet wo man gleich am Anfang eine prompt setzt, der dann allgemein gültig ist für telnet Abfragen der fritzbox. Das wäre noch eine gute Erweiterung.

Das liegt daran dass beide Module unterschiedlich mit dem Telnet-Zugang umgehen. Das Modul FRITZBOX öffnet den telnet-Zugang einmalig und lässt ihn dauerhaft geöffnet über ein FHEM globales Telnet-Handle und führt darüber regelmäßig sämtliche Befehle aus. Es wäre sehr zeitraubend für jeden Befehl eine "FBExecuteviaTelnet"-Funktion aus der FritzBox.pm aufzurufen die jedesmal eine neue Telnet-Verbindung herzustellen.

FB_CALLMONITOR dagegen öffnet den Telnet nur, wenn das Telefonbuch eingelesen werden soll und schließt danach die Verbindung sofort.

Viele Grüße

Markus
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 17:25:29
Null Unterschied.

Ich hab mal ein Wireshark laufen lassen, also Login und Passwort werden richtig übertragen.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 17:28:25
und zusammen mit der Änderung in Zeile 890 (jetzt Zeile 894)? Die ist da nicht drinne.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 17:32:38
Nope, leider auch nicht.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 17:35:58
Versteh ich nicht. Wieso matched der den Shell-Prompt nicht. Ist doch nur ein einfaches #. Bei mir funktioniert das ohne Probleme.

Du sagst, der tcpdump dazu schaut sauber aus? Passwort wird akzeptiert und der Busybox-output kommt?
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 17:37:35
Probier mal ein höherstellen des Timeouts in Zeile 850. Versuch mal 10 Sekunden.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 17:43:16
password successfully saved

sieht besser aus. Scheiss Fritzboxen, die Teile sind aber auch sau langsam.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 17:51:19
Habs eingecheckt. Nun sollte es aber tun.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 17:56:05
Super, Danke!, am besten man kann es vielleicht per attr anpassen.

Nochmal wegen dem blockieren, macht der das auch beim Start von FHEM oder wirklich nur wenn man es aktiv triggert?
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 17:59:14
Bei jedem Start und wenn man es via set-Kommando triggert.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 18:03:06
Mhh OK, na da muss ich mir was einfallen lassen. Mein FHEM ist so riesig, das es schon bald 1 Minute braucht bis der Start durch ist. Wenn da jetzt das ganze noch nen paar Sekunden steht oO.

Gruß
Daniel
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 17 Januar 2015, 18:05:15
ich will es zumindest für den FHEM Start auf non-blocking umstellen.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 18:28:43
Wäre gut ja, naja ich meine das Telefonbuch, ja also manuell per XML geht's ja auch, so oft ändert sich da ja nichts.
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: ext23 am 17 Januar 2015, 20:53:37
Noch mal eine kleine Frage, wo legt der local das Telefonbuch ab wenn ich es über das Modul runter lade? Der sollte mir das doch übersetzen wenn ich bei search eine Rufnummer eingebe die in der Fritze hinterlegt ist oder?

/Daniel
Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: carlos am 18 Januar 2015, 11:44:40
Also mit dem heutigen update funktioniert es bei mir jetzt auch. Danke und Gruß
Carlos

Gesendet von meinem SM-G900F mit Tapatalk

Titel: Antw:72_FRITZBOX.pm - Loginfehler
Beitrag von: Markus Bloch am 18 Januar 2015, 11:50:26
Zitat von: ext23 am 17 Januar 2015, 20:53:37
Noch mal eine kleine Frage, wo legt der local das Telefonbuch ab wenn ich es über das Modul runter lade? Der sollte mir das doch übersetzen wenn ich bei search eine Rufnummer eingebe die in der Fritze hinterlegt ist oder?

/Daniel

Ich versteh nicht genau, was du meinst. Das Telefonbuch wird beim start eingelesen und in FHEM temporär zur Laufzeit gehalten (einfach mal "list <name>" ausführen). Wenn man mit search eine Rufnummer auflösen will wird diese Rufnummer aus dieser lokalen Kopie verwendet. Bei einem search wird also nicht jedesmal das Telefonbuch neu gelesen, falls du das meinst.