.titleBar { margin-bottom: 5px!important; }

Freetz FritzBox 7570

Dieses Thema im Forum "Freetz" wurde erstellt von soso, 11 Dez. 2018.

  1. soso

    soso Mitglied

    Registriert seit:
    17 Mai 2005
    Beiträge:
    404
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Richtig, Ich hatte mich vertippt. Es war die Freetz-Version 1.1.4 nicht 1.4.1.
     
  2. soso

    soso Mitglied

    Registriert seit:
    17 Mai 2005
    Beiträge:
    404
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    So ich hab mal das rc.ultravncrepeater angepasst:
    Code:
    #!/bin/sh
    
    DAEMON=repeater
    DAEMON_CONF=/tmp/flash/uvncrepeater.ini
    DAEMON_LOG=/var/log/uvncrepeater.log
    . /etc/init.d/modlibrc
    
    init() {
            echo "copy uvncrepeater.ini to $DAEMON_CONF"
            cp /etc/uvncrepeater.ini $DAEMON_CONF
            }
    
    start() {
            echo -n 'adduser uvncrep...'
            adduser -D -H uvncrep
            if [ ! -r /tmp/flash/uvncrepeater.ini ]; then
                    init
            fi
            echo -n 'Starting uvncrepeater...'
            if [ -z "$(pidof "$DAEMON")" ]; then
                    $DAEMON $DAEMON_CONF > $DAEMON_LOG 2>&1 &
                    exitval=$?
                    if [ "$exitval" -eq 0 ]; then
                            echo 'done.'
                    else
                            echo 'failed.'
                    fi
            else
                    echo "$DAEMON is already running"
            fi
    }
    
    stop() {
            echo -n 'Stoping uvncrepeater...'
            killall $DAEMON > /dev/null 2>&1
            exitval=$?
            if [ "$exitval" -eq 0 ]; then
                    echo 'done.'
            else
                    echo 'failed.'
                    exit $exitval
            fi
    }
    
    case "$1" in
       ""|load)
           modreg daemon $DAEMON
           ;;
       unload)
           modunreg daemon $DAEMON
           modlib_stop
           ;;
       start)
           modlib_start
           ;;
       stop)
           modlib_stop
           ;;
       restart)
           modlib_stop
           sleep 1
           modlib_start
           ;;
       status)
                    if [ -z "$(pidof "$DAEMON")" ]; then
                            echo 'stoped'
                    else
                            echo 'running'
                    fi
                    ;;
       reset)
                    if [ ! -z "$(pidof "$DAEMON")" ]; then
                            stop
                    fi
                    init
                    start
                    ;;
       *)
                    echo "Usage: $0 [start|stop|restart|status|reset]" 1>&2
                    exit 1
                    ;;
    esac
    
    exit 0
    
    Leider habe ich noch immer keinen Eintrag im Menü unter Status -> Services -> Static Packages.
    Mir ist bei der Suche aber aufgefallen, dass das funktionierende Plugin auf Basis von Freetz-1.1.4 auf einer FritzBox-7170 einen Eintrag : /var/mod/etc/init.d/rc.uvncrepeater hat. Der ist bei dem nicht funktionierenden Plugin auf der Speedport W920v nicht vorhanden.
    Kann es daran liegen?
     
  3. PeterPawn

    PeterPawn IPPF-Urgestein

    Registriert seit:
    10 Mai 2006
    Beiträge:
    11,629
    Zustimmungen:
    633
    Punkte für Erfolge:
    113
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
    Ich sehe da nicht einen Eintrag zum "modreg cgi" (bzw. für ein "modreg status")?

    Hast Du Dir die entsprechenden Stellen im Wiki (https://freetz.github.io/wiki/help/howtos/development/create_gui.html) wenigstens mal angesehen?

    Wie sehen denn die diversen "*.reg"-Dateien am Ende aus, wenn Dein Skript sein "load" (bzw. den Aufruf ohne Parameter, was bei Freetz ja "load" impliziert und nicht "start") gekriegt hat?
     
  4. soso

    soso Mitglied

    Registriert seit:
    17 Mai 2005
    Beiträge:
    404
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Natürlich habe ich mir die Anleitung angesehen.
    Das uvncrepeater-Plugin hat kein cgi. Die Konfigurationsdatei uvncrepeater.ini wird in der Regel nicht geändert. Wenn doch mal eine Änderung notwendig ist mache ich das mit vi und anschließendem modsave flash. Ist denn ein cgi unbedingt notwendig damit der uvncrepeater unter Static packages auftaucht? Bei meiner alten Version auf Basis von Freetz 1.1.4 war das nicht notwendig. Der uvncrepeater taucht in keiner .reg auf. Hab deshalb mal suchen lassen und siehe da, das rc.uvncrepeater hat keine Berechtigung zum Ausführen! Im make-Verzeichniss hatte er die noch. Ich kann die Berechtigung auch nicht manuell setzen.

    Telnet der gefreetzten Box:
    Code:
    [email protected]:/# find -name rc.uvncrepeater
    ./etc/init.d/rc.uvncrepeater
    [email protected]:/# cd ./etc/init.d
    [email protected]:/etc/init.d# ls -l
    -rw-r--r--    1 root     root           689 Jan 28 17:31 modlibfw
    -rw-r--r--    1 root     root          3005 Jan 28 17:31 modlibinetd
    -rw-r--r--    1 root     root         10630 Jan 28 17:31 modlibrc
    -rwxrwxrwx    1 root     root         74569 Jan 29 01:51 rc.S
    -rwxrwxrwx    1 root     root           249 Feb 10  2014 rc.audiod.sh
    -rwxrwxrwx    1 root     root          3036 Feb 10  2014 rc.chrony
    -rwxrwxrwx    1 root     root         14077 Jan 29 01:51 rc.conf
    -rwxr-xr-x    1 root     root           734 Jan 28 17:31 rc.crond
    -rwxrwxrwx    1 root     root          6405 Feb 10  2014 rc.dsl.sh
    -rwxr-xr-x    1 root     root          2263 Jan 28 17:31 rc.dsld
    -rwxr-xr-x    1 root     root          1502 Jan 28 17:31 rc.ftpd
    -rwxr-xr-x    1 root     root           934 Jan 29 01:51 rc.inetd
    -rwxr-xr-x    1 root     root          5127 Jan 29 01:51 rc.mod
    -rwxr-xr-x    1 root     root          4227 Jan 28 17:31 rc.multid
    -rwxrwxrwx    1 root     root          9409 Jan 29 01:51 rc.net
    -rwxrwxrwx    1 root     root           394 Feb 10  2014 rc.pictured.sh
    -rwxrwxrwx    1 root     root           252 Feb 10  2014 rc.preaudio.sh
    -rwxrwxrwx    1 root     root          8707 Feb 10  2014 rc.ptest.sh
    -rwxr-xr-x    1 root     root           861 Jan 29 01:51 rc.rtc.sh
    -rwxr-xr-x    1 root     root           395 Jan 28 17:31 rc.smbd
    -rwxr-xr-x    1 root     root          1576 Jan 28 17:31 rc.swap
    -rwxr-xr-x    1 root     root          2674 Jan 29 01:51 rc.syslogd
    -rwxr-xr-x    1 root     root          1448 Jan 28 17:31 rc.telnetd
    -rwxrwxrwx    1 root     root           348 Feb 10  2014 rc.usbhost
    -rw-r--r--    1 root     root          1804 Jan 28 22:24 rc.uvncrepeater
    -rwxrwxrwx    1 root     root         13023 Feb 10  2014 rc.vdsl.sh
    -rwxrwxrwx    1 root     root          1057 Feb 10  2014 rc.voip
    -rwxr-xr-x    1 root     root           956 Jan 28 17:31 rc.webcfg
    -rwxr-xr-x    1 root     root         56842 Feb 10  2014 rc.wlan
    [email protected]:/etc/init.d# chmod a+x rc.uvncrepeater
    chmod: rc.uvncrepeater: Read-only file system
    [email protected]:/etc/init.d# chmod u+x rc.uvncrepeater
    chmod: rc.uvncrepeater: Read-only file system
    [email protected]:/etc/init.d#
    
     
  5. PeterPawn

    PeterPawn IPPF-Urgestein

    Registriert seit:
    10 Mai 2006
    Beiträge:
    11,629
    Zustimmungen:
    633
    Punkte für Erfolge:
    113
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
    Ich bin mir zwar auch nicht sicher, aber deshalb habe ich Dich ja auf den Inhalt von "modreg" aufmerksam machen wollen.

    Ich verstehe anhand der Beschreibung auch nicht so richtig, wo Du das Paket nun im GUI sehen kannst und wo nicht bzw. was Dir da noch fehlt. Auch wenn ich kein Freund von Bildern (als Selbstzweck) bin, wäre hier ein solches vermutlich hilfreich ... oder eine absolut exakte Beschreibung, wo es fehlt.

    Es gibt ja die "status.reg" und durch den Vergleich der Pakete, die unter "Status -> Service" irgendwo bei Dir angezeigt werden, mit denen, die in dieser Anzeige fehlen, solltest Du ja erkennen können, welche Registrierung (der Blick in "modreg" zeigt ja noch ein paar zusätzliche Möglichkeiten, das "modreg daemon" ändert - im Gegensatz z.B. zum "modreg cgi", das zwei andere Registrierungen aufruft - auch nur eine Datei, soweit ich das beim (eher flüchtigen) Blick in die Datei gesehen habe) Deinem Paket nun noch fehlen könnte, damit das am Ende so aussieht, wie Du es erwartest.

    Das ist z.B. ein Satz, der für mich in diesem Thread überhaupt keinen Sinn ergibt ... erstens ist hier wieder von einem Freetz-1.1.4 die Rede und ich weiß immer noch nicht, ob das nun die Versionsnummer eines alten Freetz-Standes oder die Version von "freetz-linux" (also der VM, die für den Einsatz mit Freetz vorbereitet wurde) sein soll.

    Auch ist bisher nirgendwo von einem Speedport W920v die Rede gewesen und was bitte schön ist denn hier mit "Plugin" gemeint? Das ist ja - auch im Zusammenhang mit FRITZ!OS und Freetz - ein "stehender Begriff" und bezeichnet ein TAR-File mit nachladbarem Content. Meinst Du hier vielleicht doch eher ein "Package"? Woher kommt denn nun plötzlich ein W920v in dieser Story und welches "Plugin" (oder "Package") arbeitet bei dem dann nicht, obwohl es (in welcher Firmware eigentlich) installiert wäre?

    Ich kann Dir also irgendwie nicht so richtig folgen und das galt partiell schon für #22 (daher auch eher "allgemeine Hinweise", wo man nachsehen könnte/sollte) - wobei natürlich das Init-Skript für das Paket schon mal ausführbar sein sollte. Wieso das jetzt nicht richtig funktionieren sollte (außer es handelt sich um den bekannten "fakeroot"-Fehler, weil Du nach dem Auspacken der Dateien unter "fakeroot"-Steuerung noch an ihnen herumgeändert hast), kann man auch nur "raten" ... ich glaube aber nicht, daß von der Freetz-Toolchain irgendetwas eingepackt wurde, was nicht so auch in "build/modified" gestanden hätte.
     
  6. soso

    soso Mitglied

    Registriert seit:
    17 Mai 2005
    Beiträge:
    404
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    #26 soso, 30 Jan. 2019
    Zuletzt von einem Moderator bearbeitet: 30 Jan. 2019
    Ich hatte im Jahr 2005 mit Ach und Krach mein erstes und bisher einziges Freet-Paket für eine FritzBox 7170 erstellt: https://www.ip-phone-forum.de/threads/ultravnc-repeater.211025/
    Das basierte auf freetz-1.1.4. Dabei hatte ich kein eigenes GUI für den uvncrepeater. Trotzdem taucht unter den Statische Pakete der uvncrepeater auf:
    freetz-1.1.4.jpg
    Jetzt muss ich wegen der Umstellung auf IP-Anschluss die FritzBox wechseln. Dazu habe ich mir vor einem Jahr ein Speedport W920v besorgt und auf die Firmware der FritzBox 7570 umgestellt. Daher auch der etwas missverständliche Titel.
    Wenn ich die Firmware der Speedport jetzt mit dem unveränderten uvncrepeater freetz Paket erzeuge taucht der uvncrepeater nicht mehr unter static packages auf. Diesen Eintrag finde ich ganz praktisch da man auf einen Blick sehen kann ob der uvncrepeater läuft und man ihn auch starten oder stoppen kann:
    freetz-devel-15014.jpg
    Muss ich in irgendeiner Konfigurations-Datei bei der neuen freetz-Version jetzt noch was ergänzen?

    Ferner verstehe ich nicht wiso das /etc/init.d/rc.uvncrepeater in der Firmware nicht ausführbar ist, obwohl ich es im freetz-make Verzeichniss durch chmod ausführbar gemacht habe. Ich werde aber noch mal das gesammte uvncrepeater-Paket löschen und komplett neu machen.

    //edit by stoney: Bilder geschrumpft
     
  7. PeterPawn

    PeterPawn IPPF-Urgestein

    Registriert seit:
    10 Mai 2006
    Beiträge:
    11,629
    Zustimmungen:
    633
    Punkte für Erfolge:
    113
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
    Die einfachste Erklärung dafür wäre es schon mal, daß diese Änderung (nur ein "chmod") keine ist, die dazu führen würde, daß eine Datei als "neuer" angesehen wird. Daher kann es gut sein, daß die Datei nach dem Ändern der Flags gar nicht erneut kopiert wurde.

    Um solche Sachen sehen zu können, gehört zu einem Freetz-Problem einmal die verwendete Konfigurationsdatei (ich bin mir immer noch nicht sicher, ob hier tatsächlich der Freetz-Master zum Einsatz kommt oder irgendeine uralte "stable"-Version - es gibt aber einige Settings, an denen man das festmachen könnte in der ".config") und - sofern es ein Problem ist, was seine Ursachen vermutlich im Build-Prozess hat - auch das passende Protokoll für den Build ... und zwar auch mit entsprechend gesetzter "Geschwätzigkeit".

    In #11 sorgst Du selbst für erhebliche Verwirrung ... Du wirfst einfach munter die Versionsnummern von Freetz (hier wohl die 1.1.4, die wahrlich "historisch" zu nennen wäre) und die Versionnummern für "freetz-linux" durcheinander (letzteres fing bei Dir hier im Thread mit 1.2.1 an und ging jetzt wohl bis 1.4.1 - hoffentlich mit entsprechenden "dist-upgrade"-Aktualisierungen).

    Irgendwo weiter vorne wurde Dir bereits der Hinweis gegeben, daß Du besser auf den Freetz-Trunk (aka "Freetz-Master" bzw. der Branch "master" im GitHub-Repo "Freetz/freetz") wechseln solltest, weil die alten Stable-Stände ggf. auch irgendwelche alten (und gar nicht mehr erhältlichen) Pakete als Quellen referenzieren. Schon seit Jahren (auch wenn Du das vielleicht nicht mitbekommen hast seit 2005) lautet die Empfehlung so ... selbst wenn es sich um eine (ebenfalls) uralte FRITZ!Box handeln sollte.

    Der aktuelle Freetz-Master hat gar keine "Versionsnummer" - was aber nichts daran ändert, daß inzwischen (leider muß ich meinerseits betonen) auch die alten Stände wieder ihren Eingang in das aktuelle Freetz-Repo gefunden haben und es damit dort genauso unübersichtlich machen, wie das zuvor im SVN-Repo der Fall war. Da kannst Du zwar nichts dafür, aber Du kannst Dir ja auch einfach mal die alten Diskussionen hier im Board durchlesen und nicht erwarten, daß sich jetzt unbedingt jemand findet, der die letzten 13 Jahre der Freetz-Entwicklung noch einmal für Dich zusammenfaßt. Die meisten dürften daran nämlich kein Interesse haben und auch Dir kann man eigentlich nur raten, entweder die alten "Kenntnisse" zu vergessen (oder sie zumindest nicht als Primärquelle anzusehen) und Dich neu einzuarbeiten oder Du mußt wohl doch in den sauren Apfel beißen und die Entwicklungen an Freetz zwischen 2005 und 2011 (ungefähr da war die aktuell immer noch verwendete Toolchain dann "festgeklopft") nachträglich eruieren, damit Deine alten Kenntnisse (nach Aktualisierung) zur neuen Freetz-Version passen.
     
  8. soso

    soso Mitglied

    Registriert seit:
    17 Mai 2005
    Beiträge:
    404
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Ich hab noch mal das komplette freetz mit dem original rc.uvncrepeater aus post #16 neu installiert Das rc.uvncrepeater ist jetzt ausführbar und scheint auch zu funktionieren.
    telnet der gefreetzten Box:
    Code:
    [email protected]:/etc/init.d# rc.uvncrepeater status
    running
    [email protected]:/etc/init.d# rc.uvncrepeater stop
    Stoping uvncrepeater...done.
    [email protected]:/etc/init.d# rc.uvncrepeater status
    stoped
    [email protected]:/etc/init.d# rc.uvncrepeater start
    adduser uvncrep...adduser: user 'uvncrep' in use
    Starting uvncrepeater...done.
    [email protected]:/etc/init.d# rc.uvncrepeater status
    running
    [email protected]:/etc/init.d#
    
    Ich habe aber immer noch keinen Eintrag unter Statische Pakete (post #26). Ich konnte aber in der ./var/mod/etc/reg/daemon.reg genau die Pakete identifizieren die auch im Bild 2 aus #26 auftauchen. in der Datei fehlt der rc.uvncrepeater:
    Code:
    [email protected]:/var/mod/etc/reg# cat daemon.reg
    crond|crond|rc.crond|false|false|mod
    dsld|dsld|rc.dsld|false|false|avm
    ftpd|ftpd|rc.ftpd|false|false|avm
    inetd|inetd|rc.inetd|false|false|inetd
    multid|multid|rc.multid|false|false|avm
    swap|swap|rc.swap|false|false|mod
    syslogd|syslogd|rc.syslogd|false|false|syslogd
    telnetd|telnetd|rc.telnetd|false|false|avm
    webcfg|webcfg|rc.webcfg|false|false|mod
    [email protected]:/var/mod/etc/reg#
    
    Ich muss also nur noch den Eintrag unter Statisch Pakete hinbekommen. Weiss jemand wie das geht?
     
  9. PeterPawn

    PeterPawn IPPF-Urgestein

    Registriert seit:
    10 Mai 2006
    Beiträge:
    11,629
    Zustimmungen:
    633
    Punkte für Erfolge:
    113
    Beruf:
    IT-Freelancer
    Ort:
    Berlin
    Genau dafür ist ja nun der Aufruf von "modreg daemon ..." gedacht (https://github.com/Freetz/freetz/blob/master/make/mod/files/root/usr/bin/modreg#L111) ... da man den auch "von Hand" ausführen kann und sich den Zustand der "daemon.reg" davor und danach ja ebenfalls ansehen kann (notfalls sogar das "modreg" mit "sh -x ..." aufrufen könnte), solltest Du eigentlich dahinterkommen können, warum das bei Dir nicht das gewünschte Ergebnis zeitigt. Bei korrektem Inhalt der "daemon.reg" sollte das ja dann auch (in stat_lines(): https://github.com/Freetz/freetz/bl...t/usr/lib/mww/page.d/service/list_body.sh#L26) entsprechend in der Ausgabe generiert werden (auch das kann man "von Hand" aufrufen und sich die Ausgabe ansehen).
     
  10. soso

    soso Mitglied

    Registriert seit:
    17 Mai 2005
    Beiträge:
    404
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    So, ich glaube das wars. Ich habe das rc.uvncrepeater noch mal verändert:
    Code:
    #!/bin/sh
    
    export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/mod/sbin:/mod/bin:/mod/usr/sbin:/mod/usr/bin
    export LD_LIBRARY_PATH=/mod/lib
    
    DAEMON=repeater
    DAEMON_CONF=/tmp/flash/uvncrepeater.ini
    DAEMON_LOG=/var/log/uvncrepeater.log
    
    init() {
       echo "copy uvncrepeater.ini to $DAEMON_CONF"
       cp /etc/uvncrepeater.ini $DAEMON_CONF
       }
    
    start() {
       echo -n 'adduser uvncrep...'
       adduser -D -H uvncrep
       if [ ! -r /tmp/flash/uvncrepeater.ini ]; then
           init
       fi
       echo -n 'Starting uvncrepeater...'
       if [ -z "$(pidof "$DAEMON")" ]; then
           $DAEMON $DAEMON_CONF > $DAEMON_LOG 2>&1 &
           exitval=$?
           if [ "$exitval" -eq 0 ]; then
               echo 'done.'
           else
               echo 'failed.'
           fi
       else
           echo "$DAEMON is already running"
       fi
    }
    
    stop() {
       echo -n 'Stoping uvncrepeater...'
       killall $DAEMON > /dev/null 2>&1
       exitval=$?
       if [ "$exitval" -eq 0 ]; then
           echo 'done.'
       else
           echo 'failed.'
           exit $exitval
       fi
    }
    
    case "$1" in
       ""|load)
           modreg daemon 'uvncrepeater'
           start
           ;;
       unload)
           modunreg daemon 'uvncrepeater'
           stop
           ;;
       start)
           start
           ;;
    
       stop)
           stop
           ;;
       restart)
           stop
           sleep 1
           start
           ;;
       status)
           if [ -z "$(pidof "$DAEMON")" ]; then
               echo 'stopped'
           else
               echo 'running'
           fi
           ;;
    
       reset)
           if [ ! -z "$(pidof "$DAEMON")" ]; then
               stop
           fi
           init
           start
           ;;
       *)
           echo "Usage: $0 [start|stop|restart|status|reset]" 1>&2
           exit 1
           ;;
    esac
    
    exit 0
    
    damit habe ich jetzt einen Eintrag unter Static packages:
    freetz2.jpg
    Ich kann den uvncrepeater auch starten, stoppen und restarten.
    Ob der uvncrepeater dann auch korrekt funktioniert kann ich erst später testen. Dazu muss ich die Box erste komplett einrichten. Gegebenenfals melde ich mich dann noch mal.
    Danke