• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

log2300 auf Debian 7 Wheezy

Begonnen von martin2, 01.10.2013, 22:30:49

⏪ vorheriges - nächstes ⏩

martin2

Gegeben ist ein handgefeilter Router (25-Watt-Projekt vor einigen Jahren), der ganz nebenbei die Wetterdaten einer Station per cronjob holt - jede Minute. Das läuft seit Jahren völlig klaglos nebenher.

Vor einigen Tagen machte ich das dist-upgrade auf Wheezy, keine Probleme.
Allerdings beschließt der Router, nach Tagen einzufrieren.

Oh, out of memory. Und der Übeltäter ist die Ecke "2300" - die tun zwar alle noch - aber sie terminieren nicht mehr. Warum auch immer. In der Folge ist dann irgendwann kein Speicher mehr da - klar.

Obwohl tatsächlich noch Daten abgeholt werden und in die Wetterdatei geschrieben werden, kann ich händisch nicht einmal "log2300 -v" absetzen, das Programm antwortet nicht und terminiert auch nicht.

Die erste Frage wäre also - vielleicht gibt es neuere Versionen, wo finde ich diese?

martin2

Hilf' Dir selbst - dann hilft Dir Gott:
Mein Verdacht war/ist, dass die binarys dynamisch irgendwelche Bibliotheken nutzen, die nun nicht mehr wie vom binary erwartet, tun. Insoweit wäre der ganze Spass neu zu compilieren.

Die aktuelle (besser gesagt: letzte verfügbare) Version ist offenbar 1.11rev12 - die gibt es hier: http://www.lavrsen.dk/svn/open2300/trunk/

Der Einfachheit halber habe ich die Dateien einzeln geholt. Das Ganze scheitert zunächst an einer fehlenden mysql.h - da ich aber mit mysql in diesem Projekt nicht spiele, kann das alles aus dem Makefile raus. Das Compilieren unter o.g. Betriebssystem ist problemlos. Wie es aussieht, werden die aktuellen Daten nun wieder mit ca. 3.5sec user geholt. Mir scheint, dass das Problem damit erledigt ist.

Ich schreibe den Beitrag auch für Suchmaschinen - möge er ggf. anderen helfen.

Lazarus Long

Ich habe den Quelltext vom gesamten open2300-Projekt einfach nochmals neu übersetzt, nachdem ich Wheezy installiert hatte.
Das leben ist Lang
Das Wetter ist schön(?) ;-)

Lazarus Long

Berlin: http://www.lichterfelde-ost.de/Wetter.php Vantage 2 Pro

martin2

Genau den (Quelltext) hatte ich nicht mehr zur Verfügung.
Daher musste ich halt suchen - und möchte gern die aktuelle (naja, "aktuell") URL allgemein mitteilen.

Irgendwann wird das ein Problem werden - also falls die Wetterstation weitere viele Jahre klaglos arbeitet: Zumindest für mich läuft das völlig nebenher: Die Wetterstation liefert fein Daten, der Server holt die ab und verarbeitet sie für den langfristigen Zugriff.

Und wenn dann nach weiteren (ich weiß nicht, sagen wir: drei) Jahren mal wieder eine geupgradete (schöne Vokabel) dynamische Bibliothek nicht mehr mitspielt, geht der Zauber der Neucompilierung von vorne los.

Dabei erscheint mir als Problem, dass *2300* offensichtlich nicht mehr gewartet wird: Das Projekt steht nur noch zufällig auf einer WebSite rum. Und mysql.h ist sichtlich schon verloren gegangen.

Vermutlich ist es das Pfiffigste, dass jeder die aktuellen Quellcodes lokal speichert (... und ggf. verliert über die Jahre) und wir uns gegenseitig ggf. aushelfen können.

Lazarus Long

Ich habe mal nachgesehen, es gibt Zwar eine Version für Wheezy, 64bit (open2300_1.11.svn_amd64.deb), die hat bei mir aber nicht Richtig funktioniert.

Ich habe die Version 1.10 von open2300 gefunden. Diese ist aus dem März 2005.
http://www.lichterfelde-ost.de/open2300-1.10.tar.gz
Das leben ist Lang
Das Wetter ist schön(?) ;-)

Lazarus Long

