Was passt eigentlich auf eine Fritz!Box (7170) und warum? RAM vs. USB?

Finch

Neuer User
Mitglied seit
11 Jan 2008
Beiträge
24
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich bin seit letzter Woche stolzer Besitzer einer Fritz!Box 7170 und habe kurz danach (!) dieses Forum bzw. die vielfältigen Möglichkeiten der Fritz!Box entdeckt :)

Ich habe jetzt schon ziemlich viel hier und anderswo (tecchannel) gelesen, aber eine Sache habe ich noch nicht ganz verstanden: Mir ist klar, daß die Box wenig Speicherplatz (8 MB Flash) und RAM (32 MB) hat, aber welches von beiden stellt denn wirkliche Einschränkungen dar und warum?

Zum Flash:
Ich kann doch einen USB-Stick anschließen und habe damit "praktisch unbegrenzt" Speicher. Hat das Nachteile? Ist USB 1.1 zu langsam dafür? Viele Mods kopieren ein Programm erst von USB auf die Ramdisk und starten es von dort. Warum?! Ist das nur, damit man den USB-Stick dann abziehen kann? Oder Geschwindigkeit? Das dürfte doch bei Programmen < 1 MB kaum eine Rolle spielen, oder? Damit wäre dann mehr RAM frei, denn das ist doch knapper - oder?!
Und warum wird überhaupt alles in das Firmware-Image kopiert? Ist das nur, damit es auch auf den Boxen ohne USB(Host)-Anschluß läuft?
Ich fände ein "dynamisches Image" extrem praktisch, bei dem man nur Sachen auf den USB-Stick kopieren muß, damit sie automatisch eingebunden werden, z.B. (in etwa) so:
Code:
debug.cfg:
if test -d /var/media/ftp/whatever/openvpn; then
  cd /var/media/ftp/whatever/openvpn
  ./start.sh
fi
if test -d /var/media/ftp/whatever/openssh; then
  ...
fi
... usw.

Ich würd's ja "Plug and Play" nennen, aber irgendwas in mir sträubt sich *g*

Im Ernst: Spricht irgendwas dagegen? Ich habe noch nicht gesehen, daß das irgendwo so gemacht wird. Stattdessen gibt es seitenweise Tips, wie man das Image kleiner macht, indem man Sachen wegläßt...

Zum RAM:
Ja klar, das kann man nicht größer machen. Ich habe schon davon gelesen, daß man Swap einrichten kann. Wie sind denn da die Performance-Auswirkungen mit USB 1.1? Wie sieht's mit USB 2.0 aus? Mein USB-Stick als solcher schafft (gemessene) 14 MB/s, da gibt's wahrscheinlich auch schnellere, wenn man sie braucht?

Und wie sieht's überhaupt mit dem RAM aus? Ich hatte die letzte offizielle Firmware installiert und habe jetzt eine Labor-Firmware (von AVM). Jeweils war nur ca. 1 MB frei... wie kommt das und wie kann man da überhaupt noch was hinzufügen?

Konkret:
Ich muss das folgende installieren:
- Anrufbeantworter + Faxempfang wie von AVM angeboten
- DynDNS
- OpenVPN
- OpenSSH (oder DropBear, wenn es alles kann was ich brauche, insbes. Login *NUR* über auth_keys, *nicht* über Passwort)
- WOL

Ich würde gern haben:
- mediaserver (oder wie das von AVM heißt, das jetzt dabei ist) oder TwonkyMedia
- Asterisk! (dann brauch ich natürlich den AVM-AB nicht mehr)
- multi-user FTP

Kann irgendjemand abschätzen, ob das passen würde? Ich werd' noch eine Weile brauchen, bis ich selbst damit experimentieren kann und würd' gern wissen, ob ich Aussicht auf Erfolg habe. Deshalb auch die Frage, wo der "Flaschenhals" liegt... die FB 7270 hat ja deutlich mehr RAM als die 7170, aber nicht mehr Flash und auch sonst (evtl. außer USB 2.0) keine Funktionen, die ich brauche... und ich würd' schon gern vermeiden, mind. 90 Euro nur für 32 MB RAM auszugeben... vor allem dann, wenn ich sie nicht unbedingt brauche...


So, das waren ziemlich viele Fragen (obwohl (oder weil) ich schon viel gelesen habe) und es wär wirklich nett, wenn Ihr mir da etwas "erweiterte Starthilfe" geben könntet!
 
