Provider-Firmware aus der 6490 auslesen

survivorx

Neuer User
Mitglied seit
13 Nov 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
3
Hi, ich habe auf meiner gemieteten 6490 die Firmware vom AVM drauf (vorher Freetz-NG). Leider habe ich auf keiner Partition mehr die Provider-Firmware, muss diese jetzt aber wieder auf die Box bringen. Ich habe Zugriff auf eine weitere 6490 mit Provider-Firmware.

Gibt es einen einfachen Weg, die Provider-Firmware auszulesen? Etwa über FTP mit Hilfe der YourFritz-Scripte oder einem Minimal-Boot-Image? Eine Anleitung hierzu konnte ich nicht finden.
 
Welcher Provider? Aus dem Suchthema weiß man, dass es sich wohl um "Vodafone" handelt aber in DE gibt es von Vodafone 2 verschiedene Varianten der 6490, einmal LGI (Artikel-Nr. 2000 2689) und einmal KDG (Artikel-Nr. 2000 2691).

Bzgl. auslesen, per Bootloader ist mir das nicht bekannt. Lediglich bei einer laufenden Fritzbox mit FRITZ!OS bei Konsolenzugang könnte ich mir das vorstellen. Oder eben eMMC-Flash direkt auslesen…
 
Man kann auf einer Partition eine Freetz-FW installieren und dann die Providerversion dumpen, weil man mit telnet auf die FB kommt.
So habe ich es immer gemacht.
Eine Freetz-FW basierend auf fw7.01 habe ich noch vorrätig.
 
Ich benötige die LGI-Version (NRW, vormals UnityMedia), aber ich vermute, dass Vodafone nur ein Image hat und dass das über das Branding läuft.

Ein Freetz-Image habe ich auch bzw. kann ich mir schnell bauen. Muss da was spezielles mit rein? Geht das Dumpen dann einfach mit dd oder braucht man dazu ein magic tool? Wie lautet das /dev vom Flash? Ich hatte da vor Jahren schonmal was in der Richtung gemacht, aber leider nicht aufgeschrieben. Falls jemand eine Anleitung verlinken könnte, wäre das natürlich super, aber Code-Schnipsel würde mir auch schon helfen. Dann kann ich danach suchen und mir das nötige Wissen aneignen.

Edit: Hab meinen alten FB-Ordner wiedergefunden. Folgendes sollte es tun, wenn man Shell-Zugriff hat:
Code:
#! /bin/sh
cat /dev/mmcblk0p1 > /var/media/ftp/mmcblk0p1_inactive_fs_arm.bin
cat /dev/mmcblk0p2 > /var/media/ftp/mmcblk0p2_inactive_kernel_arm.bin
cat /dev/mmcblk0p3 > /var/media/ftp/mmcblk0p3_inactive_fs_x86.bin.bin
cat /dev/mmcblk0p4 > /var/media/ftp/mmcblk0p4_inactive_kernel_x86.bin
cat /dev/mmcblk0p5 > /var/media/ftp/mmcblk0p5_active_fs_arm.bin
cat /dev/mmcblk0p6 > /var/media/ftp/mmcblk0p6_active_kernel_arm.bin
cat /dev/mmcblk0p7 > /var/media/ftp/mmcblk0p7_active_fs_x86.bin
cat /dev/mmcblk0p8 > /var/media/ftp/mmcblk0p8_active_kernel_x86.bin

Und das hier hatte ich damals der "EVA-FTP-Client.ps1" von YourFritz hinzugefügt:
Code:
#######################################################################################
#                                                                                     #
# download a file from the flash of the device                                        #
#                                                                                     #
#######################################################################################
function DownloadFlashFile {
    Param([ValidateNotNullOrEmpty()][Parameter(Mandatory = $True, Position = 0, HelpMessage = 'the file, which stores the flash source')][String]$filename,
          [ValidateNotNullOrEmpty()][Parameter(Mandatory = $True, Position = 1, HelpMessage = 'the source partition name (e.g. MTDx)')][String]$source
    )

    # set binary transfer mode
    SendCommand "TYPE I"
    $answer = ReadAnswer
    if (-not (ParseAnswer $answer "200")) {
        $ex = New-Object System.IO.IOException "Error setting binary transfer mode."
        Throw $ex
    }
    # set media type to flash, we want to read from this memory type
    SendCommand "MEDIA FLSH"
    $answer = ReadAnswer
    if (-not (ParseAnswer $answer "200")) {
        $ex = New-Object System.IO.IOException "Error selecting media type."
        Throw $ex
    }
    if (-not (ReadFile $filename $source)) {
        $ex = New-Object System.IO.IOException "Error downloading image file."
        Throw $ex
    }
    return $True
}

Damit sollte es sogar im Bootloader gehen. Ob es klappt, weiß ich nicht. Ich erinnere mich aber, dass es damals irgendwelche Probleme gab. Werde es testen, sobald ich die zweite Box habe.
 
Zuletzt bearbeitet:
… aber ich vermute, dass Vodafone nur ein Image hat und dass das über das Branding läuft.
Nein, es gibt zwei verschiedene, für jedes Branding bzw. Artikel-Nr. eine eigene Firmware-Image Reihe. Die KDG-Images laufen nicht auf der LGI-Box und umgekehrt.
 
  • Like
Reaktionen: survivorx
Afaik, kann man zwar Daten aus dem Bootloader lesen (Environment, Counter (ungültig bei 6490), (Hardware-)Konfigurationsdaten), aber da gehören die eMMC-Partitionen nicht zu den "denkbaren" Datenquellen. Ich wüßte jedenfalls keine EVA-Version für eine 6490 (in freier Wildbahn), wo das funktionieren würde.

Als die 6490 als Retail-Boxen verfügbar wurden und gerade bei den DOCSIS-Modellen in D heftig über den Aufbau dieser Geräte diskutiert wurde, habe ich irgendwann mal auch das Sichern der Provider-Firmware (damals noch über eine Lücke in der AVM-Software, die man zum Ausführen eigener Kommandos verwenden konnte) als Beispiel / Proof of Concept bereitgestellt. Das ist heute noch hier: https://github.com/PeterPawn/YourFritz/tree/main/autoupdate zu finden, das Auslesen in den Dateien dump_firmware und save_system.sh. Früher sollte es dazu dienen, die installierte Firmware VOR einem Update auf eine neuere (bzw. überhaupt erst mal auf eine Retail-Version) zu sichern.
 
  • Like
Reaktionen: survivorx
Früher konnte man mal einfach das Branding umstellen, dann hat die Box sich ein paar mal rebooted und plötzlich war die Firmware mit Branding wieder drauf, zumindest bei VFKD (natürlich muss die Box dafür richtig provisioniert sein sodass sie weiß welche Firmware sie laden soll bzw. von wo). Warum das genau ging und ob das immer noch so ist oder ob das bei VF West genauso ist weiß ich nicht, wenn's nicht klappt dürfte die Box bootloopen und man muss es wieder zurückstellen.
 

Statistik des Forums

Themen
246,004
Beiträge
2,244,320
Mitglieder
373,392
Neuestes Mitglied
lukaskr07
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.