RaspberryMatic – Firmware Upgrade Probleme - Analyse
Moderatoren: jmaus, Co-Administratoren
Re: RaspberryMatic – Firmware Upgrade Probleme - Analyse
Hallo,
Auch bei mir klappt es alleine mit rmupdate...
Froh dass diese addon da ist!
MfG
Auch bei mir klappt es alleine mit rmupdate...
Froh dass diese addon da ist!
MfG
Re: RaspberryMatic – Firmware Upgrade Probleme - Analyse
so ich reihe mich mal ein in die Problematik: CCU3 Hardware mit Raspberrymatic im Einsatz. Versuch eines Upgrades von 3.57.5.20210525 auf 3.59.6.20210703 schlägt fehl, d.h. die WebUI hängt im "Spinner" fest.
Auf der CCU3 selbst sollte genug Speicherplatz frei sein:
Egal ob per direktem Update oder per Hochladen, das Ergebnis ist das selbe: Die Firmware wird hochgeladen, entpackt, und dann passiert einfach nichts mehr. Ich sehe auch per top bzw ps -ef keinen Prozess der ein Update vermuten lassen würde.
Das Filesystem sieht zu dem Zeitpunkt so aus:
Besagtes rmupdate Addon ist laut Hinweis auf https://technikkram.net/blog/2018/02/15 ... nopfdruck/ ab der RaspberryMatic Version 2.31.25.20180428 nicht mehr einsetzbar.
Was kann ich jetzt noch tun um upzugraden?
Auf der CCU3 selbst sollte genug Speicherplatz frei sein:
Code: Alles auswählen
root@ccu:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 975.9M 540.6M 368.1M 59% /
devtmpfs 444.3M 0 444.3M 0% /dev
tmpfs 477.9M 0 477.9M 0% /dev/shm
tmpfs 477.9M 44.0K 477.8M 0% /tmp
tmpfs 477.9M 108.0K 477.8M 0% /run
tmpfs 477.9M 892.0K 477.0M 0% /var
tmpfs 477.9M 0 477.9M 0% /media
/dev/mmcblk0p3 6.0G 41.4M 5.6G 1% /usr/local
/dev/mmcblk0p1 255.7M 68.0M 187.7M 27% /boot
root@ccu:~#
Das Filesystem sieht zu dem Zeitpunkt so aus:
Code: Alles auswählen
root@ccu:~# ls -la /usr/local/tmp/
total 264200
drwxr-xr-x 3 root root 4096 Jul 7 14:04 .
drwxr-xr-x 8 root root 4096 Jan 7 07:57 ..
-rw-rw-r-- 1 root root 0 Jan 1 1970 .nobackup
-rw-r--r-- 1 root root 0 Jan 1 1970 .watchdog
-rw------- 1 root root 270522228 Jul 7 14:04 tmp.HT8PNv
drwxr-xr-x 2 root root 4096 Jul 7 14:16 tmp.HT8PNv-dir
root@ccu:~# ls -la /usr/local/tmp/tmp.HT8PNv-dir/
total 1313760
drwxr-xr-x 2 root root 4096 Jul 7 14:16 .
drwxr-xr-x 3 root root 4096 Jul 7 14:04 ..
-rw-r--r-- 1 root root 2693 Jul 7 14:16 EULA.de
-rw-r--r-- 1 root root 2626 Jul 7 14:16 EULA.en
-rw-r--r-- 1 root root 11357 Jul 7 14:16 LICENSE
-rw-r--r-- 1 root root 1345249792 Jul 7 14:16 RaspberryMatic-3.59.6.20210703-rpi3.img
-rw-r--r-- 1 root root 106 Jul 7 14:16 RaspberryMatic-3.59.6.20210703-rpi3.img.sha256
root@ccu:~#
Was kann ich jetzt noch tun um upzugraden?
- Baxxy
- Beiträge: 10845
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 609 Mal
- Danksagung erhalten: 2229 Mal
Re: RaspberryMatic – Firmware Upgrade Probleme - Analyse
Den uralten Hinweis der TK-Herren ignorieren und es einfach ausprobieren
Es haben genug User in letzter Zeit damit ihr System erfolgreich geupgraded.
Ich selbst nutze das AddOn fast täglich um auf meinem Testsystem den neuesten Nightly-Snapshot "draufzubügeln", und das seit Wochen fehlerfrei.
Grüße
Baxxy
- jmaus
- Beiträge: 9865
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1883 Mal
- Kontaktdaten:
Re: RaspberryMatic – Firmware Upgrade Probleme - Analyse
Du kannst mal die Zeit messen wie lange es dauert bis die finale *.img Datei fertig da liegt und dann auch ggf. an irgendwelchen lighttpd timeouts rumschrauben, denn ich denke das das ganze ein reines WebUI timeout bzw. Browser timeout problem ist. D.h. er packt das alles richtig aus, und lässt alle Skripte korrekt durchlaufen, wenn er dann aber den Requester in der WebUI weiterschalten will ist die Verbindung zum browser aus irgendwelchen Gründen weg bzw. in ein Timeout gelaufen und daher kann einfach der folge-Requester (wo man nur noch bestätigen und rebooten lassen muss) nicht mehr angezeigt werden. Vielleicht hilft es auch einfach schon in der /var/www/cp_maintenance.cgi das foreach in Zeile 1000 komplett auszukommentieren damit die Zeit reicht.nicx hat geschrieben: ↑07.07.2021, 15:42Egal ob per direktem Update oder per Hochladen, das Ergebnis ist das selbe: Die Firmware wird hochgeladen, entpackt, und dann passiert einfach nichts mehr. Ich sehe auch per top bzw ps -ef keinen Prozess der ein Update vermuten lassen würde.
[...]
Was kann ich jetzt noch tun um upzugraden?
Wenn sich hier also genug leute finden die entsprechende Analysen (auch auf alter/langsamer Hardware mit langsamer SD Karte usw) machen, dann könnte ich in der Tat diese Firmware-Update-Routine in cp_maintenance.cgi so anpassen das vllt. sogar nur die Datei hochgeladen wird und es dann lediglich ein simpler konsistentcheck gemacht wird statt der recht zeitaufwendige checksummen-check der jetzt da drin umgesetzt ist. Denn die checksumme wird z.B. nach dem reboot im Recovery-System ohnehin dann noch einmal überprüft bevor die SD Karte damit entsprechend überschrieben wird. Ich brauche hier also etwas Hilfe von willigen Testern.
P.S: Und was du auch noch schauen könntest ist ob am schluss der Link /usr/local/.firmwareUpdate existiert oder nicht nachdem er das alles ausgepackt hat. Denn irgendwie müssen wir erst einmal feststellen wo genau denn diese Firmware-Update Routine ins Stocken gerät.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
Re: RaspberryMatic – Firmware Upgrade Probleme - Analyse
* Zeitdauer bis zum kompletten Entpacken: ca. 14minjmaus hat geschrieben: ↑07.07.2021, 16:48Du kannst mal die Zeit messen wie lange es dauert bis die finale *.img Datei fertig da liegt und dann auch ggf. an irgendwelchen lighttpd timeouts rumschrauben, denn ich denke das das ganze ein reines WebUI timeout bzw. Browser timeout problem ist. D.h. er packt das alles richtig aus, und lässt alle Skripte korrekt durchlaufen, wenn er dann aber den Requester in der WebUI weiterschalten will ist die Verbindung zum browser aus irgendwelchen Gründen weg bzw. in ein Timeout gelaufen und daher kann einfach der folge-Requester (wo man nur noch bestätigen und rebooten lassen muss) nicht mehr angezeigt werden. Vielleicht hilft es auch einfach schon in der /var/www/cp_maintenance.cgi das foreach in Zeile 1000 komplett auszukommentieren damit die Zeit reicht.
* Wo genau könnte ich die Timeouts von lighthttpd anpassen? Wenns hilft bei der Lösungsfindung mache ich das gerne mal.
* Die Datei /var/www/cp_maintenance.cgi gibt es bei mir nicht... hast du das aus versehen einen falschen Pfad angegeben und meintest evtl. /www/config/cp_maintenance.cgi? Die Datei sieht in vi allerdings ein bisschen seltsam kodiert aus... kann ich da einfach gefahrenes "rumfuhrwerken"?
bin dabeijmaus hat geschrieben: ↑07.07.2021, 16:48Wenn sich hier also genug leute finden die entsprechende Analysen (auch auf alter/langsamer Hardware mit langsamer SD Karte usw) machen, dann könnte ich in der Tat diese Firmware-Update-Routine in cp_maintenance.cgi so anpassen das vllt. sogar nur die Datei hochgeladen wird und es dann lediglich ein simpler konsistentcheck gemacht wird statt der recht zeitaufwendige checksummen-check der jetzt da drin umgesetzt ist. Denn die checksumme wird z.B. nach dem reboot im Recovery-System ohnehin dann noch einmal überprüft bevor die SD Karte damit entsprechend überschrieben wird. Ich brauche hier also etwas Hilfe von willigen Testern.
der Link existiert nicht:jmaus hat geschrieben: ↑07.07.2021, 16:48P.S: Und was du auch noch schauen könntest ist ob am schluss der Link /usr/local/.firmwareUpdate existiert oder nicht nachdem er das alles ausgepackt hat. Denn irgendwie müssen wir erst einmal feststellen wo genau denn diese Firmware-Update Routine ins Stocken gerät.
Code: Alles auswählen
root@ccu:~# ls -la /usr/local/
total 44
drwxr-xr-x 8 root root 4096 Jan 7 07:57 .
drwxr-xr-x 10 root root 4096 May 25 14:05 ..
drwxr-xr-x 2 root root 4096 Mar 15 14:44 addons
drwxrwxr-x 2 root root 4096 Mar 15 14:45 crontabs
drwxr-xr-x 4 root root 4096 Jun 11 15:57 etc
drwx------ 2 root root 16384 Jan 1 1970 lost+found
drwxr-xr-x 2 root root 4096 May 14 08:33 sdcard
drwxr-xr-x 3 root root 4096 Jul 8 08:23 tmp
root@ccu:~#
- jmaus
- Beiträge: 9865
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1883 Mal
- Kontaktdaten:
Re: RaspberryMatic – Firmware Upgrade Probleme - Analyse
* Zeitdauer bis zum kompletten Entpacken: ca. 14min
* Wo genau könnte ich die Timeouts von lighthttpd anpassen? Wenns hilft bei der Lösungsfindung mache ich das gerne mal.
* Die Datei /var/www/cp_maintenance.cgi gibt es bei mir nicht... hast du das aus versehen einen falschen Pfad angegeben und meintest evtl. /www/config/cp_maintenance.cgi? Die Datei sieht in vi allerdings ein bisschen seltsam kodiert aus... kann ich da einfach gefahrenes "rumfuhrwerken"?
[/quote]
Ja, das sollte gehen. Und ja ich meinte natürlich die /www/config/cp_maintenance.cgi. Ich würde vorschlagen du editierst da mal ein bisschen rum und versucht da z.B. irgendwelche
Code: Alles auswählen
exec echo hier1 >>/tmp/blah
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
- Baxxy
- Beiträge: 10845
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 609 Mal
- Danksagung erhalten: 2229 Mal
Re: RaspberryMatic – Firmware Upgrade Probleme - Analyse
Die Timeouts zu erhöhen und die Checksummen-Prüfung zu entfernen mag zwar funktionieren, ist aber meiner Meinung nach nur eine umschiffung des eigentlichen Problems.
Man müsste eher die Ursache finden warum die Schreibrate der SD-Karten so drastisch reduziert ist.
Grüße Baxxy
Man müsste eher die Ursache finden warum die Schreibrate der SD-Karten so drastisch reduziert ist.
Genau die ist es. Sieht mit nano auch merkwürdig aus, am PC mit Notepad++ passt aber alles.
Grüße Baxxy
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
- jmaus
- Beiträge: 9865
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1883 Mal
- Kontaktdaten:
Re: RaspberryMatic – Firmware Upgrade Probleme - Analyse
Nun, prinzipiell gebe ich dir da natürlich recht. Trotzdem tritt das Problem eben in letzter Zeit wohl sehr häufig auf und man bekommt somit nicht alle Nutzer dahingehend motiviert die SD Karte gegen eine neuere zu tauschen. Ich denke daher es wäre ja ein versuch wert die Firmware-Update Routinen noch ein bisschen dahingehend zu optimieren das diese problemloser durchlaufen kann wie das auch beim rmupdate-addon der Fall ist. Dort funktioniert es im Grunde ja auch nur weil dort im grunde nur ein Download erfolgt und der Webbrowser eben durch gewisse methoden dazu genötigt wird immer mal wieder beim webserver nachzufragen, wodurch das ganze eben nicht in diesen Timeout rennt.Baxxy hat geschrieben: ↑08.07.2021, 09:14Die Timeouts zu erhöhen und die Checksummen-Prüfung zu entfernen mag zwar funktionieren, ist aber meiner Meinung nach nur eine umschiffung des eigentlichen Problems.
Zusätzlich zu dem Debugging der Firmware-Update Routine und dem temporären entfernen der sha256 prüfung könnten betroffene auch wirklich nochmal schauen ob schon ein anpassen der folgenden Timeout Werte in der /etc/lighttpd/lighttpd.conf Datei zum erfolg führt:
Code: Alles auswählen
server.max-read-idle = 600
server.max-write-idle = 600
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
Re: RaspberryMatic – Firmware Upgrade Probleme - Analyse
Das habe ich eben ausprobiert, und damit funktioniert es! Ich bekomme im Browser die erwartete Sicherheitswarnung und kann das Upgrade durchführen. Top!jmaus hat geschrieben: ↑08.07.2021, 10:13Zusätzlich zu dem Debugging der Firmware-Update Routine und dem temporären entfernen der sha256 prüfung könnten betroffene auch wirklich nochmal schauen ob schon ein anpassen der folgenden Timeout Werte in der /etc/lighttpd/lighttpd.conf Datei zum erfolg führt:
Diese könnte man einfach mal auf 6000 zum testen setzen und dann nach einem lighttpd neustart schauen was passiert.Code: Alles auswählen
server.max-read-idle = 600 server.max-write-idle = 600
@jmaus kann der Idle Wert in RaspberryMatic nicht einfach grundsätzlich "nach oben" angepasst werden? Wirklich schädlich sollte das ja nicht sein, oder?
- jmaus
- Beiträge: 9865
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1883 Mal
- Kontaktdaten:
Re: RaspberryMatic – Firmware Upgrade Probleme - Analyse
Und hast du auch Zeitmessungen dazu gemacht wie lange es gedauert hat bis der finale Update-Requester kam? Kannst du das nochmal nachstellen. Bitte am Ball nun bleiben und nicht zur Seite legen nur weil du damit jetzt dein Update hinbekommen hast. Wir wollen das ja generell lösen!
Na klar kann man das. Darum geht es hier ja. Eben ob man nun einfach die Timeouts nach oben setzt oder dafür sorgt das die Update-Routinen schneller fertig wird damit man gar nicht dieses Timeout rennt. Und das jetzt einfach wieder auf irgendeinen höheren Wert zu setzen reduziert auch nur wieder die Wahrscheinlichkeit das es passiert. Und ein zu großer Idle Wert dort kann auhc dazu führen das der Webserver zuviele gleichzeitige sessions offen lässt und damit die zentrale tendenziell überlastet. Man ist also gut beraten diese Werte zu gering wie möglich zu halten! Bitte also noch die anderen Dinge wie auskommentieren der sha Prüfung testen und dann wieder die Zeit mitloggen, etc. etc.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /