Diverse Probleme und Lösungen für aktuellen Loxberry

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Jan W.
    Lox Guru
    • 30.08.2015
    • 1271

    Diverse Probleme und Lösungen für aktuellen Loxberry

    Ich habe mir einen neuen Orange PI zero 3 besorgt, um via Loxberry mit BLE meinen Tesla in Loxone einbinden zu können. Bei der Entwicklung des Plugins habe ich den Loxberry intensiv genutzt und möchte meine Erfahrungen teilen.

    Den Loxberry habe ich neu mit dem passenden Image "DietPi_OrangePiZero3-ARMv8-Bookworm.img.xz" installiert - DietPi v9.7.1, Orange Pi Zero 3 (aarch64), Kernel 6.6.31-current-sunxi64 mit Loxberry Version v3.0.1.2.

    1. Das Verzeichnis /lib/firmware/uwe5622 fehlte nach der Installation der Loxberry Software (wget .../Loxberry_Installer/main/install.sh ...). Das Verzeichnis ist bei dem verwendeten Orange PI zero 3 für den Bluetooth Treiber erforderlich. Ich habe das DietPI Image daraufhin neu installiert, das Verzeichnis gesichert und nach der Installation des Loxberry Skriptes wieder hergestellt.

    2. Mosquitto MQTT Broker: der Dienst lief, aber im Skript (/lib/systemd/system/mosquitto.service) werden Leserechte nur für den User "mosquitto" vergeben. Das ist wahrscheinlich der Grund, dass in der GUI im Loxberry im Menü "MQTT - Log Files" die Logs nicht angezeigt werden können und fehlten. Ich habe dann Rechte auf Linux CLI geändert, allerdings erhalte ich noch immer eine Fehlermeldung mit dem Befehl journalctl -u mosquitto.service (als root):
    Oct 14 00:17:17 loxberry systemd[1]: Starting mosquitto.service - Mosquitto MQTT Broker...
    Oct 14 00:17:18 loxberry mosquitto[870]: 1728857838: Loading config file /etc/mosquitto/conf.d/mosq_mqttgateway.conf
    Oct 14 00:17:18 loxberry mosquitto[870]: 2024-10-14T00:17:18: Error: Unable to open log file /var/log/mosquitto/mosquitto.log for writing.
    Oct 14 00:17:19 loxberry systemd[1]: Started mosquitto.service - Mosquitto MQTT Broker.
    Der Dienst läuft wohl mit dem User "mosquitto" und es gibt einen link vom o.a. Verzeichnis auf /opt/loxberry/log/system_tmpfs/mosquitto.log.

    3. Mosquitto MQTT Broker: nachdem ich in der GUI in den Basic Settings (MQTT Basics) die Einstellung "Use custom ..." gewählt hatte, fehlte plötzlich der "localhost". Wahrscheinlich fehlte der localhost Eintrag schon vorher, aber es wurde ein anderer Wert im Loxberry im Default hinterlegt (z.B. IP-Adresse ?). Ich meine, dass ein Ändern in "Use and automatically ..." das Problem nicht mehr gelöst hat, aber da bin ich mir nicht mehr sicher. Ich bekam Fehlermeldungen in meinem Plugin, weil kein MQTT Connect mehr funktionierte und vermutete zunächst ein Problem mit dem Kennwort, allerdings stellte sich heraus, dass der Loxberry den "localhost" nicht kannte. Ein manueller Eintrag "127.0.0.1 localhost" in der /etc/hosts hat das Problem behoben, aber es hat länger gedauert, bis ich die Ursache fand. Ein "ping localhost" auf der Linux CLI zeigte mir am Ende die Ursache.

    4. MQTT: Im Menü "MQTT Gateway - Incoming Overview" wurden alle Elemente als "not send yet (cached)" angezeigt, obwohl Werte bereits im MS angekommen waren. Ursache ist wohl, dass das 'switch / case Statement' in /opt/loxberry/templates/system/mqtt-gateway.html nicht richtig lief, weil der Wert der Variable [I]toMSarr.code als String ankam, aber in den case-Statements nur Werte abgefragt wurden und daher immer der Default ausgewählt wurde. Die folgenden Befehle (mit der hinzugefügten Variablen toMScode) ab Zeile 584 haben das korrigiert:
    Code:
    var toMShighest = 0;
    var toMScode = 0;
    
    if( typeof resp.http[topic].toMS != 'undefined' && typeof resp.http[topic].regexfilterline == 'undefined' && typeof resp.doNotForward[topic] == 'undefined' ) {
      toMSarr = resp.http[topic].toMS;
      var httpSubmitAdvTabInfRow = "";
      for( i in toMSarr ) {
      // console.log( topic, i, toMSarr[i].code );
      if( isNaN(toMSarr[i].code) )
        toMScode = 0;
      else
        toMScode = parseInt(toMSarr[i].code);
      if( toMScode > toMShighest )
        toMShighest = toMScode;
      switch( toMScode ) {
        case 404:
          httpSubmitIcon = 'icon-notfound.png'; httpSubmitText = 'MS'+i+': HTTP 404 Input not available';
          break;
        case 401:
    Vielleicht kann man das Problem auch anders lösen, aber seitdem werden alle Elemente richtig mit HTTP 200 oder 404 Antworten und den entsprechenden Symbolen bei mir angezeigt.

    5. Min Memory: Im Menü "Loxberry Services, Watchdog" werden per Default 10.000 Seiten als Free Memory mit dem Hinweis: Minimum free memory. Note that this is in pages (1 page = 4096 kB). So 10000 here is 40 MB. Das ist nicht richtig, denn 1 Seite sind 64KB, d.h. 640MB müssten per Default mindestens frei sein, da ansonsten ein Reload ausgelöst wird. Den Wert habe ich auf 1000, also 64MB reduziert, aber es sollte die Hilfe und der Default angepasst werden. Das von mir angeschaltete Log zeigte nähere Infos zur Größe einer Seite:
    2024-10-14T00:00:35.344900+02:00 loxberry watchdog[1077]: starting daemon (5.16):
    2024-10-14T00:00:35.345069+02:00 loxberry watchdog[1077]: int=10s realtime=yes sync=no load=80,60,40 soft=no
    2024-10-14T00:00:35.345196+02:00 loxberry watchdog[1077]: memory: minimum pages = 1000 free, 0 allocatable, max swap 0 (65536 byte pages)​
    Insgesamt noch einmal vielen Dank an alle Entwickler des Loxberrys! Ich nutze den jetzt seit einigen Jahren und konnte mit dem die Funktionalität des Miniservers erheblich erweitern! Da mich das Parsen von Inputs schon immer ziemlich umständlich und aufwändig fand, nutze ich MQTT immer stärker, um Werte vom Loxberry an meinen MS über virtuelle Eingänge bzw. Texteingänge weiterzugeben. Virtuelle HTTP Eingänge mit zugehörigen HTTP Eingangsbefehlen gehen auch, aber leider nicht für Texte. Dafür sind die einzelnen Elemente gruppiert.

    Am Rande noch meine Meinung zum Orange PI zero 3: den hatte ich als günstiges Device mit LAN-Schnittstelle und BLE v5.0 Interface mit Antenne ausgewählt, um einen eigenen dedizierten Loxberry zu haben, der in der Nähe des Autos installiert wurde. Über das von mir weiterentwickelte Loxberry Tesla Plugin kommuniziert der Loxberry mit meinem Tesla via BLE. Ich bin allerdings sehr enttäuscht von der Stabilität des Orange PI.

    Anfänglich hatte ich massive Probleme mit dem o.a. aktuellen Image vom DietPI die BLE Schnittstelle überhaupt zum Laufen zu bekommen, danach Probleme mit der BLE Bibliothek von Golang, die von der Software des Tesla SDK verwendet wird. Die BLE Bibliothek hat sich auf dem Orange PI anders verhalten, als auf einem Raspberry PI 3 mit BLE v4.2 Interface. Ob es am Treiber liegt oder der Hardware, das kann ich nicht sagen, aber der Hersteller scheint wenig / gar keinen Support für aktuelle Linux Distributionen zu liefern. Der OrangePI hängt sich des öfteren auf, so dass ich ihn jede Nacht neu starte. Trotzdem kommt es gelegentlich vor, dass sich das Webinterface mit Fehler 403 forbidden "aufhängt". SSH funktioniert dann ebenfalls nicht mehr.

    Beim Lesen diverser Berichte zu Raspi Alternativen hatte ich Probleme mit der Stabilität und Treibern nicht so richtig wahrgenommen. Bei gezielter Suche finden sich diverse Beiträge (z.B. im Armbian Forum), wo die fehlende Unterstützung der Hersteller für aktuelle Linux Distributionen bemängelt wird. Ein 'dirty-hack' Image einer alten Linux Version auf der Webseite des Herstellers und zugehörige Treiber helfen einem nicht weiter, wenn man eine aktuelle Linux Version wünscht. Vielleicht wechsle ich noch auf einen Raspi zero 2, auch wenn der kein LAN-Interface und keine externe WLAN/BLE Antenne hat?​
    Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
    Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
    Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
    Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
    Node-RED: IKEA Tradfri
  • Prof.Mobilux
    Supermoderator
    • 25.08.2015
    • 4639

    #2
    Danke für Deine Auflistung. Der Zero3 von OrangePi scheint sehr unterschiedlich zu den anderen getesteten Systemen zu sein. Nur nochmal als Hinweis, weil viele Deiner aufgelisteten Probleme nichts generell mit dem LoxBerry zu tun haben, sondern eher dem Zero3 und seinen Eigenheiten geschuldet ist. Das nur noch mal als Hinweis, damit es niemanden verwirrt.

    Firmware-Verzeichnis: Das Löschen ist glaube ich noch eine Altlast aus "Raspbian-Zeiten" - das muss ich mir anschauen. Das sollte nicht (mehr) passieren. https://github.com/mschlenstedt/Loxberry/issues/1491

    Page-Size: Die Pagesize von 4096 ist für alle Raspberry-Modelle korrekt. Das scheint auf dem Zero3 anders vom Kernel konfiguriert zu werden. Kann man mit "getconf PAGESIZE" auslesen.

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 5,3 KB ID: 444453

    Not-Send-Problem: Das ist bereits behoben, nur noch nicht ins offizielle Release gewandert.
    Zuletzt geändert von Prof.Mobilux; 21.10.2024, 06:23.
    🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


    LoxBerry - Beyond the Limits

    Kommentar

    • Noschvie
      LoxBus Spammer
      • 24.09.2018
      • 421

      #3
      Danke fürs Teilen deiner Erfahrungen, die doch auch mit viel Bemühen zustande gekommen sind.
      Nur als kleine Anmerkung: vielleicht kannst du den Titel ändern und die verwendete Hardware erwähnen, um mehr Klarheit zu schaffen.

      Kommentar

      • Jan W.
        Lox Guru
        • 30.08.2015
        • 1271

        #4
        Ich weiß leider nicht, wie ich den Titel als normaler User anpassen kann und habe eben keine Möglichkeit gefunden. Wie geht das?

        zum Punkt 5 (Min Memory): ich hatte kürzlich einen Raspi 4 neu installiert und kann den daher mit dem Orange PI vergleichen. Der Befehle 'getconf PAGESIZE' zeigt auf beiden Systemen 4096 an. Allerdings sehe ich auch im Log für den Watchdog auf dem RPI4 (wenn ich den Haken dafür setze):
        Code:
        2024-10-21T09:54:27.047015+02:00 loxberry watchdog[113878]: memory: minimum pages = 1000 free, 0 allocatable, max swap 0 (65536 byte pages)
        Watchdog ist zwar ein Standarddienst in Linux, aber die Doku im Internet war für mich nicht so aufschlussreich. In den manpages steht 4KB pages, in den Beispielen wird häufig min-memory=1 gesetzt, so dass ich es selbst verifiziert habe.

        Dafür habe ich in /lib/systemd/system/watchdog.service die beiden Optionen zum Testen ergänzt:
        ExecStart=/bin/sh -c '[ $run_watchdog != 1 ] || exec /usr/sbin/watchdog --no-action --verbose $watchdog_options'

        Code:
        # Orange PI mit 1GB RAM
        cat /proc/meminfo
        MemTotal: 940800 kB
        MemFree: 456080 kB
        MemAvailable: 612856 kB
        Code:
        # Raspbery PI 4 mit 2GB RAM
        cat /proc/meminfo
        MemTotal:        1944700 kB
        MemFree:          976376 kB
        MemAvailable:    1678280 kB​


        Nach meiner Ansicht wird 'MemAvailable' vom Watchdog verwendet, zumindest habe ich das aus dem Log vom Watchdog so interpretiert. Der RPI4 ist mit 2GB etwas üppiger mit RAM ausgestattet, als mein Orange PI zero3 mit 1GB. Zum Testen habe ich daher den RPI4 und folgende Berechnung verwendet:

        1678280 kB MemAvailable / (65535 B page size / 1024) = 26224.

        In /etc/watchdog.conf habe ich 'min-memory = 27000' gesetzt, um ein Reload zu triggern (aber wg. no-action nicht auszulösen).

        Nach

        Code:
        systemctl daemon-reload
        systemctl restart watchdog.service​
        sah ich im Log folgende Meldungen:
        Code:
        2024-10-21T11:25:10.749402+02:00 loxberry watchdog[121559]: Integer 'min-memory' found = 27000
        2024-10-21T11:25:10.749636+02:00 loxberry watchdog[121559]: List 'temperature-sensor' added as '/sys/class/thermal/thermal_zone0/temp'
        2024-10-21T11:25:10.749887+02:00 loxberry watchdog[121559]: Integer 'max-temperature' found = 80
        2024-10-21T11:25:10.750831+02:00 loxberry watchdog[121561]: starting daemon (5.16):
        2024-10-21T11:25:10.751171+02:00 loxberry watchdog[121561]: int=10s realtime=yes sync=no load=80,60,40 soft=no
        2024-10-21T11:25:10.751415+02:00 loxberry watchdog[121561]: memory: minimum pages = 27000 free, 0 allocatable, max swap 0 (65536 byte pages)
        2024-10-21T11:25:10.751691+02:00 loxberry watchdog[121561]: ping: no machine to check
        2024-10-21T11:25:10.751938+02:00 loxberry watchdog[121561]: file: no file to check
        2024-10-21T11:25:10.752194+02:00 loxberry watchdog[121561]: pidfile: no server process to check
        2024-10-21T11:25:10.752432+02:00 loxberry watchdog[121561]: interface: no interface to check
        2024-10-21T11:25:10.752673+02:00 loxberry watchdog[121561]: temperature: maximum = 80
        2024-10-21T11:25:10.752885+02:00 loxberry watchdog[121561]: temperature: /sys/class/thermal/thermal_zone0/temp
        2024-10-21T11:25:10.753095+02:00 loxberry watchdog[121561]: no test binary files
        2024-10-21T11:25:10.753305+02:00 loxberry watchdog[121561]: no repair binary files
        2024-10-21T11:25:10.753528+02:00 loxberry watchdog[121561]: error retry time-out = 60 seconds
        2024-10-21T11:25:10.753745+02:00 loxberry watchdog[121561]: repair attempts = 1
        2024-10-21T11:25:10.753960+02:00 loxberry watchdog[121561]: alive=[none] heartbeat=[none] to=root no_act=yes force=no
        2024-10-21T11:25:10.754173+02:00 loxberry watchdog[121561]: memory available 1657548 kB is less than 27000 pages
        2024-10-21T11:25:10.754385+02:00 loxberry watchdog[121561]: Shutdown blocked by --no-action (error 12 = 'Cannot allocate memory')​

        Für mich ist damit bewiesen, dass die Page Size zumindest in den beiden von mir verwendeten Systemen mit DietPI v9.7.1 und aktueller Loxberry Version v3.0.1.2 nicht 4KB, sondern 64KB beträgt. Der Unterschied ist lediglich die RAM-Größe, weshalb das Problem auf dem Orange PI mit 1GB gelegentlich auftrat, wenn die vom Loxberry vorgeschlagene Größe von 10.000 pages verwendet wird.

        Erstaunlich finde ich, dass das Problem im Internet noch nicht wahrgenommen wurde, aber wahrscheinlich wird der Watchdog häufig mit niedrigem min-memory verwendet oder dieser Check weggelassen. Ein typischer PC hat deutlich mehr RAM, als kleine IoT-Rechner. Auf dem Loxberry wird der Dienst wahrscheinlich auch nicht von sehr vielen Anwendern aktiv verwendet.

        Es gab allerdings bereits jemand mit einem ähnlichen Problem: https://www.loxforum.com/forum/proje...t-dem-watchdog

        Ich hatte auch noch getestet, ob die anderen geschilderten Probleme auf dem RPI4 aufgetreten sind:
        zu Nr. 1: ist spezifisch für Orange PI
        zu Nr. 2: In der GUI ist das mosquitto.Log ebenfalls nicht verfügbar, sondern nur via SSH als root.
        zu Nr. 3: das Problem konnte ich z.T. nachstellen. Der Eintrag für localhost blieb bestehen, allerdings funktionierte der Connect vom Plugin zu MQTT nicht mehr, wenn ich die Option "Custom" in den MQTT Settings ausgewählt habe und alles auf Default lasse. Das Log vom Tesla Command Plugin zeigte einen Fehler, nachdem ich im Plugin eine Abfrage getriggert hatte, die Werte via MQTT zum MS sendet. Ein Zurückstellen auf "automatically" hat das Problem gelöst. Vielleicht ist dies Verhalten so gewollt und die Kombination von Custom mit localhost nicht vorgesehen bzw. nicht sinnvoll.
        zu Nr. 4: das Problem ist genauso vorhanden.
        Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
        Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
        Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
        Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
        Node-RED: IKEA Tradfri

        Kommentar

        • Prof.Mobilux
          Supermoderator
          • 25.08.2015
          • 4639

          #5
          Ich bin wahrlich kein Kernelprogrammierer, aber alle (wirklich alle) Quellen im Internet bescheinigen, dass Linux eine Pagesize von 4096 Bytes benutzt. Es gibt wohl ein Intel(!!)-Patent für eine Pagesize von 64kb, was aber aus Patentgründen nicht genutzt wird.



          Ein weiterer alternativer Befehl spuckt bei mir auch 4 kB als Pagesize aus:

          grep -ir pagesize /proc/self/smaps

          Bleibt ein Bug im Linux Watchdog-Service. Nichts ist unmöglich, aber die Software ist wirklich alt und aus meiner Sicht dürfte sie sehr erprobt sein. Auf allen meinen LoxBerrys läuft der Service ohne Probleme mit Min-Memory = 10000 (was 10000 x 4096 B = 40 MB entspricht).
          🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


          LoxBerry - Beyond the Limits

          Kommentar

          • Jan W.
            Lox Guru
            • 30.08.2015
            • 1271

            #6
            aber alle (wirklich alle) Quellen im Internet bescheinigen, dass Linux eine Pagesize von 4096 Bytes benutzt.
            Ja, das glaube ich auch. getconf PAGESIZE und grep -ir pagesize /proc/self/smaps bestätigen dies, denn auf allen Systemen von mir (alt und neu) wird 4KB angezeigt.

            Auf allen meinen LoxBerrys läuft der Service ohne Probleme mit Min-Memory = 10000 (was 10000 x 4096 B = 40 MB entspricht).
            Zeigt das Log vom Watchdog ebenfalls diese Page Size an? Meine beiden neueren Loxberries verwenden Bookworm 64-Bit (DietPI 9.7.1). Ich habe gerade auf meinem uralten Loxberry v2.2.2.2 auf Basis eines RPI3B+ mit Buster (32-Bit) nachgeprüft. Dort zeigt das Log tatsächlich eine Pagesize von 4KB an:
            Code:
            Oct 21 22:03:57 loxberry watchdog[7084]: memory: minimum pages = 1000 free, 0 allocatable (4096 byte pages)
            Für mich sieht es sehr danach aus, als ob der Watchdog Service unterschiedliche Seitengrößen verwendet. Mit der Ausgabe im Log des Services und dem o.a. Test lässt sich das ja leicht überprüfen. Mit einer Seitengröße von 64KB (für den Watchdog Service) muss der freie Speicher 10000*65535 B = 640 MB betragen, was ziemlich viel ist, aber bei dem OPI zero 3 mit 1GB RAM und nur einem Plugin nach einem Neustart gerade so reichte.

            Ich habe mal etwas recherchiert. In https://packages.debian.org/source/bookworm/watchdog wird auf den Quellcode für das Paket https://sourceforge.net/p/watchdog/c...e/src/memory.c verwiesen.

            Die entscheidende Funktion ist in in src/memory.c
            Code:
            static long kb_per_page(int pages)
            {
              return pages * (long)(EXEC_PAGESIZE / 1024);
            }
            Wenn man nach dem Begriff EXEC_PAGESIZE sucht, findet man

            und


            Ich bin wirklich kein Linux Kernel Programmierer, aber meine Vermutung ist, dass in der 64-Bit arm64=aarch64 Architektur für EXEC_PAGESIZE der Wert von 64 KB verwendet wird und für viele andere Systeme der bekannte Wert von 4 KB.
            Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
            Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
            Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
            Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
            Node-RED: IKEA Tradfri

            Kommentar

            • Prof.Mobilux
              Supermoderator
              • 25.08.2015
              • 4639

              #7
              Sehr interessant!

              Dann wäre das ein Bug im Kernel würde ich sagen :-) Das wäre dann eine unterschiedliche Pagesize, je nachdem ob Du "EXEC_PAGESIZE" in C++ verwendest oder die beiden Befehle oben. Interessant - aus meiner Sicht dürfte das nicht passieren. Oder es hat was damit zu tun, wie die virtuelle Ramdisk komprimiert wird. Stecke ich aber zu wenig drin, kann ich mir irgendwie aber auch nicht vorstellen. Weil dann zumindest die beiden Befehle oben auch eine Pagesize von 64 kB anzeigen müssten.

              Man könnte mal im DietPi Forum nachfragen, ob sich das jemand erklären kann. MichaelIng (der Hauptentwickler von DietPi) ist da relativ fit. Ich hab leider keinen Raspbian LoxBerry mehr, daher kann ich es nicht vergleichen. Aber wird ja schon stimmen so wie Du schreibst.
              Zuletzt geändert von Prof.Mobilux; 22.10.2024, 06:55.
              🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


              LoxBerry - Beyond the Limits

              Kommentar

              • Prof.Mobilux
                Supermoderator
                • 25.08.2015
                • 4639

                #8
                Ergänzung: Auch auf meinem Zero2W wird das wie von Dir gezeigt vom Watchdog reported:

                Code:
                2024-10-21T05:56:56.335610+02:00 loxberry watchdog[1074]:  memory: minimum pages = 10000 free, 0 allocatable, max swap 0 (65536 byte pages)
                Ich würde mal die Defaults im LoxBerry auch auf "1" setzen, da sollte die Pagesize dann egal sein: https://github.com/mschlenstedt/Loxb...595912853c1f7f
                Zuletzt geändert von Prof.Mobilux; 22.10.2024, 07:31.
                🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


                LoxBerry - Beyond the Limits

                Kommentar


                • Jan W.
                  Jan W. kommentierte
                  Kommentar bearbeiten
                  1000 (4MB bzw. 64MB) würden wahrscheinlich für 99,9% der Installationen passen. Wenn Memory Leaks vorhanden sind, dann wird der Speicher immer kleiner, aber Ich weiß aber auch nicht, wann ein Reboot ausgelöst werden sollte.
              • Jan W.
                Lox Guru
                • 30.08.2015
                • 1271

                #9
                Hier noch ein Nachtrag zu 5.: ich habe eine E-Mail an den Entwickler Paul Crawford geschickt und ein paar Tage später hatte einen Fix für 64-Bit Systeme bereitgestellt. Die Page Size (i.d.R. 4KB) wird jetzt vom System abgefragt und nicht mehr direkt aus der Konstanten gelesen, die bei 64-Bit Systemen auf 64KB erhöht wurde. Da ich in Urlaub war und er kein 64-Bit System zum Testen hatte, konnte ich die neue Version erst heute erstellen und testen.

                Ich habe keine Ahnung, wie lange es dauert bis der neue Code in Linux Distributionen verwendet wird, aber finde es bemerkenswert, dass auch ein "normaler User" wie ich einen kleinen Beitrag zur Verbesserung beitragen konnte.

                Falls jemand den neuen Code testen möchte:
                To build the watchdog from source, copy or GIT clone from the official repository:
                Code:
                git clone https://git.code.sf.net/p/watchdog/code watchdog-code
                then change in to that directory and run the commands:
                Code:
                autoreconf -i
                ./configure
                cd src
                make
                Ich habe die Rechte, Owner und Gruppe angepasst und das Tool in den passenden Ordner verschoben (als Root):
                Code:
                chmod 755 watchdog
                chown root watchdog
                chgrp root watchdog
                ls -l watchdog
                ls -l /usr/sbin/watchdog
                mv /usr/sbin/watchdog /usr/sbin/watchdog.original
                mv ./watchdog /usr/sbin/watchdog
                pkill watchdog
                nano /etc/watchdog.conf (falls man Parameter anpassen möchte)
                nano /lib/systemd/system/watchdog.service (falls man Änderungen am Service vornehmen möchte)
                systemctl daemon-reload
                systemctl restart watchdog
                ​​
                Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
                Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
                Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
                Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
                Node-RED: IKEA Tradfri

                Kommentar

                Lädt...