[...]Ich habe jetzt schon ziemlich viel hier und anderswo (tecchannel) gelesen, aber eine Sache habe ich noch nicht ganz verstanden: Mir ist klar, daß die Box wenig Speicherplatz (8 MB Flash) und RAM (32 MB) hat, aber welches von beiden stellt denn wirkliche Einschränkungen dar und warum?[...]
Bin jetzt zwar nicht gerade der Fachmann, aber rein von der Logik:
Flash entspricht ROM
RAM bleibt RAM.

Wenn man also das nach-wie-vor übliche Funktionsprinzip von Rechnern herannimmt, wird schnell klar, daß im Flash das eigentliche Betriebssystem abgelegt ist. Dieses wird beim Start (Einschalten) in den Arbeitsspeicher (RAM) kopiert und was dann noch übrig bleibt, wird benötigt um die Funktionen auszuführen.
Der eigentliche Flaschenhals ist demnach das RAM (Inhalte im Flash könnte man notfalls noch komprimieren, falls nicht schon geschehen).
Ein USB-Stick würde demnach aus zweierlei Gründen wenig bringen.
a) es ist ein externer Massenspeicher, somit kein Arbeitsspeicher
b) zu langsam (auch mit USB2.0)
 
Zum Flash:
Im Flash sind die Programme und sonstigen Dateien abgelegt, die zum Betrieb gebraucht werden. Der Inhalt im Flash ist schon komprimiert, sonst würde das Ganze längst nicht mehr hineinpassen.
Der Flash-Speicher kann prinzipiell durch USB-Speicher erweitert werden, wobei USB1.1 nicht übermäßig schnell ist. Man kann mit ca. 800kB/s rechnen.

Zum RAM:
Das RAM wird für die ausgeführten Programme und für die veränderbaren Dateien in der Box benötigt. Mit Swap kann man da etwas aushelfen, aber auch nicht unbegrenzt. Der langsame USB-Anschluß ist hier erst recht wieder ungünstig.

Mit dem, was Du alles unterbringen willst, wird es auf jeden Fall eng werden, aber da sollte Dich nicht vom experimentieren abhalten.

Vorher solltest Du das Recover-Programm von AVM für die Box herunterladen, damit kann man sie immer wieder in den Ausgangszustand zurücksetzen, wenn es notwendig werden sollte.
 
Bin jetzt zwar nicht gerade der Fachmann, aber rein von der Logik:
Flash entspricht ROM

Na ja, nicht ganz. Das Flash ist doch beschreibbbar! Man kann durchaus etwas draufschreiben und auch Dateien editieren (z.b. debug.cfg). Konfigurationsänderungen über die Oberfläche werden ja auch auf dem Flash abgelegt. Daß man nicht jede (bzw. nur wenige) Dateien ändern kann liegt nur daran, daß das Flash eigentlich viel zu klein ist und deshalb ein stark komprimiertes Dateisystem verwendet wird, an dem man nichts ändern kann - in etwa so, wie man eine Datei in einer zip/tar.gz-Datei zwar anschauen, aber nicht ändern kann.

Wenn man also das nach-wie-vor übliche Funktionsprinzip von Rechnern herannimmt, wird schnell klar, daß im Flash das eigentliche Betriebssystem abgelegt ist. Dieses wird beim Start (Einschalten) in den Arbeitsspeicher (RAM) kopiert

DAS ist das "nach-wie-vor-übliche Funktionsprinzip von Rechnern"? Also ich hatte noch nie (!) einen Rechner, der beim Start das (komplette) Betriebssystem in den Arbeitsspeicher kopiert hat. Daß der Arbeitsspeicher 4x so groß ist wie "die Festplatte" ist auch eher ungewöhnlich und ich finde bedauerlich, daß das Flash so klein ist. "Billiges" Flash kostet inzwischen 0,5 CENT pro MB und die Fritz!Boxen sind ja nun nicht gerade Centartikel. Da hat AVM etwas zu viel gespart bzw. einfach nicht damit gerechnet, daß noch (so viel) Platz für Erweiterungen benötigt werden könnte.

