Ankündigung

Einklappen
Keine Ankündigung bisher.

knxd (war: eibd) reloaded: Tester gesucht

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

    knxd (war: eibd) reloaded: Tester gesucht

    Hallo Leute,

    ich habe in den letzten zwei Wochen dem knxd (ehemals eibd) eine größere Runderneuerung verpasst.
    Es ist jetzt möglich, mehr als eine Schnittstelle zu verwenden. Wer zwei Linien hat, schließt einfach beide an einen Rechner an (egal wie), verpasst dem knxd beide, und das Ding leitet die KNX-Telegramme von A nach B und umgekehrt.
    Selbstverständlich ;-) merkt er sich, welche physikalischen Adressen an welchem Bus zu sehen sind, so dass man beim Programmieren eines Geräts am Bus A nicht auch noch Bus B und C zutextet.
    Er generiert jetzt auch kein seltsames Echo mancher Datenpakete mehr.
    Man kann ihm sagen, welche Schnittstellen er nicht als Busmonitor verwenden darf (weil die dann ja am normalen Betrieb nicht mehr teilnehmen).
    Man kann ihm pro Schnittstelle unterschiedliche Debug-Optionen o.Ä. verpassen.
    Natürlich kann es auch mehrere Netzwerkinterfaces geben, falls das jemand braucht. Quasi ein Abfallprodukt der Umbauaktion. ;-)
    Und das Netteste: Programmieren mit der ETS-5 funktioniert endlich fehlerfrei. (Aktuell habe ich nur via Multicast getestet.) Ohne dass ich dafür groß noch was tun musste. Was mir unbescheidenerweise suggeriert, dass ich irgendwas richtig gemacht haben muss bei der Aktion. :-P

    Wie konfiguriert man das alles? Genau wie immer, über die Befehlszeile.
    Der einzige Unterschied ist, dass die Parameter jetzt der Reihe nach "abgearbeitet" werden und sämtliche modifizierenden Angaben (also -t oder -R -T -D) grundsätzlich die Schnittstellen beeinflussen, die danach angegeben werden.
    Wenn jemand das Parsen einer .INI-Datei o.Ä. einbauen mag, gerne. (Bitte nicht XML.)

    Das Ganze findet sich hier: github.com/knxd/knxd/ – der jetztige Status ist Alpha, d.h. es funktioniert schon Einiges, aber noch mehr muss einfach getestet und ggf. repariert werden. Insbesondere besitze ich selber nur tpuart-Hardware; die anderen Treiber kompilieren zwar alle, aber das heißt nicht unbedingt viel.

    Natürlich freue ich mich über Mitstreiter und -programmierer.

    Und nun: her mit den Fehlerberichten!
    Zuletzt geändert von Smurf; 10.09.2015, 01:38. Grund: Link aktualisiert
    DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

    #2
    Der Link will nicht so richtig, da ist ein http zuviel drin...

    Kommentar


      #3
      Vielen Dank für deine Mühe. Ich habe heute versucht die neuester Version auf einem raspberry Pi zu installieren, bekomme aber leider eine Fehlermeldung. Bin jetzt nur mit dem Handy unterwegs. Werde dir nachher noch mal die Fehlermeldung ergänzen.

      Kommentar


        #4
        Zitat von Smurf Beitrag anzeigen
        Und nun: her mit den Fehlerberichten!
        Gerne. Ich widme mich erst mal dem Kompilieren.

        Positiv: bis auf diese Warnung sind alle anderen im make eliminiert:
        ft12.cpp:237:23: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]

        Negativ:
        • --prefix im configure Command wird nicht mehr berücksichtigt, endet fix in /usr/local
        • die Warnungen vom automake Befehl im bootstrap.sh sind immer noch da. Bsp: src/client/c/Makefile.am:5: warning: source file 'gen/getapdu.c' is in a subdirectory

        PS: dein Change im Master für "Tunnel: send our own endpoint addr to the client" endet in Error wenn --without-libstdc genutzt wird.

        Gruss, Othmar
        EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

        Kommentar


          #5
          Link: korrigiert.
          configure/--prefix Workaround: verwende zusätzlich --exec-prefix. (Ja, ich weiß dass das ein Bug ist.)
          automake: ich kenne mich mit Vielem aus, aber nicht damit :-P Patches welcome
          Error wenn --without-libstdc: Bitte genaue Fehlermeldung
          ft12.cpp: ist korrigiert
          DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

          Kommentar


            #6
            configure --prefix: ist korrigiert
            configure --without-lilbstdc: baut bei mir (Debian Jessie)
            automake: behoben
            DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

            Kommentar


              #7
              Sorry, war nicht meine Absicht dich nicht schlafen zu lassen. Tönt super. Ich prüfe gerne weiter, aber ich habe erst am Wochenende wieder Zeit.

              EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

              Kommentar


                #8
                Ich ziehe es heute abend mal durch meinen PI mit Jessie. Schnittstellen sind tpuart und eine ABB IP Schnittstelle.

                Kommentar


                  #9
                  Hi. Das Problem mit dem PI hat sich erledigt, es Compiler jetzt wieder ohne Probleme.

                  Kommentar


                    #10
                    Zitat von Smurf Beitrag anzeigen
                    configure --prefix: ist korrigiert
                    configure --without-lilbstdc: baut bei mir (Debian Jessie)
                    automake: behoben
                    Wollte erneut testen, aber deine neue Source scheint nicht committed. Oder mache ich was falsch mit "git clone https://github.com/knxd/knxd.git" und "git checkout multi_l2"?

                    zu --without-libstdc: du meinst du siehst das Problem im Master gar nicht? Oder im Branch multi_l2, wo ich den Fehler auch nicht sehe? Im Master bekomme ich:
                    Code:
                    In file included from common.h:82:0,
                                     from layer2.h:23,
                                     from layer3.h:23,
                                     from layer3.cpp:20:
                    layer3.cpp: In member function ‘bool Layer3::registerIndividualCallBack(L_Data_CallBack*, Individual_Lock, eibaddr_t, eibaddr_t)’:
                    layer3.cpp:344:100: error: ‘class String’ has no member named ‘c_str’
                       TRACEPRINTF (t, 3, this, "registerIndividual %08X %d from %s to %s", c, lock, FormatEIBAddr(src).c_str(), FormatEIBAddr(dest).c_str());

                    EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                    Kommentar


                      #11
                      c_str():
                      Im multi_l2-Zweig gibt es die Funktion gar nicht mehr, kein Wunder dass der Fehler da nicht erscheint. ;-)
                      Im master … nachguck Upps, meine Schuld, kommt davon wenn man auf mehreren Rechnern arbeitet.
                      Behoben; aktuelle git-Version ist 519d1b1 aktuell 1984d9b (master)
                      Zuletzt geändert von Smurf; 30.05.2015, 12:42.
                      DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                      Kommentar


                        #12
                        Zitat von Smurf Beitrag anzeigen
                        aktuelle git-Version ist 519d1b1 aktuell 1984d9b (master)
                        Bin etwas verwirrt bezüglich der Version. Ich sehe aktuell dies:
                        Master: e23ab140decf07b42169180a874078bf69962c3c (12 days ago)
                        multi_l2: fe940fc1eb967a71eab41a8b1614da2a6af5b27e (2 days ago)
                        Deine erwähnte Version kann ich auf https://github.com/knxd/knxd nicht sehen.
                        EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                        Kommentar


                          #13
                          Jetzt schon. Tippfehler in der .git/config meinerseits. seufz
                          DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                          Kommentar


                            #14
                            OK, es geht weiter:
                            Könntest du bitte den Fix für m4/paths.m4 auch in den Master bringen. Wenn ich den Master damit kompiliere läuft alles sauber durch und knxd läuft auch problemlos damit. Mir gefällt, dass nun für Master bis auf jene in ft12.cpp alle Warnings behoben sind.

                            Schön dass im Branch multi_l2 sämtliche Warnings behoben sind, auch jene vom bootstrap.sh! Saubere Leistung. Allerdings gibt es ein entscheidendes Problem: knxd lässt ich nicht mehr starten, ich kriege ein Segmentation fault. Leider bin ich bei der Analyse nicht sehr bewandert.
                            EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                            Kommentar


                              #15
                              Segfault: mit welchen Optionen startest du den knxd?
                              Mach folgendes:
                              Code:
                              $ gdb /pfad/zu/knxd
                              gdb> r [welche Optionen auch immer]
                              [Crash]
                              gdb> where
                              m4: behoben in 960a73a
                              Zuletzt geändert von Smurf; 31.05.2015, 00:16.
                              DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                              Kommentar

                              Lädt...
                              X