Neues perl fuer das FB7270

Begonnen von rudolfkoenig, 30 Oktober 2011, 12:41:25

Vorheriges Thema - Nächstes Thema

rudolfkoenig

                                                   

Da ich perl ohne Fliesskomma ziemlich komisch finde, und doch einige
Leute interesse an fhem @ FB7270 finden (etwa 500 downloads in diesem
Monat), habe ich beschlossen ein neues perl zu bauen. Der Weg war
steiniger als gedacht, aber dank Alex Suykov's perl-cross Paket is das
"Destillat" der Bauanleitung (s.u.) ziemlich kurz, und das Ergebnis
zufriedenstellend.

Ich habe ein neues fhem-5.1-fb7270.zip auf fhem.de hochgeladen (mit
fhem aus dem CVS), und auch kurz getestet: sunset_abs entspricht dem
vom "grosssen" fhem, und ein CUL kann man jetzt auch "normal"
ansprechen: dank Device::SerialPort ist die Option @directio nicht
mehr notwendig. Weitere Perl-Module habe ich nicht vor selbst zu
uebersetzen, wer OW.pm & co. braucht, moege es selbst erstellen, und
mir das Ergebnis schicken zwecks einchecken.

HOWTO cross-compile perl for the Fritz!Box 7270
==================
Build-Umgebung: Ubuntu 10.04, 64 bit als VM.

For freetz-build details see fritz.org. Short summary:
Unpack freetz-1.1.4 in $HOME
cd freetz-1.1.4
make xconfig
make
-> I had to dowload the AVM firmware manually, make still aborts.
Freetz 1.1.4
   is currently broken, perhaps the CVS version is better. But since I
only
   need the compiler, I don't bother.

Make sure /bin/sh points to /bin/bash

cd
ln -s ~/freetz-1.1.4/build/original/filesystem sysroot
ln -s ~/freetz-1.1.4/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-
linux-uclibc/bin ccbin
ln -s ~/freetz-1.1.4/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-
linux-uclibc/lib .
ln -s ~/freetz-1.1.4/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-
linux-uclibc/include sysroot
Add to the PATH: $HOME/ccbin
rm ccbin/ld

unpack perl-5.14.2.tar.gz
mv perl-5.14.2 perl-5.14.1
unpack perl-5.14.1-cross-0.6.2.tar.gz
cd perl-5.14.1/cpan
unpack Device-SerialPort-1.04.tar.gz
cd ..

./configure --prefix=$HOME/fbperl --target=mipsel-linux --target-tools-
prefix=mipsel-linux-uclibc- --sysroot=$HOME/sysroot -Dccflags=-Os -
Dldflags=-L$HOME/lib -Dlddlflags="-fPIC -shared"
make
make install

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Rudolf,
ich habe fhem auf der FB 7270 gemäß der Anleitung auf http://fhem.de/fritzbox.html
installiert und es tut soweit. Ist Deine neue Version ähnlich
installierbar oder muss ich dafür zunächst Freetz auf meiner Box
installieren (wollte ich eigentlich vermeiden...)

Gruß,
Stefan

