Fritz!Box 7390 Modifikationen

Status
Für weitere Antworten geschlossen.

robert_s

Mitglied
Mitglied seit
1 Jun 2006
Beiträge
481
Punkte für Reaktionen
12
Punkte
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.
 
ich glaube "unbrauchbar" ist nicht ganz korrekt. es wird halt der andere kompiler nötig. damit wird freetz mit evtl anpassungen zu kompilieren sein
 
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).
 
Zuletzt bearbeitet:
... 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 ;-)
 
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...
 
Zuletzt bearbeitet:
Ja, es liegt aber nicht an der üblichen opensource-Stelle. Sondern hier: Klick mich

Happy computing!
R@iner
 
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
 
Du kannst irgendwo im Menuconfig die Downloadseite der Firmware/Sourcen angeben, weiß jetz nur nich wo....Auf jedenfall mit Show Advanced Options.
 
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...
 
Danke für die Antworten das hatte ich schon fast befürchtet.
 
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...
 
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... :)
 
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ß
 
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

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?
 
ich denke schon, dass der format gleich ist: einfach ausprobieren. es gibt außerdem genug beschreibungen im netz, wie diese aufzubauen ist
 
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?
 
hallo, schaut auf dem ersten blick gut aus. probiere es aus
 
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
 
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
Für weitere Antworten geschlossen.
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.