Alice 7570 mit 16 MB Flash (war: nur 8 MB; fritzen fehlgeschlagen und kein Rückweg)

Bei einer originalen FB bleibt das Telnet ja auch nach einem Update aktiv.Gibt es die verschiedenen Firmwareversionen von Alice irgendwo zum Download?
 
Ich dachte so an Widerherstellen einer toten Alice Box oder FW Downgrade, um Telnet zu aktivieren oder den Start des Telnetd in eine der Start Dateien einzutragen. Wäre natürlich ungefährlicher, dies auf einer W920V oder Fritz!Box 7570 zu versuchen.
 
Bei einer originalen FB bleibt das Telnet ja auch nach einem Update aktiv.Gibt es die verschiedenen Firmwareversionen von Alice irgendwo zum Download?

Nein, die Alice FW Versionen gibt es nicht zum Downloaden. Ob die Aktivierung des Telnetd nach Aktualisierung der FW noch funktioniert, ist davon abhängig, ob die Option noch ausgewertet und Telnetd gestartet wird. Wäre natürlich schön, da man in diesem Fall die neuen FW-Versionen Dumpen könnte.
 
Es geht übrigens auch ohne USB ;)
telnet fritz.box > mtd1-uue
cat /dev/mtdblock2 | uuencode -m -

Um zu sehen, was passiert auf einer zweiten Konsole einfach
tail -f mtd1-uue

