Ankündigung

Einklappen
Keine Ankündigung bisher.

EIBD unter Ubuntu mit RS232 Busankoppler

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

    EIBD unter Ubuntu mit RS232 Busankoppler

    Hallo zusammen,

    nachdem ich hier schon recht lange passiv mitlese und immer gute Ratschläge gefunden habe, plagt mich nun ein Problem, für das ich trotz intensiver Suche noch keine Lösung finden konnte.
    Ich würde meinen Bus gern mit der App KNXController über Netzwerk "fernsteuern".

    Dafür habe ich ein frisches Ubuntu 12.04 64 Bit aufgesetzt und mit dieser Anleitung den eidb installiert:
    https://knx-user-forum.de/192836-post162.html

    Aber schon der erste Test schlägt fehl:
    Ich starte eibd mit
    Code:
    root@xxx03:~# eibd -d -i ft12:/dev/ttyS0
    W00000001: EIBD should not run as root
    root@xxx03:~# ps -ef | grep eibd
    root      1283     1  0 15:27 ?        00:00:00 eibd -d -i ft12:/dev/ttyS0
    root      1286   754  0 15:29 pts/0    00:00:00 grep --color=auto eibd
    und bekomme beim ersten Versuch gleich ein

    Code:
    root@xxx03:~# groupswrite ip:127.0.0.1 3/10 1
    Open failed: Connection refused
    Da ich eher Linux Neuling bin, komme ich leider schon an dieser Stelle nicht weiter...

    Vielleicht kann mir ja jemand helfen?

    Viele Grüße
    Jan

    #2
    Ich tippe mal auf fehlenden Serverdienst beim eibd "-S".
    Testen würde ich erstmal lokal mit einem "-u" fur einen Unix-Socket der unter /tmp/eib erreichbar ist.

    Also "eibd -d -i -S -u ft12:/dev/ttyS0" und dann testen mit "groupswrite local:/tmp/eib 3/10 1".
    Sind Deine GAs zweistufig? Da fehlt mir die Erfahrung wie der eibd damit umgeht.

    Grüße
    Umgezogen? Ja! ... Fertig? Nein!
    Baustelle 2.0 !

    Kommentar


      #3
      Hi,
      das klappt leider auch nicht:
      Code:
      root@xxx03:/# eibd -d -i -S -u ft12:/dev/ttyS0
      W00000001: EIBD should not run as root
      root@xxx03:/# groupswrite local:/tmp/eib 3/10 1
      Open failed: Connection refused
      Ich habe hier (EIBD installation and usage » OpenAlfa Blog) noch etwas gefunden.
      Wenn ich den eibd so starte
      Code:
      eibd --trace=5 --listen-local ip:
      dann bekomme ich folgende Ausgabe:
      Code:
      root@xxx03:/# groupswrite local:/tmp/eib 3/10 1
      Send request
      bzw.
      Code:
      root@xxx03:~# eibd --trace=5 --listen-local ip:
      W00000001: EIBD should not run as root
      Layer 2(01955C00,5243EC6C) Open
      Layer 0(01955D00,5243EC6C) Open
      Layer 0(01955D00,5243EC6C) Openend
      Layer 2(01955C00,5243EC6C) Opened
      Layer 2(01955C00,5243EC79) Send L_Data low from 0.0.1 to 3/0/10 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
      Layer 0(01955D00,5243EC79) Send(017): 06 10 05 30 00 11 29 00 BC F0 00 01 18 0A 01 00 81
      Layer 2(01955C00,5243EC79) Recv L_Data low from 0.0.1 to 3/0/10 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
      Grundsätzlich scheint der Dienst also zu laufen.
      Nur eben nicht mit meiner ttyS0...

      Bin weiterhin für jeden Tip zur weiteren Analyse dankbar!

      Grüße
      Jan

      Kommentar


        #4
        Ist es denn ein FT1.2 BA? oder so ne alte BCU1?
        Nils

        aktuelle Bausteine:
        BusAufsicht - ServiceCheck - Pushover - HS-Insight

        Kommentar


          #5
          Zitat von NilsS Beitrag anzeigen
          Ist es denn ein FT1.2 BA? oder so ne alte BCU1?
          Hm, da er schon ca. 11 Jahre alt ist, wahrscheinlich der BCU1?....

          Bei dem muss der Aufruf anders sein, oder?

          ...
          OK, es geht langsam voran:
          1. Fenster:
          Code:
          root@xxx03:~# eibd -i -t1023 bcu1:/dev/ttyS0
          Layer 7(00000000,5244001D) EIBD should not run as root
          W00000001: EIBD should not run as root
          Layer 1(00AF8C00,5244001D) Open
          Layer 1(00AF8C00,5244001D) Driver select extension missing
          Layer 1(00AF8C00,5244001D) Opened
          Layer 2(00B092F0,5244001D) Open
          Layer 2(00B092F0,5244001D) Opened
          Layer 3(00B199C0,5244001D) Open
          Layer 2(00B092F0,5244001D) OpenL2
          Layer 1(00AF8C00,5244001D) Send(005): 46 01 00 60 12
          Layer 0(00AF8C00,5244001D) Send(005): 46 01 00 60 12
          Layer 8(00B2AB00,5244001D) OpenInetSocket 6720
          Layer 8(00B2AB00,5244001D) InetSocket opened
          Layer 4(00B3B150,5244001D) GroupCacheInit
          Dann im 2. Fenster:
          Code:
          root@xxx03:/# groupswrite ip:127.0.0.1 8/19 1
          Send request
          Dann sehe ich im ersten Fenster:
          Code:
          Layer 8(00B2AB00,52440023) New Connection
          Layer 8(00B3C490,52440023) ClientConnection Init
          Layer 8(00B3C490,52440023) RecvMessage(005): 00 22 40 13 FF
          Layer 7(00B4C9E0,52440023) OpenGroup
          Layer 4(00B4CB90,52440023) OpenGroup 8/0/19 WO
          Layer 8(00B3C490,52440023) SendMessage(002): 00 22
          Layer 8(00B3C490,52440023) RecvMessage(004): 00 25 00 81
          Layer 7(00B4C9E0,52440023) Send(002): 00 81
          Layer 4(00B4CB90,52440023) Send Group T_DATA_XXX_REQ A_GroupValue_Write (small) 01
          Layer 3(00B199C0,52440023) Send L_Data low from 0.0.0 to 8/0/19 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
          Layer 2(00B092F0,52440023) Send L_Data low from 0.0.0 to 8/0/19 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
          Layer 1(00AF8C00,52440023) Send(009): 11 0C 00 00 40 13 F1 00 81
          Layer 0(00AF8C00,52440023) Send(009): 11 0C 00 00 40 13 F1 00 81
          Layer 7(00B4C9E0,52440023) CloseGroup
          Layer 2(00B092F0,52440023) Recv L_Data low from 0.0.0 to 8/0/19 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
          Layer 3(00B199C0,52440023) Recv L_Data low from 0.0.0 to 8/0/19 hops: 07 T_DATA_XXX_REQ A_GroupValue_Write (small) 01
          Layer 4(00B4CB90,52440023) CloseGroup
          Layer 3(00B199C0,52440023) deregisterGroupCallBack 00B4CB90 = 0
          Layer 8(00B3C490,52440023) ClientConnection closed
          Aber leider kommt das Telegramm nicht beim Aktor an, d.h. es gibt keine Reaktion.

          Kommentar


            #6
            Ich würde mir das nicht antun mit einer BCU1.

            Kauf dir lieber eine USB tpuart oder andere USB Schnittstelle.
            Nils

            aktuelle Bausteine:
            BusAufsicht - ServiceCheck - Pushover - HS-Insight

            Kommentar


              #7
              OK, meinst du so etwas:
              busware.de

              Kommentar


                #8
                Zitat von dh6 Beitrag anzeigen
                Hm, da er schon ca. 11 Jahre alt ist, wahrscheinlich der BCU1?....

                Bei dem muss der Aufruf anders sein, oder?
                ...
                Code:
                root@xxx03:~# eibd -i -t1023 bcu1:/dev/ttyS0
                Ja, aber so wird das nichts. bcu1 braucht einen Kerneltreiber. Denke mal der ist nicht installiert.
                Ohne geht es nur im Usermode mittels bcu1s. Allerdings schreibt der Entwickler selbst darüber: https://knx-user-forum.de/103053-post7.html

                Was hast du denn genau für ein Interface? Ist es wirklich eine BCU1?

                Wenn ja, kaufe lieber eine aktuelle USB Schnittstelle oder ein IP Interface / Router anstatt hier noch mehr Zeit reinzustecken.

                Dirk

                Kommentar


                  #9
                  Zitat von do13 Beitrag anzeigen
                  Wenn ja, kaufe lieber eine aktuelle USB Schnittstelle oder ein IP Interface / Router anstatt hier noch mehr Zeit reinzustecken.
                  OK, ich denke, ich werde deinem Tip folgen.
                  Hast du vielleicht eine Empfehlung?
                  Geht sowas:
                  Weinzierl KNX IP Interface 730

                  Kommentar


                    #10
                    Zitat von dh6 Beitrag anzeigen
                    OK, ich denke, ich werde deinem Tip folgen.
                    Hast du vielleicht eine Empfehlung?
                    Geht sowas:
                    Weinzierl KNX IP Interface 730
                    Ja, das kannst du nehmen.

                    Kommentar


                      #11
                      Zitat von do13 Beitrag anzeigen
                      Ja, das kannst du nehmen.
                      Danke!

                      Kommentar


                        #12
                        Hi,
                        ich hab jetzt auf meinem Linux-Rechner an dem eine BCU1 hängt die Kernelmodule geladen und den eibd gestartet. Da kommt dann das hier:

                        eibd -e 3.2.255 bcu1:/dev/ttyS0 -i -t 1023
                        Layer 1(08090668,528F3F82) Open
                        Layer 1(08090668,528F3F82) Driver select extension missing
                        Layer 1(08090668,528F3F82) Opened
                        Layer 2(080A0A18,528F3F82) Open
                        Layer 2(080A0A18,528F3F82) Opened
                        Layer 3(080B0DB0,528F3F82) Open
                        Layer 2(080A0A18,528F3F82) OpenL2
                        Layer 1(08090668,528F3F82) Send(005): 46 01 00 60 12
                        Layer 0(08090668,528F3F82) Send(005): 46 01 00 60 12
                        Layer 8(080C16B8,528F3F82) OpenInetSocket 6720
                        Layer 8(080C16B8,528F3F82) InetSocket opened
                        Layer 4(080D1A08,528F3F82) GroupCacheInit

                        Und wenn ich in einer zweiten Konsole busmonitor1 aufrufe kommt das hier:

                        Layer 8(080C16B8,528F3FC0) New Connection
                        Layer 8(080D2488,528F3FC0) ClientConnection Init
                        Layer 8(080D2488,528F3FC0) RecvMessage(002): 00 11
                        Layer 7(080E25EC,528F3FC0) Open A_Busmonitor
                        Layer 3(080B0DB0,528F3FC0) registerBusmontior 080E25EC
                        Layer 2(080A0A18,528F3FC0) CloseL2
                        Layer 1(08090668,528F3FC0) Send(005): 46 01 00 60 C0
                        Layer 0(08090668,528F3FC0) Send(005): 46 01 00 60 C0
                        Layer 2(080A0A18,528F3FC0) OpenBusmon
                        Layer 1(08090668,528F3FC1) Send(005): 46 01 00 60 90
                        Layer 0(08090668,528F3FC1) Send(005): 46 01 00 60 90
                        Layer 3(080B0DB0,528F3FC1) registerBusmontior 080E25EC = 1
                        Layer 8(080D2488,528F3FC1) SendMessage(002): 00 11

                        Das sieht für mich jetzt erst mal alles gut aus. Aber nun kommen Verständnisfragen auf . Was macht busmonitor1? Vom Namen her hätte ich jetzt erwartet ich sehe alle Nachrichten auf dem Bus? Da tut sich aber rein gar nix. Oder sehe ich nur die Nachrichten, die von/zu meinem RS232 BCU gehen?
                        Und nächste Frage - in der ETS hat mein RS232 BCU die Addresse 3.2.255. Muss ich die dem eibd mit -e 3.2.255 mitgeben?

                        Kommentar


                          #13
                          So, ich hatte am Wochenende nochmal etwas Zeit mich mit dem eibd zu beschäftigen. Leider kann ich weder vom BUS lesen noch schreiben. Es kommt scheinbar nix am seriellen Port an. Wenn ich auf dem Rechner in einer VM ein Windows starte und darin ETS aufrufe kann ich alle Nachrichten auf dem BUS mitlesen und auch Nachrichten senden.
                          Kann mir einer einen Tipp geben, was ich beim eibd noch falsch mache? Oder einen Hinweis wo ich mich weiter einlesen kann. Ich bin hier momentan leider noch etwas orientierungslos weil ich grad erst in das Thema einsteige.

                          Kommentar


                            #14
                            Zitat von xnalpf Beitrag anzeigen
                            Kann mir einer einen Tipp geben, was ich beim eibd noch falsch mache? Oder einen Hinweis wo ich mich weiter einlesen kann.
                            Du benutzt wirklick eine bcu1?
                            Den bcu1driver hast du übersetzt und geladen? Wenn du das entsprechende Sourcepaket benutzt hast, solltest du auch das README darin gelesen haben. Dort steht dann:
                            To start eibd on it, use:
                            eibd -u bcu1:/dev/eib0

                            Ich würde mir definitiv die Zeit sparen und in eine andere Schnittstelle investieren.
                            Dirk

                            Kommentar


                              #15
                              Erst mal danke für die Antwort. Also ich habe eine Busch-Jaeger EIB KNX Schnittstelle, RS232, 2fach, 6186/2. Und die kernelmodule sind aus dem Sourcepaket compiliert und auch geladen.
                              Code:
                              lsmod|grep eib
                              eib_8250               23296  0 
                              eib_pei16              27140  0 
                              eib_common             31756  2 eib_8250,eib_pei16
                              Aber der aufruf wie aus dem Readme (ja, sollte ich mal lesen, mach ich heute abend) bringt das hier:
                              Code:
                              eibd -u bcu1:/dev/eib0
                              W00000001: EIBD should not run as root
                              initialisation of the backend failed
                              Im syslog steht nur das hier:

                              Nov 25 13:40:19 vdr kernel: eib: open serial 0

                              Ich mach mich mal ans readme...

                              Kommentar

                              Lädt...
                              X