On 30 Okt., 13:41, Rudolf Koenig wrote:
> Da ich perl ohne Fliesskomma ziemlich komisch finde, und doch einige
> Leute interesse an fhem @ FB7270 finden (etwa 500 downloads in diesem
> Monat), habe ich beschlossen ein neues perl zu bauen. Der Weg war
> steiniger als gedacht, aber dank Alex Suykov's perl-cross Paket is das
> "Destillat" der Bauanleitung (s.u.) ziemlich kurz, und das Ergebnis
> zufriedenstellend.
>
> Ich habe ein neues fhem-5.1-fb7270.zip auf fhem.de hochgeladen (mit
> fhem aus dem CVS), und auch kurz getestet: sunset_abs entspricht dem
> vom "grosssen" fhem, und ein CUL kann man jetzt auch "normal"
> ansprechen: dank Device::SerialPort ist die Option @directio nicht
> mehr notwendig. Weitere Perl-Module habe ich nicht vor selbst zu
> uebersetzen, wer OW.pm & co. braucht, moege es selbst erstellen, und
> mir das Ergebnis schicken zwecks einchecken.
>
> HOWTO cross-compile perl for the Fritz!Box 7270
> ==================
> Build-Umgebung: Ubuntu 10.04, 64 bit als VM.
>
> For freetz-build details see fritz.org. Short summary:
> Unpack freetz-1.1.4 in $HOME
> cd freetz-1.1.4
> make xconfig
> make
> -> I had to dowload the AVM firmware manually, make still aborts.
> Freetz 1.1.4
>    is currently broken, perhaps the CVS version is better. But since I
> only
>    need the compiler, I don't bother.
>
> Make sure /bin/sh points to /bin/bash
>
> cd
> ln -s ~/freetz-1.1.4/build/original/filesystem sysroot
> ln -s ~/freetz-1.1.4/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-
> linux-uclibc/bin ccbin
> ln -s ~/freetz-1.1.4/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-
> linux-uclibc/lib .
> ln -s ~/freetz-1.1.4/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-
> linux-uclibc/include sysroot
> Add to the PATH: $HOME/ccbin
> rm ccbin/ld
>
> unpack perl-5.14.2.tar.gz
> mv perl-5.14.2 perl-5.14.1
> unpack perl-5.14.1-cross-0.6.2.tar.gz
> cd perl-5.14.1/cpan
> unpack Device-SerialPort-1.04.tar.gz
> cd ..
>
> ./configure --prefix=$HOME/fbperl --target=mipsel-linux --target-tools-
> prefix=mipsel-linux-uclibc- --sysroot=$HOME/sysroot -Dccflags=-Os -
> Dldflags=-L$HOME/lib -Dlddlflags="-fPIC -shared"
> make
> make install

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Ist Deine neue Version ähnlich installierbar oder muss ich dafür zunächst
> Freetz auf meiner Box installieren.

Das Paket ist identisch mit dem was bisher da war, Enduser brauchen auch kein
freetz, ich habe nur das perl ausgetauscht. D.h. wie bisher: Paket runderladen,
auf dem USB Stick auspacken (das geht auch auf dem FB selber), und fhem mit
startfhem starten.

Besitzer von einem V1 Fritzbox muessen das startfhem Skript anpassen, da diese
FB's kein df haben, damit kriegt man es schlecht raus, wo das Programm liegt.
Wenn man mehr als eine Platte angeschlossen hat, dann muss man startfhem auch
aendern.

Ich habe freetz natuerlich benoetigt, um einen crosscompiler zu haben. Die
Anleitung war fuer Leute, die perl selber uebersetzen wollten.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo,
 
ich habe mal testweise die neue Version auf meiner FB7270 (Version 3)
installiert.
An der FB ist ein CUL.
 
Beim Aufruf von startfhem im Telnet bekomme ich immer ein "Bus error" als
Fehlermeldung.
 
Wo kann ich nach dem Fehler suchen?
 
Gruß, Lars

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Wo kann ich nach dem Fehler suchen?

Was fuer ein Firmware laeuft darauf? Ich habe es mit 74.05.05 getestet auf
einem FB7270, V3. Evtl. die Befehle einzeln aus startfhem durchfuehren, und
schauen, wo das Problem auftritt. Wenn es beim perl-Aufruf ist, dann
nacheinander:
% perl -version
% perl -e 'print "Hallo"'
% perl fhem.pl
ausprobieren.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Am Montag, 31. Oktober 2011 19:38:51 UTC+1 schrieb Rudolf Koenig:
> Was fuer ein Firmware laeuft darauf? Ich habe es mit 74.05.05 getestet
auf einem FB7270, V3.
Ich habe genau die gleiche Hard- und Firmware
 
>Evtl. die Befehle einzeln aus startfhem durchfuehren, und schauen, wo das
Problem auftritt. Wenn es beim perl-Aufruf ist, dann nacheinander:
>% perl -version
Beim Aufruf von perl -version kommt dann die "Bus error" Fehlermeldung

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> >% perl -version
> Beim Aufruf von perl -version kommt dann die "Bus error" Fehlermeldung

