Ankündigung

Einklappen
Keine Ankündigung bisher.

Raspberry & eibd (Jessie) via IP Zugriff installieren

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

    Raspberry & eibd (Jessie) via IP Zugriff installieren

    ich geb' ja zu mit Linux hab' ich es nicht sooooo...
    Trotzdem habe ich das ganze WE herumgebastelt um 1 1wire-Sensor am GPIO zu betreiben - passt!

    Jetzt will ich den Wert an KNX senden und da fing die Misere an:
    - ich bringe keinen Zugriff mit eibd zusammen....

    Ich habe lt. diesem Blog http://michlstechblog.info/blog/rasp...r-with-the-pi/

    den eibd installiert und das Startscript angepasst:
    set -e
    export EIBD_BIN=/usr/local/bin/eibd
    #export EIBD_OPTIONS="-D -T -R -S -i -u --eibaddr=1.1.128 tpuarts:/dev/ttyS0"
    export EIBD_OPTIONS="-D -T -R -S -i -u --eibaddr=1.1.128 ipt:192.168.1.224"
    export EIBD_USER=eibd
    test -x $EIBD_BIN || exit 0

    192.168.1.224 ist die IP meines IP-Routers

    ich sehe mit ps ax aber keinen eibd laufen (und vbusmonitor1 funktioniert auch nicht)
    Code:
    pi@raspberrypi:~ $ sudo /etc/init.d/eibd status
    ● eibd.service - LSB: KNX/EIB eibd server
       Loaded: loaded (/etc/init.d/eibd)
       Active: active (exited) since Mon 2016-02-22 12:46:03 CET; 1h 47min ago
      Process: 16121 ExecStart=/etc/init.d/eibd start (code=exited, status=0/SUCCESS)
    
    Feb 22 12:46:03 raspberrypi eibd[16121]: Starting eibd daemon: eibdSegmentat...t
    Feb 22 12:46:03 raspberrypi eibd[16121]: failed!
    Feb 22 12:46:03 raspberrypi systemd[1]: Started LSB: KNX/EIB eibd server.
    Feb 22 14:33:45 raspberrypi systemd[1]: Started LSB: KNX/EIB eibd server.
    Hint: Some lines were ellipsized, use -l to show in full.
    es gibt 1000e Anleitungen im WWW aber trotzdem :-(

    Wie kann man denn systematisch das Problem eingrenzen?

    Ich habe einen Siemens N146/02 IP-Router über den ich via WLAN zugreifen will
    Zuletzt geändert von EPIX; 22.02.2016, 14:34.
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    #2
    Guten Morgen,

    Mir gefällt die folgende Zeile nicht:
    Feb 22 12:46:03 raspberrypi eibd[16121]: Starting eibd daemon: eibdSegmentat...t
    Ich mutmaße, dass es hier zu einem Segmentationfault kommt...

    Um das auszuschließen würde ich an deiner Stelle versuchen den eibd mal "händisch" zu starten. Laut deinem Init-Script würde das folgendermaßen gehen:
    /usr/local/bin/eibd -D -T -R -S -i -u --eibaddr=1.1.128 ipt:192.168.1.224

    Entweder du bekommst gleich einen Fehler oder du kannst nun (vermutlich in zweiter Shell, da eibd im Vordergrund aktiv) mit "ps ax | grep eibd" kontrollieren ob dieser läuft. Sollte das der Fall sein liegt kein Segmentationfault vor und dein Problem liegt dann im Startscript (was aber eigentlich kaum sein kann, das es mit Sicherheit nicht nur von dir genutzt wird)

    Grüße,
    Steffen

    Kommentar


      #3
      Danke für deine Hilfe:
      pi@raspberrypi:~ $ /usr/local/bin/eibd -D -T -R -S -i -u --eibaddr=1.1.128 ipt:192.168.1.224
      Speicherzugriffsfehler
      pi@raspberrypi:~ $
      EPIX
      ...und möge der Saft mit euch sein...
      Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

      Kommentar


        #4
        Da deine Linux-Kenntnisse nicht "sooo" sind schlage ich folgendes Vorgehen vor:

        Sichere deine Arbeit bezüglich 1-Wire und wähle als Basis für dein Vorhaben das RPi-Image "Smarthome.py". Bei dem Image ist eibd schon vorinstalliert und leicht zu konfigurieren. Anschließend kannst du dein 1-Wire Projekt dort wieder aufsetzen (oder alternativ deren Logik nutzen)

        Wenn du den Fehler finden und beseitigen möchtest sag Bescheid, ein paar Tipps hätte ich dazu noch ;-)

        Kommentar


          #5
          ein bisserl Ehrgeiz habe ich schon....
          deine Tips sind natürlich gerne willkommen - meine fehlenden Linuxkenntnisse kompensiere ich mit probieren / googeln / fluchen

          EPIX
          ...und möge der Saft mit euch sein...
          Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

          Kommentar


            #6
            Ok!

            Erster Versuch, wir tippen in der Shell "ldd /usr/local/bin/eibd" um zu sehen ob alle Abhängigkeiten vorhanden sind. Sollte bei der Ausgabe irgendwo "=> not found" stehen müssen wir Pakete nachinstallieren. Wenn etwas fehlt, nachinstallieren oder melden. Sonst --> Zweitens ;-)

            Zweitens, öffne das Installer-Script in einem Editor deines Vertrauens (zb nano oder vi). Dort steht irgendwo "clean-up" und darunter "rm -r $BUILD_PATH". Das solltest du auskommentieren um die Sourcen nach einem weiteren Durchlauf des Scripts auf der Speicherkarte zu belassen. Dort kann man auch lesen wo die Sourcen für "pthsem" und "bussdk" dann liegen werden und was alles gemacht wird. Nach dem Speichern das Script erneut starten und auf eventuelle Fehler prüfen. Leider steigt das Script nicht aus wenn es Fehler gibt, deshalb musst du dann selber ran und die beiden Pakete von Hand bauen. Am besten als root, das die Dateien als root angelegt wurden.

            PTHSEM: "/home/pi/eibdbuild/pthsem/pthsem-2.0.8"
            BCUSDK: "/home/pi/eibdbuild/bussdk/bcusdk-0.0.5"

            Gehe zu pthsem und führe nacheinander folgende Befehle aus:
            ./configure --enable-static=yes --prefix=/usr/local CFLAGS="-static -static-libgcc -static-libstdc++" LDFLAGS="-static -static-libgcc -static-libstdc++"
            make
            make install

            Sollten keine Fehler vorhanden sein muss noch "export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" ausgeführt werden.

            Gehe zu bcusdk und führe nacheinander folgende Befehle aus:
            ./configure --enable-onlyeibd --enable-tpuarts --enable-tpuart --enable-ft12 --enable-eibnetip --enable-eibnetiptunnel --enable-eibnetipserver --enable-groupcache --enable-static=yes --prefix=/usr/local --with-pth=/usr/local CFLAGS="-static -static-libgcc -static-libstdc++" LDFLAGS="-static -static-libgcc -static-libstdc++ -s" CPPFLAGS="-static -static-libgcc -static-libstdc++"
            make
            make install

            Sollten auch hier keine Fehler entstanden sein ist ein "ldconfig" nicht verkehrt und jetzt sollte man händisch den eibd ans laufen bekommen.

            Kommentar


              #7
              1.
              Code:
               ldd /usr/local/bin/eibd
                      /usr/lib/arm-linux-gnueabihf/libarmmem.so (0xb6f50000)
                      libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6ec3000)
                      libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6d82000)
                      /lib/ld-linux-armhf.so.3 (0x7f592000)
              sollte also passen
              2. $BUILD_PATH auskommentiert, script gestartet (vorher sudo su)
              das script läuft....(schaut gut aus. "decision on mandatory system headers and functions... all fine")
              im script steht u.a. folgendes
              cd pthsem-2.0.8
              ./configure --enable-static=yes --prefix=$INSTALL_PREFIX CFLAGS="-static -static-libgcc -static-libstdc++" LDFLAGS="-static -static-libgcc -static-libstdc++"
              make && make install
              # Add pthsem library to libpath
              export LD_LIBRARY_PATH=$INSTALL_PREFIX/lib:$LD_LIBRARY_PATH
              bzw
              ./configure \
              --enable-onlyeibd \
              --enable-tpuarts \
              --enable-tpuart \
              --enable-ft12 \
              --enable-eibnetip \
              --enable-eibnetiptunnel \
              --enable-eibnetipserver \
              --enable-groupcache \
              --enable-static=yes --prefix=$INSTALL_PREFIX --with-pth=$INSTALL_PREFIX CFLAGS="-static -static-libgcc -static-libstdc++" LDFLAGS="-static -static-libgcc -static-libstdc++ -s" CPPFLAGS="-static -static-libgcc -static-libstdc++"
              make && make install
              sollte also passen...
              Script endet mit:
              sed: kann /etc/inittab nicht lesen: Datei oder Verzeichnis nicht gefunden
              Please reboot your device...
              es gibt kein Verzeichnis \home\pi\eibdbuild ....
              Zuletzt geändert von EPIX; 23.02.2016, 13:23.
              EPIX
              ...und möge der Saft mit euch sein...
              Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

              Kommentar


                #8
                Du musst die ganze Zeile auskommentieren also "rm -r $BUILD_PATH", und wenn du ein echter "root" bist, dann liegen die Sourcen unter /root/eibdbuild/... (und sorry, nicht unter /home/pi)

                Die Sache mit "sed..." können wir meiner Meinung nach ignorieren da du IP nutzen willst und nicht TPUART.

                Kommentar


                  #9
                  ok unter root gibt es das verzeichnis...

                  root@raspberrypi:~/eibdbuild/pthsem# pthsem-2.0.8 ./configure --enable-static=yes --prefix=/usr/local CFLAGS="-static -static-libgcc -static-libstdc++" LDFLAGS="-static -static-libgcc -static-libstdc++"
                  bash: pthsem-2.0.8: Kommando nicht gefunden.
                  root@raspberrypi:~/eibdbuild/pthsem# ls
                  pthsem-2.0.8 pthsem_2.0.8.tar.gz pthsem_2.0.8.tar.gz.1
                  Zuletzt geändert von EPIX; 23.02.2016, 13:55.
                  EPIX
                  ...und möge der Saft mit euch sein...
                  Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                  Kommentar


                    #10
                    genau, Zeile für Zeile alles das Kursive

                    Kommentar


                      #11
                      leider Kommando nicht gefunden
                      EPIX
                      ...und möge der Saft mit euch sein...
                      Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                      Kommentar


                        #12
                        "pthsem-2.0.8" ist ein Unterverzeichnis in eibdbuild. Da musst du noch rein bevor du das "./configure ..." aufrufst. Das gleiceh gilt für "bcusdk-0.0.5"

                        Kommentar


                          #13
                          sorry...*peinlich*
                          und schon geht es....

                          ldconfig ausgeführt,
                          als pi eingeloggt (eibd soll nicht als root...)
                          /usr/local/bin/eibd -D -T -R -S -i -u --eibaddr=1.1.128 ipt:192.168.1.224
                          initialisation of the backend failed
                          - reboot... en

                          mit
                          pi@raspberrypi:~ $ /usr/local/bin/eibd -d -D -T -R -S -i -u --eibaddr=1.1.128 ipt:192.168.1.224
                          kann der eibd gestartet werden und läuft ps ax bringt:
                          1019 ? Ss 0:00 /usr/local/bin/eibd -d -D -T -R -S -i -u --eibaddr=1....
                          zuerst im Debugmodus gestartet
                          /usr/local/bin/eibd -D -T -R -S -i -u --eibaddr=1.1.128 ipt:192.168.1.224 -t1023

                          dann als unsichtbarer "Dämon"
                          /usr/local/bin/eibd -d -D -T -R -S -i -u --eibaddr=1.1.128 ipt:192.168.1.224
                          bringt eine Ausgabe....

                          vbusmonitor1 ip:localhost
                          LPDU: BC FE 9E 10 19 C3 00 80 15 81 FD :L_Data low from 15.14.158 to 2/0/25 hops: 04 T_DATA_XXX_REQ A_GroupValue_Write 15 81
                          LPDU: BC FE 9E 10 19 E3 00 80 15 81 DD :L_Data low from 15.14.158 to 2/0/25 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write 15 81
                          LPDU: BC FE 9E 10 19 C3
                          SUPER!!!!

                          DANKE!!! für deine Geduld.....
                          Zuletzt geändert von EPIX; 23.02.2016, 14:51.
                          EPIX
                          ...und möge der Saft mit euch sein...
                          Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                          Kommentar


                            #14
                            Super, freut mich!

                            Kommentar


                              #15
                              zu früh gefreut...
                              irgendwie passt das init.script nicht
                              pi@raspberrypi:~ $ /etc/init.d/eibd restart
                              [....] Restarting eibd (via systemctl): eibd.serviceFailed to restart eibd.service: Access denied
                              failed!
                              wenn ich mit sudo... starte, dann kommt kein Fehler, aber mit ps ax sehe ich keinen eibd laufen (und funktionieren tut es auch nicht)

                              das script:
                              #! /bin/sh
                              ### BEGIN INIT INFO
                              # Provides: eibd
                              # Required-Start: $remote_fs $syslog
                              # Required-Stop: $remote_fs $syslog
                              # Default-Start: 2 3 4 5
                              # Default-Stop: 0 1 6
                              # Short-Description: KNX/EIB eibd server
                              ### END INIT INFO
                              set -e
                              export EIBD_BIN=/usr/local/bin/eibd
                              #export EIBD_OPTIONS="-d -D -T -R -S -i -u --eibaddr=1.1.128 tpuarts:/dev/ttyAMA0"
                              export EIBD_OPTIONS=" -d -D -T -R -S -i -u --eibaddr=1.1.128 ipt:192.168.1.224 --daemon=/var/log/eibd.log"
                              export EIBD_USER=eibd
                              test -x $EIBD_BIN || exit 0
                              umask 022
                              . /lib/lsb/init-functions
                              # Are we running from init?
                              run_by_init() {
                              ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]
                              }
                              export PATH="/usr/local/bin:${PATH}"
                              case "$1" in
                              start)
                              log_daemon_msg "Starting eibd daemon" "eibd" || true
                              route add 224.0.23.12 dev eth0 > /dev/null 2>&1 || true
                              if start-stop-daemon --start --quiet --oknodo -c $EIBD_USER --exec $EIBD_BIN -- $EIBD_OPTIONS; then
                              log_end_msg 0 || true
                              else
                              log_end_msg 1 || true
                              fi
                              ;;
                              stop)
                              log_daemon_msg "Stopping eibd daemon" "eibd" || true
                              route delete 224.0.23.12 > /dev/null 2>&1 || true
                              if start-stop-daemon --stop --quiet --oknodo --exec $EIBD_BIN; then
                              log_end_msg 0 || true
                              else
                              log_end_msg 1 || true
                              fi
                              ;;

                              restart)
                              log_daemon_msg "Restarting eibd daemon" "eibd" || true
                              start-stop-daemon --stop --quiet --oknodo --retry 30 --exec $EIBD_BIN
                              if start-stop-daemon --start --quiet --oknodo -c $EIBD_USER --exec $EIBD_BIN -- $EIBD_OPTIONS; then
                              log_end_msg 0 || true
                              else
                              log_end_msg 1 || true
                              fi
                              ;;

                              status)
                              status_of_proc $EIBD_BIN eibd && exit 0 || exit $?
                              ;;

                              *)
                              log_action_msg "Usage: /etc/init.d/eibd {start|stop|restart|status}" || true
                              exit 1
                              esac
                              exit 0
                              Kann es irgendwie mit Berechtigungen zusammenhängen?
                              Mit der "Hand" geht alles...
                              Zuletzt geändert von EPIX; 23.02.2016, 18:41.
                              EPIX
                              ...und möge der Saft mit euch sein...
                              Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                              Kommentar

                              Lädt...
                              X