Berlin: http://www.lichterfelde-ost.de/Wetter.php Vantage 2 Pro

martin2

Vorab zwecks Verständnis: Ich bin anders als die anderen Kinder ...
Wetter ist nicht mein primäres Lebensthema. Ich habe die Wetterstation. Und freue mich, dass seit Jahren jede Minute ein Datensatz in das Langzeitlog geschrieben wird.

Darf ich fragen, was bei dem *.deb klemmte?
(Das ist offenbar die 11)

Ich habe 1.11rev12 aus den eher rudimentären Quellen compiliert, siehe oben.
Da gab es dann einen Seiteneffekt: Das Ganze beschloss, COM1 nicht mehr zu mögen, diese Schnittstelle sei andersweitig in Nutzung. Da änderte auch ein mehrfaches Reboot oder down nichts. - Da es dann aber (die Kiste hat eine wirklich lange ontime) geht, habe ich dieses Problem aus dem Auge verloren.

Wenn Du nun sagen solltest "auch bei mir klemmte der Kontakt zu COM1" - baue ich alles neu.
Oder an welcher Stelle war da die Falle?


Lazarus Long

Keine Ahnung, was das war.
;-)

Unter anderen hat das Ding, aber auch die handcompilierte 1.10, meine serielle Schnittstelle nicht erkannt.

root@server:/proc/tty/driver# cat serial
serinfo:1.0 driver revision:
0: uart:16C950/954 mmio:0xFDFFD000 irq:18 tx:0 rx:0
1: uart:16C950/954 mmio:0xFDFFD200 irq:18 tx:1680 rx:2688 RTS|DTR
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3


Ich habe mit dann ein USB-auf-Seriell Adapter besorgt, mit dem es funktioniert

root@server:/proc/tty/driver# cat usbserial
usbserinfo:1.0 driver:2.0
0: module:pl2303 name:"pl2303" vendor:067b product:2303 num_ports:1 port:1 path:usb-0000:00:12.0-2


Da es jetzt funktioniert, habe ich nichts mehr geändert.
Das leben ist Lang
Das Wetter ist schön(?) ;-)

Lazarus Long

Berlin: http://www.lichterfelde-ost.de/Wetter.php Vantage 2 Pro

martin2

Entschuldige bitte, dass ich erst jetzt antworte: Möglicherweise sporadisch auftretende Fehler sind ja dadurch gekennzeichnet, dass man sie vergisst, wenn sie längere Zeit nicht auftreten.

Also ich habe wohl mit einer anderen Version ein ähnliches wie das von Dir beschriebene Problem (gehabt - oder noch?). Nach einem Kaltstart oder Reboot fand er (2300) mal eben angemessen, die serielle Schnittstelle nicht kennen zu wollen: Sie sei belegt.

Eher verwundert und ohne Lösungsidee schrieb ich das (siehe oben). Die Wunder wurden noch mehr: Nach mehreren Reboot oder Kaltstarts - war das Problem weg. Und trat auch (trotz ab und an reboot) nicht mehr auf. Problem bei der Nummer ist natürlich, dass das fragliche System ein Router ist, die Wetterstation hängt da hinten dran, weil der so eine schöne lange uptime hat. Was wiederum dafür sorgt, dass der möglicherweise noch vorhandene Fehler ausnehmend selten auftreten wird - was die Sache ja nicht besser macht.

Das ist wie gesagt Debian wheezy auf 25-Watt-"PC". Und da gibt es eine wirklich ganz echte serielle Schnittstelle ... was habe ich Handstände gemacht, so ein System zu finden.

Ich habe zwei Fragen sowie eine Bitte:
* Was ist das konkret für eine seriell2USB-Karte?
* Ein USB-Gerät an (sich ggf ändernden Ports) zu einem konkreten /dev/irgendwas zuzuordnen, das ist ja oft eine üble Veranstaltung: Mir fehlt das Verständnis, wie 2300 versteht "au ja, da ist doch eine serielle Schnittstelle, das sollte meine sein". Hast Du da was zusätzlich gemacht? Oder hast Du nur die Karte gesteckt, 2300-Scripts angeworfen und alles war gut?

* Bitte speichere diese 2300-Versionen von Quelltexten - ich fürchte, wir werden sie noch brauchen.