eingeben. Ist zwar etwas verrückt, das man auf der Konsole mit telnet die Eingaben macht und auf der tail Konsole die Ausgaben sieht, aber es funktioniert bei mir hervorragend. Am ende dann mit
busybox uudecode -o mtd1 mtd1-uue
dekodieren und man hat wieder die schönen Binärdaten. (vgl. http://linux-tipps.blogspot.com/2011/05/copying-binary-files-via-telnet.html)
 
Zuletzt bearbeitet:
Ob die Aktivierung des Telnetd nach Aktualisierung der FW noch funktioniert, ist davon abhängig, ob die Option noch ausgewertet und Telnetd gestartet wird.
Löscht Alice eigentlich die debug.cfg? Sonst könnte man sich doch da schön einklinken.
 
Man müsste erst einmal sehen, ob die Alice-FW überhaupt etwas mit der Datei debug.cfg macht. Ansonsten könnte Alice in eine neue FW auch einbauen, den Inhalt dieser Datei zu löschen. Hilft aber nur ausprobieren. Wenn der Rückweg auf eine ältere FW sichergestellt werden kann, wäre das auch schon mal was.
 
Alice-FW führt erst gar keine debug.cfg aus, telnetd ist nach Neustart nicht mehr aktiv
 
@nobox : bei mir ist telnet nach einem Reboot der Box noch aktiv.
 
Okay. Jetzt darf ich mein Post natürlich nicht mal hierhin verschieben...

Gruß
Oliver
 
@Silencer: Ja, Reboot mag sein, habe ich nicht überprüft. Aber Neustart nach stromloser Box ist telnetd logischerweise weg.
 
Okay. Jetzt darf ich mein Post natürlich nicht mal hierhin verschieben...

Gruß
Oliver

Habe mir deinen Beitrag im andern Posting angesehen.
Ja alles so wie vor Monaten als ich mir das angesehen habe.
Eine alternative wurde auch damals vorgeschlagen nur niemand hat je ernsthaft versucht es am 7570 HN auszuprobieren.
Es gibt sicher eine Möglichkeit mit dem original (größeren) Bootlader und einer Änderung der Aufteilung des verbleibenden Platzes im Rahmen eines Updates.
Eine sauber Lösung wäre das Ersetzen des Bootladers.
Ich befürchte, dass der geänderte Bootlader noch weitere Funktionen hat die einen das Leben nciht unbedingt erleichten.

Gibt es bei Freetz eine Möglichkeit in kernel und firnware aufzuteilen?
Sehr frühe boxen hatten ja auch die Aufteilung, und die recover.exe haben immer noch die Möglichkeit eingebaut zusätzlich zum kenel.image auch ein fiilsystem.image zu übertragen.
Reicht es das zu große kernel.image bei einer bestimmtem Blockgrenze einfach in kernel.image und filesystem.image zu teilen?

Wenn man das sauber machen kann wäre die Sache ja gelöst.
Tatsache ist, dass die Firmware der HN am normalen W920 lauffähig ist. Irgendwo habe ich da ja einmal dazu screenshots gepostet.
 
Problem an deinem Vorschlag ist, dass der Bootloader immer noch die alte Einteilung hat. Deshalb wäre ein Recover bzw. flashen über ADAM2 so nicht möglich. Ich hatte auch schon die Idee die mtd-Größen im Kernel zu setzen. Bis auf die genannten Einschränkungen sollte das möglich sein.

Wobei der Bootloader ja auch nur die ersten 64KB (von den 256 KB) belegt. Eventuell würde es doch klappen, wenn man einfach den Bootloader der original 7570 nimmt...

Gruß
Oliver
 
Ich bin immernoch überzeugt, es wäre das beste herauszufinden, wie Alice die images aufspielt um mehr als 8 MB zu nutzen auf den Boxen. Dann könnte man das ihnen nachmachen, ohne den Bootloader überhaupt zu modifizieren. Und ich vermute, dass sie das auch im Kernel machen, wohl über mtd_concat oder so ähnlich.
 
Also, das Problem daran dürfte sein, dass ohne weitere Eingriffe dieser Bereich für den Kernel einfach nicht sichbar ist.
Theoretisch gäbe es die Möglichkeit (denke ich) durch eine Änderung in "arch/mips/mips-boards/ur8/ur8_mtd.c" auch den Eintrag für mtd5 zu nutzen. Momentan steht dort aber in int __init ur8_mtd_init(void):
Code:
    for(i = 0 ; i < MAX_FLASH_MTD ; i++) {
        switch(i) {
            case 0:
                p = prom_getenv("mtd0");
                mtd[i].Name = (char*)"filesystem";
                break;
            case 1:
                p = prom_getenv("mtd1");
                mtd[i].Name = (char*)"kernel";
                break;
            case 2:
                p = prom_getenv("mtd2");
                mtd[i].Name = (char*)"urlader";
                break;
            case 3:
                p = prom_getenv("mtd3");
                mtd[i].Name = (char*)"tffs (1)";
                break;
            case 4:
                p = prom_getenv("mtd4");
                mtd[i].Name = (char*)"tffs (2)";
                break;
            [B]case 5:[/B]
                p = prom_getenv("[B]mtd0[/B]");
                mtd[i].Name = (char*)"reserved";
                break;
        }
        if(p == NULL)
            continue;
        printk("[ur8_mtd_init] mtd[%u] = %s\n", i, p);
        mtd[i].start  = my_atoi(p);
        mtd[i].start &= ~0xF0000000;
        p = strchr(p, ',');
        if(p == NULL) {
            mtd[i].start = 0;
            continue;
        }
        p++;
        mtd[i].end  = my_atoi(p);
        mtd[i].end &= ~0xF0000000;
        /*--- printk("[ur8_mtd_init] mtd[%u] = 0x%08x - 0x%08x\n", i, mtd[i].start, mtd[i].end); ---*/

    }
    for(i = 0 ; i < MAX_FLASH_MTD ; i++) {
        ur8_partitions[i].name		 = mtd[i].Name;
        ur8_partitions[i].offset	 = mtd[i].start;
        ur8_partitions[i].size		 = mtd[i].end - mtd[i].start;
        ur8_partitions[i].mask_flags = 0;
    }
Wenn ich das auf die Schnelle richtig gelesen habe, wird die Definition im env von mtd5 nicht genutzt, sondern für "reserverd" wird für Start und Ende der Eintrag von "mtd0" genommen?!?

Aber es ergäbe sich (nur gedacht, nie probiert ;-)) die Möglichkeit, hier einzugreifen und falls ein Eintrag für mtd5 existiert, den für mtd1 entsprechend "zu vergrößern", so in der Art für die letzte Schleife (die "echten" Programmierer mögen mir verzeihen, wenn es Blödsinn ist, aber ich hoffe, die Idee dahinter kann man erkennen):

Code:
    for(i = 0 ; i < MAX_FLASH_MTD ; i++) {
        ur8_partitions[i].name		 = mtd[i].Name;
        ur8_partitions[i].offset	 = mtd[i].start;
	if ( ( i == 1 ) && (p = prom_getenv("mtd5"))){
	        unsigned int tmp  = my_atoi(p);
        	tmp &= ~0xF0000000;
       		p = strchr(p, ',');
	        if(p && ( tmp == mtd[i].end ) ) {
		        p++;
			tmp  = my_atoi(p);
			tmp &= ~0xF0000000;
			mtd[i].end = tmp ;
		}
	}
        ur8_partitions[i].size		 = mtd[i].end - mtd[i].start;
        ur8_partitions[i].mask_flags = 0;
    }

