Ankündigung

Einklappen
Keine Ankündigung bisher.

OWFS auf IP Extender installieren

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] OWFS auf IP Extender installieren

    Hallo,

    ich möchte auf dem IP Extender das Package owfs installieren, erhalte dabei aber folgenden Fehler:

    Code:
    root@owextender:/# opkg install owfs
    Installing owfs (2.8p15-2) to root...
    Downloading http://repo.wiregate.de/openwrt/r31676/ar71xx/packages/owfs_2.8p15-2_ar71xx.ipk.
    Collected errors:
     * satisfy_dependencies_for: Cannot satisfy the following dependencies for owfs:
     *      kernel (= 3.3.7-1-eb66c56ffe2f89cb5336df1c803b3723) *
     * opkg_install_cmd: Cannot install package owfs.
    Ich kann mit der Meldung nicht so viel anfangen. Gibt es eine Möglichkeit, owfs zu installieren oder scheitert es am Kernel oder greife ich auf das falsche Repository zu? Die Installation des SFTP-Servers hat problemlos geklappt.

    Und nebenbei, was hat es eigentlich mit diesem Verzeichnis auf sich, ist das ein Firmware-Update für den IP Extender?
    Index of /openwrt/r36354/ar71xx

    Grüße
    Erik

    #2
    Hallo

    Wenn du ein original IP Extender hast, ist da doch owfs (in einer AFAIK stark angepassten Version von makki) schon drauf. Wozu willst du denn da etwas nachinstallieren?
    Gruss Patrik alias swiss

    Kommentar


      #3
      Hallo swiss,

      ja, es ist ein Original IP Extender und nein, owfs ist leider nicht vorinstalliert:

      Code:
      root@owextender:/# opkg list-installed | grep ow
      libow - 2.8p15-2
      owget - 2.8p15-2
      owhttpd - 2.8p15-2
      owserver - 2.8p15-2
      Hast du auch einen und ist es bei dir installiert?

      Grüße
      Erik

      Kommentar


        #4
        Ja ich habe auch einen IP Extender (den grossen). Ich werde aber wohl erst morgen nachschauen können ob owfs bei meinem auch nicht drauf ist. Ich hatte in Erinnerung das makki mal etwas in der Art gesagt hat, dass er eine leistungs und grössenoptimierte Version (abgespeckte Version) des owfs für den IPE erstellt hat... Kann mich aber auch irren.
        Gruss Patrik alias swiss

        Kommentar


          #5
          Wie Patrik richtig ausführt, enthält der IP Extender eine angepasste Version des OWFS.

          Bitte mal auf Port 3001 prüfen.

          lg

          Stefan

          Kommentar


            #6
            Die Abfrage per Browser auf Port 3001 klappt natürlich, aber ich würde vermuten, dass das über owhttpd läuft. Ich habe vor, den Bus aus einem Script heraus anzusprechen. Und dafür bräuchte ich eigentlich das owfs Package, was ja auch im Repository existiert. Evtl. klappt das was ich vor habe auch mit owget. Ich werde heute Abend mal nach einer alternativen Lösung suchen.

            Kommentar


              #7
              Nachtrag:

              Mein Ziel war es, bei allen Temperatur-Sensoren die Messung gleichzeitig mittels "simultaneous" zu starten, um anschließend ohne die Verzögerung von jeweils 0,75 Sekunden alle Sensoren abzufragen. Da ich keinen Zugriff auf das virtuelle OWFS habe und folglich keine 1 auf /simultaneous/temperature schreiben kann, mache ich das jetzt über den Umweg einer HTTP-Anfrage.

              Folgendes Kommando führt nun auch zum gewünschten Ergebnis:
              Code:
              wget -q -O - "http://localhost:3001/simultaneous?temperature=1" > /dev/null
              Wer eine elegantere Lösung kennt, evtl. doch über das Filesystem, kann sie mir gern mitteilen.

              Jedenfalls kann ich jetzt die aktuellen Temperaturwerte von 50 Sensoren innerhalb von nur einer Sekunde abfragen. Voraussetzung dafür ist der nicht-parasitäre Betrieb der DS18B20.

              Grüße
              Erik

              Kommentar


                #8
                Also,

                das:
                http://repo.wiregate.de/openwrt/r363...sysupgrade.bin
                ist - richtig erkannt - ein Update auf V1.12/SVN r36354 das hier seit vielen Monaten läuft.
                -> Aber nur für den "grossen" (Medium, drei Antennen)! <- Kann man gefahrlos - unter beibehalten der Config - via Webif einspielen ("System->Backup / Firmware Update")

                Nachdem es jedoch absolut keine "Not" zum Updaten iSv 1-Wire o.ä. gibt wurde das nur "bei Bedarf" an extreme Power-User verteilt;
                da wurden eher nur noch "tertiere" Dinge geändert: am Wlan-AP, sehr nahe dem OpenWRT 12.09-Release (also genauer gesagt ist das Build etwas neuer), mehr/neue externe Pakete, eben eher seltene "Power-Features"...
                -> aber u.a. den owfs(-daemon) mit allen Abhängigkeiten.

                a) Das ist nun schwer zu erklären, ich versuchs trotzdem: Die Software heisst (historisch) owfs.
                b) Bestandteile sind (Funktion in Klammern):

                - owserver (TCP->1-Wire Busmaster: Multiplexen dieses für owhttpd, owget, owfs, alle API-Zugriffe von C/Perl/Python/...)
                - owhttpd (Web-Interface unter :3001, greift aber auch via owserver zu, da nur einer den Busmaster bedienen kann)
                - owfs selbst (greift via owserver ebenfalls zu, macht mit FUSE eine "Darstellung" der Sensoren im Dateisystem - langsam und problematisch)
                -> owserver, owhttpd sind vorinstalliert, owfs (nur der Daemon für das abbilden der 1-w Sensoren ins Filesystem!) nicht.
                Weil den die Welt auch IMHO nicht wirklich braucht, das geht per API in jeglicher Programmiersprache (oder eben owdir/owread/owwrite via Shell) erheblich besser, schneller und einfacher.

                - owget ist nur eine "Zusammenfassung" von owdir/owread und wurde auf dem IPE aus Platzgründen eingespart (4/8MB Flash sind eben nicht wirklich viel..), gibts aber auch sep. im Paket owget. Auch beim vorherigen Image/Release.


                -> Also die eigentliche Antwort ist: du brauchst owfs für diesen Zweck zwar garnicht, kannst es aber trotzdem gerne haben

                -> owwrite (Shell) täte exakt dasselbe wie der "Umweg" über HTTP oder owfs(FUSE): Das über die API an den owserver schicken.
                Das simultaneous verschweige ich immer gerne, um keinen zu verwirren. Weil wie du schreibst geht das nur wenn alle Sensoren und nicht-parasitär angeschlossen sind..

                Makki

                P.S.: Und um anderen Fragen schonmal präventiv vorzubeugen: das owfs ist nur insofern angepasst, das die Grösse stark optimiert wurde (=alles rausgeworfen, was man subjektiv(!) meistens nicht braucht, ca. Faktor 5! kleiner)
                Und dann in handliche Pakete aufgeteilt, damit es überhaupt draufpasst.
                Alle Änderungen/Paket-Makefile wurden in Form von Patches einzeln gesammelt und getrennt "Upstream" an OpenWRT gesendet (im owfs selbst gibts keine Änderung, nur am "verpacken"), jedoch bisher m.W. nicht übernommen.
                Liegt aber auch alles im Repository, Kunden dürfen jederzeit den Sourcecode anfragen, wenn man mit Makefiles aber nicht "per du" ist wird es meist einfacher sein, anzufragen was einem fehlt
                EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                -> Bitte KEINE PNs!

                Kommentar


                  #9
                  Danke Makki,

                  für die sehr ausführlichen und hilfreichen Erläuterungen zum Thema OWFS.

                  Von owdir, owread und owrite hatte ich auch schon gelesen, nur gab es das auf meinem IPE noch nicht, sondern eben nur owget. Wenn ich dich aber richtig verstanden habe, bräuchte ich auch die nicht, also nicht zwingend das Firmware-Update. Statt dessen würde z.B. unter Perl das Modul OWNet ausreichen, welches eine API für den vorhandenen owserver darstellt, richtig?

                  Dann nur noch eine kurze Frage, wie installiere ich das OWNet Modul? Hab jetzt kein ppm (wie unter Windows) ausmachen können und mit Linux allgemein bin nicht gerade "per du". Auch Google liefert mehr (dieser) Fragen als Antworten darauf.

                  Zitat von makki Beitrag anzeigen
                  Das simultaneous verschweige ich immer gerne, um keinen zu verwirren. Weil wie du schreibst geht das nur wenn alle Sensoren und nicht-parasitär angeschlossen sind..
                  Das "und" verstehe ich nicht ganz, hat sich das versehentlich eingeschlichen? Habe gerade während einer laufenden Messung einen Sensor abgeklemmt - ohne Auswirkungen, außer natürlich einem Temperaturwert weniger.

                  Grüße
                  Erik

                  Kommentar


                    #10
                    Zitat von kirekey Beitrag anzeigen
                    ..sondern eben nur owget.
                    ist dasselbe wie owdir, owread, owwrite nur in einem..

                    Wenn ich dich aber richtig verstanden habe, bräuchte ich auch die nicht, also nicht zwingend das Firmware-Update. Statt dessen würde z.B. unter Perl das Modul OWNet ausreichen, welches eine API für den vorhandenen owserver darstellt, richtig?
                    Richtig.

                    Dann nur noch eine kurze Frage, wie installiere ich das OWNet Modul?
                    Ähm, auf dem IPE bitte am besten garnicht! Also nicht das es (theoretisch) möglich wäre, liegt alles - inkl. Perl - im Repository.
                    Aber das ist so ähnlich wie auf einem i386 von 1998 Office 2013 zu installieren
                    Du bist mit dem owshell (also o.g. ow*) wunderbar bedient..

                    Das "und" verstehe ich nicht ganz..
                    Nein das war kein Versehen, sondern der Grund warum ich das selten erwähne: es gibt wirklich soviele "wenns" und "abers" das es mir schwerfällt diese auch nur auf einer DIN-A4-Seite zusammenzufassen. Da müssen einfach 110% zusammenpassen, das ist in der Praxis jedoch nur selten der Fall.
                    Als wichtig erachte ich primär, die korrekte, aktuelle Temperatur zu bekommen - 50s spielen da IMHO keine Rolle (ausser: Raketenstart?)
                    Wenn mir jemand darlegt, zuwas man sonst 50 Temperaturen in unter 50sek. benötigt, passe ich diese Meinung gerne an.. (auslesen kann man ja auch so schnell wie man will, macht alles der owserver intern! aber dann eben aus dem cache)

                    Hoffe das war verständlich..

                    Makki
                    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                    -> Bitte KEINE PNs!

                    Kommentar


                      #11
                      Zitat von makki Beitrag anzeigen
                      Wenn mir jemand darlegt, zuwas man sonst 50 Temperaturen in unter 50sek. benötigt...
                      Mir geht es gar nicht unbedingt darum, alle Werte auf einmal zu bekommen. Ich möchte eigentlich nur die Werte einiger weniger (1-5), beliebiger Sensoren zu einer beliebigen Zeit abfragen können, aber dann bitte möglichst sofort und nicht erst nach 1-5 Sekunden Wartezeit.

                      Die einfachste Lösung dafür wäre nach meinem jetzigen Wissenstand ein cronjob der alle 10 Sekunden ein owwrite auf simultaneous/temperature ausführt. Nur wie mache ich das mit owget?

                      Zitat von makki Beitrag anzeigen
                      owget ist nur eine "Zusammenfassung" von owdir/owread
                      Zitat von makki Beitrag anzeigen
                      owget ist dasselbe wie owdir, owread, owwrite nur in einem
                      Deine erste Aussage macht bzgl. der Namenswahl Sinn, für die Zweite bräuchte ich allerdings ein write-Beispiel, denn
                      Code:
                      owget "/simultaneous/temperature"
                      owget "/simultaneous/temperature=1"
                      funktionieren nicht wie gewünscht.

                      Weshalb ich überhaupt auf den IPE aufmerksam wurde, war u.a. der Post von Stefan in: https://knx-user-forum.de/189126-post29.html. Da ich den IPE auch mit dem EibPC verwenden möchte habe ich mich hier im Forum zu dem Thema eingelesen. Bei einigen Leuten sind bei diesem Zusammenspiel scheinbar unlösbare Probleme aufgetreten (https://knx-user-forum.de/314147-post36.html). Unter Umständen haben diese aber sogar etwas mit dem Timing der Abfragen zu tun...

                      Zitat von makki Beitrag anzeigen
                      Ähm, auf dem IPE bitte am besten garnicht! Also nicht das es (theoretisch) möglich wäre, liegt alles - inkl. Perl - im Repository
                      Da ich experimentierfreudig bin, würde ich die Therorie gern mal in der Praxis testen. Brauche ich dazu die aktuelle Firmware oder welches Package fehlt mir neben Perl, damit OWNet zur Verfügung steht?

                      Code:
                      root@owextender:/# perl test.pl
                      Can't locate OWNet.pm in @INC (@INC contains: /usr/lib/perl5/5.10 .) at test.pl line 9.
                      BEGIN failed--compilation aborted at test.pl line 3.
                      Perl-Module allgemein kann ich also nicht ohne Weiteres selbst installieren?

                      Grüße
                      Erik

                      Kommentar


                        #12
                        Für OWNet.pm gibts auf dem IPE kein Paket, kann man sich jedoch einfach (z.B. hier) laden (wget).
                        Das ist ja weder besonders versionsabhängig - weil es da keine wesentlichen Änderungen gibt/gab) noch ein plattformspezifisches Kompilat..

                        Makki
                        EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                        -> Bitte KEINE PNs!

                        Kommentar

                        Lädt...
                        X