[gelöst/solved]wviewd_wmr918 verursacht ~100% CPU-Auslastung  (Gelesen 4445 mal)

chaoschris

  • Gast
Hallo zusammen,
habe mich erfolgreich an der Installation von vwiew 5.3.2 versucht. Nachdem ich alle notwendige Pakete zusammen hatte klappte auch das kompilieren von radlib und wview problemlos. Das im wview-Forum erst vor kurzem veröffentlichte Installationsscript für Debian Lenny hatte ich leider erst nach erfolgreicher Bastelstunde entdeckt... ;)

Im Simulatormodus läuft alles so wie es soll, Proformadaten werden automatisch erzeugt und auch im Webinterface werden alle Daten und Kurven angezeigt.

Sobald ich im Administrationsinterface auf meine Wetterstation (WMR9XX) nebst passendem Interface /dev/ttyS0 umstelle, geht der Daemon zur Datenerfasung auf "Vollgas". Bild dieses Zustandes habe ich im Anhang beigefügt. Diesen Zustand kann ich nur beenden, wenn ich alle wview Tasks kille, alles wieder auf Simulatormodus zurückstelle und dann wieder starte.

Habe auch schon die Vorabversion 5.4.0 ausprobiert, diese zeigt aber das gleiche Phänomen.
 
OS ist Debian 5, Kernel 2.6.26-1-486 sowie alle verfügbaren Patches. HW ist ein Thinclient mit 512 MB RAM, C3 533 MHz CPU sowie 40 GB Notebookfestplatte.

Eine erneute Testinstallation auf einem aktuelleren Notebook mit Core 2 Duo, Kernel 2.6.26-1-686 und 2 GB RAM zeigte das gleiche Problem, irgendwo hab ich noch den Wurm drin.

Vielleicht hat ja irgendjemand hier eine Idee, wo ich noch amSchräubchen drehen kann?
Viele Grüße
Christian

Wetterstationen.info Forum


chaoschris

  • Gast
Nachtrag: Logfile der Installation
Antwort #1 am: 18.04.2009, 00:24:29
Nachtrag: Hier im Anhang noch das Logfile der Installation, durchgeführt mit folgendem Script:

# !/bin/bash

# 11 April 2009
# joe ki7wv install for debian lenny
# prereqs for wview 5.3.2 fresh install on debian
# rev 1
# Note: Must be run as root

apt-get install libz-dev
apt-get install libpng12-dev
apt-get install libreadline5-dev
apt-get install gawk
apt-get install libsqlite3-dev
apt-get install sqlite3
apt-get install libgd2-noxpm
apt-get install libgd2-noxpm-dev
apt-get install libssl-dev
apt-get install sendmail
apt-get install sendemail
apt-get install libcurl3-dev
apt-get install apache2
apt-get install php5
apt-get install php5-sqlite
apt-get install ntpd
apt-get install proftpd
apt-get install tnftp
apt-get install wget


# in my apache install, /var/www is the published web directory, and /var/www/weather is where wview html goes
mkdir /var/www/weather
mkdir /var/www/weather/control
#clean up as much as possible before the clean install
rm -r /etc/init.d/wview
rm /usr/local/lib/librad.*
rm -r /usr/local/var/wview
rm -r /usr/local/include/rad*
rm -r /usr/local/etc/wview
rm -r /usr/local/etc/wviewmgmt
rm -r /var/www/wview-www
rm -r /var/www/wviewmgmt

#radlib should be build with sqlite support
rm -r radlib-2.3.2
rm radlib-2.8.2.tar.gz
wget http://downloads.sourceforge.net/radlib/radlib-2.8.2.tar.gz
tar zxvf radlib-2.8.2.tar.gz
cd radlib-2.8.2
./configure --enable-sqlite
make
make install