Jörg

EDIT: Habe so lange für das Schreiben gebraucht, dass Oliver das schon so ähnlich geäußert hatte, jetzt lasse ich es aber drin ;-)

EDIT2: Ein Flaschen über Adam sollte doch gehen, wenn man zuvor im FTP per "quote SETENV" mtd1 entsprechend vergrößert, oder?!?
 
Zuletzt bearbeitet:
Heißt das ein Aufteilen in filesystem und kernel bei alter Einteilung geht nicht?
Entschuldige bitte ich hab da grundlegende Verständnisproblem nachdem ich nie probiert habe ein kernel.image zu splitten.

Warum kann man nicht md5 flashen hat das bereits jemand probiert?

Code:
#7570
    export urlader_start="0x90000000"
    export urlader_size="131072" #0x20000
    export kernel_start="0x90020000" 
    export kernel_size="16121856" #0xF60000
if [ "$1" == "7570 HN" ]; then
    export urlader_start="0x90000000"
    export urlader_size="262144" #0x40000
    export kernel_start="0x90040000"
    export kernel_size="7995392" #0x7A0000
fi
#HN env.          size 
#    mtd0:     0x000000         0x90000000,0x90000000 # "rootfs"
#    mtd1:     0x7A0000         0x90040000,0x907E0000 # "kernel"
#    mtd2:      0x40000          0x90000000,0x90040000 # "urlader"
#    mtd3:      0x40000          0x90F80000,0x90FC0000 # "tffs (1)"
#    mtd4:      0x40000          0x90FC0000,0x91000000 # "tffs (2)"
#    mtd5:     0x7A0000         0x907E0000,0x90F80000 # "rootfs" +  "kernel" #(6bd500 + e2b00 = 7A0000)
# cat /proc/mtd sagt das hier:
#dev:    size   erasesize  name
#mtd0: 006bd500 00020000 "rootfs" # (6bd500 
#mtd1: 000e2b00 00020000 "kernel" # + e2b00 = 7A0000)
#mtd2: 00040000 00020000 "urlader"
#mtd3: 00040000 00020000 "tffs (1)"
#mtd4: 00040000 00020000 "tffs (2)"
#mtd5: 01000000 00020000 "reserved" # size dez: 16777216
 
Das Problem, das ich sehe, ist, dass für den "zweiten Bereich" (im Urlader mtd5) kein Eintrag unterhalb von /proc existiert.
Für "Urlader-mtd1" gibt es dort mtd1 und mtd0, aber für den anderen eben nichts. Man könnte vermutlich was über mtdblock5 mit entsprechendem Offset hineinschreiben (also etwas, was über die Größe der beiden Einträge für den "Urlader-mtd1" hinausgeht und so auch den mtd5-Bereich nutzt), aber laut /proc passt dann die Größe nicht...

Aber, wenn ich das richtig gelesen habe, gibt es HN-Images, die größer 8MB sind? Ist die Einträge unter "/proc" dort noch genauso??

Jörg
 
Zuletzt bearbeitet:
Habe vllt. die Chance an ein original Update von HN zukommen wenn das weiterhilft ?
 
@Jörg
Wenn man das mtd0 in mtd5 ändert sieht das so aus:
Code:
root@fritz:/var/mod/root# cat /proc/partitions
major minor  #blocks  name

  31     0       6834 mtdblock0
  31     1        973 mtdblock1
  31     2        256 mtdblock2
  31     3        256 mtdblock3
  31     4        256 mtdblock4
  31     5       7808 mtdblock5
Jetzt kann man immerhin auf mtd5 zugreifen. Da steht bei mir noch ein altes HN Image mit Kernel drin.

@Jpascher
Du willst den Kernel in mtd1 flashen und das Filesystem in mtd5 oder so wie früher ein "continous" squashfs über die Partitionen machen?

Jörgs Lösung hat natürlich den Vorteil, dass man nichts am Urlader ändern muss.

Gruß
Oliver
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,149
Beiträge
2,246,980
Mitglieder
373,668
Neuestes Mitglied
Stripi
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.