Ankündigung

Einklappen
Keine Ankündigung bisher.

Howto - eibd installieren

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

    #91
    eibd auf Fritzbox 7270

    Hallo Marc und MKoegler

    Danke für die schnelle Antwort. Es war natürlich nicht die IP Adresse der
    FritzBox sondern der IP Schnittstelle. Anfängerfehler.

    Rüdiger

    Kommentar


      #92
      eibd auf Fritzbox 7170

      Hallo kobza,

      wärst Du so freundlich, das für die Fritzbox und FT12 kompilierte eibd zur Verfügung zu stellen? Klappt denn der EIB Zugriff und kannst Du jetzt über IP auf den EIB zugreifen? Ich habe das mit der Fritzbox 7170 nie zum Laufen bekommen, was aber wohl an der 7170 lag.

      Danke und Gruß
      Sascha

      Kommentar


        #93
        eibd auf DNS323

        Hallo Folks

        gibt es eine Möglichkeit, den eibd auf ein DNS323 zur ausschliesslichen Verwendung mit Siemens N148/21 (dh. Ethernet) anzupassen?
        Ich habe schon einiges vom crosscompilen in diesem Fred gelesen, aber irgendwie ist mir das alles nicht so geläufig, daher mal ein paar Fragen:
        1. die sog. Toolchain baue ich auf einer normalen (virtuellen) linux Installation und dort compile ich auch? Oder passiert sowas auf der DNS selbst?
        2. die Sources springen mich irgendwie nicht so direkt an, wo würde ich die herkriegen?
        3. wenn ich irgendwas was kompiliert bekommen habe, muss ich mir dann noch ein .ipk für optware (ipkg) bauen?
        4. Gibts einen einfacheren Weg? Ich habe schon einige ipk-Pakete (für ARM devices) ausprobiert, aber jedesmal sagt mir eibd: No such file or directory. /opt/bin/eibd existiert aber und liegt im Pfad...

        Kommentar


          #94
          Zitat von saschenka Beitrag anzeigen
          Hallo kobza,

          wärst Du so freundlich, das für die Fritzbox und FT12 kompilierte eibd zur Verfügung zu stellen? Klappt denn der EIB Zugriff und kannst Du jetzt über IP auf den EIB zugreifen? Ich habe das mit der Fritzbox 7170 nie zum Laufen bekommen, was aber wohl an der 7170 lag.

          Danke und Gruß
          Sascha
          Hi Sascha,

          das mit dem FT12 hat nicht funktioniert (ich habe die Verbindung zwischen der internent RS232 der Fritzbox und einer FT12 nicht hinbekommen), habe mir ein IP Schnittstelle gekauft, das eibd habe ich aber für FT12 kompiliert,
          brauchst Du es?

          Gruß
          Kobza

          Kommentar


            #95
            Zitat von kobza Beitrag anzeigen
            Hi Sascha,

            das mit dem FT12 hat nicht funktioniert (ich habe die Verbindung zwischen der internent RS232 der Fritzbox und einer FT12 nicht hinbekommen), habe mir ein IP Schnittstelle gekauft, das eibd habe ich aber für FT12 kompiliert,
            brauchst Du es?

            Gruß
            Kobza
            Hallo Kobza,

            vielen Dank für die Info, aber ich brauche die für FT12 kompilierte Version dann auch nicht. Ich werde wohl auch den Weg über Siemens EIB/IP Schnittstelle nehmen.

            Gruß
            Sascha

            Kommentar


              #96
              Zitat von rambuster Beitrag anzeigen
              die sog. Toolchain baue ich auf einer normalen (virtuellen) linux Installation und dort compile ich auch? Oder passiert sowas auf der DNS selbst?
              Man kann im Prinzip beides machen. Für die zweite Lösung muss das Target (bei dir DNS) Leistungsfähigier sein: Es braucht mehr Speicherplatz, da GCC & Co installiert werden müssen. Dafür ist die Installation einfacher.

              CrossCompiling ? BCU SDK with eibd

              Zitat von rambuster Beitrag anzeigen
              die Sources springen mich irgendwie nicht so direkt an, wo würde ich die herkriegen?
              => BCU SDK with eibd | Get BCU SDK with eibd at SourceForge.net

              Da findet man alle Teile downloaden.

              Zitat von rambuster Beitrag anzeigen
              wenn ich irgendwas was kompiliert bekommen habe, muss ich mir dann noch ein .ipk für optware (ipkg) bauen?
              Nein. Man kann die nötigen Teile einfach auf Target kopieren. Ein Packet vereinfacht nur die Installation, es muss sich nur einer die Mühe machen, das ipkg einmal zu erstellen.

              Zitat von rambuster Beitrag anzeigen
              Gibts einen einfacheren Weg? Ich habe schon einige ipk-Pakete (für ARM devices) ausprobiert, aber jedesmal sagt mir eibd: No such file or directory. /opt/bin/eibd existiert aber und liegt im Pfad...
              Code:
              strace /opt/bin/eibd
              würde mehr sagen.

              Kommentar


                #97
                Danke schonmal für die Hinweise, da hab ich dann wieder was zum Nachforschen! :-) Mir war nicht klar, dass der eibd im SDK enthalten ist...

                Zitat von mkoegler Beitrag anzeigen
                Code:
                strace /opt/bin/eibd
                würde mehr sagen.
                sagt:
                Code:
                root@xxxx:~# ls /opt/bin/ei*
                /opt/bin/eibd            /opt/bin/eibnetdescribe  /opt/bin/eibnetsearch
                root@xxxx:~# strace /opt/bin/eibd
                execve("/opt/bin/eibd", ["/opt/bin/eibd"], [/* 19 vars */]) = -1 ENOENT (No such file or directory)
                write(2, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
                ) = 40
                exit(1)                                 = ?
                sagt mir aber leider gar nix... :-(

                Kommentar


                  #98
                  Zitat von rambuster Beitrag anzeigen
                  Mir war nicht klar, dass der eibd im SDK enthalten ist...
                  Ja, dafür dass der eibd für die meisten das wichtigste Programm ist, ist der gut versteckt. Hatte mich damals auch etwas Zeit und Verständnis gekostet...
                  TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                  Kommentar


                    #99
                    Zitat von rambuster Beitrag anzeigen
                    Mir war nicht klar, dass der eibd im SDK enthalten ist...
                    EIBD ist eigenlich nur als Nebensache entstanden. Immerhin heisst das Project "BCU SDK with eibd" ;-)
                    Zitat von rambuster Beitrag anzeigen
                    root@xxxx:~# ls /opt/bin/ei*
                    /opt/bin/eibd /opt/bin/eibnetdescribe /opt/bin/eibnetsearch
                    root@xxxx:~# strace /opt/bin/eibd
                    execve("/opt/bin/eibd", ["/opt/bin/eibd"], [/* 19 vars */]) = -1 ENOENT (No such file or directory)
                    Das hilft weiter. Also entweder ist der EIBD inkompatibel zu deinen System (was sagt
                    Code:
                    file /opt/bin/eibd
                    uname -a
                    ) oder es fehlt eine Bibliothek:
                    Code:
                    ldd /opt/bin/eibd

                    Kommentar


                      Zitat von mkoegler Beitrag anzeigen
                      EIBD ist eigenlich nur als Nebensache entstanden. Immerhin heisst das Project "BCU SDK with eibd" ;-)
                      okay, okay, ich hab öfter Tomaten auf den Augen... ;-)
                      Das hilft weiter. Also entweder ist der EIBD inkompatibel zu deinen System (was sagt
                      Code:
                      file /opt/bin/eibd
                      uname -a
                      )
                      ergibt:
                      Code:
                      /opt/bin/eibd: ELF 32-bit LSB executable, ARM, version 1, for GNU/Linux 2.4.3, dynamically linked (uses shared libs), stripped
                      bzw:
                      Linux dlink-6426C2 2.6.12.6-arm1 #31 Thu Mar 26 18:20:41 CST 2009 armv5tejl unknown
                      Für das bischen, was ich mich traue daraus abzuleiten, finde ich "ARM, version 1" entspricht "2.6.12.6-arm1"?

                      oder es fehlt eine Bibliothek:
                      Code:
                      ldd /opt/bin/eibd
                      ergibt:
                      Code:
                      root@dlink-6426C2:~# ldd /opt/bin/eibd
                      ldd: can't open cache '/ffp/etc/ld.so.cache'
                      checking sub-depends for '/opt/lib/libpthsem.so.20'
                      checking sub-depends for 'not found'
                      checking sub-depends for 'not found'
                      checking sub-depends for '/ffp/lib/libstdc++.so.6'
                      checking sub-depends for 'not found'
                      checking sub-depends for '/lib/libgcc_s.so.1'
                      checking sub-depends for 'not found'
                      checking sub-depends for '/ffp/lib/libm.so.0'
                      checking sub-depends for '/ffp/lib/libc.so.0'
                              libpthsem.so.20 => /opt/lib/libpthsem.so.20 (0x00000000)
                              libdl.so.2 => not found (0x00000000)
                              libnsl.so.1 => not found (0x00000000)
                              libstdc++.so.6 => /ffp/lib/libstdc++.so.6 (0x00000000)
                              libm.so.6 => not found (0x00000000)
                              libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
                              libc.so.6 => not found (0x00000000)
                              libm.so.0 => /ffp/lib/libm.so.0 (0x00000000)
                              libc.so.0 => /ffp/lib/libc.so.0 (0x00000000)
                              /ffp/lib/ld-uClibc.so.0 => /ffp/lib/ld-uClibc.so.0 (0x00000000)
                      Ich schätze mal, dass es an fehlenden libraries liegt. Hast du einen Tip, in welchen ipks (optware) die enthalten sind?
                      Edit:
                      Code:
                      ln -s libm-0.9.29.so libm.so.6
                      (für die anderen analog) hat leider nix gebracht, obwohl ldd dann freundlicher aussieht.
                      mit
                      Code:
                      ipkg whatprovides libm.so.6
                      lässt sich auch nichts ermitteln, das hat mein ipkg wohl nicht ausreichend implementiert... *grrr* oder ich mach was falsch *doppel-grrr*

                      Edit2: Hab irgendwo gelesen, dass die DNS323 Firmware auf uclibc aufbaut. Ist das die Richtung, aus der eine Lösung winken könnte?

                      PS: Auf soviel Einzelfallbehandlung hatte ich kaum zu hoffen gewagt. Wenn ich das hinkriege, schreib ich was zusammen, dass du den Anwendungsfall "DNS323" mit ins wiki aufnehmen kannst... Danke schonmal

                      Kommentar


                        Zitat von rambuster Beitrag anzeigen
                        Code:
                        root@dlink-6426C2:~# ldd /opt/bin/eibd
                        ldd: can't open cache '/ffp/etc/ld.so.cache'
                        checking sub-depends for '/opt/lib/libpthsem.so.20'
                        checking sub-depends for 'not found'
                        checking sub-depends for 'not found'
                        checking sub-depends for '/ffp/lib/libstdc++.so.6'
                        checking sub-depends for 'not found'
                        checking sub-depends for '/lib/libgcc_s.so.1'
                        checking sub-depends for 'not found'
                        checking sub-depends for '/ffp/lib/libm.so.0'
                        checking sub-depends for '/ffp/lib/libc.so.0'
                                libpthsem.so.20 => /opt/lib/libpthsem.so.20 (0x00000000)
                                libdl.so.2 => not found (0x00000000)
                                libnsl.so.1 => not found (0x00000000)
                                libstdc++.so.6 => /ffp/lib/libstdc++.so.6 (0x00000000)
                                libm.so.6 => not found (0x00000000)
                                libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
                                libc.so.6 => not found (0x00000000)
                                libm.so.0 => /ffp/lib/libm.so.0 (0x00000000)
                                libc.so.0 => /ffp/lib/libc.so.0 (0x00000000)
                                /ffp/lib/ld-uClibc.so.0 => /ffp/lib/ld-uClibc.so.0 (0x00000000)
                        Ich schätze mal, dass es an fehlenden libraries liegt. Hast du einen Tip, in welchen ipks (optware) die enthalten sind?
                        Edit:
                        Code:
                        ln -s libm-0.9.29.so libm.so.6
                        (für die anderen analog) hat leider nix gebracht, obwohl ldd dann freundlicher aussieht.
                        mit
                        Code:
                        ipkg whatprovides libm.so.6
                        lässt sich auch nichts ermitteln, das hat mein ipkg wohl nicht ausreichend implementiert... *grrr* oder ich mach was falsch *doppel-grrr*
                        Ich würde auch zustimmen, das die Architektur passt.

                        libm.so.6 sieht nach glibc (oder einer Variante wie eglibc davon) aus. libm.so.0 wird wahrscheinlich die uClibc sein.

                        Ich würde aufpassen, da der EIBD anscheinend gegen 2 libc und 2 libm gelinkt wurde. Das kann eventuell zu unerwarteten Verhaltensweisen führen. Ausserdem braucht es unnötig Platz.

                        Kommentar


                          Zitat von mkoegler Beitrag anzeigen
                          Ich würde auch zustimmen, das die Architektur passt.
                          Das ist ja schonmal was... :-D

                          Ich würde aufpassen, da der EIBD anscheinend gegen 2 libc und 2 libm gelinkt wurde. Das kann eventuell zu unerwarteten Verhaltensweisen führen. Ausserdem braucht es unnötig Platz.
                          Wie's aussieht, weisen alle arm-basierten eibd/pthsem-ipk-Pakete von http://ouaye.net/linknx/ den gleichen ldd-Output auf. Da scheint es keinen Kandidaten zu geben, der aussichtsreicher ausschaut... hab sie alle durchgetestet.

                          Wenn Du keine weiteren Tricks bzgl. der libraries hast, werde ich mich mal daran machen, das Ding für mein NAS zu kompilieren.
                          Es bleibt spannend.

                          Kommentar


                            Zitat von rambuster Beitrag anzeigen
                            Wie's aussieht, weisen alle arm-basierten eibd/pthsem-ipk-Pakete von Index of /linknx den gleichen ldd-Output auf. Da scheint es keinen Kandidaten zu geben, der aussichtsreicher ausschaut... hab sie alle durchgetestet.
                            Theoretisch müßte dieser EIBD nicht gegen 2 libc gelinkt sein, sondern die zweite libc kann indirekt über eine Systembibliothek (zB libgcc) hineingeholt werden:

                            Wenn ich mich nicht irre, müßte der Webmaster von den oben genannten Link auch schon im Forum gewesen sein (jef2000???). Ich würde einmal beim Ersteller der Packete nachfragen.

                            Kommentar


                              Fast am Ziel

                              Hallo Michael

                              so, nun hab ich eine funktionierende Toolchain auf einer Ubuntu-VM gebastelt (ging natürlich auch nicht ohne ein paar Detailänderungen) und ich hab mich dann mit dem BCUSDK und deiner Cross-Compiling Anleitung beschäftigt...

                              pthsem hab ich kompiliert bekommen, allerdings scheint der Teil für den eibd mindestens einen Fehler zu enthalten
                              die Option --enably-onlyeibd müsste doch --enable-onlyeibd heissen, oder?

                              Und ich bin mir nicht sicher, ob in der configure-Zeile nicht ein <Return> fehlt, zumindest verwirrt mich die Angabe von LDFLAGS vor dem Aufruf von ./configure...

                              Ein grosses Problem (für mich) ist aber die Auswahl der richtigen Verzeichnisse. Du schreibst da bei den Parametern, man solle /path/to/empty/dir angeben. Für pthsem habe ich mir schon gedacht, dass mit --prefix dort das Zielverzeichnis für die zu erstellenenden Dateien gemeint ist (auf das später beim eibd-configure verwiesen wird)
                              Aber welches /path/to/empty/dir soll ich bei LDFLAGS angeben? Wo doch LDFLAGS eigentlich auf ein Verzeichnis mit libs verweisen soll (laut --help)

                              Welches ist den eigentlich mein Target? Ich hab pthsem mit --host=arm compiliert, müsste ich da nicht besser --host=arm-uclib angeben?

                              Kannst Du mir da nochmal aufs Rad helfen? Thx
                              Cu, ram

                              Kommentar


                                Zitat von rambuster Beitrag anzeigen
                                pthsem hab ich kompiliert bekommen, allerdings scheint der Teil für den eibd mindestens einen Fehler zu enthalten
                                die Option --enably-onlyeibd müsste doch --enable-onlyeibd heissen, oder?
                                Richtig, da ist ein Tippfehler.

                                Zitat von rambuster Beitrag anzeigen
                                Und ich bin mir nicht sicher, ob in der configure-Zeile nicht ein <Return> fehlt, zumindest verwirrt mich die Angabe von LDFLAGS vor dem Aufruf von ./configure...
                                Des gehört schon so. So übernimmt configure den Inhalt von LDFLAGs

                                Zitat von rambuster Beitrag anzeigen
                                Ein grosses Problem (für mich) ist aber die Auswahl der richtigen Verzeichnisse. Du schreibst da bei den Parametern, man solle /path/to/empty/dir angeben. Für pthsem habe ich mir schon gedacht, dass mit --prefix dort das Zielverzeichnis für die zu erstellenenden Dateien gemeint ist (auf das später beim eibd-configure verwiesen wird)
                                Aber welches /path/to/empty/dir soll ich bei LDFLAGS angeben? Wo doch LDFLAGS eigentlich auf ein Verzeichnis mit libs verweisen soll (laut --help)
                                Im Prinzip ersetzt man den String /path/to/empty/dir durch einen Verzeichnisnamen eigener Wahl, wo (bei einen Anfänger) nichts anderes stehen sollte. Bei LDFLAGS wird auf das Unterverzeichnis lib darin verwiesen.

                                Zitat von rambuster Beitrag anzeigen
                                Welches ist den eigentlich mein Target? Ich hab pthsem mit --host=arm compiliert, müsste ich da nicht besser --host=arm-uclib angeben?
                                Nimm den Namen des Cross-compilers (XXX-gcc) und tue das -gcc weg, dann hast du den Targetnamen.

                                configure ergänzt fehlende Namensteile; das Ergebniss sieht man im Output davon. Ganz wichtig ist die Angabe der Architektur (arm, mips, usw.), da sonst für den PC compiliert wird.
                                Wenn am nicht mehrere Cross-Compiling Umgebungen für eine Architektur installiert hat, kann man sich oft die weiteren Angaben sparen.


                                PS: Mein HOWTO steht in einen Wiki, wo jeder registrierte SF.net User Änderungen machen darf.

                                Kommentar

                                Lädt...
                                X