Ankündigung

Einklappen
Keine Ankündigung bisher.

knxd F00000035: Send while buffer not empty

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

    knxd F00000035: Send while buffer not empty

    Hallo

    Ich habe mittlerweile knxd 0.14 erfolgreich auf meinem R-PI 3.0 zum Laufen gebracht.
    Als Zugang zum KNX Bus habe ich einen Hager USB Anschluss.

    Weiterhin habe ich die Homebridge plus homebridge-knx Plugin installier und konfiguriert und juhu, es läuft!
    BTW: ich fühle mich langsam wie Captain Picard auf der Enterprise

    Wenn allerdings Schreibkommandos in rascher Abfolge auf den Bus gegeben werden, dann steigt der knxd mit unten stehenden Fehlermeldungen aus.
    Meine Vermutung ist, dass die USB Schnittstelle überlastet ist (ich weiss, USB ist nicht optimal).

    Frage:
    Passt meine Vermutung zu den Fehlermeldungen?
    Welche Optionen sollte ich in der knxd.ini mitgeben, um das Problem zu entschärfen?


    Code:
    Mär 25 22:38:24 raspberrypi systemd[1]: Starting KNX Daemon...
    Mär 25 22:38:24 raspberrypi systemd[1]: Started KNX Daemon.
    Mär 25 22:38:51 raspberrypi knxd[22495]: [26:B.usb] E00000000: EMI_common: send while waiting
    Mär 25 22:38:51 raspberrypi knxd[22495]: [19:B.usb] F00000035: Send while buffer not empty
    Mär 25 22:38:51 raspberrypi systemd[1]: [B]knxd.service: main process exited, code=exited, status=1/FAILURE[/B]
    Mär 25 22:38:51 raspberrypi systemd[1]: [B]Unit knxd.service entered failed state.[/B]
    Mär 25 22:39:01 raspberrypi systemd[1]: knxd.service holdoff time over, scheduling restart.
    Mär 25 22:39:01 raspberrypi systemd[1]: Stopping KNX Daemon...
    Mär 25 22:39:01 raspberrypi systemd[1]: Starting KNX Daemon...
    Mär 25 22:39:01 raspberrypi systemd[1]: Started KNX Daemon.
    Mär 25 22:39:23 raspberrypi knxd[22499]: [30:B.usb] E00000000: EMI_common: send while waiting
    Mär 25 22:39:23 raspberrypi knxd[22499]: [19:B.usb] F00000035: Send while buffer not empt
    Mär 25 22:39:23 raspberrypi systemd[1]: [B]knxd.service: main process exited, code=exited status=1/FAILURE[/B]
    Mär 25 22:39:23 raspberrypi systemd[1]: [B]Unit knxd.service entered failed state[/B]
    Mär 25 22:39:33 raspberrypi systemd[1]: knxd.service holdoff time over, schedulig restart.
    Mär 25 22:39:33 raspberrypi systemd[1]: Stopping KNX Daemon..
    Mär 25 22:39:33 raspberrypi systemd[1]: Starting KNX Daemon..
    Mär 25 22:39:33 raspberrypi systemd[1]: Started KNX Daemon
    Mär 26 11:19:17 raspberrypi knxd[22504]: [19:B.usb] F0000005: Send while buffer not empty
    Mär 26 11:22:27 raspberrypi systemd[1]: Stopping KNX Daemon..
    Mär 26 11:22:27 raspberrypi systemd[1]: Starting KNX Daemon..
    Mär 26 11:22:32 raspberrypi systemd[1]: Starting KNX Daemon..
    Mär 26 11:23:57 raspberrypi systemd[1]: [B]knxd.service stop-siterm timed out. Killing.[/B]
    Mär 26 11:23:57 raspberrypi systemd[1]: [B]knxd.service: main process exited, code=illed, status=9/KILL[/B]
    Mär 26 11:23:57 raspberrypi systemd[1]: [B]Unit knxd.service entered failed state[/B]
    Mär 26 11:23:57 raspberrypi systemd[1]: Starting KNX Daemon..
    Mär 26 11:23:57 raspberrypi systemd[1]: Started KNX Daemon
    Mär 26 11:23:59 raspberrypi systemd[1]: Stopping KNX Daemn...
    Mär 26 11:23:59 raspberrypi systemd[1]: Stopped KNX Daemon
    Mär 26 11:24:07 raspberrypi systemd[1]: Starting KNX Daemon..
    Mär 26 11:24:07 raspberrypi systemd[1]: Started KNX Daemon
    Meine knxd.ini

    Code:
    [A.tcp]
    #debug = debug-A.tcp
    server = knxd_tcp
    systemd-ignore = true
    
    [B.usb]
    #debug = debug-B.usb
    driver = usb
    
    [debug-A.tcp]
    trace-mask = 0x3ff
    
    [debug-B.usb]
    trace-mask = 0x3ff
    
    [debug-server]
    name = mcast:knxd
    
    [main]
    addr = 0.0.1
    client-addrs = 0.0.2:8
    connections = A.tcp,server,B.usb
    systemd = systemd
    
    [server]
    debug = debug-server
    discover = true
    server = ets_router
    tunnel = tunnel

    #2
    Welche Optionen sollte ich in der knxd.ini mitgeben, um das Problem zu entschärfen?
    Gar keine. Das ist ein Bug im Flow Control.

    Bitte update zunächst auf die neueste Version. Wenn du das Problem dann noch reproduzieren kannst, dann aktiviere bitte Logging ("filters=log" in den Sektionen "main" und "B.usb") und schick mir das Resultat, idealerweise in einem Pastebin.
    DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

    Kommentar


      #3
      Hi Smurf

      Danke für die schnelle Antwort. Jetzt habe ich es neu gebaut.
      Allerdings kommt der knxd nicht mehr hoch:
      knxd -f9 -t 1022 -i -D -T -S -e 0.0.1 -E 0.0.2:8 usb:
      Code:
      Layer 3 [ 4:A.tcp/inet    0.000] registerLink: A.tcp
      Layer 3 [ 4:A.tcp/inet        0.015] Start: cfg:A.tcp
      Layer 8 [ 4:A.tcp/inet        0.016] OpenInetSocket 6720
      E00000013: [ 4:A.tcp] OpenInetSocket 6720: bind: Address already in use
      Layer 8 [ 4:A.tcp/inet        0.016] StopServer
      Layer 5 [ 4:A.tcp/inet        0.016] Stopped
      Layer 4 [ 4:A.tcp/inet        0.016] R state: stopped
      Layer 4 [ 4:A.tcp/inet        0.016] is down
      Layer 4 [ 4:A.tcp/inet        0.016] is down
      Layer 4 [ 4:A.tcp/inet        0.025] is down
      E00000000: [ 1:main] Startup not successful.
      Das Daemon Log zeigt an:
      Code:
      Mär 26 13:51:39 raspberrypi systemd[1]: Starting KNX Daemon...
      -- Subject: Unit knxd.service has begun with start-up
      -- Defined-By: systemd
      -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
      -- 
      -- Unit knxd.service has begun starting up.
      Mär 26 13:51:39 raspberrypi knxd[1013]: knxd: inifile.cpp:75: std::string& IniSection::operator[](const char*): Assertion `v != values.end()'failed.
      Mär 26 13:51:39 raspberrypi systemd[1]: [B]knxd.service: main process exited, code=killed, status=6/ABRT[/B]
      Mär 26 13:51:39 raspberrypi systemd[1]: [B]Failed to start KNX Daemon.[/B]
      -- Subject: Unit knxd.service has failed
      -- Defined-By: systemd
      -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
      -- 
      -- Unit knxd.service has failed.
      -- 
      -- The result is failed.
      Habe schon stop / start / force-reload und auch re-boot durchgeführt.
      Code:
      netstat -plnt
      Aktive Internetverbindungen (Nur Server)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
      tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      549/sshd        
      tcp6       0      0 :::6720                 :::*                    LISTEN      1/init          
      tcp6       0      0 :::22                   :::*                    LISTEN      549/sshd
      Zuletzt geändert von misa; 26.03.2017, 14:55.

      Kommentar


        #4
        Hi
        Habe gerade nochmal ein Update auf GIT gemacht und baue nochmal.

        Im Daemon Status scheint die Variable $KNXD_OPTS auch nicht gesetzt zu sein, obwohl ich sie im Config File Gesetz habe....

        Grüsse Michi
        Zuletzt geändert von misa; 26.03.2017, 15:13.

        Kommentar


          #5
          Bekomme beim Installieren folgenden Fehler:
          Code:
          knxd (0.14.5-1) wird eingerichtet ...
          addgroup: Die Gruppe »knxd« existiert bereits als Systemgruppe. Programmende.
          Warnung: Das von Ihnen angegebene Home-Verzeichnis /var/lib/knxd existiert bereits.
          Der Systembenutzer »knxd« existiert bereits. Programmende.
          Job for knxd.service failed. See 'systemctl status knxd.service' and 'journalctl -xn' for details.
          invoke-rc.d: initscript knxd, action "restart" failed.
          dpkg: Fehler beim Bearbeiten des Paketes knxd (--install):
           Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
          knxd-tools (0.14.5-1) wird eingerichtet ...
          Trigger für systemd (215-17+deb8u6) werden verarbeitet ...
          Trigger für libc-bin (2.19-18+deb8u7) werden verarbeitet ...
          Fehler traten auf beim Bearbeiten von:
           knxd
          Status des Daemons:

          Code:
          Mär 26 16:22:25 raspberrypi systemd[1]: Starting KNX Daemon...
          -- Subject: Unit knxd.service has begun with start-up
          -- Defined-By: systemd
          -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
          --
          -- Unit knxd.service has begun starting up.
          Mär 26 16:22:25 raspberrypi knxd[1072]: knxd: inifile.cpp:75: std::string& IniSection::operator[](const char*): Assertion `v != values.end()' failed.
          Mär 26 16:22:25 raspberrypi systemd[1]: [B]knxd.service: main process exited, code=killed, status=6/ABRT[/B]
          Mär 26 16:22:25 raspberrypi systemd[1]: [B]Failed to start KNX Daemon.[/B]
          -- Subject: Unit knxd.service has failed
          -- Defined-By: systemd
          -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
          --
          -- Unit knxd.service has failed.
          --
          -- The result is failed.
          
          
          und zudem
          
          sudo systemctl status knxd.service
          ● knxd.service - KNX Daemon
             Loaded: loaded (/lib/systemd/system/knxd.service; enabled)
             Active: activating (auto-restart) (Result: signal) since So 2017-03-26 16:22:46 CEST; 8s ago
            Process: 1130 ExecStart=/usr/bin/knxd $KNXD_OPTS [B](code=killed, signal=ABRT)[/B]
           Main PID: 1130 (code=killed, signal=ABRT)
          
          Mär 26 16:22:46 raspberrypi systemd[1]: [B]Failed to start KNX Daemon.[/B]
          Mär 26 16:22:46 raspberrypi systemd[1]: [B]Unit knxd.service entered failed state.[/B]
          wenn ich den Knud manuell starte, mit anderem Port, dann klapp es:

          Code:
          sudo knxd -f9 -t 1022 -i 6721 -e 0.0.1 -E 0.0.2:8 usb: 
          Layer 3 [ 4:A.tcp/inet    0.000] registerLink: A.tcp
          Layer 3 [ 4:A.tcp/inet      0.013] Start: cfg:A.tcp
          Layer 8 [ 4:A.tcp/inet      0.013] OpenInetSocket 6721
          Layer 8 [ 4:A.tcp/inet      0.013] InetSocket opened
          Layer 5 [ 4:A.tcp/inet      0.013] Started
          Layer 4 [ 4:A.tcp/inet      0.013] R state: started
          Zuletzt geändert von misa; 26.03.2017, 15:29.

          Kommentar


            #6
            BTW: der Fehler im Flow Control ist behoben. Ich habe nur kein laufenden Daemon mehr und irgendwie ist der Standardport 6720 blockiert

            Kommentar


              #7
              Hmm, ich bekomme immer noch einpaar Fehlermeldungen:
              E00000000: [11:B.usb] EMI_common: send while waiting
              E00000000: [11:B.usb] EMI_common: send while waiting
              E00000000: [11:B.usb] EMI_common: send while waiting

              Kommentar


                #8
                Also ich habe mal die Pakete deinstalliert und dann installiert. Danach lief der daemon wieder.... da staunt der Laie und der Fachmann wundert sich...

                Kommentar


                  #9
                  @misa: ist behoben, bitte auf v0.14.6 updaten.
                  Fehler: ich brauche ein Komplett-Log, d.h. "-B log" vor dem -t1022 und vor dem "-b usb:".
                  (Du hast in deiner Befehlszeile das -b weggelassen; das funktioniert in deinem Fall, aber man sollte sich das trotzdem nicht angewöhnen.)
                  DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                  Kommentar


                    #10
                    misa Dass du ihn nicht manuell starten kannst, weil Port 6720 blockiert ist, ist logisch wegen knxd.socket. Aber der geht jetzt ja wieder. ;-)
                    DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                    Kommentar


                      #11
                      So … und jetzt (d.h. seit commit 7d0fdae) geht es wirklich wieder.
                      DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                      Kommentar


                        #12
                        Hallo
                        Besten Dank für den Update. Habe alles gebaut und nochmals einen Test gemacht.
                        Der E00000000000 Fehler ist noch vorhanden.
                        Anbei das Lg im Paste Bin

                        Wenn ich über die homebridge Geräte wild hin und her schalte. dann schaffe ich es auch, dass sich knxd soweit verklemmt, dass nur noch ein Abschuss mit kill -9 funktioniert.

                        Grüsse Michi
                        Zuletzt geändert von misa; 27.03.2017, 22:45.

                        Kommentar


                          #13
                          Kannst du das bitte mit -t1023 und "-B log -b usb" wiederholen?
                          DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                          Kommentar


                            #14
                            Soll ich vorher noch knxd updaten?

                            Kommentar


                              #15
                              Hier der Pastebin mit -t1023

                              Link

                              Kommentar

                              Lädt...
                              X