Kann ich das nicht einfach mit einem cat /vat/media/ftp/usbblub/kernel.image > /dev/mtdblock0 schreiben? Vermute mal nein.
Richtig. So ein NAND-Flash muß eben erst vorher gelöscht werden, bevor da "neue Daten" abgelegt werden können.
Als Lektüre zum Grundverständnis von Flash-Speicher unter Linux kann man z.B.
http://www.linux-magazin.de/Ausgaben/2012/07/Flashspeicher
empfehlen. Dort steht dann auch, warum das direkte Schreiben in /dev/mtdblock0 (obwohl möglich) keine gute Idee ist.
Wieso kann ich Depp auch nicht mal ein paar Tage meine Finger still halten ... -_- Eine Idee Peter?
Ich habe noch nicht einmal richtig verstanden, was Du da wirklich gemacht hast.
Eine ordentliche Angabe, was Du da als Provider eingestellt hast bzw. welcher das ist, damit man mal recherchieren kann, ob da DHCP oder PPPoE zum Einsatz kommen sollte, wäre der erste Schritt.
Ansonsten ist so eine "provider-additive.tar" nur eine von der Box selbst zusammengepackte Sammlung verschiedener Einstellungsdateien, die unter dem Pfad "/var/flash/provider_additive" liegen und vom ctlmgr zu der Datei /var/flash/provideradditive.tar zusammengefaßt werden. Die Existenz/das Fehlen dieser Datei sagt noch noch so sehr viel aus ... es gibt auch mehrere Weg, diese Dateien unter /var/flash/provider_additive zu erzeugen, vom USB-Stick bis zur "Vorprogrammierung" der Box beim Provider. Man müßte also auch hier wieder wissen, welcher Provider das überhaupt ist, wenn man recherchieren will, auf welchem Weg dort die Boxen angepaßt werden. Bei einem "normalen" Downgrade sollten bereits auf der Box befindliche Dateien im Flash eigentlich nicht beeinträchtigt werden ... aber ein "normales Downgrade" dürfte bei einer Box mit "provider additive" im Environment auch gar nicht funktionieren. Daraus würde ich jetzt erst einmal schließen, daß Du da schon etwas verschlungenere Wege gegangen sein mußt ... die wirst Du schon offenlegen müssen, sonst kann Dir vermutlich niemand helfen.
Bei der 7490 kommt dann noch hinzu, daß die zwei unterschiedliche "Einstellungsspeicher" hat ... da, wo NOR-Boxen den Inhalt von /var/flash im tmpfs (also im RAM) bei jedem Start neu aufbauen, haben diese Boxen eine yaffs2-Partition, die diese Verzeichnisstruktur auch über einen Neustart hinaus bewahrt. Dort werden dann wieder die Nodes für den Zugriff auf das Serial-Flash (als Minor-IDs des TFFS-Devices) angelegt. Wenn also jemand einfach eine neue Datei nach /var/flash schreibt, ist diese nach einem Neustart bei der 7490 nicht einfach wieder weg, wie bei anderen Modellen, sie bleibt erhalten.
Da ich selbst noch keine Box mit "provideradditive.tar" in der Hand hatte, weiß ich nicht einmal genau, ob die tatsächlich diese "provideraddtive.tar" irgendwo permanent erzeugt oder ob die nicht nur "on the fly" gepackt wird, um sie beim Sichern der Einstellungen zu archivieren. Die Zeilen
Code:
/var/flash
provideradditive.tar
/var/tmp
tar cf %s provider_additive
in der libcfgimpexp.so lassen mich letzteres vermuten ... /var/flash als aktuelles Verzeichnis, wo das "tar"-Kommando mit dem zusammengesetzten Pfad aus "/var/tmp" und "provideradditive.tar" ausgeführt wird und die dort entstandene Datei dann in der Export-Datei landet. Man sieht ja in den Köpfen der Dateien im "Textformat" auch, daß die ebenfalls direkt für den Export als Kopie in /var/tmp erzeugt werden - bei der provideradditive.tar wäre es eben ein etwas komplexeres Kommando zur Erzeugung.
Auf der anderen Seite wird auch im ctlmgr (vermutlich im Rahmen der Konfiguration der Box, wie es bei der "providers-049.tar" für D auch passiert) eine Datei /var/flash/provideradditive.tar verwendet, dort finden sich dann die Zeilen
Code:
/var/flash/provideradditive.tar
cat %s | tar xf -
, was relativ gut zu einem Zugriff auf TFFS-Nodes (nur "character oriented I/O", daher das "cat" vor dem "untar") passen würde und die Existenz eines passenden Nodes (der hätte die Minor-ID 30) voraussetzen würde. So eine Datei (bzw. einen Node mit entsprechendem Inhalt) würde dann eben der Provider mit einer "Vorbereitung" der Box erzeugen. Das ginge ähnlich wie Recovery ... nur mit einem speziellen Programm, was kein neues System flasht, sondern nur diesen Eintrag im TFFS erzeugt, der auch für alle Boxen gleich wäre - u.U. also auch schon bei der Produktion eingespielt werden könnte und nicht erst beim Provider selbst. Alternativ wäre auch ein Start einer Box mit einem passenden USB-Stick noch beim Provider denkbar, wo dann über "tr069starter" einfach aus den Daten auf dem Stick eine solche "Datei" erzeugt wird; bei einigen Providern gab es (zumindest früher) sogar die Möglichkeit, diesen USB-Stick erst beim Kunden anzuschließen und damit die "provideradditive.tar" erst dort zu erzeugen.
Soviel dazu, was ich mir da so zusammenreime ... alles unbestätigt und mehr aus den Beobachtungen anderer und einigen Fundstellen in der AVM-Firmware abgeleitet, als aus eigenem Erleben geschlossen.
Wenn meine Vermutung nur annähernd zutrifft, sollte es bei Dir im TFFS einen Node mit Minor-ID 30 und entsprechendem Inhalt geben, der die providerspezifischen Einstellungen beinhaltet. Die könnte man sich dann zumindest mal ansehen und sie mit dem vergleichen, was Deine Box jetzt macht. Mit
Code:
mkconfgfile /var/tmp/chk_provadd.tar 30
cat /var/tmp/chk_provadd.tar >/var/media/ftp/provadd.tar
sollte man diese Datei (so dort etwas enthalten ist) an einen Ort kopieren können, wo man mit dem NAS der Box darauf zugreifen kann (Wurzelverzeichnis des NAS).
Wenn Du etwas am Urlader-Environment verändert haben solltest, um ein Recovery mit AVM-Programmen auszuführen (die weigern sich eigentlich, wenn da entsprechende Einstellungen drin sind), müßten wir das auch wissen. Ich habe nur eine ungefähre Vorstellung, was Du mit ""ich machte zuerst ein downgrade" meinst ... mit (originalen) AVM-Programmen kann ich mir das nicht so richtig vorstellen und wenn Dein Provider eine spezielle Version dafür bereitstellt, dann könnte man dort ja mal hineinsehen.
Ein Update auf eine niedrigere Versionsnummer per AVM-GUI (als Downgrade), sollte den Inhalt des TFFS mit Minor-ID < 100 unangetastet lassen und dort auch nichts verändern. Da müßte also nach dem Wiederherstellen der ursprünglichen Firmware-Version und dem Einspielen des Backups der Einstellungen wieder alles wie vorher sein und der Provider muß die Box dann ja gar nicht neu provisionieren.