Kann das bitte jemand sonst bestaetigen oder widerlegen?

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Rudolf,

danke für Deine Arbeit! Bei mir läuft SUNSET jetzt auch wunderbar.
Ich versuch parallel gerade die 59_Weather.pm ans Laufen zu kriegen.
Ich bin auch schon soweit, dass ich keine "systemischen"
Fehlermeldungen mehr im Log finde. Leider komme ich aber nicht über
ein Initialized Status hinweg und erhalte die Meldung "myWetter: Could
not retrieve weather information."

Ich habe leider bisher wenig Erfahrung mit Perl. Ist das ein größeres
Ding das Modul ans Laufen zu kriegen?

Danke und viele Grüße,
Marc


On 30 Okt., 12:41, Rudolf Koenig wrote:
> Da ich perl ohne Fliesskomma ziemlich komisch finde, und doch einige
> Leute interesse an fhem @ FB7270 finden (etwa 500 downloads in diesem
> Monat), habe ich beschlossen ein neues perl zu bauen. Der Weg war
> steiniger als gedacht, aber dank Alex Suykov's perl-cross Paket is das
> "Destillat" der Bauanleitung (s.u.) ziemlich kurz, und das Ergebnis
> zufriedenstellend.
>
> Ich habe ein neues fhem-5.1-fb7270.zip auf fhem.de hochgeladen (mit
> fhem aus dem CVS), und auch kurz getestet: sunset_abs entspricht dem
> vom "grosssen" fhem, und ein CUL kann man jetzt auch "normal"
> ansprechen: dank Device::SerialPort ist die Option @directio nicht
> mehr notwendig. Weitere Perl-Module habe ich nicht vor selbst zu
> uebersetzen, wer OW.pm & co. braucht, moege es selbst erstellen, und
> mir das Ergebnis schicken zwecks einchecken.
>
> HOWTO cross-compile perl for the Fritz!Box 7270
> ==================
> Build-Umgebung: Ubuntu 10.04, 64 bit als VM.
>
> For freetz-build details see fritz.org. Short summary:
> Unpack freetz-1.1.4 in $HOME
> cd freetz-1.1.4
> make xconfig
> make
> -> I had to dowload the AVM firmware manually, make still aborts.
> Freetz 1.1.4
>    is currently broken, perhaps the CVS version is better. But since I
> only
>    need the compiler, I don't bother.
>
> Make sure /bin/sh points to /bin/bash
>
> cd
> ln -s ~/freetz-1.1.4/build/original/filesystem sysroot
> ln -s ~/freetz-1.1.4/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-
> linux-uclibc/bin ccbin
> ln -s ~/freetz-1.1.4/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-
> linux-uclibc/lib .
> ln -s ~/freetz-1.1.4/toolchain/build/gcc-4.2.1-uClibc-0.9.29/mipsel-
> linux-uclibc/include sysroot
> Add to the PATH: $HOME/ccbin
> rm ccbin/ld
>
> unpack perl-5.14.2.tar.gz
> mv perl-5.14.2 perl-5.14.1
> unpack perl-5.14.1-cross-0.6.2.tar.gz
> cd perl-5.14.1/cpan
> unpack Device-SerialPort-1.04.tar.gz
> cd ..
>
> ./configure --prefix=$HOME/fbperl --target=mipsel-linux --target-tools-
> prefix=mipsel-linux-uclibc- --sysroot=$HOME/sysroot -Dccflags=-Os -
> Dldflags=-L$HOME/lib -Dlddlflags="-fPIC -shared"
> make
> make install

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Am Montag, 31. Oktober 2011 21:06:02 UTC+1 schrieb Rudolf Koenig:
>
> > >% perl -version
> > Beim Aufruf von perl -version kommt dann die "Bus error" Fehlermeldung
>
> > Kann das bitte jemand sonst bestaetigen oder widerlegen?
>
@Marc: Welche FritzBox (HW/FW) benutzt Du? Bei dir scheint die neue Perl
Version ja zu laufen.
 
Ich habe es eben noch mal auf einer zweiten FB7270 (Version 3) und auch auf
einer FB7240 ausprobiert.
Erhalte aber die gleiche Fehlermeldung "Bus error" beim Starten von Fhem

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

V2 mit 54.05.05

Mir ist noch nicht ganz klar, wieso dann doch einige Module nicht
laufen.
Was ist denn eigentlich das Problem der 7270 im Vergleich zu anderer
Hardware?

Grüße,
Marc

On 1 Nov., 20:08, Lars721 wrote:
> Am Montag, 31. Oktober 2011 21:06:02 UTC+1 schrieb Rudolf Koenig:
>
> > > >% perl -version
> > > Beim Aufruf von perl -version kommt dann die "Bus error" Fehlermeldung
>
> > > Kann das bitte jemand sonst bestaetigen oder widerlegen?
>
> @Marc: Welche FritzBox (HW/FW) benutzt Du? Bei dir scheint die neue Perl
> Version ja zu laufen.
>
> Ich habe es eben noch mal auf einer zweiten FB7270 (Version 3) und auch auf
> einer FB7240 ausprobiert.
> Erhalte aber die gleiche Fehlermeldung "Bus error" beim Starten von Fhem

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Was ist denn eigentlich das Problem der 7270 im Vergleich zu anderer
> Hardware?

AVM kam beim bau der 7390 auf die (fuer mich ueberraschende) Idee, den
Prozessor mit der anderen Byte-Reihenfolge (Endian) zu konfigurieren.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Am Dienstag, 1. November 2011 20:08:45 UTC+1 schrieb Lars721:
>
> Am Montag, 31. Oktober 2011 21:06:02 UTC+1 schrieb Rudolf Koenig:
>>
>> > >% perl -version
>> > Beim Aufruf von perl -version kommt dann die "Bus error" Fehlermeldung
>>
>> > Kann das bitte jemand sonst bestaetigen oder widerlegen?
>>
> @Marc: Welche FritzBox (HW/FW) benutzt Du? Bei dir scheint die neue Perl
> Version ja zu laufen.
>  
> Ich habe es eben noch mal auf einer zweiten FB7270 (Version 3) und auch
> auf einer FB7240 ausprobiert.
> Erhalte aber die gleiche Fehlermeldung "Bus error" beim Starten von Fhem
>
 
Hallo nochmal,
 
ich habe eben das Problem mit "Bus error" gelöst.
siehe folgenden Link ganz unten
http://planverlust.blogspot.com/2010/04/fritzload-jdownloader-alternative-fur.html
Hatte die Fhem Dateien per FileZilla Ftp auf meinen USB Stick übertragen.
Zuerst im Transfer type: auto (danach trat der Fehler auf)
danach Dateien noch mal neu übertragen im Transfer type: binary
Danach funktionierte die Datei startfhem aber nicht richtig...
Diese habe ich dann noch mal mit Transfer type: auto hochgeladen
Danach funktionierte Fhem
(hoffentlich sind nun auch alle anderen hochgeladenen
Dateien funktionsfähig)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hallo Rudolf,

ich habe heute das Perl bei mir ausgetauscht. Ich bekomme folgende
Fehlermeldung ...

Can't locate IO/Socket.pm in @INC (@INC contains: /var/media/ftp/
SanDisk-U3CruzerMicro-01/usr/lib/perl5/5.14 / /home/rudi/fbperl/lib/
perl/arch /home/rudi/fbperl/lib/perl .) at fhem.pl line 35.
BEGIN failed--compilation aborted at fhem.pl line 35.

Das Verzeichnis IO ist scheinbar nicht beim neuen Perl dabei.

Gruss Peter

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> ich habe heute das Perl bei mir ausgetauscht. Ich bekomme folgende
> Fehlermeldung ...

startfhem darf man auch austauschen, da wird perl5lib passend gesetzt...
Soweit habe ich das Paket schon getestet, bevor ich es auf die Menschheit
losgelassen habe :)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

startfhem ... habe ich schon berücksichtigt.
Ich habe das Perl in meine Ordnerstruktur verschoben und die Pfade
angepasst.
Nachdem ich die Meldung erhalten habe, habe ich geprüft ob IO/
Socket.pm vorhanden ist ...

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com