AnkĂĽndigung

Einklappen
Keine AnkĂĽndigung bisher.

fwupdate per KnxFileTransferClient tut nicht

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

    #31
    Hallo,

    ich scheitere mal wieder am FW-Update via KNXfiletransfer
    Code:
    PS C:\Users\hendr\Downloads\RaumController-Release-5.4.3\Firmware\OpenKNX-UP1-PM-HF> .\KNX-Upload-Firmware.ps1
    
    Open â– 
    ┬────┴  KnxFileTransferClient
    â–  KNX
    
    Version Client:        0.2.9
    Version Client.Lib:    0.1.7
    Version Kaenx.Konnect: 2.0.1
    Werte in Klammern sind default
    Bei leerer Eingabe wird default ĂĽbernommen
    PA des Geräts: (1.0.34):​
    Wenn ich jetzt die PA eingebe wird das, was ich tippe nicht angezeigt.
    DrĂĽcke ich mehrmals enter:
    Code:
    Bei leerer Eingabe wird default ĂĽbernommen
    PA des Geräts: (1.0.34): Es wurden 0 Gateways gefunden
    Error [17.05.2026 13:11:28]: Keine verbindung gefunden
    ProcessExit - Verbindung wird geschlossen...
    Drücken Sie eine beliebige Taste, um den Vorgang fortzusetzen...​

    Also versuche ich es manuell

    Code:
    PS C:\Users\hendr\Downloads\RaumController-Release-5.4.3\Firmware\OpenKNX-UP1-PM-HF> ~/bin/KnxFileTransferClient.exe fwupdate --gw 192.168.177.9 --pa 1.0.49 --verbose --interactive firmware-OpenKNX-UP1-PM-HF.uf2
    
    Open â– 
    ┬────┴  KnxFileTransferClient
    â–  KNX
    
    Version Client:        0.2.9
    Version Client.Lib:    0.1.7
    Version Kaenx.Konnect: 2.0.1
    Werte in Klammern sind default
    Bei leerer Eingabe wird default ĂĽbernommen
    PA des Geräts: (1.0.49): (Auto|Search|Tunneling|Routing)
    Verbindungstyp (search): Es wurden 0 Gateways gefunden
    Error [17.05.2026 13:14:36]: Keine verbindung gefunden
       at KnxFileTransferClient.Arguments.Init(String[] args, Boolean isOpen)
       at KnxFileTransferClient.Program.Main(String[] args)
    ProcessExit - Verbindung wird geschlossen...
    PS C:\Users\hendr\Downloads\RaumController-Release-5.4.3\Firmware\OpenKNX-UP1-PM-HF> uto​
    ich habe "Auto" getippt und nach dem "A" ging es schon weiter und das "uto" ist wieder in der Shell gelandet.

    Ich verstehe nicht, warum mein IP Gateway (Weinzierl 732) nicht gefunden wird.
    Auch ein --tcp hilft nicht.

    Was mache ich falsch?

    GruĂź,
    Hendrik

    Kommentar


      #32
      Also bei "Auto" wird immer per Multicast nach Geräten gefragt. Für so etwas muss dann natürlich auch Multicast funktionieren. Man muss auch im gleichen Netzwerk sein. Keine VLANs oder virtuelle Netzwerke von einer VM oder so.
      OpenKNX www.openknx.de | OpenKNX-Wiki (Beta)

      Kommentar


        #33
        Hallo,

        ja, ich bin im gleichen Netzwerk.
        Ah, moment... irgendwie war eine Wireguard Verbindung nachhause (ich bin zuhause :-) aktiv.
        Jetzt werden zwei Verbindungen gefunden.

        Aber dennoch:
        Code:
        PS C:\Users\hendr\Downloads\RaumController-Release-5.4.3\Firmware\OpenKNX-UP1-PM-HF> ~/bin/KnxFileTransferClient.exe fwupdate --gw 192.168.177.9 --pa 1.0.49 --verbose --tcp firmware-OpenKNX-UP1-PM-HF.uf2
        
        Open â– 
        ┬────┴  KnxFileTransferClient
        â–  KNX
        
        Version Client:        0.2.9
        Version Client.Lib:    0.1.7
        Version Kaenx.Konnect: 2.0.1
        Werte in Klammern sind default
        Bei leerer Eingabe wird default ĂĽbernommen
        (Auto|Search|Tunneling|Routing)
        Verbindungstyp (search):  1 Tunneling v2 [UDP] -> 192.168.177.9:3671   (01.00.077) [KNX IP Interface 732 secure]
         2 Tunneling v2 [TCP] -> 192.168.177.9:3671   (01.00.077) [KNX IP Interface 732 secure]
        Es wurden 2 Gateways gefunden
        Gateway Auswählen (Index): Gateway Auswählen (Index): Gateway Auswählen (Index): Gateway Auswählen (Index): Gateway Auswählen (Index): Gateway Auswählen (Index): Gateway Auswählen (Index): Die Verbindung funktioniert möglicherweise nicht, da die Linien unterschiedlich sind.
        
        IP-Adresse: 192.168.177.9 [TCP]
        IP-Port:    3671
        PA:         01.00.049
        
        Info:  Verbindung zum Bus hergestellt
        Info:  PA der Schnittstelle ist 01.00.252
        Info:  Verbindung zum KNX-Gerät 1.0.49 hergestellt
        Info:  Package:          128
        Info:  Gerät MaxAPDU:    254
        Info:  Verwende MaxAPDU: 254
        Info:  Verwende Package: 128
        Version Remote:     0.1.0
        Info:  Die Firmware wird komprimiert ĂĽbertragen!
        Version UF2:    0xA012 5.4.3
        Version Device: 0xA012 4.2.5
        File:       Passe Firmware fĂĽr Ăśbertragung an...
        Size:       667205 Bytes        (651 kB) original
        Size:       443416 Bytes        (433 kB) komprimiert
        
        
        Info:  Keine Wiederaufnahme
        overhead: 6, payload: 122
        Info:  Dateigröße: 443416 bytes
        Error (01) [17.05.2026 13:30:07]: TunnelingConfirmation timed out #XX:7
           at Kaenx.Konnect.Connections.Protocols.TunnelingProtocol.WaitForConfirmation(Int32 sequenceCounter, Nullable`1 timeout)
           at Kaenx.Konnect.Connections.Protocols.TunnelingProtocol.SendAsync(LDataBase message)
           at Kaenx.Konnect.Connections.IpKnxConnection.SendAsync(LDataBase message)
           at Kaenx.Konnect.Classes.BusDevice.WaitForData[T](IDataMessage message, Byte sequenceNumber)
           at Kaenx.Konnect.Classes.BusDevice.InvokeFunctionProperty(UInt32 objIdx, UInt32 propId, Byte[] data)
           at KnxFileTransferClient.Lib.FileTransferClient.FileUpload(String path, Stream stream, Int32 length, Int16 start_sequence, Boolean force)
        Info:  Warte 3s...
        Error (02) [17.05.2026 13:30:13]: TunnelingConfirmation timed out #XX:8
           at Kaenx.Konnect.Connections.Protocols.TunnelingProtocol.WaitForConfirmation(Int32 sequenceCounter, Nullable`1 timeout)
           at Kaenx.Konnect.Connections.Protocols.TunnelingProtocol.SendAsync(LDataBase message)
           at Kaenx.Konnect.Connections.IpKnxConnection.SendAsync(LDataBase message)
           at Kaenx.Konnect.Classes.BusDevice.WaitForData[T](IDataMessage message, Byte sequenceNumber)
           at Kaenx.Konnect.Classes.BusDevice.InvokeFunctionProperty(UInt32 objIdx, UInt32 propId, Byte[] data)
           at KnxFileTransferClient.Lib.FileTransferClient.FileUpload(String path, Stream stream, Int32 length, Int16 start_sequence, Boolean force)
        Info:  Warte 3s...
        Error (03) [17.05.2026 13:30:19]: TunnelingConfirmation timed out #XX:9
           at Kaenx.Konnect.Connections.Protocols.TunnelingProtocol.WaitForConfirmation(Int32 sequenceCounter, Nullable`1 timeout)
           at Kaenx.Konnect.Connections.Protocols.TunnelingProtocol.SendAsync(LDataBase message)
           at Kaenx.Konnect.Connections.IpKnxConnection.SendAsync(LDataBase message)
           at Kaenx.Konnect.Classes.BusDevice.WaitForData[T](IDataMessage message, Byte sequenceNumber)
           at Kaenx.Konnect.Classes.BusDevice.InvokeFunctionProperty(UInt32 objIdx, UInt32 propId, Byte[] data)
           at KnxFileTransferClient.Lib.FileTransferClient.FileUpload(String path, Stream stream, Int32 length, Int16 start_sequence, Boolean force)
        Info:  Warte 3s...
        Error (04) [17.05.2026 13:30:25]: TunnelingConfirmation timed out #XX:10
           at Kaenx.Konnect.Connections.Protocols.TunnelingProtocol.WaitForConfirmation(Int32 sequenceCounter, Nullable`1 timeout)
           at Kaenx.Konnect.Connections.Protocols.TunnelingProtocol.SendAsync(LDataBase message)
           at Kaenx.Konnect.Connections.IpKnxConnection.SendAsync(LDataBase message)
           at Kaenx.Konnect.Classes.BusDevice.WaitForData[T](IDataMessage message, Byte sequenceNumber)
           at Kaenx.Konnect.Classes.BusDevice.InvokeFunctionProperty(UInt32 objIdx, UInt32 propId, Byte[] data)
           at KnxFileTransferClient.Lib.FileTransferClient.FileUpload(String path, Stream stream, Int32 length, Int16 start_sequence, Boolean force)
        Error [17.05.2026 13:30:25]: To many errors
           at KnxFileTransferClient.Lib.FileTransferClient.FileUpload(String path, Stream stream, Int32 length, Int16 start_sequence, Boolean force)
           at KnxFileTransferClient.Program.update(Arguments args, FileTransferClient client)
        Upload fehlgeschlagen. Breche Update ab
        ProcessExit - Verbindung wird geschlossen...
        PS C:\Users\hendr\Downloads\RaumController-Release-5.4.3\Firmware\OpenKNX-UP1-PM-HF>​
        Und dass man nicht tippen kann... Bin ich da der einzige mit dem Problem? Es ist auch nicht so, dass das getippte nur nicht angezeigt wird. Es wirt auch of auf das getippte nicht reagiert.

        GruĂź,
        Hendrik

        Code:
        PS C:\Users\hendr\Downloads\RaumController-Release-5.4.3\Firmware\OpenKNX-UP1-PM-HF> ping 192.168.177.9
        
        Ping wird ausgefĂĽhrt fĂĽr 192.168.177.9 mit 32 Bytes Daten:
        Antwort von 192.168.177.9: Bytes=32 Zeit=10ms TTL=16
        Antwort von 192.168.177.9: Bytes=32 Zeit=3ms TTL=16
        
        Ping-Statistik fĂĽr 192.168.177.9:
            Pakete: Gesendet = 2, Empfangen = 2, Verloren = 0
            (0% Verlust),
        Ca. Zeitangaben in Millisek.:
            Minimum = 3ms, Maximum = 10ms, Mittelwert = 6ms
        STRG-C
        PS C:\Users\hendr\Downloads\RaumController-Release-5.4.3\Firmware\OpenKNX-UP1-PM-HF> tracert 192.168.177.9
        
        Routenverfolgung zu KNX-IP-Interface-732-secure.fritz.box [192.168.177.9]
        ĂĽber maximal 30 Hops:
        
          1     4 ms     7 ms    22 ms  KNX-IP-Interface-732-secure.fritz.box [192.168.177.9]
        
        Ablaufverfolgung beendet.
        PS C:\Users\hendr\Downloads\RaumController-Release-5.4.3\Firmware\OpenKNX-UP1-PM-HF>​

        Kommentar


          #34
          Ok, so läuft der Transfer jetzt:
          Code:
          ~/bin/KnxFileTransferClient.exe fwupdate --gw 192.168.177.9 --pa 1.0.49 --connect 2 --port 3671 --pkg 50 firmware-OpenKNX-UP1-PM-HF.uf2
          ​
          Ok, das mit der VPN Verbindung war komisch und mein Fehler. Aber ich finde es insgesammt immernoch recht sperrig den KknxFileTransferClient zu benutzen.
          Wenn ich Feedback geben darf:
          • Vorherige Einstellungen sollten beibehalten werden
          • Bei den PS Dateien sollte man die optionalen Parameter anhängen können
          • Bei Timeout Fehlern wie oben sollte ein Vorschlag kommen, die pkg zu reduzieren

          Das wĂĽrde sehr helfen, finde ich.

          GruĂź,
          Hendrik

          Kommentar


            #35
            1. du kannst Einstellungen speichern. Ansonsten werden die letzten Einstellungen die defaults.
            2. Die Skripte sind extra so, dass man sie einfach verwenden kann und bei dem GroĂźteil funktioniert. Wenn du etwas in deinem Netzwerk anders brauchst, kannst du das Upload skript ja anpassen, oder ein eigenes erstellen im ~/bin
            3. Das wird mit den Änderungen von Waldemar in Zukunft nicht mehr nötig sein, da wird die MaxAPDU auf der gesamten Strecke korrekt berechnet.

            Zitat von henfri Beitrag anzeigen
            Und dass man nicht tippen kann... Bin ich da der einzige mit dem Problem? Es ist auch nicht so, dass das getippte nur nicht angezeigt wird. Es wirt auch of auf das getippte nicht reagiert.
            Das verstehe ich nicht.
            OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

            Kommentar


              #36
              Hallo,

              (1) ah, das ist gut. Danke. PKG wird allerdings nicht gespeichert.
              (2) Das upload-Skript ist komplex und verweist auf ein zweites Skript. Vielleicht bin ich ja einer der Wenigen, bei denen das nicht OOTB funktioniert. Aber warum nicht einfach die Parameter "durchreichen"?

              Zum Tippen:
              Wenn eine Frage (z.B. PA, Index des GW) kommt, dann kann ich wohl tippen, aber es erscheint das getippte nicht an der Kommandozeile.
              Es ist auch nicht nur so, dass nix erscheint, wenn ich tippe. Wenn ich Enter drĂĽcke, werde ich erneut nach der PA gefragt (3x)
              Auf Enter wird reagiert.

              Ah, ich habe rausgefunden: Wenn ich ein CMD.exe öffne und *daraus* die PS öffne, dann habe ich dieses Verhalten.
              Ă–ffne ich die PS direkt, so funktioniert das Tippen wie erwartet. Kann das jemand nachvollziehen?

              GruĂź,
              Hendrik
              Zuletzt geändert von henfri; 17.05.2026, 13:15.

              Kommentar


                #37
                Hm, ich schaffe allerdings kein Update (hat zuvor schonmal funktioniert...)
                Code:
                PS C:\Users\hendr\Downloads\RaumController-Release-5.4.3\Firmware\OpenKNX-UP1-PM-HF> ~/bin/KnxFileTransferClient.exe fwupdate --gw 192.168.177.9 --pa 1.0.49 --connect 2 --port 3671 --pkg 40 firmware-OpenKNX-UP1-PM-HF.uf2
                
                Open â– 
                ┬────┴  KnxFileTransferClient
                â–  KNX
                
                Version Client:        0.2.9
                Version Client.Lib:    0.1.7
                Version Kaenx.Konnect: 2.0.1
                Werte in Klammern sind default
                Bei leerer Eingabe wird default ĂĽbernommen
                
                IP-Adresse: 192.168.177.9 [UDP]
                IP-Port:    3671
                PA:         01.00.049
                
                Info:  Verbindung zum Bus hergestellt
                Info:  PA der Schnittstelle ist 01.00.251
                Info:  Verbindung zum KNX-Gerät 1.0.49 hergestellt
                Info:  Package:          40
                Info:  Gerät MaxAPDU:    254
                Info:  Verwende MaxAPDU: 254
                Info:  Verwende Package: 40
                Version Remote:     0.1.0
                Info:  Die Firmware wird komprimiert ĂĽbertragen!
                Version UF2:    0xA012 5.4.3
                Version Device: 0xA012 4.2.5
                File:       Passe Firmware fĂĽr Ăśbertragung an...
                Size:       667205 Bytes        (651 kB) original
                Size:       443416 Bytes        (433 kB) komprimiert
                
                
                Info:  Keine Wiederaufnahme
                overhead: 6, payload: 34
                Info:  Dateigröße: 443416 bytes
                Progress: [                    ]   2% - 197 B/s - 36m:43s left
                Error (01) [17.05.2026 13:46:12]: Falsche Sequenz (Req: 0112 / Res: 0111)
                Info:  Warte 3s...
                Progress: [                    ]   2% - 205 B/s - 35m:00s left
                Error (02) [17.05.2026 13:46:32]: Falsche Sequenz (Req: 0177 / Res: 0176)
                Info:  Warte 3s...
                Progress: [                    ]   3% - 201 B/s - 35m:25s left
                Error (03) [17.05.2026 13:46:52]: Falsche Sequenz (Req: 01DB / Res: 01DA)
                Info:  Warte 3s...
                Progress: [====                ]  20% - 206 B/s - 28m:24s left
                Error (04) [17.05.2026 13:53:12]: Falsche Sequenz (Req: 0A9C / Res: 0A9B)
                Info:  Warte 3s...
                Progress: [====                ]  23% - 187 B/s - 30m:25s left
                Error (05) [17.05.2026 13:54:43]: ZeitĂĽberschreitung beim Warten auf Antwort
                Progress: [====                ]  24% - 185 B/s - 30m:21s left
                Error (06) [17.05.2026 13:55:22]: ZeitĂĽberschreitung beim Warten auf Antwort
                Progress: [=====               ]  28% - 181 B/s - 29m:00s left
                Error (07) [17.05.2026 13:58:03]: Falsche Sequenz (Req: 0EC2 / Res: 0EC1)
                Info:  Warte 3s...
                Progress: [======              ]  31% - 191 B/s - 26m:33s left
                Error (08) [17.05.2026 13:59:17]: ZeitĂĽberschreitung beim Warten auf Antwort
                Progress: [=======             ]  35% - 186 B/s - 25m:45s left
                Error (09) [17.05.2026 14:00:55]: TunnelingConfirmation timed out #XX:249
                Info:  Warte 3s...
                Error (10) [17.05.2026 14:01:01]: TunnelingConfirmation timed out #XX:250
                Info:  Warte 3s...
                Error (11) [17.05.2026 14:01:07]: TunnelingConfirmation timed out #XX:251
                Info:  Warte 3s...
                Error (12) [17.05.2026 14:01:13]: TunnelingConfirmation timed out #XX:252
                Error [17.05.2026 14:01:13]: To many errors
                Upload fehlgeschlagen. Breche Update ab
                Unhandled exception. Kaenx.Konnect.Exceptions.InterfaceException: TunnelingConfirmation timed out #XX:253
                   at Kaenx.Konnect.Connections.Protocols.TunnelingProtocol.WaitForConfirmation(Int32 sequenceCounter, Nullable`1 timeout)
                   at Kaenx.Konnect.Connections.Protocols.TunnelingProtocol.SendAsync(LDataBase message)
                   at Kaenx.Konnect.Connections.IpKnxConnection.SendAsync(LDataBase message)
                   at Kaenx.Konnect.Classes.BusDevice.Disconnect()
                   at KnxFileTransferClient.Program.Finish()
                   at KnxFileTransferClient.Program.Main(String[] args)
                   at KnxFileTransferClient.Program.<Main>(String[] args)​
                Habt ihr einen Tipp? PKG ist ja schon sehr gering.

                GruĂź,
                Hendrik

                Kommentar


                  #38
                  Zitat von henfri Beitrag anzeigen
                  Version Remote: 0.1.0
                  Deine Remote ist leider zu alt fĂĽr ein Resume (also fortsetzen der Ăśbertragung nach einem Abbruch)
                  Wenn du iwie gut dran kommst wäre ein Ausbau wahrscheinlich schneller.
                  OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

                  Kommentar


                    #39
                    Joa, hab ich so gemacht.
                    Eine nahe Verwandte guckt immer etwas komisch, wenn ich mit Laptop auf der Leiter stehe. Da werden Stereotype bestätigt...

                    Kommentar


                      #40
                      Der neue RaumController hat die Remote 0.1.5, mir der klappt die Übertragung, der kann auch Resume, also fortsetzen nach einem Abbruch. Wir testen gerade einen FileTransferClient, der die APDU selber rausfindet. PKG kann nicht größer werden als die APDU.
                      Du kannst in Deinem ~/bin/- Verzeichnis ein eigenes FileTransferClient.ps1 Skript erstellen, dass die Parameter enthält, die Du setzen möchtest. Wenn es das gibt, wir es vom Setup-Skript aufgerufen.
                      Es gibt immer so viele tolle Wünsche, was man alles noch implementieren kann. Aber die Zeit ist beschränkt... Ich stelle lieber die Möglichkeiten bereit, dass sich jeder selber seine Umgebung gestaltet.

                      GruĂź, Waldemar
                      OpenKNX www.openknx.de

                      Kommentar

                      Lädt...
                      X