Ankündigung

Einklappen
Keine Ankündigung bisher.

EIBD startet nicht

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

    #16
    Ok, habe den Fehler eingrenzen können...
    In der Tat, die Schnitstelle war scheinbar belegt...

    nun zum aber und zur Frage:
    In der Anleitung stand wie ich weitere Geräteadressen und damit weitere Verbindungen in der Schnitstelle freischalte.
    ich habe also 15.15.250 - 15.15.254

    /etc/default/eibd
    Code:
    #EIB_ARGS="--daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp"
    #EIB_ADDR="0.0.1"
    EIB_IF="ipt:192.168.178.101"
    #EIB_ADDR="0.0.1" => sollte aber dann zu EIB_ADDR="15.15.251" werden (und ohne #, damit es verwendet wird) ?

    Starte ich nun EIBD mit -t1023 sehe ich was auf dem Bus passiert. Der Smartcontrol zeigt auch einen laufenden EIBD an.
    mit
    "Groupswrite ip:127.0.0.1 12/1/10 1"
    gibt es als antwort aber => "Open failed: Connection refused"

    Es gibt aktuell nur eine Verbindung zum Bus, die ETS ist geschlossen.
    Probiert habe ich es mit und ohne Änderung in der "/etc/default/eibd"

    Habe also nach eine laufende System wieder das Problem das EIBD nicht startet :-(

    Gibt es noch ideen?

    Danke für Eure Gedult und Hilfe!
    Gruß Marian

    Kommentar


      #17
      Hallo,

      ich glaube der eibd unterstützt die
      EIB_ADDR nicht zusammen mit einer ipt Schnittstelle.
      Lasse das einfach auf dem default (auskommentiert).

      Bis bald
      Marcus

      Kommentar


        #18
        Habe ja nun beide versionen getestet, bekomm aber wieder den EIBD nicht richtig gestartet und mir fehlt der Ansatz, wo weiter suchen.
        oben gab es den hinweis mit dem Log...
        muss das mit in die Defaults? So in etwa?
        Code:
        #EIB_ARGS="--daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp"
        EIB_ARGS="--daemon=/var/log/eibd.log --Server --Tunnelling --Discovery --GroupCache --listen-tcp"
        #EIB_ADDR="0.0.1"
        EIB_IF="ipt:192.168.178.101"


        Kommentar


          #19
          Zitat von marian Beitrag anzeigen
          Lasse ich aber das "-t1023" weg, passiert nichts und EIBD startet nicht korrekt. Wirkt sich so aus, das ich im Terminalfenster keine "normale" zeile mehr habe sondern eine leere mit blinkendem curser...
          Was genau soll denn da passieren? Ohne -txxxx gibt der nichts aus. Macht auch keinen Sinn, den eibd so ohne -txxxx zu starten. Entweder dann ein '&' anhängen (dann kriegst du wieder ein prompt und der eibd läuft im Hintergrund) oder - und das ist eigentlich beim smarthome.pi image der default - gleich mit --daemon als Dienst starten.

          Zitat von marian Beitrag anzeigen
          Ich muss also noch herausfinden, was ich bei der MDT-Schnittstelle noch falsch mache. Oder kann das auch an den Parametern im EIBD liegen, die Smarthome.py als default hat?
          Ich weiss nicht was du meinst - lt. deiner Beschreibung tut's doch alles?! Die default-Parameter sind eigentlich bis auf die IP-Adresse (nutzt ja nicht jeder ein IP-Interface) die gleichen, die du verwendest, nur das als standardmässig als deamon gestartet wird. Kannst nach einem Neustart ja mit 'ps aux | grep eibd' anzeigen lassen, mit welchen Parametern er läuft.

          Was hast du denn in /etc/defaults/eibd überhaupt als Parameter angegeben?

          Kommentar


            #20
            Zum ersten Hinweis: Ich glaube ich verstehe :-) wenn auch nur sehr grob....

            Zum zweiten Hinweis:
            Das was ich nicht wusste: man muss der Schnitstelle noch intern beibringen das sie mehrere Verbindungen akzeptiert... Dazu benötigt diese Geräteadressen, die sie selbst vergibt. Im Standard ist die 15.15.250 und kann am Gerät erweitert werden.
            Das habe ich nun auch gemacht, somit kann sie nun 5 Verbindungen auf den Adressen 251 ... 254
            Man sieht das sehr schön, wenn ich manuell starte mit "-t1023" dann nimmt die ETS die 251, Kille ich den EIBD wieder, dann nimmt sie wieder den 250

            meine default sieht so aus:
            Code:
            #EIB_ARGS="--daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp"
            #EIB_ADDR="0.0.1"
            EIB_IF="ipt:192.168.178.101"
            und ich finde nicht heraus warum der EIBD nicht starten mag...

            Was ich noch probieren kann, die Schnitstelle wieder auf Werkszustand setzen und neu zu programmieren, ohne die Erweiterungen.

            edit:
            Was ich gerade getestet habe:
            Nach Neustart, läuft keine eibd Prozess => ps ax|grep eibd
            dann in der Konsole:
            Code:
            admin@smarthome:/usr/smarthome$ eibd --daemon=eibd.log --Server --Tunnelling --Discovery --GroupCache --listen-tcp ip:192.168.178.101
            die datei geöffnet und darin steht: "initialisation of the backend failed" mehr nicht...

            Zuletzt geändert von marian; 27.06.2015, 17:45.

            Kommentar


              #21
              Wenn du den so startest, muss da 'ipt:...' stehen, nicht 'ip:...' - das geht nur, wenn du Routing benutzt und eine Multicast-Adresse angibst.

              Da ich so langsam den Eindruck habe, dass du ein bisschen schlampig mit den Kommandos und Parametern bist: Das Kommando um zu schauen, ob/wie der eibd gestartet ist, ist nicht 'ps ax|grep eibd', sondern 'ps aux | grep eibd'. Alle Buchstaben, Leerzeichen usw. sind relevant.

              Kommentar


                #22
                Sorry für die "Schlampigkeit" bin kein wirklich Experte in Linux und hatte mit google das gefunden um Prozesse auf zu listen und da stand dies so...

                also starte ich mit:
                Code:
                eibd --daemon=eibd.log --Server --Tunnelling --Discovery --GroupCache --listen-tcp ipt:192.168.178.101
                klappt es...

                in meiner Default steht auch "ipt:"
                Code:
                #EIB_ARGS="--daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp"
                #EIB_ADDR="0.0.1"
                EIB_IF="ipt:192.168.178.101"
                Dann habe ich einen Neustart gemacht... EIBD ist nicht gestartet...
                starte ich dann anschließénd den EIBD manuell, läuft alles...
                Code:
                admin@smarthome:/usr/smarthome$ eibd --daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp ipt:192.168.178.101



                Kommentar


                  #23
                  Zitat von marian Beitrag anzeigen
                  Dann habe ich einen Neustart gemacht... EIBD ist nicht gestartet...
                  Nimm mal das Kommentarzeichen vor EIB_ARGS raus. Was passiert dann nach einem Neustart?
                  EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                  Kommentar


                    #24
                    gleiches Verhalten...
                    kein EIBD gestartet, dann manuell und schon klappt alles

                    Kommentar


                      #25
                      Wie sieht denn Dein Startup-Script vom eibd aus? (/etc/init.d/eibd)
                      Ansonsten kannst Du hier bei der Komplettanleitung noch mal einige Dinge nachlesen. Da Du eine betroffene Schnittstelle hast, macht evtl. auch der Parameter --no-tunnel-client-queuing bei den EIB_ARGS Sinn.

                      Und: Habe ich das richtig verstanden: Du nutzt eine nagelneue SD-Karte und ein frisches Image dafür und es funzt nicht? Oder hast Du den Inhalt der alten Karte nur auf eine neue Karte kopiert?

                      Gruß,
                      Bernd

                      Kommentar


                        #26
                        Was ergibt denn nun 'ps aux | grep eibd' nach einem Neustart? Ansonsten wie bereits gesagt mal die /etc/init.d/eibd posten (bitte im Editor in CODE-Tags setzen).

                        Kommentar


                          #27
                          Also....
                          /etc/init.d/eibd
                          Code:
                          #!/bin/sh
                          ### BEGIN INIT INFO
                          # Provides:          eibd
                          # Required-Start:    $syslog $network
                          # Required-Stop:     $syslog $network
                          # Default-Start:     2 3 4 5
                          # Default-Stop:      0 1 6
                          # Short-Description: Start the eib daemon.
                          ### END INIT INFO
                          
                          DESC="EIB daemon"
                          NAME=eibd
                          EIB_ARGS="--daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp"
                          EIB_ADDR="0.0.1"
                          EIB_IF="tpuarts:/dev/ttyAMA0"
                          EIB_UID="admin"
                          
                          PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
                          DAEMON=/usr/bin/$NAME
                          PIDFILE=/var/run/$NAME.pid
                          SCRIPTNAME=/etc/init.d/$NAME
                          
                          [ -x "$DAEMON" ] || exit 0
                          
                          [ -r /etc/default/$NAME ] && . /etc/default/$NAME
                          
                          DAEMON_ARGS="$EIB_ARGS --pid-file=$PIDFILE --eibaddr=$EIB_ADDR $EIB_IF"
                          
                          do_start()
                          {
                              touch $PIDFILE
                              chown $EIB_UID $PIDFILE
                              start-stop-daemon --start --quiet --chuid $EIB_UID --pidfile $PIDFILE --exec $DAEMON --test > /dev/null || return 1
                              start-stop-daemon --start --quiet --chuid $EIB_UID --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return 2
                          }
                          
                          do_stop()
                          {
                              start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
                              RETVAL="$?"
                              [ "$RETVAL" = 2 ] && return 2
                              start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
                              [ "$?" = 2 ] && return 2
                              rm -f $PIDFILE 2> /dev/null
                              return "$RETVAL"
                          }
                          
                          do_reload() {
                              start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
                              return 0
                          }
                          
                          case "$1" in
                              start)
                                  do_start
                                  ;;
                              stop)
                                  do_stop
                                  ;;
                              #reload|force-reload)
                                  #echo "Reloading $DESC" "$NAME"
                                  #do_reload
                                  #log_end_msg $?
                                  #;;
                              restart)
                                  #
                                  # If the "reload" option is implemented then remove the
                                  # 'force-reload' alias
                                  #
                                  echo "Restarting $DESC" "$NAME"
                                  do_stop
                                  sleep 1
                                  do_start
                                  ;;
                              *)
                                  echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
                                  exit 3
                                  ;;
                          esac
                          
                          exit 0
                          Gehe ich recht in der Annahme das "--no-tunnel-client-queuing" des "--Tunnel" dann ersetzt oder muss das zusätzlich da rein?
                          Das Interessante ist ja, das die Paramer richtig zu sein scheinen... Weil beim manuellen Start alles klappt.

                          Also... zusammenfassend.
                          in der /etc/default/eibd ist nur die IP einkommentiert: EIB_IF="ipt:192.168.178.101"
                          nach dem Neustart liefert die Prozessabfrage:
                          Code:
                          admin@smarthome:/usr/smarthome$ ps aux | grep eibd
                          admin     1928  1.0  0.1   3440   828 pts/0    S+   10:55   0:00 grep eibd
                          Anschliend wieder manuell gestartet:
                          Code:
                          admin@smarthome:/usr/smarthome$ eibd --daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp ipt:192.168.178.101
                          admin@smarthome:/usr/smarthome$ ps aux | grep eibd                             
                          admin     1934  0.0  0.1   3908   748 ?        Ss   10:57   0:00 eibd --daemon --Server --Tunnelling --Discovery --GroupCache --listen-tcp ipt:192.168.178.101
                          admin     1936  0.0  0.1   3440   828 pts/0    S+   10:57   0:00 grep eibd
                          admin@smarthome:/usr/smarthome$
                          Was halt nicht funktioniert ist der automatische Start sowie der Start über das Smartcontrol.

                          Gruß Marian




                          Kommentar


                            #28
                            OK, das ist seltsam.

                            Versuche mal nach einem Neustart 'sudo /etc/init.d/eibd start' und wenn dann kein Fehler kommt ein 'ps aux | grep eibd'. Ausserdem bitte mal ein 'ls -la /etc/init.d | grep eibd' und 'ls -la /usr/local | grep eibd' - obwohl die permissions eigentlich nicht falsch gesetzt sein koennen, wenn du das smarthome.pi image benutzt.

                            Kommentar


                              #29
                              sudo /etc/init.d/eibd start => denke mal Ausführen der autostart datei => gemacht ohne besondere Meldung.

                              ps aux | grep eibd => prozess auflisten, kein eibd gestartet

                              ls -la /etc/init.d | grep eibd
                              -rwxr-xr-x 1 root root 1976 May 17 2013 eibd

                              ls -la /usr/local | grep eibd kommt nix...
                              müsste doch ls -la /etc/default | grep eibd oder? also das Verzeichnis der Default Datei

                              ls -la /etc/default | grep eibd
                              -rwxrw-r-- 1 admin admin 227 Jun 28 10:53 eibd

                              Kommentar


                                #30
                                Zitat von marian Beitrag anzeigen
                                sudo /etc/init.d/eibd start => denke mal Ausführen der autostart datei => gemacht ohne besondere Meldung.

                                ps aux | grep eibd => prozess auflisten, kein eibd gestartet
                                Seltsam. Deutet aber darauf hin, dass das Problem am startup-script liegt. Allerdings: Das benutzen wir eigentlich all und da funzt es...? Wo hast du denn das image her?

                                Kommentar

                                Lädt...
                                X