[Problem] Fhem auf FritzBox 7490

Coolzero82

Mitglied
Mitglied seit
24 Sep 2013
Beiträge
345
Punkte für Reaktionen
2
Punkte
18
Hallo,
ich habe auf meiner FB 7490 ein Freetz Image mit OS 6.60.
Nun wollte ich Fhem versuchen zum laufen zu bringen, dazu hab ich mir von fhem.de das tgz geladen und auf die FB kopiert, dort dann Entpackt und nach
Code:
/var/media/ftp/external/usr/share/fhem
kopiert, anschließend die Rechte auf 755 gesetzt und dann über ein
Code:
./startfhem
versucht fhem zu starten, allerdings bekomme ich dann diesen Fehler:
Code:
./startfhem
modprobe: module cdc_acm not found in modules.dep
Segmentation fault

Einer eine idee was da schieß läuft, bzw. was ich tun müßte um es zum laufen zu bekommen?

Danke
 
Hallo, das ist ein Kernelmodul, was für die Kommunikation geladen wird, was nicht standardmäßig dabei.
Könnte sein das du es nicht brauchst, habe übrigens gesehen, dass es fhem auch unter freetz direkt gibt:
http://freetz.org/ticket/2940

Gruß
 
Die modprobe Fehlermeldung sagt, dass die das Modul "cdc_acm" fehlt, welches Du beim Bauen von Freetz mit anwählen musst. Der Segfault kommt m.E. von perl. Du benötigst ein für die Box und Firmware passendes perl. Für die 7490 FW 6.92 habe ich Perl 5.26.1 kürzlich gebaut - hier zu finden.
 
Ja, den kenn ich auch - ist aber (noch) nicht offiziell in freetz übernommen.
 
Wird aber immer mit Freetz up-to-date gehalten, hier noch mal eine Zusammenfassung.

man braucht perl und fhem am bestes als externals, beides gibt es mit:
git clone https://github.com/dirk-dhu/freetz.git freetz-devel
Mit folgendem Befehl kann ein Update bei Veränderungen gezogen werden:
git fetch; git reset --hard origin/master
Einen Patch kann man durch das Klicken auf den gewünschten Commit, welcher unter der URL:
https://github.com/dirk-dhu/freetz/commits/master
zu finden ist, erstellen. Dazu muss in der Adress-Zeile hinter dem SHA Wert .patch angehangen werden.

In der Freetz Bau-Konfiguration für Perl kann man unter extra zusätzliche Packete angeben, aber es müssen die Abhängigkieten beachtet werden.
Wenn man Apache2 auch benutzen will, gibt es dort für Fhem eine vorkonfigurierte Proxy Seite mit Passwort-Schutz. Dazu muss in der myconfig die fhem group mit entsprechendem Apache2 Web-Benutzer hinzugefügt werden.

Die Fhem Konfiguration sollte auch extern gespeichert werden, hier das CGI-GUI:
upload_2018-4-29_23-7-34.png

//edit stoney: Bildgröße angepasst
 
Zuletzt bearbeitet:
Hi, verstehe ich das richtig das FHEM im Freetz Trunk jetzt wieder drin ist und mitgebaut werden kann? Gilt das für alle Boxen?
 
Hi, FHEM kann aus einem Freetz-Fork bezogen werden, der bis auf die Ergänzungen dem Trunk entspricht. Gruß,
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Coolzero82
Hi, FHEM kann aus einem Freetz-Fork bezogen werden, der bis auf die Ergänzungen dem Trunk entspricht. Gruß,

Hi, wo finde ich den? Bzw wie kann ich den auschecken? Hat den schon jemand mit einer Kabelbox getestet?


Gesendet von iPhone mit Tapatalk
 
Im Moment geht nur Ente oder weder ... es sind zwei getrennte Forks für FHEM und Puma6. Wenn Du die also nicht selbst zusammenmischen willst, mußt Du noch warten, bis mindestens einer von beiden seinen (kompletten) Weg in den Freetz-Trunk gefunden hat - der andere wird dann sicherlich auch früher oder später ein Rebase auf den Trunk machen und dann kannst Du diesen Fork auschecken und direkt benutzen.
 
  • Like
Reaktionen: Coolzero82
Zuletzt bearbeitet von einem Moderator:
Ich habe mit Freetz nichts zu tun und dort auch keinen Einfluß ... also: nein, kann ich nicht, sorry.
 
  • Like
Reaktionen: armin56
Du könntest z.B. den Branch mit FHEM, den Trunk und meinen PUMA6 Branch auschecken, einen Diff zwischen Trunk und FHEM machen und versuchen diesen Diff dann auf meinen PUMA6 Branch anzuwenden.

