Ankündigung

Einklappen
Keine Ankündigung bisher.

eibd+linknx für Fritz Box 7390 Kompiliert

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #46
    Hallo Tom,

    gibt es irgendwo eine Anleitung für Laien?

    Gruß Claus
    if you make something idiot-proof, they start making better idiots......
    KNX:3 Linien,121 Teiln.,Siemens N146 und N350E,RasPi mit SV,8 FBH-Kreise mit Siemens HK-Regler,HS4, Haus ohne öffentl. Wasser-/Stromversorg.,PV-Anlage Wechselrichter:SI5048(8kW, 24 Pufferbatterien 1400Ah),PV-Module mit 7,5kWp

    Kommentar


      #47
      Hi Claus,

      Ich bin selber auch Laie, Post #30 in diesem Thread beschreibt es eigentlich sehr gut.

      Das Einzige was ich dann noch machen musste ist die Datei libuClibc++.so.0 auf einen USB Stick kopieren und an die Fritzbox anschließen.

      Mit

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/var/media/ftp/uStor00/EIB/lib

      den Pfad dieser Datei noch einbinden und dann eibd mit

      eibd -D -T -S -d -i usb:

      starten.

      That's it!!

      Lg,
      Tom

      Kommentar


        #48
        eibd läuft auf 7270 (v1) mit Weinzierl IP 730 Interface

        Hi,

        Ich kann (mit gewisser Euphorie) bestätigen, dass der eibd (v0.0.5) auf einer 7270 (v1) läuft und sich mittels groupswrite Busteilnehmer über ein Weinzierl IP 730 Interface schalten lassen.

        Freetz Konfiguration (habe die 1.2 stable verwendet, Anpassung des Skripts aus Post 30 s.u.):

        - Patches:
        + FREETZMOUNT (mit NTFS Automount) sowie diverse Remove Patches (aus Platzgründen)

        - Packages:
        + Dropbear (nur SSH Server)
        + Advanced options/Shared libraries/C++/uClibc++ (habe mich hier an Post #30 gehalten und nicht verifiziert, ob das auch ohne geht)

        Angepasstes make Skript (eibd ohne EIBnet/IP server und nur für IP Routing/Tunneling kompiliert, sowie eibd + groupswrite gestripped):

        Code:
        umask 0022
        export WORKDIR_EIBD=/home/freetz/src
        
        mkdir $WORKDIR_EIBD
        
        # // Setup Cross Compiler
        mkdir $WORKDIR_EIBD/freetz
        
        cd $WORKDIR_EIBD/freetz
        #svn co http://svn.freetz.org/trunk/
        #cd $WORKDIR_EIBD/freetz/trunk
        svn checkout http://svn.freetz.org/branches/freetz-stable-1.2 freetz-stable-1.2-eibd
        cd $WORKDIR_EIBD/freetz/freetz-stable-1.2-eibd
        
        make menuconfig
        make precompiled
        # // kaffeepause
        
        export TOOLCHAIN=$WORKDIR_EIBD/freetz/freetz-stable-1.2-eibd/toolchain/target
        export PATH=$TOOLCHAIN/bin:$PATH
        export  AR=$TOOLCHAIN/bin/mipsel-linux-uclibc-ar
        export  AS=$TOOLCHAIN/bin/mipsel-linux-uclibc-as
        export  LD=$TOOLCHAIN/bin/mipsel-linux-uclibc-ld
        export  NM=$TOOLCHAIN/bin/mipsel-linux-uclibc-nm
        export  CC=$TOOLCHAIN/bin/mipsel-linux-uclibc-gcc
        export CPP=$TOOLCHAIN/bin/mipsel-linux-uclibc-cpp
        export GCC=$TOOLCHAIN/bin/mipsel-linux-uclibc-gcc
        export  CC=$TOOLCHAIN/bin/mipsel-linux-uclibc-gcc
        export CXX=$TOOLCHAIN/bin/mipsel-linux-uclibc-g++-wrapper
        export RANLIB=$TOOLCHAIN/bin/mipsel-linux-uclibc-ranlib
        export STRIP=$TOOLCHAIN/bin/mipsel-linux-uclibc-strip
        export CROSS_ARCH=mipsel-linux-uclibc
        export CROSS_BUILD=i386-pc-linux-gnu
        
        export CPPFLAGS="-static -static-libgcc -lstdc++ -march=24kc -Os -pipe -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -static -I$TOOLCHAIN/include"
        export LDFLAGS="-static -L$TOOLCHAIN/lib"
        
        export CROSS_OUT=$WORKDIR_EIBD/cross_out
        mkdir $CROSS_OUT
        cd $WORKDIR_EIBD
        
        wget http://www.auto.tuwien.ac.at/~mkoegler/pth/pthsem_2.0.8.tar.gz
        wget http://www.auto.tuwien.ac.at/~mkoegler/eib/argp-standalone-1.3.tar.gz
        wget http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_0.0.5.tar.gz
        
        tar -xvzf pthsem_2.0.8.tar.gz
        tar -xvzf argp-standalone-1.3.tar.gz
        tar -xvzf bcusdk_0.0.5.tar.gz
        
        cd $WORKDIR_EIBD/argp-standalone-1.3/
        ./configure --prefix=$CROSS_OUT --build=$CROSS_BUILD --host=$CROSS_ARCH --target=$CROSS_ARCH
        make && make install
        
        cd  $WORKDIR_EIBD/pthsem-2.0.8
        # ohne mctx-Optionen kein Kompile unter linux >3.0
        ./configure --prefix=$CROSS_OUT --build=$CROSS_BUILD --host=$CROSS_ARCH --target=$CROSS_ARCH --enable-shared=no  --with-mctx-mth=sjlj --with-mctx-dsp=ssjlj --with-mctx-stk=sas
        make && make install
        
        
        cd  $WORKDIR_EIBD
        
        cat << EOF > ./eibd_1.patch
        --- bcusdk-0.0.5/eibd/usb/linux_usbfs.c.orig 2011-01-26 11:50:08.000000000 +0100
        +++ bcusdk-0.0.5/eibd/usb/linux_usbfs.c 2011-08-25 22:57:29.000000000 +0200
        @@ -52,7 +52,8 @@
          return 0;
         }
        
        -int clock_gettime(clockid_t clk_id, struct timespec *tp)
        +#define clock_gettime(A,B) xclock_gettime(A, B)
        +int xclock_gettime(clockid_t clk_id, struct timespec *tp)
         {
          pth_int_time (tp);
          return 0;
        
        EOF
        
        echo "PATCH 1"
        patch ./bcusdk-0.0.5/eibd/usb/linux_usbfs.c eibd_1.patch || exit
        
        cat << EOF > ./eibd_2.patch
        
        --- a/eibd/server/eibd.cpp
        +++ b/eibd/server/eibd.cpp
        @@ -358,7 +358,7 @@ main (int ac, char *ag[])
               }
        
           l2 = Create (ag[index], arg.backendflags, &t);
        -  if (!l2->init ())
        +  if (!l2 || !l2->init ())
             die ("initialisation of the backend failed");
           l3 = new Layer3 (l2, &t);
           if (arg.port)
        
        EOF
        
        echo "PATCH 2"
        patch ./bcusdk-0.0.5/eibd/server/eibd.cpp eibd_2.patch || exit
        
        cd  $WORKDIR_EIBD/bcusdk-0.0.5
        export CPPFLAGS="-static -static-libgcc -lstdc++ -Wl,-rpath -Wl,/var/media/ftp/add_on/lib -march=24kc -Os -pipe -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -I$TOOLCHAIN/include  -static -I$CROSS_OUT/include"
        
        export LDFLAGS="-static -L$TOOLCHAIN/lib -static -L$CROSS_OUT/lib"
        
        #./configure --enable-shared=no --prefix=$CROSS_OUT --build=$CROSS_BUILD --host=$CROSS_ARCH --target=$CROSS_ARCH  --with-pth=$CROSS_OUT --without-pth-test --enable-onlyeibd --enable-eibnetiptunnel --enable-eibnetipserver --enable-groupcache --enable-usb
        ./configure --enable-shared=no --prefix=$CROSS_OUT --build=$CROSS_BUILD --host=$CROSS_ARCH --target=$CROSS_ARCH  --with-pth=$CROSS_OUT --without-pth-test --enable-onlyeibd --enable-eibnetiptunnel
        
        make && make install
        
        $STRIP $CROSS_OUT/bin/eibd
        $STRIP $CROSS_OUT/bin/groupswrite
        Die beiden Patches sind vermutlich nicht notwendig, da im vorliegenden Fall keine USB Schnittstelle in den eibd kompiliert wurde, schaden tun sie aber nicht.

        Die beiden Binaries eibd & groupswrite (vom make Rechner unter ~/src/cross_out/bin) sowie libuClibc++.so.0 (unter ~src/freetz/freetz-stable-1.2-eibd/packages/target-mipsel_uClibc-0.9.29/root/usr/lib/freetz/libuClibc++.so.0) dann auf die USB HDD kopieren (am besten in spezielle Subfolder, z.B. die Binaries in EIB/bin, die lib in EIB/lib), die lib Files von Post #30 (libpthsem.la, libargp.a, libeibclient.a etc.) waren hierbei nicht notwendig.

        Dann noch auf die Fritzbox einloggen und folgende Befehle ausführen (HDD ist unter /var/media/ftp/uStor01 gemountet, Weinzierl IP IF hat IP Adresse 192.168.178.19):

        Code:
        root@fritz:/var/mod/root# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/var/media/ftp/uStor01/EIB/lib
        root@fritz:/var/mod/root# echo $LD_LIBRARY_PATH
        /mod/lib:/var/media/ftp/uStor01/EIB/lib
        root@fritz:/var/mod/root# cd /var/media/ftp/uStor01/EIB/bin
        root@fritz:/var/media/ftp/uStor01/EIB/bin# ./eibd -d -i --no-tunnel-client-queuing ipt:192.168.178.19
        W00000001: EIBD should not run as root
        root@fritz:/var/media/ftp/uStor01/EIB/bin# ./groupswrite ip:127.0.0.1 3/4/0 1   # Licht an
        Send request
        root@fritz:/var/media/ftp/uStor01/EIB/bin# ./groupswrite ip:127.0.0.1 3/4/0 0   # Licht aus
        Send request
        Cool, und vielen Dank an alle, die hier so super "Vorarbeit" geleistet haben!

        Kommentar


          #49
          also meine 7370 hat 500 MB Speicher, kann ich das da nicht dauerhaft irgendwie draufladen, dass alles "onboard" läuft?
          Peter
          never fummel a running system...

          Kommentar


            #50
            Relevant ist hier der Flash Speicher (ROM) und nicht das RAM (die besagten 500MB hören sich nach RAM an, siehe auch diese Übersicht).

            Die 7270 v1 hat nur 8MB, da wird es schnell eng. Bei 16MB+ sollte es kein Problem sein, die benötigten Files in die Firmware zu integrieren.

            Wie man das macht, beschreibt Post #30 oder auch ein Freetz Howto.

            Kommentar


              #51
              Hab jetzt die fehlende Datei auch miteinkompliert.
              Strip sei dank, jetzt hat es auf meiner 7270v2 auch Platz....

              Kommentar


                #52
                EIBD Probleme mit Fritzbox 7270 + Jung USB Schnittstelle

                Hi,

                Report nach einigen Tagen Test:
                Grundsätzlich funktioniert EIBD und meine Hausinstallation lässt damit wunderbar schalten.
                Leider funktioniert es nicht sehr stabil, immer wieder fällt EIBD aus (unregelmaessig), nur ein Neustart der Box hilft.

                Was ich festgestellt habe --> die Fritzbox "meldet" unter USB Ereignissen:

                19.01.1316:51:41USB-Gerät 1003 abgezogen
                19.01.1316:51:42USB-Gerät 1005, Klasse 'USB 1.1 (full-speed) bulk', angesteckt

                Build? Fritzbox? USB Schnittstelle?
                Hat jemand eine Idee was da Schuld sein könnte?

                Lg,
                tomsnyder

                Kommentar


                  #53
                  Eibd über debug.cfg starten

                  Hallo, hab eine Fritzbox 7390 und die Binaries von voni99 im internen Speicher abgelegt. Die eibd kann ich dann über telnet oder ssh durch

                  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/var/media/ftp/PRG/KNX/lib

                  /var/media/ftp/PRG/KNX/bin/eibd -d -i -c -D -S -T ipt:192.168.70.30

                  starten.
                  Ich möchte dies jedoch automatisch starten via debug.cfg.
                  Es funktioniert jedoch nicht, nach starten der Box gibt es keinen entsprechenden Prozess nach Eingabe von ps.
                  Hab schon alles möglich ausprobiert. Weiß jemand einen Rat?

                  Danke

                  Kommentar


                    #54
                    Zitat von gramtoc Beitrag anzeigen
                    Ich möchte dies jedoch automatisch starten via debug.cfg.
                    Es funktioniert jedoch nicht, nach starten der Box gibt es keinen entsprechenden Prozess nach Eingabe von ps.
                    Hab schon alles möglich ausprobiert. Weiß jemand einen Rat?
                    1. Zeilenumbrüche auf UNIX gestellt? Wenn da \r\n am Ende steht, wird das *nicht* funktionieren! Da darf nur \n stehen.

                    2. Falls es dann immer noch nicht geht, kannst du als erste Zeile ein sleep 60 einfügen.

                    Gruß, Martin

                    Kommentar


                      #55
                      Danke

                      Zitat von maatin Beitrag anzeigen
                      1. Zeilenumbrüche auf UNIX gestellt? Wenn da \r\n am Ende steht, wird das *nicht* funktionieren! Da darf nur \n stehen.

                      2. Falls es dann immer noch nicht geht, kannst du als erste Zeile ein sleep 60 einfügen.

                      Gruß, Martin
                      der sleep befehl wars :-)

                      nochmals vielen dank

                      Kommentar


                        #56
                        Ich hatte das hier in meiner debug.cfg
                        Die Schleife außen wartet bis die Box oben ist und den Speicher gemoutet hat (oft nur wichtig bei USB).
                        Die innere Schleife schaut nach ob im basedir eine "start.sh" liegt. Wenn ja führt er diese nach 60 Sekunden im Hintergrund aus.
                        Das hat den Vorteil das man die debug.cfg nur einmal anpassen muss.
                        Die start.sh liegt ja dann veränderbar im Flash oder auf dem USB Stick.
                        Wenn keine start.sh vorhanden/umbenannt ist startet die Box normal.

                        Grüße Stefan

                        Code:
                        #!/bin/sh
                        
                        #SET BASEDIR
                        BASEDIR=/var/media/ftp/add_on
                        
                        #Check if folder exists
                        while ! [ -d $BASEDIR ] ; do sleep 5; done 
                        
                        #Look for start script on box
                        for f in $BASEDIR; do
                                cd $f
                                if [ -x start.sh ]; then
                                        sleep 60
                                        $f/start.sh
                                fi
                        done
                        # send script to background so the other stuff in debug.cfg will get executed
                        done &

                        Kommentar


                          #57
                          EIBD nach External schieben

                          Hallo zusammen,

                          ich habe heute versucht mittels der voni99 bins mein Freetz für die 7390 zu erstellen. Soweit läuft alles auch gut durch, nur leider bekomme ich das Image nicht klein genug um es in die Box zu laden.

                          Code:
                          ERROR: kernel image is 1131776 bytes too big. See http://freetz.org/wiki/FAQ#Filesystemimagetoobig for details.
                          Alle weiteren Module habe ich im menuconfig so eingestellt, dass diese in der External Datei laufen. Leider habe ich keine Idee, wie ich das eibd addon ebenso dorthin verschieben kann.

                          Hat jemand einen Tip?

                          Gruss
                          Merlin

                          Kommentar


                            #58
                            strip hilft nicht?

                            Kommentar


                              #59
                              eibd und linknx ist als Packet in Freetz (Fritz!Box) integriert

                              Hi, ich benutzte eibd und linknx schon ein Weilchen auf meinen Fritz!Boxen nun kam ich mal dazu beides als Freetz Packet zur Verfügung zu stellen. Das dort veröffentliche Paket beinhaltet Start-Scripte, Konfigurations-HTML Seiten und eine Basis linknx.php Seite, die man mit der Konfiguration Seite anpassen kann. Ist zwar noch nicht als „external“ verfügbar, aber die beiden Pakete sind auch nicht so groß.
                              Die Patches sind unter folgenden Links erreichbar:
                              #2617 (eibd: changeset to add BCUSDK 0.0.5 KNX/EIB daemon for use with suitable home automatisation) ? Freetz
                              #2618 (linknx: changset to add KNX/EIB automation platform) ? Freetz
                              Viel Spaß, DHU

                              Kommentar


                                #60
                                Hallo,

                                hat jemand die eibd und linknx patches für freetz noch? Der Link geht leider nicht mehr und ich musste mein Notebook neu aufsetzen, wobei die freetz build-Umgebung mit den Patches verloren ging.

                                Habe auch schon https://github.com/dirk-dhu/freetz gefunden, aber ich hätte gerne den originalen freetz-Unterbau mit eibd & linknx anstelle von knxd & linknx. Mit knxd habe ich bisher wenig Erfahrung. Der erste Versuch mit knxd schlug fehl. USB-Anbindung lief (noch?) nicht - ist aber auch etwas her. Oder ist das ein mirror des trunks von freetz mit entsprechenden Patches? Ich hätte nämlich gerne die "latest & greatest" Software für die FritzBox.

                                Danke & Grüße,
                                Stefan

                                Kommentar

                                Lädt...
                                X