Abgesehen davon sprach ich ja nicht in erster Linie vom Betriebssystem, sondern von "BS + ALLE Anwendungen". Das ist so, als würde Dein Computer beim Starten erstmal die gesamte Festplatte in den Arbeitsspeicher laden. Ich kenne ja Deinen Computer nicht, aber ich bin ziemlich sicher, daß er das nicht tut :) Es gibt aber seit einer Weile Systeme, die das tun (Linux LiveCDs) und ich habe ein Projekt, das auch mal bei meinem "richtigen" Betriebssystem zu tun, weil ich 6 GB Arbeitsspeicher habe und das ganze dadurch erstens lautlos wird (Festplatte kann ausgehen) und zweitens "unglaublich" (tm) schnell :)
Aber das wäre abso9lut ungewöhnlich!

Der eigentliche Flaschenhals ist demnach das RAM (Inhalte im Flash könnte man notfalls noch komprimieren, falls nicht schon geschehen).

Ja, hatte ich ja quasi schon geschrieben. Das Flash ist ziemlich stark komrimiert. Der Nachteil ist, daß es nicht "on the fly" veränderbar ist. Ich habe mit dem gleichen System (ist doch SquashFS, oder?) mal eine CD komprimiert und das hat richtig lange gedauert...

Ein USB-Stick würde demnach aus zweierlei Gründen wenig bringen.
a) es ist ein externer Massenspeicher, somit kein Arbeitsspeicher

EBEN! Also um mal bei der Analogie zu bleiben: Programme lagern nun mal "üblicherweise" auf dem Massenspeicher und werden auch von dort gestartet! Beim Starten werden Teile der Programme in den Speicher geladen. Eine Ramdisk ist aber auch eine Art "Massenspeicher" und NICHT der "Arbeitsspeicher". Ich bin jetzt nicht ganz sicher, was passiert, wenn man ein Programm von der Ramdisk startet. Ob das Betriebssystem schlau genug ist, es direkt zu benutzen statt noch zu "laden"? Das ist nicht selbstverstänlich, man muß schon spezielle Verrenkungen machen (unter einem "normalen" BS, damit für die Ramdisk kein Disk-Cache (! :)) benutzt wird...

b) zu langsam (auch mit USB2.0)
Also mit USB 2.0 sehe ich das aber anders. Die 14 MB/s meines Sticks sind sicher noch zu überbieten, aber schon 14 MB/s ist so schnell, wie noch vor wenigen Jahren die Festplatten waren und vor "noch viel weniger Jahren" die Notebookplatten. Eine "Flash-Disk" mit "nur" 50 MB/s macht wegen der phantastischen Zugriffszeiten jede Notebookplatte kalt. Im Vergleich zum Gesamtsystem (8 MB Betriebssystem, 32 MB RAM) würde ich sagen, der Flash-Speicher wäre einer der schnellsten Massenspeicher, die wir jemals hatten. Das freilich nur mit USB 2.0, mit USB 1.1 sieht das etwas anders aus. Aber auch da sind ja die meisten Programme in 0-3 Sekunden geladen, was beim Bootvorgang nicht weiter dramatisch wäre... Es ist ein Kampf, das Image auf 8 MB (!) runterzubringen und da wunder ich mich einfach, warum man nicht 2-5 MB auf USB unterbringt...

P.S.: Viele Grüße nach Bochum! Bin auch "eigentlich" Bochumer :). Wohne jetzt aber zum Glück in München ;)

@RalfFriedl:
Ja, das Prinzip ist klar.
Wie schnell ist eigentlich das eingebaute Flash? Weiß das jemand? Und für das (erstmalige) Laden von Programmen (beim Boot) sollte das sowieso nicht sooo eine Rolle spielen, oder? Wenn ich das richtig gesehen habe sind doch die allermeisten Programme (außer Samba) deutlich unter 1 MB...

Daß lansames Swap nicht ideal ist ist auch klar, aber sooo viele "Echtzeitanforderungen" hat die Box ja auch nicht. DSL natürlich... aber wenn ein SSH/OpenVPN/FTP-Login eine Sekunde länger dauert ist das auch nicht dramatisch. Ich muß nichtmal alles gleichzeitig benutzen, ich will nur alle Möglichkeiten haben. Und wenn das Telefon klingelt, hätte der Anrufbeantworter durchaus auch eine halbe Sekunde Zeit... von mehr reden wir hier ja nicht!

