FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: ttplayer am 12 Dezember 2015, 15:41:27

Titel: Fritz Box 7490 / Firmware 6.50
Beitrag von: ttplayer am 12 Dezember 2015, 15:41:27
Scheint so, dass jetzt auch für mich der endgültige Abschied von FHEM auf der Fritz Box gekommen ist.
Nachdem ich heute von 6.30 auf 6.50 upgedatet habe, ist auch kein manueller Start von FHEM mehr möglich, da nachfolgende Fehlermeldung im Telnet Client ausgeworfen wird.

modprobe: module ftdi_sio not found in modules.dep
Segmentation fault
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Bennemannc am 12 Dezember 2015, 16:34:50
Hallo,

brauchst Du das Modul oder wird das nur geladen, weil fhem die USB Ports checkt ?
Wenn Du das Modul brauchst, musst Du das dem System auch bekannt machen - alle Kernelmodule stehen in der modules.dep. Die ist lesbar mit "cat" und editierbar mit "vi" - aber wenn Du Dir die Datei zerschießt, läuft die komplette Box nicht mehr.

Gruß Christoph
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: ttplayer am 12 Dezember 2015, 16:54:39
Danke für Deine Hilfe,

ich denke schon, dass ich das Modul brauche, da ich ja einen CUL am USB der Fritz Box hängen habe.

Gruß Axel
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Bennemannc am 12 Dezember 2015, 16:59:59
Hallo,

ist das Modul den noch auf der Box - oder ist das beim Update verloren gegangen. "find / -name ftdi_sio" sollte ein Ergebnis bringen - wenn nicht, dann fehlt das Modul komplett.

Gruß Christoph
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: ttplayer am 12 Dezember 2015, 17:32:55
Ich versuche das Morgen mal zu checken, da ich mittlerweile wieder auf die 6.30 zurück bin.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 12 Dezember 2015, 22:15:27
Zitat von: ttplayer am 12 Dezember 2015, 15:41:27
Scheint so, dass jetzt auch für mich der endgültige Abschied von FHEM auf der Fritz Box gekommen ist.
Nachdem ich heute von 6.30 auf 6.50 upgedatet habe, ist auch kein manueller Start von FHEM mehr möglich, da nachfolgende Fehlermeldung im Telnet Client ausgeworfen wird.

modprobe: module ftdi_sio not found in modules.dep
Segmentation fault


Die beiden Fehlermeldung sind korrekt, haben aber nichts miteinander zu tun.
Perl stürzt mit einem "Segmentation fault" ab, egal ob mit oder ohne fhem. Ich hab nicht raus gefunden, woran das liegt oder wie man das weiter analysieren könnte. Vielleicht die aktuellste Version von Perl für mips compilieren.

"modul ftdi_sio not found" kommt von dem neuen Kernel in der Fritzbox. Das lässt sich eventuell, nachdem AVM die Sourcen veröffentlich beheben, indem man das Modul für den neuen Kernel compiliert. 
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Wernieman am 14 Dezember 2015, 15:26:57
Kannst Du schauen, bei welchem "Modul" denn perl einen segfault schmeist?
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 14 Dezember 2015, 21:30:40
Was meinst du mit welchem Modul?

Beim Starten von perl (ohne fhem) kommt das bereits.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Wernieman am 15 Dezember 2015, 10:45:20
strace perl
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: gcgh am 15 Dezember 2015, 22:43:36
Ich hab es gerade mit der Version fhem-5.7 von heute (2015-11-15) versucht,
leider auch der "Segmentation fault" beim AUfruf von Perl.
Wir brauchen also eine neue Perl Version die unter 6.50 läuft.

Auf meiner zweiten 7490 unter FRITZ!OS 06.30 läuft fhem-5.7 soweit ich das jetzt
sehen fehlerfrei.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Frank am 23 Dezember 2015, 12:09:25
Habe die gleichen Probleme mit "meiner" 06.50er Firmware (incl. telnetd und debug.cfg  ;)). Gibt's schon eine Lösung?!
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 03 Januar 2016, 00:05:23
Fortschrittsinformation: Ich habe nach 2 Tagen Kampf die aktuelle Perl-Version 5.22.1 mit der aktuelleren OpenSSL Version 1.0.1q auf der Fritzbox 7490 mit 6.24 zum Laufen gebracht. Das heißt, FHEM funktioniert darauf nun zumindest auf den ersten Blick inklusive dem integrierten Webserver mit HTTPS Verschlüsselung.  :) :) :) :)

Im nächsten Schritt würde ich meine Software-Version der Fritzbox wieder auf 6.50 updaten und darauf hoffen, dass mit der neuen Perl-Version der "Segmentation fault" behoben ist. Zusätzlich habe ich ein compiliertes strace um, falls der "Segmentation fault" weiter auftritt, diesen zu untersuchen.



Einfach als Dokumentation unkommentiert und unsupportet mein Skript zum Cross-Compilen von Perl:

export PATH=/home/freetz/freetz-trunk/toolchain/target/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
rm -R -f perl-5.22.1
rm -R -f perl_install
mkdir perl_install
tar -xzvf perl-5.22.1.tar.gz
tar -xzvf perl-5.22.1-cross-1.0.2.tar.gz

tar -xzvf Device-SerialPort-1.04.tar.gz
mv Device-SerialPort-1.04 /home/freetz/perl-5.22.1/cpan/Device-SerialPort
tar -xzvf Net-SSLeay-1.72.tar.gz
mv Net-SSLeay-1.72 /home/freetz/perl-5.22.1/cpan/Net-SSLeay
cp Net-SSLeay-Makefile.PL /home/freetz/perl-5.22.1/cpan/Net-SSLeay/Makefile.PL

cd perl-5.22.1
./configure --prefix=/opt --target=mips-linux --target-tools-prefix=mips-linux- --mode=cross
make
make DESTDIR=/home/freetz/perl_install install
cd ../perl_install
tar cfvz opt.tar.gz opt
cd ..

Und die angepasste Net-SSLeay-Makefile.PL

#!/usr/bin/perl

use strict;
use warnings;
use lib 'ext';
use ExtUtils::MakeMaker;

WriteMakefile(
    'NAME'             => 'Net::SSLeay',
    'VERSION_FROM'     => 'lib/Net/SSLeay.pm',
    'INC'              => '-I/home/freetz/freetz-trunk/toolchain/target/include',
    'LIBS'             => ['-L/home/freetz/freetz-trunk/toolchain/target/lib -lssl -lcrypto -lcrypt32 -lz'],
);

Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: ttplayer am 03 Januar 2016, 10:55:38
Dann warte ich mal noch mit dem Kauf eines RASPI :) :) :)
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 04 Januar 2016, 23:37:29
Perl 5.22.1 beendet sich auf der Firmware 6.50 nicht mit einem segmentation fault, die Ausführung ist aber trotzdem nicht erfolgreich.

