98_update.pm (Retry bei Verbindungsproblemen)

Begonnen von dominik, 11 August 2015, 20:38:31

Vorheriges Thema - Nächstes Thema

dominik

@Puschel74, klar, nur solange es keine Nebenwirkungen gibt. Deswegen habe ich den Patch auch extra klein gehalten um eventuelle Auswirkungen überschaubar zu halten.
Mich würde freuen, wenn mehr Leute das testen würden um sicher zu gehen dass es auch überall funktioniert.

@Icinger, korrekt. Man müsste nur vorher das Modul updaten und danach läuft es durch.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Puschel74

Zitat von: dominik am 17 August 2015, 20:37:50
@Puschel74, klar, nur solange es keine Nebenwirkungen gibt. Deswegen habe ich den Patch auch extra klein gehalten um eventuelle Auswirkungen überschaubar zu halten.
Mich würde freuen, wenn mehr Leute das testen würden um sicher zu gehen dass es auch überall funktioniert.
Wenn in Beitrag 1 die 98_update.pm inkl. deines DIFF enthalten ist zieh ich mir die runter und probier sie auf meinem Versuchssystem aus.
Natürlich auf dem System mit dem das letzte update geklappt hat  ;)
Stell sie doch bitte zusätzlich als Datei in den ersten Beitrag - ich hasse copy&paste (damit kann es nur zu Fehler kommen die wir hier nicht brauchen).
Klar könnte ich auch das Diff einarbeiten - aber bei mir klappt das update ja  8)
Den Test werde ich dann am Mittwoch machen - ich kopier extra eine alte Sicherung ein um zu schauen was passiert.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

dominik

fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

rudolfkoenig

Der Patch im ersten Post versucht mit einem primitiven Verfahren das immerhin seit 30 Jahren bewaehrte TCP/IP, was auch selbst retries kennt, zu verbessern. Bevor ich die Symptome mit solch kruden Mitteln ueberdecke, wuerde ich gerne wissen, wo die Probleme eigentlich herkommen.

Doggiebert

Ein gebräuchliches Muster in der IT: wir implementieren schon mal eine Lösung für ein Symptom, dessen Ursache noch völlig unklar ist.
Ich hatte noch nie Probleme mit dem Update, und wenn es der Update sporadisch nicht schafft, einzelne kleine Dateien herunterzuladen - lt. Originalpost lustigerweise nur in einem bestimmten Ordner, dann ist irgendwas faul, das man vielleicht mit einem Workaround im update erstmal unsichtbar machen kann, dem man aber auf den Grund gehen sollte. Da stimme ich Rudi zu - bitte nicht solche Lösungen.
SW: FHEM 5.5, Raspian, XBMC, Testinstallation auf Win7
HW: Raspi B, 32GB SD, enocean Pi, RFXTRX433E, BSC - MwC-32, Onkyo TX-NR709, Samsung UE55F8090, Jung LS-Eno, permundo SmartPlug, KDG-FB 6490cable (ohne FHEM)

Puschel74

Danke Rudi - dann brauch ich auch nichts testen  ;D
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

dominik

Ich bin bei euch, dass da eine gründlichere Ursachenforschung notwendig ist, da es vielleicht nicht NUR ein Problem der Internetverbindung ist, sondern eventuell auch noch ZUSÄTZLICH ein anderes Problem besteht. Das Problem einer schlechten Internetverbindung werden wir aber definitiv für den User (leider) nicht lösen können.

Und genau da setze ich an...Ursache: schlechte Internetverbindung in Verbindung mit einer Update Implementierung die keinen Status speichert. Daraus resultiert, dass solche User kein Update durchführen können.

