Fritz Box 7490 / Firmware 6.50

Begonnen von ttplayer, 12 Dezember 2015, 15:41:27

Vorheriges Thema - Nächstes Thema

monoschwarz

#30
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

xander

Hallo,
gestern Update auf 6.80 gemacht. USB-Treiber werden mit INSMOD nicht geladen. Hat AVM die geändert?

XC

ScStephan

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

bmaehr

#33
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

bmaehr

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*)

ScStephan

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

bmaehr

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.

Tommy82

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
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

dirkh

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ß

dad401

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) 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?
--
aktuelles FHEM auf einem RPI3 mit
HM-MOD-RPI-PCB, CUL868, nanoCUL (868MHz), Signalduino (433MHz), SignalESP (433 MHz) zur Nutzung folgender Systeme:
FS20/Homematic/IT-Steckdosen/OW/Sonstiges

dad401

#40
Habe es hinbekommen.  ;D ;D

Lösung: Es gibt wohl manchmal ein Problem, 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.
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
--
aktuelles FHEM auf einem RPI3 mit
HM-MOD-RPI-PCB, CUL868, nanoCUL (868MHz), Signalduino (433MHz), SignalESP (433 MHz) zur Nutzung folgender Systeme:
FS20/Homematic/IT-Steckdosen/OW/Sonstiges

dad401

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)
--
aktuelles FHEM auf einem RPI3 mit
HM-MOD-RPI-PCB, CUL868, nanoCUL (868MHz), Signalduino (433MHz), SignalESP (433 MHz) zur Nutzung folgender Systeme:
FS20/Homematic/IT-Steckdosen/OW/Sonstiges

metty

Hallo,
eine Anleitung wie man das Perl und Fhem auf die Box bekommt wäre ja mal nicht verkehrt.
MfG

dad401

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.
--
aktuelles FHEM auf einem RPI3 mit
HM-MOD-RPI-PCB, CUL868, nanoCUL (868MHz), Signalduino (433MHz), SignalESP (433 MHz) zur Nutzung folgender Systeme:
FS20/Homematic/IT-Steckdosen/OW/Sonstiges

ScStephan

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