Mein Branch ist zur Zeit leider 16 Commits hintenan und heute Abend werde ich wahrscheinlich nicht dazu kommen, ihn zu aktualisieren.
 
Vollzitat von darüber entfernt by stoney
Würde ich gerne tun, allerdings weiss ich auf anhieb nicht was ich genau machen soll, das auschecken ist nicht das Problem, aber beim vergleich und der beiden Versionen und beim Anwenden auf deinen PUMA6 Branch wirds dann schwierig
 
Zuletzt bearbeitet von einem Moderator:
Wenn du die drei Branches ausgecheckt hast, kannst du mit "diff -ur freetz/ FHEM/ > unterschiede.diff" (Verzeichnisse entsprechend anpassen) die Unterschiede zwischen zwei Verzeichnisbäumen in eine .diff Datei speichern.
Mit "patch -p1 -i ../unterschiede.diff" (ausgeführt im PUMA6 Verzeichnis, eventuell auch -p0 oder -p2 je nach Konstellation beim diff) werden die gespeicherten Unterschiede auf den Branch im aktuellen Verzeichnis angewendet.
 
Hi, erstmal Danke für deine Anleitung, hab das jetzt mal so gemacht, allerdings scheint da etwas nicht funktioniert zu haben, da ich beim make menuconfig im PUMA6 Verzeichniss dann diesen Fehler bekomme:
Code:
make menuconfig
Cannot open include file make/python-augeas/Config.in in make/python/Config.in
No such file or directory at tools/parse-config line 22, <$fh> line 363.
config/.cache.in:8869: syntax error
config/.cache.in:2802: missing end statement for this entry
config/.cache.in:2558: missing end statement for this entry
Makefile:418: recipe for target 'menuconfig' failed
make: *** [menuconfig] Error 1


Ich habe die .diff mal hier hochgeladen https://pastebin.com/gk7GNuiS
vieleicht fällt dir da was auf

Danke

EDIT,
Hab den Patch nochmal verändert angewendet patch -R -p1 -i ../unterschiede.diff und dann lässt sich make menuconfig auch ohne Fehler starten, allerdings kann ich dann weder eine 6490/6590 bei den Boxen auswählen, noch finde ich FHEM
 
Zuletzt bearbeitet:
Wenn du dir die erzeugte .diff-Datei ansiehst, gibt es da Zeilen wie:

Code:
Nur in FHEM/make: python-configargparse.
Nur in FHEM/make: python-configobj.
Nur in FHEM/make: python-cryptography.
Nur in FHEM/make: python-enum34.
Nur in FHEM/make: python-future.
Nur in FHEM/make: python-idna.

D.h. Dateien, welche nur im FHEM Branch existieren, wurden nicht Teil der .diff-Datei.

Erstelle die Datei nochmals mit "diff -urN ...".
 
Hi,
beim patch bekomme ich dann diese Meldung, was bedeutet das und was muss ich da machen?
Code:
patch -R -p1 -i ../unterschiede.diff
patching file CHANGELOG
Hunk #2 FAILED at 36.
Hunk #3 FAILED at 49.
2 out of 3 hunks FAILED -- saving rejects to file CHANGELOG.rej
patching file config/avm/availability.in
Unreversed patch detected!  Ignore -R? [n]

Die .diff kann ich jetzt leide nicht mehr bei pastebin einfügen, daher hänge ich sie mal hier an
unterschiede.7z
 
Der Parameter -R ist an der Stelle falsch. Lass ihn weg.

Es ist nicht garantiert, dass sich der Patch anwenden lässt. Wenn in beiden Branches (FHEM & PUMA6) an den selben Dateien Änderungen gemacht wurden, wird er fehlschlagen. Das sieht man hier schon an der Datei CHANGELOG. Bei der ist es egal, die dient nur zur Information. Bei anderen Dateien könnte das mehr Auswirkungen haben. Musst du ausprobieren.

Eventuell ließt du dir mal allgemeine Erklärungen zu diff und patch durch, das sind nützliche Grundlagen.
 
Hi,
hab ab nächste Woche Urlaub, dann werde ich mir die allgemeinen Grundlagen zu diff und patch mal etwas genauer ansehen.

Ich hab die diff jetzt nochmal neu erstellt, und den patch ohne -R ausgeführt, auch dann kommt direkt wieder:

Code:
FHEM-Kabel/6590$ patch -p1 -i ../unterschiede.diff
patching file CHANGELOG
Reversed (or previously applied) patch detected!  Assume -R? [n]

Die Meldung bekomme ich dann gefühlte 1000x................
 
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.