Ich denke emerge, apt-get & co haben schon eine Berechtigung gefunden wieso man Retries bei solchen Updatefunktionalitäten einbaut. Gleiches war auch mein primitiver Ansatz in der Update Logik. Nicht mehr und nicht weniger...ich liefere einfach eine simple (und damit in den Auswirkungen überschaubare) Lösung für ein Problem welche defacto besteht (siehe auch http://forum.fhem.de/index.php?topic=34076.0).
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dev0

Mag jemand, der das Update Problem hat, testweise mal versuchen die mtu size runterzusetzen und dann das Update noch einmal laufen lassen?
Ich vermute, dass Raspbian dazu folgende Syntax hat (habe keinen Pi im Zugriff):
sudo /sbin/ifconfig eth0 mtu 1000
Kann man nachher wieder mit 1500 zurücksetzen.
Falls ein anderes Interface als eth0 für den Internetzugriff genutzt wird, dann das bitte angeben.

/Uli

(Kopiert von: http://forum.fhem.de/index.php/topic,34076.msg323989.html#msg323989)

speex

#23
Hi, also ich habe die mtu size wie beschrieben herunter gesetzt:
sudo /sbin/ifconfig eth0 mtu 1000

Der update prozess schlägt aber leider wieder fehl, dieselbe fehlermeldung.
2015-08-18 22:33:11 Global global http://fhem.de/fhemupdate/FHEM/10_HXBDevice.pm: Can't connect(1) to http://fhem.de:80: IO::Socket::INET: connect: timeout

dev0


dev0

Zitat von: speex am 18 August 2015, 22:39:03
sudo /sbin/ifconfig eth0 mtu 1000

Laut Email Benachrichtigung (vor Edit) hast Du noch einen reboot vor dem Update durchgeführt. Das würde nicht funktionieren, da das ifconfig statement nicht bootfest ist, dazu müsstest du unter /etc/network/interfaces dem Interface ein "mtu 1000" mitgeben. Du hast das Update vor dem reboot getestet und eth0 ist sicher dein benutztes Interface? Wie schon geschrieben, die Problemtik würde sehr gut zu einer falschen mtu size passen.
Könntest Du das bitte noch einmal wiederholen und vor dem Update den Output von "sudo /sbin/ifconfig" (ohne Parameter) und "sudo /sbin/route -n" kopieren und anschiessend posten?

speex

Hi,
danke für deine Aufmerksamkeit ich hatte es extra editiert da es ja gerade nicht die beschriebene Vorgehensweise war, sorry dafür.

root@raspberrypi:~# sudo /sbin/ifconfig eth0 mtu 1000
root@raspberrypi:~# sudo /sbin/ifconfig
eth0      Link encap:Ethernet  Hardware Adresse b8:27:eb:1e:ff:ac 
          inet Adresse:192.168.1.101  Bcast:192.168.1.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1000  Metrik:1
          RX packets:76667 errors:0 dropped:0 overruns:0 frame:0
          TX packets:53111 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:8890511 (8.4 MiB)  TX bytes:3762299 (3.5 MiB)

lo        Link encap:Lokale Schleife 
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metrik:1
          RX packets:853 errors:0 dropped:0 overruns:0 frame:0
          TX packets:853 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:70426 (68.7 KiB)  TX bytes:70426 (68.7 KiB)

root@raspberrypi:~# sudo /sbin/route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0


Kein reboot des Systems und update befehl ausgeführt im FHEM backend selber fehler...

rudolfkoenig

Was passiert, wenn du in FHEM/HttpUtils.pm Zeile 103, timeout erhoehst, von 4 auf z.Bsp. 15 Sekunden?

P.A.Trick

Zitat von: rudolfkoenig am 19 August 2015, 18:56:53
Was passiert, wenn du in FHEM/HttpUtils.pm Zeile 103, timeout erhoehst, von 4 auf z.Bsp. 15 Sekunden?

Ich habe das mal ausprobiert. Der Timeout Wert wird dann durch das Update selbst wieder überschrieben wenn ich das richtig sehe, oder?
Im Gegensatz zu manch anderen bricht bei mir das Update immer bei der folgenden Stelle ab:

2015.08.19 20:12:44 1: UPD www/images/openautomation/phone_ring_in.svg


Edit: FHEM hängt danach und ich muss den Prozess abschiessen und neu starten!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

rudolfkoenig

Mit welcher Fehlermeldung bricht es ab?
Wieso haengt FHEM, wenn update abbricht?
Laeuft bei dir update nicht in Background? Wenn nein, wieso nicht?