Ich verstehe aber nach wie vor nicht:
1) Warum man versucht, alle Programme im ach so kleinen Flash unterzubringen statt einiges (nicht überlebenswichtiges) auf dem USB unterzubringen. Erstens stören mich 3 Sekunden zusätzliche Bootzeit (!) nicht (danach sollte es ja keinen Unterschied mehr machen!), zweitens: Wenn der Stick beim Booten nicht da ist, wird OpenVPN eben nicht gestartet, das sollte keine ernsthaften Probleme machen (na ja, es sei denn das passiert, bevor ich 3 Wochen in Urlaub fahre *g*).
2) Warum Programme vor dem Starten in die Ramdisk kopiert werden. Das mach ich beim Computer doch auch nicht?!


Freue mich über weitere "Hinweise".
Ach ja, wo finde ich noch gleich das Recover-Programm? Ist das in den Labor-Firmwares drin? Dann sollte ich es ja haben...
 
Es spricht nichts dagegen, Programme von einem USB Stick auszuführen. Es gibt auch schon Ansätze dazu. Das, was Du oben beschrieben hast, sollte auch funktionieren.
Programme vom USB-Stick ins RAM kopieren würde ich auch nicht. Wenn die Verwaltung des RAM-Dateisystems nicht sehr ausgefeilt ist (und von der normalen Systematik eines Dateisystems abweicht), würde es dazu führen, daß das Programm zweimal im RAM sein muß, was nicht sinnvoll ist.

Es bleibt trotzdem das Problem, daß alle laufenden Programme ins RAM (+Swap) passen müssen, wobei man nicht beliebig viel RAM durch SWAP ersetzen kann.

Zur Geschwindigkeit vom eingebauten Flash würde ich einfach mal sagen, es ist "schnell genug". Wenn Du genauere Angaben willst, kannst Du es selbst nachmessen.

Das Recover-Programm ist auf der CD bei der Box dabei, auf der Internet Seite von AVM und in einigen Labor-Images.
 
Es spricht nichts dagegen, Programme von einem USB Stick auszuführen. Es gibt auch schon Ansätze dazu. Das, was Du oben beschrieben hast, sollte auch funktionieren.
Programme vom USB-Stick ins RAM kopieren würde ich auch nicht.

Eben. Das z.T. hochgelobte und zugegebenermaßen tolle "the-construct" macht das aber so:

Code:
# try to load files from USB drive
for f in /var/media/ftp/*
do
  if [ -f ${f}/files/${KERNEL_VERSION}/dropbear ]
  then
    echo "${f}/files/${KERNEL_VERSION}/dropbear"
    cp ${f}/files/${KERNEL_VERSION}/dropbear /var/tmp/dropbear
  fi
done

Aber wenigstens geht ändern leichter als neu schreiben ;-)

Wenn die Verwaltung des RAM-Dateisystems nicht sehr ausgefeilt ist (und von der normalen Systematik eines Dateisystems abweicht), würde es dazu führen, daß das Programm zweimal im RAM sein muß, was nicht sinnvoll ist.

Eben. Das hab' ich mir auch gedacht...
Ein "Problem" könnten noch die Dateiberechtigungen sein, solange USB als FAT formatiert ist. Das Ausführen ist wohl kein Problem, aber so Programme wie OpenSSH stellen da besondere Anforderungen (keys dürfen z.B. nicht "world-readable" sein). Weiß nicht, was passiert, wenn das Dateisystem das nicht unterstützt. Entweder man muß dann nicht oder es startet nicht. Mal sehen ;-)

Klar, daß man nicht beliebig Swap nehmen kann, aber ein paar MB sollten wohl gehen. Dummerweise wohl nicht mit der Original-Firmware? ;-) Ein Vorteil meines o.g. Ansatzes ist ja noch, daß ich "zunächst mal" die Firmware nicht verändern muß sondern nur die debug.cfg. Sowas wie ds-mod bzw. Freetz ist halt doch deutlich "radikaler" und da will ich schon vorher genau wissen, was ich tue. Das ist zwar nur eine Frage der Zeit, aber wird noch eine Weile dauern... ;-)
 
Na ja, nicht ganz. Das Flash ist doch beschreibbbar! Man kann durchaus etwas draufschreiben und auch Dateien editieren (z.b. debug.cfg).
Aber nicht unbegrenzt oft, es ist eben nicht als Schreib-/Lesespeicher, sondern als Festwertspeicher konzipiert. Das Problem ist daher (unter anderem) die begrenzte Anzahl der Löschzyklen bei dieser Speicherart, mehr dazu ist hier oder auch hier nachzulesen.

*wink*
schlaubert
 
Zuletzt bearbeitet:
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.