Ankündigung

Einklappen
Keine Ankündigung bisher.

knxd USB Konfiguration - wie komme ich an die HID unter Linux?

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

    knxd USB Konfiguration - wie komme ich an die HID unter Linux?

    Hallo zäme

    Vermutlich stehe ich komplett auf dem Schlauch, da meine Linux/USB Kenntnisse nicht ausreichen.
    Um knxd mit einem USB aufzurufen, bedarf es nach meinem Wissensstand folgender Parameter:

    -DTRS -b usb:

    Hinter usb: folgt dann eine HID Adresse (z.B. 1:4:1:0:0). Wie finde ich diese Adresse zu meinem USB Device? Im lsusb habe ich keinen Eintrag gefunden.
    Wer kann mir hier bitte helfen?

    LG Michi

    lsusb ergibt:

    Bus 002 Device 006: ID 135e:0025

    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 1.10
    bDeviceClass 0 (Defined at Interface level)
    bDeviceSubClass 0
    bDeviceProtocol 0
    bMaxPacketSize0 8
    idVendor 0x135e
    idProduct 0x0025
    bcdDevice 1.01
    iManufacturer 1 Hager Electro
    iProduct 2 KNX-USB Data Interface
    iSerial 0
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 41
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0x80
    (Bus Powered)
    MaxPower 50mA
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 2
    bInterfaceClass 3 Human Interface Device
    bInterfaceSubClass 0 No Subclass
    bInterfaceProtocol 0 None
    iInterface 0
    HID Device Descriptor:
    bLength 9
    bDescriptorType 33
    bcdHID 1.01
    bCountryCode 0 Not supported
    bNumDescriptors 1
    bDescriptorType 34 Report
    wDescriptorLength 56
    Report Descriptors:
    ** UNAVAILABLE **
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x81 EP 1 IN
    bmAttributes 3
    Transfer Type Interrupt
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0040 1x 64 bytes
    bInterval 2
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0x02 EP 2 OUT
    bmAttributes 3
    Transfer Type Interrupt
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0x0040 1x 64 bytes
    bInterval
    Device Status: 0x0000


    #2
    Hoi zäme

    Schön, wenn man sich die Fragen selbst beantworten kann.
    usb:[bus[:device[:config[:interface]]]]

    LG Michi

    Kommentar


      #3
      Die Adresse brauchst du im Normalfall (d.h. wenn du nur ein USB-Interface hast) gar nicht, die findet der knxd selber.
      DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

      Kommentar


        #4
        Mein Linux PC hat leider ehr USB Anschlüsse :-)

        Irgendwie will der knxd bei mir nich starten. Jammert immer, dass die Ressource temporär nich verfügbar sei.

        Mir ist immer noch nicht klar, welche Werte ich für die Adresse nehmen muss:
        Bus und device ist klar.
        Für Config dann bConfig und für Konfiguration dann bConfigurationValue?

        Wenn jemand sonst koch Tipps hat: gerne. Ich lasse den knxd erst mal unter root laufen, um möglich Probleme mit Zugriffsrechten zu vermeiden.

        Grüsse Michi

        Kommentar


          #5
          Hallo

          Es Klappt wohl mit usb:2:7 ==> danach habe ich im Debug Mode gesehen, dass es wohl connectet.
          Jetzt bekomme ich aber andere lustige Fehlermeldungen:

          knxd -e 0.0.1 -E 0.0.2:10 -t1023 -b usb:2:7:1:0:0

          knxd: Layer 1 [ 2:usb:2:7:1:0:0 0.001] Detect

          knxd: Layer 1 [ 2:usb:2:7:1:0:0 0.001] Using 2:7:1:0:0 (2:129)

          knxd: Layer 1 [ 2:usb:2:7:1:0:0 0.001] Open

          knxd: Layer 1 [ 2:usb:2:7:1:0:0 0.002] Claimed

          knxd: Layer 1 [ 2:usb:2:7:1:0:0 0.002] Opened

          knxd: Layer 0 [ 2:usb:2:7:1:0:0 0.002] StartRecv

          knxd: Layer 1 [ 2:usb:2:7:1:0:0 0.002] Send(064): 01 13 09 00 08 00 01 0F 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

          knxd: Layer 0 [ 2:usb:2:7:1:0:0 0.002] Send(064): 01 13 09 00 08 00 01 0F 01 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

          knxd: Layer 0 [ 2:usb:2:7:1:0:0 0.002] StartSend

          knxd: Layer 0 [ 2:usb:2:7:1:0:0 0.002] SendComplete 64

          knxd: Layer 0 [ 2:usb:2:7:1:0:0 0.005] RecvComplete 64

          knxd: Layer 1 [ 2:usb:2:7:1:0:0 0.005] RecvUSB(064): 01 13 0B 00 08 00 03 0F 02 00 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

          knxd: Layer 0 [ 2:usb:2:7:1:0:0 0.006] StartRecv

          knxd: Layer 1 [ 2:usb:2:7:1:0:0 0.006] Send(064): 01 13 0A 00 08 00 02 0F 03 00 00 05 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

          knxd: Layer 1 [ 2:usb:2:7:1:0:0 0.006] EMI1

          knxd: Layer 2 [ 2:usb:2:7:1:0:0 0.006] Open

          knxd: Layer 2 [ 2:usb:2:7:1:0:0 0.006] Opened

          knxd: Layer 3 [ 3:layer3 0.006] Open

          knxd: Layer 3 [ 3:layer3 0.006] L3 started

          knxd: Layer 3 [ 3:layer3 0.006] registerLayer2 2:usb:2:7:1:0:0

          knxd: Layer 2 [ 2:usb:2:7:1:0:0 0.006] OpenL2

          knxd: Layer 0 [ 2:usb:2:7:1:0:0 0.006] Send-EMI(005): 46 01 00 60 12

          knxd: Layer 1 [ 2:usb:2:7:1:0:0 0.006] Send(064): 01 13 0D 00 08 00 05 01 01 00 00 46 01 00 60 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

          knxd: Layer 3 [ 3:layer3 0.006] registerLayer2 2:usb:2:7:1:0:0 = 1

          I only have one interface. Nothing to do. Giving up.: Resource temporarily unavailable

          Sachdienliche Hinweise zur Lösung sehr gewünscht.
          Danke schon mal für die Hilfe.

          Grüsse Michi

          Kommentar


            #6
            Sodele, ich habe jetzt alles gestartet mit
            sudo knxd -e 0.0.1 -E 0.0.2:10 -t1023 -u /tmp/knxd -b usb:2:7:1:0:0

            Das erzeugt zumindest keine Fehlermeldungen mehr.
            habe dann mit dem knxtool vbusmonitor1 local:/tmp/knxd aufgerufen und gehofft, dass ich jetzt den Traffic auf meinem KNX Bus sehe. Sehe ich aber nicht.
            Frage: Wie kann ich einfach testen, ob die Verbindung jetzt klappt?

            Danke schon mal für die Hilfe,

            Grüsse Michi

            Kommentar


              #7
              Frage: Wie kann ich einfach testen, ob die Verbindung jetzt klappt?
              Ganz einfach: du siehst im vbusmonitor keine Daten. Folglich klappt die Verbindung nicht.

              Parke mal das Log, das der knxd mit dem obigen Befehl und ein paar KNX-Tastenbetätigungen generiert, in einem Pastebin.
              DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

              Kommentar


                #8
                Mein Linux PC hat leider ehr USB Anschlüsse :-)
                Ja, natürlich. Ich meinte auch eher USB/KNX-Anschlüsse. Davon hat Otto Normaluser höchstens eines, und dieses eine sollte der knxd gefälligst selber finden.

                Wenn nicht, mach mir bitte einen Bug auf.
                DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                Kommentar


                  #9
                  Ah, gut zu wissen. Der Connect scheint auch ohne Parameter zu gehen.
                  Also, ich habe jetzt folgendes gemacht: knxd gestartet, dann knxtool Monitor angeworfen, ein paarmal auf die KNX Schalter gedrückt (keine Reaktion) und dann alles wieder runter gefahren.

                  Es sieht so so aus, als ob beim USB gar nichts ankommt. Zur Info: Ich habe eine Domovea Installation und kein ETS im Hause.

                  Angehängt noch das Logfile knxd.txt

                  Grüsse Michi

                  Kommentar


                    #10
                    Jau, sieht danach aus. Aktuell habe ich ehrlich gesagt keine Ahnung woran das liegen könnte. Normal ist das nicht (unnötig zu sagen (hoffe ich)).

                    Was genau ist das für ein Adapter?
                    DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                    Kommentar


                      #11
                      Es ist ein Hager TH101.
                      Hager KNX-USB Data Interface Vendor ID 135E Product ID 0025
                      Der Techniker, der die Erstinstallation gemacht hatte, hatte auch über den USB Port eine ETS Programmierung gemacht. Daher gehe ich davon aus, dass es prinzipiell tut. Ich werde mal den Bus Anschluss checken. Ggf. ist ein Kabel ab...

                      Ich habe jetzt auch mal den DEMON angeworfen. Habe hier die Fehlermeldung bekommen, dass das Device nicht initialisiert werden kann.
                      Das liegt wohl daran, dass der knxd User noch keine Berechtigung hat.

                      Mein Linux know-how geht leider nicht so weit, dass ich mir das Vorgehen herleiten kann. Es muss aber wohl so ähnlich sein wie bei Rasberry Pi.
                      Falls Du hier einen guten Tipp oder Link auf ein Tutorial hast, würde mir das helfen.

                      Grüsse Michi

                      Kommentar


                        #12
                        Hab nochmal alle Kabel gecheckt. Müsste eigentlich gehen - geht aber nicht

                        Kommentar


                          #13
                          Habe versucht die Berechtigungen beim Starten mit sudo /etc/init.d/knxd start zu setzen.

                          Habe hierzu einen Datei angelegt: /etc/udev/rules.d/70-knxd.rules
                          mit folgendem Eintrag:
                          Code:
                          ACTION=="add", ATTRS{idVendor}=="0x135e", ATTRS{idProduct}=="0x0025", OWNER="knxd"
                          hat leider nichts gebracht. Bekomme die Fehlermeldung: initialisation of backend 'usb:' failed: Permission denied

                          Hat jemand eine Idee, wie ich das fixen kann?

                          Grüsse Michi

                          Kommentar


                            #14
                            Du könntest als Erstes die "0x"e weglassen. Die gehören da nicht hin.
                            DistKV, Home Assistant, 1wire, KNX, Python, Asterisk, SMD-Lötkolben

                            Kommentar


                              #15
                              Danke für die Antwort. Schon probiert.
                              Danach

                              sudo udevadm control--reload-rules

                              auch ein reboot hat nichts gebracht. Wundert auch nicht :-)

                              Muss ich noch etwas machen?

                              Bezüglich der Anbindung: Ich verwende ein frisches Debian Linux. Braucht es ggf. noch weitere Kernel Unterstützung?

                              Kommentar

                              Lädt...
                              X