# ../../bin/strace ./perl5.22.1
execve("./perl5.22.1", ["./perl5.22.1"], [/* 282 vars */]) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0x77183000
open("/lib/libm.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0777, st_size=96164, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0x77182000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\22\320\0\0\0004"..., 4096) = 4096
mmap(NULL, 155648, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77148000
mmap(0x77148000, 89484, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x77148000
mmap(0x7716d000, 3952, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x15000) = 0x7716d000
close(3)                                = 0
munmap(0x77182000, 4096)                = 0
open("/lib/libcrypt.so.0", O_RDONLY)    = 3
fstat(3, {st_mode=S_IFREG|0777, st_size=10932, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0x77182000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\3\340\0\0\0004"..., 4096) = 4096
mmap(NULL, 147456, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77124000
mmap(0x77124000, 9544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x77124000
mmap(0x77136000, 1424, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x77136000
mmap(0x77137000, 67600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x77137000
close(3)                                = 0
munmap(0x77182000, 4096)                = 0
open("/lib/libdl.so.0", O_RDONLY)       = 3
fstat(3, {st_mode=S_IFREG|0777, st_size=13912, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0x77182000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\n \0\0\0004"..., 4096) = 4096
mmap(NULL, 81920, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77110000
mmap(0x77110000, 9172, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x77110000
mmap(0x77122000, 4304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x77122000
close(3)                                = 0
munmap(0x77182000, 4096)                = 0
open("/lib/libgcc_s.so.1", O_RDONLY)    = 3
fstat(3, {st_mode=S_IFREG|0666, st_size=214888, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0x77182000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\3110\0\0\0004"..., 4096) = 4096
mmap(NULL, 237568, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x770d6000
mmap(0x770d6000, 170524, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x770d6000
mmap(0x7710f000, 3260, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x29000) = 0x7710f000
close(3)                                = 0
munmap(0x77182000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0777, st_size=701296, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0x77182000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\277\0\0\0\0004"..., 4096) = 4096
mmap(NULL, 745472, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77020000
mmap(0x77020000, 639208, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x77020000
mmap(0x770cc000, 8112, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x9c000) = 0x770cc000
mmap(0x770ce000, 32468, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x770ce000
close(3)                                = 0
munmap(0x77182000, 4096)                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0777, st_size=701296, ...}) = 0
close(3)                                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0777, st_size=701296, ...}) = 0
close(3)                                = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0777, st_size=701296, ...}) = 0
close(3)                                = 0
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0777, st_size=31680, ...}) = 0
open("/lib/libc.so.0", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0777, st_size=701296, ...}) = 0
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0x77182000
set_thread_area(0x77189460)             = 0
exit(-1)                                = ?
+++ exited with 255 +++


Kann mir jemand nen Tipp geben, was das Problem ist?
Mit der 5.22.1 Version unter 6.24 geht es so weiter:

mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0x2aab0000
set_thread_area(0x2aab7460)             = 0
mprotect(0x2ab1d000, 4096, PROT_READ)   = 0
mprotect(0x2ac05000, 4096, PROT_READ)   = 0
mprotect(0x2aabe000, 4096, PROT_READ)   = 0
ioctl(0, TIOCNXCL or TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCNXCL or TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
rt_sigaction(SIGFPE, {SIG_IGN, [FPE], SA_RESTART}, {SIG_DFL, [], 0}, 16) = 0


Mit der 5.12.2 Version unter 6.50 geht es übrigens so weiter:
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|0x4000000, -1, 0) = 0x77ad5000
set_thread_area(0x77adc460)             = 0
mprotect(0x77aad000, 4096, PROT_READ)   = 0
mprotect(0x77a47000, 4096, PROT_READ)   = 0
mprotect(0x77ad6000, 4096, PROT_READ)   = 0
ioctl(0, TIOCNXCL or TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCNXCL or TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
rt_sigaction(SIGFPE, {SIG_IGN, [FPE], SA_RESTART}, {SIG_DFL, [], 0}, 16) = 0
brk(0)                                  = 0x57d000
brk(0x57e000)                           = 0x57e000
brk(0x57f000)                           = 0x57f000
brk(0x580000)                           = 0x580000
brk(0x581000)                           = 0x581000
brk(0x582000)                           = 0x582000
brk(0x583000)                           = 0x583000
brk(0x585000)                           = 0x585000
getuid()                                = 0
geteuid()                               = 0
getgid()                                = 0
getegid()                               = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
+++ killed by SIGSEGV +++
Segmentation fault
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 11 Januar 2016, 22:10:02
fhem is running on 6.50  :)
Just missing the module ftdi_sio
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: ttplayer am 12 Januar 2016, 08:05:31
@bmaehr
Wärst Du bereit Deine Lösung oder zumindest den Lösungsweg der Allgemeinheit zugänglich zu machen?

Im voraus Danke, TTPlayer
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 18 Januar 2016, 23:10:21
Ja, ich werde das natürlich zur Verfügung stellen.
Ich hoffe bald das module ftdi_sio kompilieren zu können, so dass ich eine voll funktionsfähige Version bereitstellen kann.

Unter https://www.bmaehr.com/owncloud/index.php/s/IEpt8FKqsp21Ytr ist die unter 6.50 lauffähige Perl-Version downloadbar (funktioniert nicht unter 6.30).
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: StephanH am 26 Januar 2016, 15:42:53
Bei mir führt der Link auf ein nicht zugängliches OwnCloud.
Liegt das am Link oder an mir?
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: ttplayer am 27 Januar 2016, 07:51:28
Der Download ist offensichtlich nicht mehr verfügbar
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 28 Januar 2016, 00:20:39
Ich hatte eine Zeitbegrenzung eingestellt, die ich nun auf einige Monate erweitert habe. Nun sollte es also wieder gehen.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: StephanH am 28 Januar 2016, 18:31:15
Super Danke. Hast du das Problem mit der sdio... da auch schon drin?

Gibt es ein erprobtes Schrit-für-Schritt-Vorgehen und irgenwelche Voraussetzungen, die erfüllt sein müssen?
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 03 Februar 2016, 01:26:03
Das Modul ist noch nicht drinnen.
Bevor ich mich dran setze warte ich erst mal bis freetz die Sourcen vom 6.50 eingebunden hat.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Friedrich Nietzsche am 14 Februar 2016, 13:45:32
Hallo,

gibts eine relativ Idiotensichere Anleitung, was ich mit dem aktualisieren Perl und dem fehlenden Modul machen soll?

Grüße
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Klaus Heynen am 15 Februar 2016, 19:45:18
Idioten sichere Anleitung, da wäre ich auch interessiert.
:-)
Habe ne 7490 mit Freetz basierend auf FritzOS 6.51
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 11 März 2016, 22:11:31
Bauen des 6.51 Kernels ist nun möglich. Nun kann ich mir das mit dem ftdi_sio Modul anschauen.

Über Unterstützung würde ich mich sehr freuen und das würde vielleicht schneller zu brauchbaren Resultaten führen :-)
Titel: Antw:Fritz Box 7490 / Firmware 6.51
Beitrag von: TheCULessGuy am 19 Juni 2016, 16:22:49
Zitat von: bmaehr am 11 März 2016, 22:11:31
Bauen des 6.51 Kernels ist nun möglich. Nun kann ich mir das mit dem ftdi_sio Modul anschauen.

Über Unterstützung würde ich mich sehr freuen und das würde vielleicht schneller zu brauchbaren Resultaten führen :-)
Wie kann man dich unterstützen?

Ich würde gerne FHEM auf einer Fritz.Box 7490 laufen lassen.

Verstehe ich das richtig:
-7490 mit aktuellester freetz 6.51 flashen
-FHEM image installieren

Oder wird das komplizierte :D
Bin IT-Technisch nicht ganz unbegabt. Brauche nur ein anhaltspunkt.

Habe auch was gelesen von:
-7490 mit alter 6.20 FW flashen
-FHEM image flashen
-FHEM aktivieren
-7490 mit aktuellester 6.51 flashen
-FHEM nach jedem neustart manuell starten

Gruß TheCULessGuy
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 29 Juni 2016, 00:05:59
Zitat von: TheCULessGuy am 19 Juni 2016, 16:22:49
Wie kann man dich unterstützen?

Ich würde gerne FHEM auf einer Fritz.Box 7490 laufen lassen.

Verstehe ich das richtig:
-7490 mit aktuellester freetz 6.51 flashen
-FHEM image installieren
Naja, die Unterstützung sollte eher so sein, dass mir jemand sagt wie ich da weiterkomme ;-)

Aber im Prinzip läuft fhem und perl bei mir auf der fritzbox mit 6.50. Das Problem ist eher "7490 mit aktuellester freetz 6.51 flashen" denn das funktioniert meines Wissen noch nicht. Und das wird anscheinend benötigt um das kernel modul ftdi_sio reinladen zu können, außer jemand schafft das auf einem anderen Weg ohne dass alles mit freetz neu gebaut werden muss.
Titel: Fritz Box 7490 / Firmware 6.50
Beitrag von: Tommy82 am 13 Oktober 2016, 09:08:31
Hi, ich sehe jetzt auch vor dem Problem der Segmentation fault, unter einer FB 7490 mit OS 6.60 und einem aktuellen Freetz Image.
Hat einer das ganze unter 6.60 am laufen?
Bzw. wie bekomme ich Perl usw. Aktualisiert das es läuft?

Kann ich die Perl Version aus#17 einfach für die 6.60 nehmen? Was muss ich damit machen?

Danke


Gesendet von iPhone mit Tapatalk
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 14 Oktober 2016, 14:57:46
Zitat von: Tommy82 am 13 Oktober 2016, 09:08:31
Kann ich die Perl Version aus#17 einfach für die 6.60 nehmen? Was muss ich damit machen?
Ganz genau, einfach die Perl-Version inklusive libs durch die Dateien im Zip-File ersetzen.

Ich habe es nicht mit 6.60 getestet, aber ich gehe davon aus das darunterliegende System (Kernel, libs) hat sich zwischen 6.50 und 6.60 nicht geändert und daher funktioniert die zip auch mit 6.60.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: monoschwarz am 23 Oktober 2016, 00:41:47
Zitat von: StephanH am 26 Januar 2016, 15:42:53
Bei mir führt der Link auf ein nicht zugängliches OwnCloud.
Liegt das am Link oder an mir?

Hi bmaehr das ist bei mir leider auch so
(PHP-Modul cURL nicht installiert.
Bitte frage, für die Installation des Moduls, Deinen Server-Administrator.)

ich habe eine 3490 mit HM Lanadapter benötige also keine usb Serial Treiber es wäre nett wenn du die Dateien noch mal irgendwo anderst hochladen könntest oder mir kurz eine pn schreiben könntest mit zb deinem skype namen das wir sie dort tauschen können

ich habe zur Zeit ein Img von Zebradem auf der Box (basierend auf 6.51)

bekomme mit der Perl Version von TBflex (zebradem packet ) e(perl version 5.12) fehlermeldung

FHEM-Start konnte nicht gestartet werden!
Segmentation fault

Segmentation fault liegt an perl

Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: monoschwarz am 30 Dezember 2016, 17:51:13
ich hänge zur zeit bei

    root@fritz:/var/media/ftp/JetFlash-Transcend8GB-01/external/usr/share/fhem# ./startfhem
    Attempt to free unreferenced scalar: SV 0x7726b8 at /var/media/ftp/JetFlash-Transcend8GB-01/external/usr/share/fhem/lib/perl5/5.22.1/XSLoader.pm line 94.
    Socket defines neither package nor VERSION--version check failed at /var/media/ftp/uStore01/external/usr/share/fhem/lib/perl5/5.12.2/mips-linux/IO/Socket.pm line 12.
    BEGIN failed--compilation aborted at /var/media/ftp/uStore01/external/usr/share/fhem/lib/perl5/5.12.2/mips-linux/IO/Socket.pm line 12.
    Compilation failed in require at /var/media/ftp/uStore01/external/usr/share/fhem/lib/perl5/5.12.2/mips-linux/IO/Socket.pm line 12.
    BEGIN failed--compilation aborted at /var/media/ftp/uStore01/external/usr/share/fhem/lib/perl5/5.12.2/mips-linux/IO/Socket.pm line 12.
    Compilation failed in require at fhem.pl line 35.
    BEGIN failed--compilation aborted at fhem.pl line 35.

mir fehlt zur zeit die datei Socket.pm aus der perl-base 5.22.1 ich habe das von der 5.12 eingetragen aber da hat sich wohl was in line 12 geändert
hast du die mit mindnight comander entpakt

und hast du das packet perl-base 5.22.1 noch
da ich bei debian nur noch 5.24.x finde als mips packet  20 könnte ich auch noch versuchen

übrigens wenn wir das mit dem zebradem img hinbekommen umgehen wir das problem mit deinem modul einbau

root@fritz:/var/mod/root# cat /proc/modules
ftdi_sio 38637 0 - Live 0x817b8000
usbserial 34113 1 ftdi_sio, Live 0x817ae000
cdc_acm 25390 0 - Live 0x817a6000
ifx_ppa_mini_qos 4816 0 - Live 0x817a3000 (P)
ifx_ppa_mini_sessions 86694 0 - Live 0x8178c000
ifxmips_ppa_hal_vr9_e5 75646 0 - Live 0x81778000
userman_mod 86568 4 - Live 0x81761000 (PO)
sch_sfq 10804 4 - Live 0x8175d000
sch_llq 9751 1 - Live 0x81759000
sch_tbf 5666 1 - Live 0x81756000
krtp 150494 0 - Live 0x81730000 (PO)
atd 168733 0 - Live 0x81705000 (PO)
fwd 15280 1 atd, Live 0x81700000 (PO)
athlogger 7810 0 - Live 0x816fd000 (O)
hif_gmac 13133 3 atd,fwd,athlogger, Live 0x816f8000 (O)
adf 146792 2 atd,fwd, Live 0x816d3000 (PO)
aae 123531 4 atd,fwd,hif_gmac,adf, Live 0x816b3000 (PO)
ltq_eth_oam_handler 3669 0 - Live 0x816b1000
kdsldmod 1756448 9 userman_mod, Live 0x81503000 (PO)
ifxmips_ppa_datapath_vr9_e5 153187 0 - Live 0x814dc000
dsl_vr9 309431 2 - Live 0x8148f000 (O)
mei_vr9 183235 4 ifxmips_ppa_datapath_vr9_e5,dsl_vr9, Live 0x81461000 (O)
usb_storage 51405 1 - Live 0x81453000
sd_mod 41955 2 - Live 0x81447000
scsi_mod 139880 2 usb_storage,sd_mod, Live 0x81423000
xhci_hcd 103848 0 - Live 0x81408000
usbcore 209264 5 ftdi_sio,usbserial,cdc_acm,usb_storage,xhci_hcd, Live 0x813d3000
usb_common 1678 1 usbcore, Live 0x813d1000
vfat 12211 0 - Live 0x813cd000
fat 68000 1 vfat, Live 0x813bb000
capi_codec 423837 0 - Live 0x81352000 (P)
isdn_fbox_fon5 826856 6 krtp, Live 0x81287000 (P)
pcmlink 420223 3 capi_codec,isdn_fbox_fon5, Live 0x8121f000 (P)
rtc_avm 5814 1 pcmlink, Live 0x8121c000
led_modul_Fritz_Box_HW212 91525 6 - Live 0x81204000 (PO)
root@fritz:/var/mod/root#

der ihr freetzserver baut das mit
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: xander am 28 Januar 2017, 10:16:52
Hallo,
gestern Update auf 6.80 gemacht. USB-Treiber werden mit INSMOD nicht geladen. Hat AVM die geändert?

XC
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: ScStephan am 01 März 2017, 20:30:27
Hi @bmaehr,

gab es noch irgendeinen Trick beim Kompilieren des Perl Moduls? Verwendest Du einen bestimmten GCC? Ich habe es heute mit meinem Standard-Cross-Compiler (mips-linux-uclibc) probiert und hatte das tolle Ergebnis, dass es unter der alten Version (6.30) funktioniert, aber nicht auf der neuen (6.80)... Ich habe allerdings nur die Binary ausgetauscht, ich versuche noch die Libs zusätzlich...

Vielen Dank,
Stephan
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 25 März 2017, 23:55:24
Zitat von: ScStephan am 01 März 2017, 20:30:27
Hi @bmaehr,

gab es noch irgendeinen Trick beim Kompilieren des Perl Moduls? Verwendest Du einen bestimmten GCC? Ich habe es heute mit meinem Standard-Cross-Compiler (mips-linux-uclibc) probiert und hatte das tolle Ergebnis, dass es unter der alten Version (6.30) funktioniert, aber nicht auf der neuen (6.80)... Ich habe allerdings nur die Binary ausgetauscht, ich versuche noch die Libs zusätzlich...

Vielen Dank,
Stephan

Hallo Stephan,

Hatte deine Nachricht leider vorher noch nicht gesehen. Der "Trick" damals, wenn ich mich richtig erinnere, war es einfach die aktuelle perl-Version statt der vorhandenen zu verwenden (siehe Post #11). Ich hatte auch keine perl Version bei der Compilierung hinbekommen, die auf 6.30 UND 6.50 funktioniert hat, sondern habe die 6.30 perl-Version mit freetz und den 6.30 Sourcen/Packages und die 6.50- Version mit den 6.50 Sourcen/Packages erstellt.
Ich habe irgendwo immernoch die VM auf der ich das gemacht habe rumliegen, d.h. ich kann bei Bedarf da nochmal genauer nachschauen und versuchen rauszubekommen was ich damals gemacht habe.

Ausgetauscht hab ich natürlich immer binary + libs.

Der Download-Link sollte übrigens wieder für ein Jahr gehen. Hätte nicht gedacht, das da noch so lange daran Interesse besteht :-)

Gruß
Bernhard
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 26 März 2017, 00:01:01
Zitat von: monoschwarz am 23 Oktober 2016, 00:41:47
Hi bmaehr das ist bei mir leider auch so
(PHP-Modul cURL nicht installiert.
Bitte frage, für die Installation des Moduls, Deinen Server-Administrator.)

https://www.bmaehr.com/owncloud/index.php/s/IEpt8FKqsp21Ytr  Sollte bis 26.03.2018 funktionieren (mit Browsern außer Chrome *grml*)
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: ScStephan am 27 März 2017, 17:43:10
Hi Bernhard,

nachdem ich das Thema erledigt haben wollte, hab ich dann einfach die Freetz-VM runtergeladen und die Anleitungen
- zum Installieren der Sources (6.80) und
- zum Bauen der Toolchain für das originale Image befolgt.

Das hat dann einwandfrei geklappt. Ich hab mehr oder weniger "Deine" Befehle ausgeführt, lediglich SSL hab ich mir gespart.

ftdi_sio.so konnte ich so übrigens auch erzeugen (einfach die Kernel-Module bauen). Das hat fast problemlos geklappt - es fehlt lediglich ein weiterer USB-Treiber. Das Startfhem-Skript hab ich dann auf
insmod $freetz/lib/usbserial.ko
insmod $freetz/lib/ftdi_sio.ko
geändert.
Da ich die Treiber aber nicht brauche, hab ich es momentan auskommentiert.

Ich hoffe mal, dass AVM nicht nach Belieben die Toolchain ändert - das ist zwar nicht schwer aber nervig. Und wegen dem bisschen Hausautomation will ich mir auch keinen anderen Server reinstellen, der ununterbrochen Strom frisst...

Viele Grüße und Danke,
Stephan
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: bmaehr am 29 März 2017, 23:42:19
Zitat von: ScStephan am 27 März 2017, 17:43:10
ftdi_sio.so konnte ich so übrigens auch erzeugen (einfach die Kernel-Module bauen). Das hat fast problemlos geklappt - es fehlt lediglich ein weiterer USB-Treiber. Das Startfhem-Skript hab ich dann auf
insmod $freetz/lib/usbserial.ko
insmod $freetz/lib/ftdi_sio.ko
geändert.
Wow, sehr toll, dieser Schritt hat mir damals noch gefehlt. Damit kann man das Thema als gelöst betrachten.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Tommy82 am 30 März 2017, 06:18:27
Hi, kannst du vielleicht im Wiki mal genau beschreiben was du alles gemacht hast das es nun läuft?
Wäre super!


Gesendet von iPhone mit Tapatalk
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: dirkh am 13 November 2017, 22:53:52
Hallo,

ich habe Perl und Fhem in Freetz integriert, beides läuft prinzipiell, aber könnte oder müsste erweitert werden,
siehe: http://freetz.org/ticket/2940

Für Vorschläge und Hinweise bin ich dankbar.

Gruß
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: dad401 am 04 Januar 2018, 22:58:44
Hallo,

ich habe mir soeben ein neues Freetz-Image (06.92-freetz-devel-14579M) aufgespielt und komme mit Perl für FHEM einfach nicht weiter. Die bisherige Perlinstallation (FW 6.30) funktioniert ja leider nicht mehr mit der neuen FW.

Gemäß der bekannten Anleitung (http://blog.loetzimmer.de/2017/11/fhem-auf-der-fritzbox-7490-unter-freetz.html (http://blog.loetzimmer.de/2017/11/fhem-auf-der-fritzbox-7490-unter-freetz.html)) habe ich perl ohne Probleme kompiliert. Allerdings fehlt perl das Socket Modul:

root@fritz:/var/media/ftp/fritzstick01/fhem# /var/InternerSpeicher/opt/bin/perl -w fhem.pl
Can't locate IO/Socket.pm in @INC (you may need to install the IO::Socket module) (@INC contains: . /var/InternerSpeicher/opt/lib/perl5/site_perl/5.26.1/mips-linux /var/InternerSpeicher/opt/lib/perl5/site_perl/5.26.1 /var/InternerSpeicher/opt/lib/perl5/5.26.1/mips-linux /var/InternerSpeicher/opt/lib/perl5/5.26.1) at fhem.pl line 36.
BEGIN failed--compilation aborted at fhem.pl line 36.


Ich verstehe nicht, warum er das Modul nicht mit installiert. Beim kompilieren wurde es als dynamisches Modul (cpan/Socket) angegeben. Im lib Verzeichnis ist es aber nirgends enthalten.

Hat jemand eine Idee?
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: dad401 am 05 Januar 2018, 01:29:41
Habe es hinbekommen.  ;D ;D

Lösung: Es gibt wohl manchmal ein Problem (https://arsv.github.io/perl-cross/modules.html), dass die Module beim ersten Durchlauf nicht korrekt gebaut werden.  Das oben verlinkte Skript (auf "Lötzimmer") müsste wie folgt ergänzt werden:

...
export PATH=$FREETZ/toolchain/target/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
./configure --prefix=/var/InternerSpeicher/opt --target=mips-linux --target-tools-prefix=mips-linux- --mode=cross
make
make modules-reset
make modules
make DESTDIR=$HOME/perl_install install
...


Nun hab ich auch die Socket.pm unter lib und FHEM funktioniert wieder :-)
Fehlt jetzt eigentlich nur noch die Crypt::Rijndael. (https://wiki.fhem.de/wiki/AES_Encryption)
EDIT: Support für Crypt::Rijndael ergänzt - ein "Hello World" läuft auf der Box:
#!/usr/bin/perl

use Crypt::Rijndael;

$cipher = Crypt::Rijndael->new( "a" x 32, Crypt::Rijndael::MODE_CBC() );
$plaintext = "a" x 16;
print "plain: $plaintext\n";
$crypted = $cipher->encrypt($plaintext);
print "cypher: $crypted\n";


Gruss
Marcus

P.S.:
Falls jemand die Binaries benötigt:
Perl 5.26.1 für Fritzbox 7490 FW 6.92 und FHEM mit Crypt::Rijndael (http://filehorst.de/d/chxghBlw)
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: dad401 am 21 Februar 2018, 14:20:48
Hier ein Update der Binaries:
- FritzBox 7490
- mit CH341 Modul - was für die Arduinos oft nötig sein kann
- für FW 6.93 gebaut (freetz)
- mit: Crypto-Support (Crypt-Rijndael-1.13) und Serial-Support für Signalduino (Device-SerialPort-1.04) etc.

perl5.26.1_FB7490_FW6.93_ch341.tar.gz (13.86 MB) (http://filehorst.de/d/chawlcAd)
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: metty am 11 Mai 2018, 22:15:17
Hallo,
eine Anleitung wie man das Perl und Fhem auf die Box bekommt wäre ja mal nicht verkehrt.
MfG
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: dad401 am 24 September 2018, 20:10:22
Die Anleitung ist oben bereits verlinkt (Lötzimmer)! Für die weiteren benötigten Module muss man diese grundsätzlich herunterladen und für den Cross-Compiler ergänzen.
z.B. meine angepasste "make_perl-cross.sh":


#!/bin/sh

PERL=5.26.1
FREETZ=$HOME/7490/freetz-trunk-r14597

INST_DIR=$HOME/7490/perl

cd $INST_DIR
mkdir perl_install

test -e perl-cross-1.1.8.tar.gz || wget https://github.com/arsv/perl-cross/releases/download/1.1.8/perl-cross-1.1.8.tar.gz
test -e perl-${PERL}.tar.gz || wget http://www.cpan.org/src/5.0/perl-${PERL}.tar.gz

tar xfz perl-${PERL}.tar.gz

test -e JSON-2.94.tar.gz || wget http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/JSON-2.94.tar.gz
tar xfz JSON-2.94.tar.gz
mv JSON-2.94 perl-${PERL}/cpan/JSON
cp JSON_Makefile.PL perl-${PERL}/cpan/JSON/Makefile.PL

if [ -n "$(grep '^FREETZ_OPENSSL_VERSION_1=y' ${FREETZ}/.config)" ] ; then
        test -e Net-SSLeay-1.82.tar.gz || wget http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-1.82.tar.gz
        test -e IO-Socket-SSL-2.052.tar.gz || wget http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-2.052.tar.gz
        tar xfz Net-SSLeay-1.82.tar.gz
        tar xfz IO-Socket-SSL-2.052.tar.gz
        mv Net-SSLeay-1.82 perl-${PERL}/cpan/Net-SSLeay
        mv IO-Socket-SSL-2.052 perl-${PERL}/cpan/IO-Socket-SSL
        cp Net-SSLeay_Makefile.PL perl-${PERL}/cpan/Net-SSLeay/Makefile.PL
        cp IO-Socket-SSL_Makefile.PL perl-${PERL}/cpan/IO-Socket-SSL/Makefile.PL
fi

if [ -n "$(grep '^FREETZ_PACKAGE_SQLITE=y' ${FREETZ}/.config)" ] ; then
        test -e DBI-1.637.tar.gz || wget http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.637.tar.gz
        test -e DBD-SQLite-1.54.tar.gz || wget http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.54.tar.gz
        tar xfz DBI-1.637.tar.gz
        tar xfz DBD-SQLite-1.54.tar.gz
        mv DBI-1.637 perl-${PERL}/cpan/DBI
        mv DBD-SQLite-1.54 perl-${PERL}/cpan/DBD-SQLite
        cp DBD-SQLite_Makefile.PL perl-${PERL}/cpan/DBD-SQLite/Makefile.PL
        cat perl-${PERL}/cpan/DBI/Driver.xst | sed 's/~DRIVER~/SQLite/g' > perl-${PERL}/cpan/DBD-SQLite/SQLite.xsi
fi

tar xfz Crypt-Rijndael-1.13.tar.gz
mv Crypt-Rijndael-1.13 perl-${PERL}/cpan/Crypt-Rijndael

tar xfz Device-SerialPort-1.04.tar.gz
mv Device-SerialPort-1.04 perl-${PERL}/cpan/Device-SerialPort

tar xfz URI-1.73.tar.gz
mv URI-1.73 perl-${PERL}/cpan/URI

tar xfz Net-Telnet-3.04.tar.gz
mv Net-Telnet-3.04 perl-${PERL}/cpan/Net-Telnet

tar xfz SOAP-Lite-1.26.tar.gz
mv SOAP-Lite-1.26 perl-${PERL}/cpan/SOAP-Lite

tar xfz libwww-perl-5.837.tar.gz
mv libwww-perl-5.837 perl-${PERL}/cpan/libwww-perl

tar xfz Net-SIP-0.814.tar.gz
mv Net-SIP-0.814 perl-${PERL}/cpan/Net-SIP

tar xfz TimeDate-2.30.tar.gz
mv TimeDate-2.30 perl-${PERL}/cpan/TimeDate

cd perl-${PERL}
tar --strip-components=1 -zxf ../perl-cross-1.1.8.tar.gz

export PATH=$FREETZ/toolchain/target/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
./configure --prefix=/var/InternerSpeicher/opt --target=mips-linux --target-tools-prefix=mips-linux- --mode=cross
make
echo "press enter to make modules reset"
read
make modules-reset
echo "press enter to make modules"
read
make modules
echo "press enter to make install"
read
make DESTDIR=$INST_DIR/perl_install install

cd $INST_DIR/perl_install
rm -rf var/InternerSpeicher/opt/share
tar cfz $INST_DIR/freetz_perl-${PERL}.tgz var/
cd $INST_DIR/


Vorher die Modularchive herunterladen und in das Verzeichnis legen.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: ScStephan am 15 Januar 2019, 18:05:05
Hallo zusammen,

falls es wen interessiert:
fhem (zumindest fhem.pl:13593/2017-03-04) läuft auch mit FritzOS 7.01.

Grob skizziert:
- telnet via modfs wieder zum laufen bringen (ich hab ein paar Runden gebraucht. Forum Beiträge bzgl. modfs lesen hilft. Vorher!)
- wie schon bisher freetz build-Umgebung auf neuesten Stand bringen (wie bisher, git nehmen)
- ich habe (nur) Perl 5.24.1 plus perl-cross genommen
- freetz Toolchain bauen (für FritzOS 7.01, ist experimentell)
- perl kompilieren und installieren

Und siehe da: Nix geht.
Das liegt wohl daran, dass (noch) dependencies (ggf. mips-linux-ldd fragen!) auf
- libm.so.0
- libc.so.0
bestehen, obwohl die toolchain mit uclibc(-ng) arbeitet. Ich gehe davon aus, dass einfach Symlinks darauf fehlen.

Ich habe schlichtweg aus dem Fritzbox-Lib-Verzeichnis (/lib)
- libm-1.0.14.so und
- libuClibc-1.0.14.so
genommen und sie mit obigen Namen in meinen eigenen Lib-Path kopiert.
Nehme ich sie aus freetz, gibt es einen Segmentation-Fault.

Bislang (toi toi toi) geht's.

Vielleicht freut sich ja wer drüber...
Stephan
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: rudolfkoenig am 15 Januar 2019, 18:54:50
Achtung: perl-5.24 scheint einen Speicherloch in den Regexp-Routinen zu haben, was bei FHEM meist mit Blocking merkbar wird.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Tommy82 am 15 Januar 2019, 18:57:04
Zitat von: ScStephan am 15 Januar 2019, 18:05:05
Hallo zusammen,

falls es wen interessiert:
fhem (zumindest fhem.pl:13593/2017-03-04) läuft auch mit FritzOS 7.01.

Grob skizziert:
- telnet via modfs wieder zum laufen bringen (ich hab ein paar Runden gebraucht. Forum Beiträge bzgl. modfs lesen hilft. Vorher!)
- wie schon bisher freetz build-Umgebung auf neuesten Stand bringen (wie bisher, git nehmen)
- ich habe (nur) Perl 5.24.1 plus perl-cross genommen
- freetz Toolchain bauen (für FritzOS 7.01, ist experimentell)
- perl kompilieren und installieren

Und siehe da: Nix geht.
Das liegt wohl daran, dass (noch) dependencies (ggf. mips-linux-ldd fragen!) auf
- libm.so.0
- libc.so.0
bestehen, obwohl die toolchain mit uclibc(-ng) arbeitet. Ich gehe davon aus, dass einfach Symlinks darauf fehlen.

Ich habe schlichtweg aus dem Fritzbox-Lib-Verzeichnis (/lib)
- libm-1.0.14.so und
- libuClibc-1.0.14.so
genommen und sie mit obigen Namen in meinen eigenen Lib-Path kopiert.
Nehme ich sie aus freetz, gibt es einen Segmentation-Fault.

Bislang (toi toi toi) geht's.

Vielleicht freut sich ja wer drüber...
Stephan
Hi,
Das grob skizzierte ist mir irgendwie zu hoch[emoji2960]

Kannst du mal bitte eine schritt für schritt Anleitung machen was man genau wo machen muss um das Freetz Image mit Fhem zu bauen

Danke


Gesendet von iPhone mit Tapatalk
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: ScStephan am 16 Januar 2019, 20:06:49
@rudolfkoenig :
Danke für den Hinweis! Bislang (mehrere Jahre) lief fhem bei mir mit perl 5.24 ohne Probleme. Ich habe die Version hauptsächlich deswegen beibehalten, damit ich nicht zu viel auf einmal ändere. Für die Zukunft werde ich auf jeden Fall aktualisieren. Nachdem mir gentoo heute eine dicke Warnung wegen 5.26 gegeben hat (rausgefallene deprecateds): Was für eine Version verwendest Du momentan?

@Tommy82 :
Eines vorweg: Ich bin eher der Anwender, was solche Sachen angeht. Ich weiß wie ich Google so lange anwenden kann, bis alles tut, wie ich es mir vorstelle. Ich habe Freetz auf der Fritzbox noch nie verwendet. Will sagen, mir fehlen ein paar Hintergrund-Details, daher folgendes ohne Gewähr:
FHEM ist in erster Linie ja ein Perl-Script, sprich es läuft überall wo Perl läuft (je nach Anwendung fehlen vielleicht noch Hardwaretreiber oder so). Das Skript muss also nur auf das Device kopiert werden und das Device dazu gebracht werden, das Skript auszuführen.
Der Knackpunkt liegt also auf
- Richtiges Perl kriegen und
- Perl mit Skript starten.

Bei einer Fritzbox (hat noch nix mit Freetz zu tun), kann man ja alles (perl+skript) auf das Flash oder ein externes Laufwerk kopieren.
Mit dem modfs Skript kriegt man dann die Fritzbox dazu
- Sachen auf den Laufwerken überhaupt zu starten (noexec-Bit)
- Sachen beim Boot zu starten (bzw über Telnet).

Das große Problem, und daher kam auch mein Post, besteht aber darin Perl zu bekommen. Und zwar in der richtigen Version:
- für mips (den Prozessor)
- mit Linux-Support (der Kernel)
- mit der richtigen C-Bibliothek (uclibc-ng).

Das kriegt man nur, wenn man einen passenden Compiler, besser gesagt eine Toolchain, hat. Damit kann man dann den Perl-Sourcecode zur Perl-Binary übersetzen.
Da das Kompilieren nicht auf der Fritzbox stattfindet, sondern auf einem anderen System, braucht man einen Cross-Compiler. Dummerweise mag der Perl-Sourcecode das Cross-Compile nicht sonderlich, weswegen es hierfür einen Patch gibt (perl-cross).

Zu Urzeiten hatte Rudolf mal eine Perl-Binary gestellt, aber irgendwann wurde dank der restriktiven Politik von AVM dies nicht weiter entwickelt (sofern ich weiß).

Da das Freetz-Projekt aber genau das macht - verschiedene Programme für die Architektur und die Basis der Fritzbox bereitstellen, kann man deren Compiler verwenden - besser gesagt deren gesamte Build-Umgebung.

Da ich nicht weiß, ob Dir das alles weiterhilft, will ich hier nicht viel mehr schreiben.
Als Hilfe fürs Googlen, falls doch:
- Es gibt vom Freetz-Projekt eine Anleitung, wie man ein Ubuntu einrichtet und dort Freetz kompiliert.
- Ich hatte diesen Post https://forum.fhem.de/index.php/topic,45572.msg383590.html#msg383590 verwendet, um Perl zu kompilieren. Weiter später hat auch noch jemand ein Skript gepostet, dass das alles automatisch macht und perl noch mehr Tricks beibringt. Es kann aber gut sein, dass Du noch meine extra Tipps des letzten Posts verwenden musst, damit es tatsächlich läuft.

Auch wenn das jetzt wieder allgemein war und keine Fertiglösung ist, wo ein Freetz-Image hinten rausfällt, hoffe ich etwas geholfen zu haben.
Meine Erfahrung beschränkt sich jetzt auch nur auf das originale FritzBox-Image, mit Freetz sollte es aber nicht viel anders laufen.

Viele Grüße,
Stephan
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Tommy82 am 16 Januar 2019, 20:54:25
Hi,
danke für deine Infos,
da ich recht viel Freetz Images baue und meine boxen dann auch freetze werd ich das mit fhem mal versuche, selbst zu bauen
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Wernieman am 16 Januar 2019, 21:39:41
Wie immer aber mal der Hinweis:
Solche Spielchen nicht auf einer FritzBox, die am Netz hängt (Es sei denn, man ist Profi). Schließlich ist diese Quasi die erste FireWall zum Netz ...
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: rudolfkoenig am 17 Januar 2019, 13:13:19
ZitatWas für eine Version verwendest Du momentan?
"Produktion":5.14, Entwicklung z.Zt. 5.18 und 5.26.
Ist aber irrelevant, weil mein Setup nicht typisch ist, und das Problem vermutlich nur bei Benutzeung spezieller Features einzelner Module (DOIF?) auftritt, siehe den ewig langen "Speicher-Voll-Thread" hier im Forum (https://forum.fhem.de/index.php?topic=84372.0).
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: dad401 am 02 November 2019, 17:05:04
Nach Update von freetz (-ng 16313) auf V7.12 für meine 7490 habe ich mal wieder ein für meine Zwecke lauffähiges perl für fhem gebastelt
Entweder herunterladen: perl 5.28.2_for_freetz-ng-16313_07.12.tar.gz (https://filehorst.de/d/cEonujoc) oder so bauen (setzt ein kompiliertes freetz-ng voraus und die relevanten Pakete in $INST_DIR):

make_perl-cross.sh
#!/bin/sh

PERL=5.28.2
CROSS=1.3
FREETZ=$HOME/7490/freetz-ng-r16313

INST_DIR=$HOME/7490/perl

cd $INST_DIR
mkdir perl_install

tar xfz perl-${PERL}.tar.gz

tar xfz JSON-2.94.tar.gz
mv JSON-2.94 perl-${PERL}/cpan/JSON
cp JSON_Makefile.PL perl-${PERL}/cpan/JSON/Makefile.PL

tar xfz Crypt-Rijndael-1.13.tar.gz
mv Crypt-Rijndael-1.13 perl-${PERL}/cpan/Crypt-Rijndael

tar xfz Device-SerialPort-1.04.tar.gz
mv Device-SerialPort-1.04 perl-${PERL}/cpan/Device-SerialPort

tar xfz URI-1.73.tar.gz
mv URI-1.73 perl-${PERL}/cpan/URI

tar xfz Net-Telnet-3.04.tar.gz
mv Net-Telnet-3.04 perl-${PERL}/cpan/Net-Telnet

tar xfz SOAP-Lite-1.26.tar.gz
mv SOAP-Lite-1.26 perl-${PERL}/cpan/SOAP-Lite

tar xfz libwww-perl-5.837.tar.gz
mv libwww-perl-5.837 perl-${PERL}/cpan/libwww-perl

tar xfz Net-SIP-0.814.tar.gz
mv Net-SIP-0.814 perl-${PERL}/cpan/Net-SIP

tar xfz TimeDate-2.30.tar.gz
mv TimeDate-2.30 perl-${PERL}/cpan/TimeDate

cd perl-${PERL}
tar --strip-components=1 -zxf ../perl-cross-${CROSS}.tar.gz

export PATH=$FREETZ/toolchain/target/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
./configure --prefix=/var/InternerSpeicher/opt --target=mips-linux --target-tools-prefix=mips-linux- --mode=cross

read -p "press any key to make " INPUT
make

make DESTDIR=$INST_DIR/perl_install install

cd $INST_DIR/perl_install
rm -rf var/InternerSpeicher/opt/share
tar cf $INST_DIR/freetz_perl-${PERL}.tar var/
cd $INST_DIR/


Marcus
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: fhcm am 09 November 2019, 11:21:56
Hier hat gibts seit kurzem perl für freetz: https://github.com/cawidtu/freetz/commits/master
Die patches sind:
https://github.com/cawidtu/freetz/commit/ff448e5c408298f96a09446ce778c7923fa6f1c9.diff und https://github.com/cawidtu/freetz/commit/973e9e43771ee9d75719b96ed2c7ce8a31daaa84.diff
Diese mit wget herunterladen und patch -p1 < ...diff einbinden
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: dad401 am 09 November 2019, 11:48:58
Aha - Danke für die Info. Das kannte ich noch nicht. Werd ich beim nächsten Update mal testen...
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Tommy82 am 16 November 2019, 20:14:28
Zitat von: fhcm am 09 November 2019, 11:21:56
Hier hat gibts seit kurzem perl für freetz: https://github.com/cawidtu/freetz/commits/master
Die patches sind:
https://github.com/cawidtu/freetz/commit/ff448e5c408298f96a09446ce778c7923fa6f1c9.diff und https://github.com/cawidtu/freetz/commit/973e9e43771ee9d75719b96ed2c7ce8a31daaa84.diff
Diese mit wget herunterladen und patch -p1 < ...diff einbinden

Hi,
ich werd das morgen mal auf ner 6590 testen, mal sehen ob das funktioniert.
Wie habt ihr dann fhem noch drauf und zum laufen gebracht?
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: Parallix am 09 Dezember 2019, 11:41:39
Zitat von: fhcm am 09 November 2019, 11:21:56
Hier hat gibts seit kurzem perl für freetz: https://github.com/cawidtu/freetz/commits/master
Die patches sind:
https://github.com/cawidtu/freetz/commit/ff448e5c408298f96a09446ce778c7923fa6f1c9.diff und https://github.com/cawidtu/freetz/commit/973e9e43771ee9d75719b96ed2c7ce8a31daaa84.diff
Diese mit wget herunterladen und patch -p1 < ...diff einbinden

Auf Basis des oben genannten Vorschlags und freetz-ng (Revision 16409), habe ich mich daran gemacht, das für FHEM erforderliche Perl-Modul inkl. SSL für meine 7590 zu bauen.

Leider bricht die Übersetzung ca. im letzten Drittel mit folgender Fehlermeldung ab:

...
make -C cpan/NEXT/ all PERL_CORE=1 LIBPERL=libperl.so
make[2]: Verzeichnis ,,./projects/freetz-trunk/source/target-mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/perl-5.27.5/cpan/NEXT" wird betreten
cp lib/NEXT.pm ../../lib/NEXT.pm
make[2]: Verzeichnis ,,./projects/freetz-trunk/source/target-mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/perl-5.27.5/cpan/NEXT" wird verlassen
cd cpan/Net-DNS/ && ../../miniperl_top -I../../lib Makefile.PL \
INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none \
PERL_CORE=1 LIBPERL_A=libperl.so PERL="../../miniperl_top"
Generating a Unix-style Makefile
Writing Makefile for Net::DNS
Can't locate object method "new" via package "IO::Socket::INET" at Makefile.PL line 152.
make[1]: *** [Makefile:246: cpan/Net-DNS/Makefile] Fehler 2
make[1]: Verzeichnis ,,./projects/freetz-trunk/source/target-mips_gcc-5.5.0_uClibc-1.0.14-nptl_kernel-3.10/perl-5.27.5" wird verlassen

ERROR: Build failed.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: mister am 14 Juni 2020, 22:03:22
Auch wenn das schon etwas älter ist hoffe ich mir kann hier jemand den Gefallen tun und für meine 7390 oder 7530 ein Image Bauen? Würde die Fritz wirklich gerne wieder nutzen.
Titel: Antw:Fritz Box 7490 / Firmware 6.50
Beitrag von: mister am 19 Juni 2020, 12:16:35
Hallo nochmal, also ich habe mich nochmal ein Bisschen an der Thematik probiert. Freetz mit FHEM ist jetzt auf einer 7530 drauf jedoch bekomme ich bei starten folgende Ausgabe, vielleicht hat jemand eine Idee in wie fern ich wo an den rechten schrauben muss/kann:

Info[fhem]: internal storage is used
chown: /mod/etc/fhem/FHEM/FhemUtils/release.pm: Read-only file system
chown: /mod/etc/fhem/FHEM/FhemUtils/update-20130127-001: Read-only file system
chown: /mod/etc/fhem/FHEM/FhemUtils: Read-only file system
chown: /mod/etc/fhem/FHEM/FhemUtils: Read-only file system
chmod: /mod/etc/fhem/FHEM/FhemUtils/.: Read-only file system
Starting FHEM - Home automation ... mode=normal ... failed.