#rem then change to wview source directory
cd ..
rm -r wview-5.3.2
rm -r wview-5.3.2-tar.gz
wget http://downloads.sourceforge.net/wview/wview-5.3.2.tar.gz
tar zxvf wview-5.3.2.tar.gz
cd wview-5.3.2
HTTP_DOC_ROOT=/usr/local/etc ./configure --enable-station-wmr918
# sim is simulator
# vpro is vantage pro 2
# http is for weather underground

make clean
make install-env
cp examples/Debian/wview /etc/init.d
chmod +x /etc/init.d
update-rc.d wview defaults 98
/etc/init.d/wview stop
echo "during wviewconfig do not change default values for paths"
wviewconfig
wviewhtmlconfig
cp examples/Debian/wview /etc/init.d
ln -s /usr/local/var/wview/img /var/www/weather
ln -s /usr/local/etc/wviewmgmt /var/www/wviewmgmt
# /etc/init.d/wview start

Offline Lazarus Long

    • http://www.lichterfelde-ost.de/Wetter.php
  • Registriert:
    02.05.2006, 17:42:21
  • Beiträge: 1.191
  • Ort:
    Berlin
Falls du noch keinen Vorschlag bekommen hast, sieh dir mal über "truss -p [PID]" in einem anderen Fenster an, was der Prozess so treibt.

Für truss solltest du root sein, das läuft besser ;-)
Das leben ist Lang
Das Wetter ist schön(?) ;-)

Lazarus Long

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

chaoschris

  • Gast
Problem bereits gelöst
Antwort #3 am: 05.06.2009, 22:29:17
Hallo "langer Hebräer",
habe das Problem bereits gelöst und leider (mangels Antwort) mittlerweile vergessen, daß ich es hier auch gepostet hatte... ;-)

Das Problem liegt/lag im Design der Software.
Der Daemon zur Erfassung der Messwerte wartet beim Start auf das eintreffen bestimmter Pakete (Messwerte), erst dann geht die ganze Chose zum Normalbetrieb über. Dumm nur, wenn man so wie ich nicht alle Sensoren zur Verfügung hat und somit das Programm niemals zum starten bekommt...

Habe dann die wmr918protocol.c modifiziert, nochmals kompiliert und damit zum Ziel gekommen:


########## schnipp ##########
 radMsgLog (PRI_MEDIUM,
               "wmr918Init: waiting for first sensor packets (this may take some time)...");
    wmr918Work.dataRXMask = 0x03; #### Diese Zeile zusätzlich einfügen
    while (wmr918Work.dataRXMask != WMR918_SENSOR_ALL)
    {
        FD_ZERO(&rfds);
        FD_SET(work->medium.fd, &rfds);
        if (select (work->medium.fd + 1, &rfds, NULL, NULL, &tv) > 0)
        {
            retVal = readStationData (work);
            switch (retVal)
            {
                case WMR918GROUP0:
                    radMsgLog (PRI_MEDIUM, "received WIND packet...");
                    break;
                case WMR918GROUP1:
                    radMsgLog (PRI_MEDIUM, "received RAIN packet...");
                    break;
                case WMR918GROUP3:
                    radMsgLog (PRI_MEDIUM, "received OUT TEMP packet...");
                    break;
                case WMR918GROUP5:
                case WMR918GROUP6:
                    radMsgLog (PRI_MEDIUM, "received IN TEMP packet...");
                    break;
                default:
                    break;
            }
        }
########## schnapp ##########

Maschine (ThinClient mit debian 5 sowie Zugang via UMTS) befindet sich bereits im Probebetrieb. Am echten Aufstellort gibt es leider kein DSL, nur ISDN, daher die Mimik mit dem UMTS. Die monatliche Flat mit 10 GB für 20 Euro ist auf jeden Fall günstiger als die momentane Lösung mittels ISDN. Im absoluten Endausbau soll es jedenfalls hiermit laufen: http://bifferos.bizhat.com/
Damit wäre dann ganze dann auch solartauglich...

Viele Grüße
Christian