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

Fritz!Box 7390 Modifikationen

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von robert_s, 19 Feb. 2010.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. robert_s

    robert_s Mitglied

    Registriert seit:
    1 Juni 2006
    Beiträge:
    472
    Zustimmungen:
    10
    Punkte für Erfolge:
    18
    Ich fange mal ein Thema zu Firmware-Modifikationen für die Fritz!Box 7390 an.

    Erste Erkenntnis: Die 7390 hat zwar wie alle bisherigen Fritz!Boxen eine MIPS-CPU - nur läuft die diesmal im big endian Modus, wie ich mit readelf anhand eines Binaries von der Box herausbekommen habe.

    Da alle anderen Fritz!Boxen stets im little endian Modus liefen, sind entsprechend die bisherigen Tools wie freetz unbrauchbar. Statt den "mipsel" Packages muss man die "mips" Packages verwenden, insbesondere natürlich für den Cross-Compiler.
     
  2. radislav

    radislav Aktives Mitglied

    Registriert seit:
    15 März 2008
    Beiträge:
    950
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    ich glaube "unbrauchbar" ist nicht ganz korrekt. es wird halt der andere kompiler nötig. damit wird freetz mit evtl anpassungen zu kompilieren sein
     
  3. robert_s

    robert_s Mitglied

    Registriert seit:
    1 Juni 2006
    Beiträge:
    472
    Zustimmungen:
    10
    Punkte für Erfolge:
    18
    #3 robert_s, 19 Feb. 2010
    Zuletzt bearbeitet: 22 Feb. 2010
    Nach mehreren gescheiterten Versuchen, einen MIPS Cross-Compiler zusammenzubekommen, habe ich hiermit Erfolg gehabt:

    http://buildroot.uclibc.org/

    Das buildroot-Paket in die Freetz-Linux VM herunterladen, auspacken, "make menuconfig", die ersten beiden Punkte auf "mips" und "mips32" stellen, speichern, "make", lange Kaffeepause.

    Danach habe ich eine "busybox" im target-Verzeichnis gefunden, die dann auch tatsächlich auf der Fritz!Box 7390 läuft.

    Inzwischen habe ich auch raus, wie man die Toolchain benutzt: export PATH=$PATH:<buildroot-Verzeichnis>/output/staging/usr/bin, dann kann man mit "mips-linux-gcc" compilen. Wenn man ein fertiges Paket mit configure-Script bauen will: export CC=mips-linux-gcc und ./configure --host i686-unknown-linux-gnu --target mips-linux, danach "make". So ist mir zumindest ein Build von "wget" geglückt, der einwandfrei auf der Fritz!Box 7390 läuft (und deutlich schneller ist als der in der busybox enthaltene wget-Befehl).
     
  4. T_H

    T_H Neuer User

    Registriert seit:
    15 Jan. 2008
    Beiträge:
    89
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ... da ich (hoffentlich) bald meine 7390 bekomme, habe ich natürlich auch Interesse daran das einige mods darauf laufen.

    Also vor allem:
    - busybox
    - openvpn
    - TwonkyMedia

    Wenn das schon jemand übersetzt hat und das Ergebnis teilen möchte, währe das super :)

    Ich habe schonmal eine komplette toolchain aufgesetzt und damit auch die LDAP-Lib übersetzt, das ganze dauert nur leider seine Zeit ;-)
     
  5. robert_s

    robert_s Mitglied

    Registriert seit:
    1 Juni 2006
    Beiträge:
    472
    Zustimmungen:
    10
    Punkte für Erfolge:
    18
    #5 robert_s, 25 Feb. 2010
    Zuletzt bearbeitet: 1 Apr. 2010
    Ich habe meine Cross-Compiling Umgebung inzwischen noch etwas verfeinert, hier die Anleitung (alles in der Freetz-Linux VM ausgeführt, die ich übrigens in Suns VirtualBox verwende):

    1. Get Buildroot from http://buildroot.uclibc.org, unpack and rename directory to *-mips
    2. Run "make menuconfig" and set:
    - Target Architecture to (mips)
    - Target Architecture Variant to (mips32r2)
    - Build options -> gcc optimization level to (optimization level 3)
    - Toolchain -> GCC compiler Version to (gcc 4.4.x)
    3. Run "make"
    4. Create a shell script which
    - adds (buildroot directory)/output/staging/usr/bin to $PATH
    - sets $CC to mips-linux-gcc
    - sets $CFLAGS to "-O3 -march=24kec -mips16 -mdsp"
    - sets $CONFIG to "--host=i686 --target=mips"
    - runs bash
    5. Run the shell script before building packages or compiling sources individually
    6. To build a packet with a configure script, run: "./configure $CONFIG", then "make"
    7. To compile something directly, run: "$CC $CFLAGS <options> <sources>"

    Ggf. bei $CFLAGS "-O3" durch "-O3 -Os" ersetzen, wenn man Speicher sparen will bzw. muss. Bisher scheint die Box aber eher an die Grenze seiner CPU-Leistung als an die seiner Speicherkapazität zu stossen...

    AVM scheint die Firmware übrigens ohne die Ausnutzung von MIPS32r2, mips16 und DSP compiliert zu haben, welches der Prozessor aber laut /proc/cpuinfo unterstützt - da könnte also noch etwas ungenutztes Potential liegen. Vielleicht sollte man sich mal einen komplett neuen, voll optimierten Kernel zusammenbauen...
     
  6. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Gibt es denn schon die Kernel-Quellen dafür?
     
  7. skyteddy

    skyteddy IPPF-Promi

    Registriert seit:
    26 Mai 2005
    Beiträge:
    5,854
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Ort:
    Bayern
  8. paladin80

    paladin80 Neuer User

    Registriert seit:
    12 Dez. 2009
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo ich wollte mal fragen ob es schon jemanden gelungen ist eine erweiterete Firmware zu bauen.

    Mit Freetz läuft das ja noch nicht zumindest nicht automatisch.

    Ich bin im algemeinen mit der Original Firmware zufrieden(soweit ich das sagen kann habe sie erst seit 3 Tagen im Betrieb). Jedoch finde ich die Firewall echt beschissen und würde gern auf die erweiterten Funktionen zugreifen.

    Kann mir da jemand helfen??
    Vielleicht mit einer modefizierten Firmware oder einer etwas besseren anleitung.
    habe dazu leider noch nichts im netz gefunden was mir weiterhelfen konnte.

    habe bereits ein Virtual Dub Freetz mit dem builroot erweitert aber im freetz kann man ja nicht die sourchen der 7390 Box auswählen und damit werden wahrscheinlich die treiber nicht richtig funktionieren.


    ich währe über hilfe sehr dankbar
    Paladin
     
  9. linuxkasten

    linuxkasten Aktives Mitglied

    Registriert seit:
    2 Feb. 2009
    Beiträge:
    889
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Du kannst irgendwo im Menuconfig die Downloadseite der Firmware/Sourcen angeben, weiß jetz nur nich wo....Auf jedenfall mit Show Advanced Options.
     
  10. robert_s

    robert_s Mitglied

    Registriert seit:
    1 Juni 2006
    Beiträge:
    472
    Zustimmungen:
    10
    Punkte für Erfolge:
    18
    Das wird so alles nichts nützen. Man kann zwar angeben, dass er keine fertige Toolchain laden sonderne eine eigene erstellen soll - aber eine Einstellmöglickeit, dass er statt für "mipsel" (little-endian MIPS) einen Cross-Compiler für "mips" (big-endian MIPS) erstellen soll, habe ich nicht gefunden.

    Da muss wohl schon eine neue freetz-Version her, die auch die Fritz!Box 7390 mit ihren "Eigenheiten" (andere endianness, andere Treiber) unterstützt...
     
  11. paladin80

    paladin80 Neuer User

    Registriert seit:
    12 Dez. 2009
    Beiträge:
    2
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Danke für die Antworten das hatte ich schon fast befürchtet.
     
  12. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Wir müssen dafür eine neue Toolchain generieren, das dauert. Und da keiner der Devs aktuell eine 7390 zum debuggen da hat, ist das noch langwieriger...
     
  13. kay1971

    kay1971 Neuer User

    Registriert seit:
    20 Nov. 2006
    Beiträge:
    149
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    Problemlöser
    Ort:
    0x42,0x6F,0x6E,0x6E
    Hallo zusammen,

    ich bin derzeit auf der suche nach einer Möglichkeit, crontab zu benutzen.

    Robert_s hat eine Busybox compiliert, die auf der 7390 läuft (nochmals Danke für die ftp Implementierung) und auch crontab enthält.

    Da es das Standardverzeichnis (/var/spool/cron/crontabs) nicht gibt dachte ich, eine seperate crontab anzulegen auf dem USB-Stick (wo ich auch die Busybox liegen habe).

    Jetzt stellen sich mir 2 Fragen, auf die ich keine richtige antwort finde (Vermutlich habe ich die falschen Suchbegriffe in der SuFu benutzt):

    1. wie muß die crontab Datei aufgebaut sein?
    2. es muß ja bei einem Reboot sichergestellt werden, das crontab installiert wird.
    Soweit ich das verstehe bleibt nur die Möglichkeit über die Debug.cfg, oder?
    Also müsste in der debug.cfg eingefügt werden:

    ./pfadzurbusybox/busybox crontab -c pfadzurcrondatei datei

    Oder bin ich total auf dem Holzweg?

    Sorry für die 'dummen' Fragen, aber meine Linuxkenntnisse beschränken sich auf gefährliches halbwissen... :)
     
  14. radislav

    radislav Aktives Mitglied

    Registriert seit:
    15 März 2008
    Beiträge:
    950
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hallo,

    du bist gar nicht auf dem holzweg!
    zunächst würde ich anschauen, ob deine busybox crontab überhaupt unterstützt:
    Code:
    /var/tmp # ./busybox1.12.4 --help
    [hier kommen dann ein haufen von befehlen, die alphabetisch sortiert sind]
    
    wenn ja, dann hast du das genau richtig vermutet:
    Code:
    /var/tmp # ./busybox1.12.4 crontab --help
    BusyBox v1.12.4 (2009-09-16 17:45:11 CEST) multi-call binary
    
    Usage: crontab [-c DIR] [-u USER] [-ler]|[FILE]
    
            -c      Crontab directory
            -u      User
            -l      List crontab
            -e      Edit crontab
            -r      Delete crontab
            FILE    Replace crontab by FILE ('-': stdin)
    
    somit ein beispiel:
    Code:
    # cd /var/tmp
    /var/tmp # touch crontab
    /var/tmp # vi crontab
    [den inhalt reinschreiben oder den alten reinkopieren]
    /var/tmp #./busybox1.12.4 crontab ./crontab
    gruß
     
  15. kay1971

    kay1971 Neuer User

    Registriert seit:
    20 Nov. 2006
    Beiträge:
    149
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    Problemlöser
    Ort:
    0x42,0x6F,0x6E,0x6E
    Hallo Radislav,

    Ja, die beschrieben Busybox hat crontab.

    leider hat meine FB keine crontab, somit kann ich mich nicht an der alten orientieren und muß eine neue anlegen.

    Ist das Format bei jeder gleich?
    Oder anders, kann ich mich an einer Redhat, Debian oder sonsteiner Crontab orientieren?
     
  16. radislav

    radislav Aktives Mitglied

    Registriert seit:
    15 März 2008
    Beiträge:
    950
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    ich denke schon, dass der format gleich ist: einfach ausprobieren. es gibt außerdem genug beschreibungen im netz, wie diese aufzubauen ist
     
  17. kay1971

    kay1971 Neuer User

    Registriert seit:
    20 Nov. 2006
    Beiträge:
    149
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    Problemlöser
    Ort:
    0x42,0x6F,0x6E,0x6E
    So, ich glaube, ich habe es...

    Könnte einmal jemand drüberschauen, bevor ist das in die debug.cfg eintrage?

    Eintragen des cronjobs:
    Code:
    /var/InternerSpeicher/FRITZ/busybox/busybox crontab /var/InternerSpeicher/FRITZ/busybox/cronkv.txt -c /var
    
    Inhalt cronkv.txt
    Code:
    10 * * * * /var/InternerSpeicher/FRITZ/busybox/busybox sh /var/InternerSpeicher/FRITZ/busybox/ftp.sh
    führt das Skript jede Stunde um 10 nach aus

    und dann der start des cron (was ich aus in die debug setzen würde):
    Code:
    /var/InternerSpeicher/FRITZ/busybox/busybox crond -b -c /var
    Ich gehe davon aus, das der Interne Speicher dein FW Update überstehen wird, somit brauche ich doch nur den Eintrag in der debug.cfg nach einem Update erneuern, oder?

    Was ist mit dem cron in /var, übersteht der einen reboot?
     
  18. radislav

    radislav Aktives Mitglied

    Registriert seit:
    15 März 2008
    Beiträge:
    950
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    hallo, schaut auf dem ersten blick gut aus. probiere es aus
     
  19. Smokers

    Smokers Neuer User

    Registriert seit:
    26 Apr. 2009
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    also ich bin ja nicht so der gimp, aber mich würde vorallem interessieren inwieweit ich mich mit den Apache/lighthttp oder ähnlichen webserver +PHP rantrauen könnte.
    Würde doch gern nen halbwegsbrauchbaren webserver im netz haben mit dem ich meine Bilderverwaltung programmieren kann.
    Traue keinen Online-Diensten mehr dafür ;-)

    lg
     
  20. colonia27

    colonia27 Guest

    Moin und Willkommen im Forum,

    Deine Frage ist recht einfach zu beantworten: Es kommt ganz drauf an wie bereit du selbst bist dir die hier im Forum verstreuten Informationen anzulesen und dich damit zu beschäftigen. Vorhanden sind hier diverse Howtos und Anleitungen die du nur suchen brauchst.
    Wenn ich das nicht selbst tun müsste, hätt ich dir ein paar Links gegeben ;-)
     
Status des Themas:
Es sind keine weiteren Antworten möglich.