[Sammlung] Installation von Inhouse-Versionen ab Version 07.08

Lua
wahlweise noch mit "io.popen()", wenn man gerne die Ausgabe des Kommandos in Lua weiterverarbeiten möchte.
Nehm ich gerne für mich an und setze es auch um.
...für die "Durchschaubarkeit" des Codes für "Gelegenheitsausführer" ists leider nicht so gut geeignet.
Check der Funktion in Lua 5.3 auf Raspberry...
Code:
Lua 5.3.3  Copyright (C) 1994-2016 Lua.org, PUC-Rio
Lua 5.3$ do fp=io.popen('pwd','r');x=fp:read('*a');fp:close();return x end
/home/koyaanisqatsi

Test in der Lua 5.1 Konsole der Inhaus...
Screenshot_20181210-140920.png

OK, als Funktion gefällts mir dann doch noch ein Quantum besser.
Screenshot_20181210-194334.png
( Angelehnt an Asterisks Shell(), die auch auswertbar zurückliefert )
 
Zuletzt bearbeitet:
Eine Inhaus auf ein Produkt ohne LAN-Port? Man man seid ihr mutig... o_O
Bei solchen Geräten würde ich noch nicht einmal eine offiziell erhältliche Labor oder Beta-Version installieren...

Ansonsten: Ein neuer Key für die Image-Signierung wurde bisher nur bei den neuen 7.08er Inhausversionen beobachtet, nicht bei den 6.98ern.


Edit:
seit/seid korrigiert (und das mir... :rolleyes:)
 
Zuletzt bearbeitet:
Naja NoRiskNoFun.

Oder wie war das....?

Aber empfehlen würde ich es auch nicht, wer weiß was sich AVM dabei gedacht hat.
 
Da ich nun wieder Zugriff auf die Box brauchte, bin ich wieder auf die Inhouse und habe mich daher den Yourfritz Skripten von Peter bedient. Erst einmal Danke hierfür! :)

Dazu hätte ich noch eine kurze Frage. Der Spaß soll ja unter bash laufen, wieso aber steht in den Skripten dann ein /bin/sh?
Ich mein, es war jetzt kein großes Problem das bei mir zu ändern und in der Anleitung von qwertz-asdfgh ist ja sogar ein C&P "find ..." zu finden.

Ich habe halt nur nicht verstanden, wieso in den Skripten nicht einfach gleich ein /bin/bash steht und somit eine Fehlerquelle weniger existiert.
 
Einige Skript-Dateien sind eben auch mit der "ash" aus der BusyBox lauffähig (nicht alle, aber einige testen auch, ob das "read"-Kommando andere File-Handle verwenden kann als 1 bzw. STDIN) und lange nicht auf allen Linux-Distros gibt es das Problem, daß "/bin/sh" KEIN Symlink auf "/bin/bash" ist - das ist nun mal nur bei Debian-Abkömmlingen der Fall.

Die Angabe von "/bin/sh" ist also "reine Gewohnheit" und wenn man das in einem Skript anders macht, welches auf der FRITZ!Box ausführbar ist, wird dort (bei originaler Firmware zumindest) dieser Link von "/bin/bash" zum BusyBox-Binary wieder fehlen.
 
Danke für die Aufklärung Peter. :)
 
Bräuchte hier mal die Hilfe der Experten.
Versuche seit zwei Tagen meinen Fritz!Repeater 3000 mit einer Inhaus Firmware zu versehen. Das erstellen des firmware.image.in-memory klappt ohne Probleme.
Leider brechen die Scripte EVA-FTP-Client.ps1 unter Windows Powershell und eva_to_memory unter Linux jedes mal mit einer Fehlermeldung ab.
Anbei mal eine Log-Datei und ein Screenshot beim Versuch die Firmware unter Linux aufzuspielen.
Ich bin jetzt nicht so der Linux-Experte, habe es aber bislang problemlos geschaft meine andere Hardware (Boxen, Repeater, Powerliner) mit einer Inhaus zu versehen.
Vielleicht kann hier mal einer nen Tip oder wink mit dem Zaunpfahl geben ;)
 

Anhänge

  • Fehlermeldung.jpg
    Fehlermeldung.jpg
    255.1 KB · Aufrufe: 46
  • eva_to_memory-log.txt
    700 Bytes · Aufrufe: 23
Bist Du denn sicher, daß dieser Repeater nicht einfach mit NOR-/SPI-Flash arbeitet?

Ich weiß deutlich zu wenig über seine "Innereien" (Repeater interessieren mich i.d.R. nur am Rande, weil sie bisher (vor dem 3000) eigentlich nur "weniger" waren als ein Router und erst mit dem dritten Modul etwas Neues entstanden ist), um mir da ein Urteil zu erlauben ... aber ich wäre schon überrascht, wenn der tatsächlich auch "auto install" hat über das Laden ins RAM. Aber das kriegt man ja ganz einfach heraus, indem man erst einmal die Firmware zerlegt und sich anschaut, ob es dort in den Init-Skripten eines gibt, was diese Installationsart unterstützt. Aus dem Bauch heraus würde ich das verneinen ... dann wäre der "Installationsprozess" wie bei den anderen Repeatern halt direkt das Schreiben in die passenden MTD-Partitionen. Aber wie gesagt ... ich weiß zuwenig über dieses Gerät. Sollte es ein Recovery-Programm dafür geben, kann man auch dessen FTP-Dialog ja mal mitschneiden ... da sieht man dann auch, wie man "von Hand" installieren könnte.
 
Ein Recovery Programm gibt es für den 3000er noch nicht offiziell. Hab es auf den Servern jedenfalls noch nicht gefunden.
Hätte ja auch gedacht das man den 3000er genau so flasht wie z.B. den 1750E. Nur wenn ich mir die Firmware anschaue gibt es da ein paar Unterschiede.
Beim 1750E ist z.B. die Filesystem.image 0 Bytes gross, beim 3000er sind es einige MB :confused:
 

Anhänge

  • Firmware1750_3000.jpg
    Firmware1750_3000.jpg
    74.4 KB · Aufrufe: 43
Bist Du denn sicher, daß dieser Repeater nicht einfach mit NOR-/SPI-Flash arbeitet?

Der Repeater 3000 hat 128MB NAND-Flash und keinen (serial oder parallel) NOR-Flash.

Das flashen per Bootloader dürfte also nicht so wie beim 1750E ablaufen sondern eher so wie bei einer Fritzbox 7530 die mit dem Repeater 3000 relativ eng verwandt ist (beide IPQ4019 basiert mit 128MB NAND-Flash).
 
Auf alle Fälle funktioniert ja schon mal die Berechnung der "memsize" nicht richtig, wenn ich das Protokoll oben sehe.

Die Firmware für den Repeater gibt es bisher also nur als Image ... aber auch das habe ich (mangels Interesse) im Moment nicht und daher kann ich nichts dazu sagen, was da im "/etc/init.d"-Folder so liegt und für die Installation aus dem Speicher zuständig sein könnte. Auf alle Fälle bräuchte man mal ein Environment ... der Screenshot legt ja die Vermutung nahe, daß das gar nicht erst ausgelesen werden kann (keine HWRevision, keine Speichergröße).

Ich kann mich an irgendwelche Stellen in den Kernel-Sources erinnern, wo für Qualcomm-Chipsets im Linux-Kernel so etwas wie ein Environment emuliert wurde (vermutlich, um am Rest des Codes weniger ändern zu müssen) ... gut möglich, daß der Bootloader hier vollkommen anders arbeitet und ein "RETR env" gar nicht funktioniert; denn der Linux-Kernel ist da ja noch gar nicht geladen.

Den müßte man vielleicht erst mal mit "GETENV"-Kommandos etwas genauer unter die Lupe nehmen ... vielleicht hat ja auch jemand einen Dump, den man sich ansehen kann.

Was sagen denn die anderen Geräte mit diesem (oder einem ähnlichem) Chipset? Wie arbeitet dort denn das Recovery-Programm?
 
... aber auch das habe ich (mangels Interesse) im Moment nicht und daher kann ich nichts dazu sagen, was da im "/etc/init.d"-Folder so liegt und für die Installation aus dem Speicher zuständig sein könnte.
Verzeichnis-Inhalt /etc/init.d aus Ver. 174.06.98-64285:
Code:
-rwxrwxrwx 1   9,8K 14. Dez 17:44 E03-flash_update
-rwxrwxrwx 1     11 14. Dez 17:44 E05-basemodules
-rwxrwxrwx 1   1,2K 14. Dez 17:44 E15-device
-rwxrwxrwx 1    367 14. Dez 17:44 E40-avmipc
-rwxrwxrwx 1     62 14. Dez 17:44 e45-avmnexusd
-rwxrwxrwx 1    279 14. Dez 17:44 E45-avmnexusd
-rwxrwxrwx 1     31 14. Dez 17:44 E45-psetd
-rwxrwxrwx 1     37 14. Dez 17:44 e46-net
-rwxrwxrwx 1   3,2K 14. Dez 17:44 E46-net
-rwxrwxrwx 1    204 14. Dez 17:44 E47-cpunet
-rwxr-xr-x 1    103 14. Dez 17:44 E48-mesh
-rwxrwxrwx 1    101 14. Dez 17:44 E99-tail
-rwxrwxrwx 1   3,5K 14. Dez 17:44 qca-edma
-rwxrwxrwx 1    19K 14. Dez 17:44 rc.conf
-rwxrwxrwx 1    700 14. Dez 17:44 rc.down
-rwxrwxrwx 1   7,3K 14. Dez 17:44 rc.net
-rwxrwxrwx 1    383 14. Dez 17:44 rc.psetd
-rwxrwxrwx 1   2,4K 14. Dez 17:44 rc.S
-rwxrwxrwx 1   3,2K 14. Dez 17:44 rc.tail.sh
-rwxrwxrwx 1   3,2K 14. Dez 17:44 rc.wlan
-rwxrwxrwx 1    21K 14. Dez 17:44 rc.wlan_lifetest
-rwxrwxrwx 1    797 14. Dez 17:44 S00-signal
-rwxrwxrwx 1   3,4K 14. Dez 17:44 S01-head
-rwxrwxrwx 1     31 14. Dez 17:44 S02-led
-rwxrwxrwx 1    472 14. Dez 17:44 S05-watchdog
-rwxrwxrwx 1    11K 14. Dez 17:44 S08-tffs
-rwxrwxrwx 1    398 14. Dez 17:44 S09-0config_rekey
-rwxrwxrwx 1     89 14. Dez 17:44 S09-config
-rwxrwxrwx 1    723 14. Dez 17:44 S10-checkvars_internal
-rwxrwxrwx 1    372 14. Dez 17:44 S10-html
-rwxrwxrwx 1   1,5K 14. Dez 17:44 S10-vm
-rwxrwxrwx 1    37K 14. Dez 17:44 S11-config_def
-rwxrwxrwx 1   3,5K 14. Dez 17:44 S12-default
-rwxrwxrwx 1   1,2K 14. Dez 17:44 S15-filesys
-rwxrwxrwx 1     11 14. Dez 17:44 S17-tam
-rwxrwxrwx 1    300 14. Dez 17:44 S21-udev
-rwxrwxrwx 1     35 14. Dez 17:44 S30-ledcfg
-rwxrwxrwx 1    146 14. Dez 17:44 S35-rext
-rwxrwxrwx 1    12K 14. Dez 17:44 S42-ptest
-rwxrwxrwx 1    554 14. Dez 17:44 S44-hostname
-rwxrwxrwx 1    257 14. Dez 17:44 S45-configd
-rwxrwxrwx 1     79 14. Dez 17:44 S45-openwrt
-rwxrwxrwx 1     89 14. Dez 17:44 S46-usb
-rwxrwxrwx 1     11 14. Dez 17:44 S73-capitcp
-rwxrwxrwx 1    262 14. Dez 17:44 S75-inetd
-rwxrwxrwx 1     69 14. Dez 17:44 S79-boxnotify
-rwxrwxrwx 1     10 14. Dez 17:44 S85-apps


Auf alle Fälle bräuchte man mal ein Environment ...
Code:
HardwareFeatures:  nand=0xXXXXXXXXXX,cpu=0xXXX
HWRevision:  246
HWSubRevision:  1
ProductID:  Fritz_Box_HW246
SerialNumber:  X12345678901234
annex:  Ohne
autoload:  yes
bootloaderVersion:  1.10221
firstfreeaddress:  0x8824E568
firmware_info:  174.07.03
firmware_version:  avm
flashsize:  nor_size=0MB sflash_size=0KB nand_size=128MB
maca:  98:9B:CB:*
macb:  98:9B:CB:*
macwlan:  98:9B:CB:*
macwlan2:  98:9B:CB:*
macwlan3:  98:9B:CB:*
macdsl:  98:9B:CB:*
memsize:  0x10000000
mtd0:  0x0,0x2C00000
mtd1:  0xB00000,0xF00000
mtd2:  0x0,0x2C0000
mtd3:  0x2C0000,0xB00000
mtd4:  0xF00000,0x1300000
mtd5:  0x1300000,0x8000000
my_ipaddress:  192.168.178.1
prompt:  Eva_AVM
usb_rndis_mac:  98:9B:CB:*
wlan_key:  1234567890123456
wlan_ssid:  FRITZ!Repeater#3000
Quelle: https://www.ip-phone-forum.de/threa...borfirmware-intern.301583/page-3#post-2317145
 
Beruhigend, daß ich es hier nicht überlesen habe ... aber bei der Quelle fehlt trotzdem die Angabe der Quelle. Es ist schon ein erheblicher Unterschied, ob dieses Environment über den Bootloader über "RETR env" (oder einzelne "GETENV"-Aufrufe) erzeugt wurde oder aus einer Support-Datei stammt, wo es wieder "emuliert" sein könnte. Oder hat AVM tatsächlich die Ausgabe (sowohl im laufenden System als auch im Bootloader mag ich das eigentlich fast nicht glauben) so geändert, daß da nach dem Variablennamen jetzt noch ein Doppelpunkt ausgegeben wird? Das wäre so untypisch für AVM und würde vermutlich so viele Stellen im Code beeinflussen, daß ich das zumindest als unwahrscheinlich ansehe ... solange die Quelle nicht dabei steht und noch klargestellt wird, daß die Daten 1:1 übernommen wurden.

Auf alle Fälle gibt es ja mal eine "E03-flash_update" ... also wohl auch die Installation über den Hauptspeicher. Entweder das Auslesen konkreter Daten klappt doch irgendwie über den Bootloader oder da sind bei AVM dann feste Werte (speziell zur Speichergröße) hinterlegt und müssen nicht länger aus der Box gelesen werden. Installiert sind nach dem Environment 256 MB RAM - das Begrenzen auf 128 MB war schon bei irgendeiner anderen von den kleineren Boxen ein "Fehler" (kam von den GRX-Boxen her, wo wohl der "bootcore"-Kernel im oberen Bereich gestartet wird und AVM auch auf 128 MB begrenzt beim Booten aus dem RAM) und ließ sich durch einen zusätzlichen Parameter vermeiden (irgendwo steht dazu hier ein Thread im IPPF, ich weiß auch nicht mehr, wo das war).

Ob das am Ende dagegen hilft, daß hier nach dem Log weiter vorne gar kein Environment gelesen werden konnte, weiß ich auch nicht.
 
Hatte das ja auch schon hier [Sammlung] Installation von Inhouse-Versionen ab Version 07.08 angemerkt und nach Hilfe gefragt.
Nur fragen hilft nicht weiter. Mitmachen seitens der Repeater 3000 Besitzer (oder ggf. auch der anderen Besitzer von IPQ4019 Modellen wie bspw. der 7530) ist wohl angesagt (ich habe keinen Repeater 3000 und auch keine 7530 und @PeterPawn offensichtlich auch nicht), sonst tut sich da schwerlich was.

Wurde denn bspw. schon mal versucht das Environment (vollständig) auszulesen per Bootloader? Siehe Beitrag #171.
 
@Daniel Lücking:
Nur, wenn jemand damit mal einen Recovery-Lauf für seinen Repeater macht und das Ganze (z.B. mit Wireshark) mitschneidet. Dann kann man in dem Mitschnitt den FTP-Dialog (bzw. meist ist es mehr als einer, also die Datei gut aufheben, wenn das jemand machen sollte) anschauen und daraus die notwendigen Schritte auch für die Installation einer Inhouse-Version ableiten.
 
Hi,

ich habe eben mal ein Recovery durchgeführt: beim 3000er wird mtd1 und mtd8 (!?) gelöscht und neu beschrieben....

Bei Gelegenheit schneide ich den FTP-Dialog mal mit.

Grüße,
Thomas
 
  • Like
Reaktionen: Daniel Lücking
Hier im IPPF hat wohl bisher von den IPQ4019-Modell Besitzern (FRITZ!Box 7520, 7530 und Repeater 3000) leider noch nicht den FTP-Dialog eines Recovery-Vorgang mitgeschnitten...


Aber gestern war ein ok.de-User (der auf seiner 7520 per angepasstem 7530er Recovery-Tool die Firmware der 7530 aufgespielt hatte) mal so freundlich und hat ein Paketmitschnitt vom Einsatz des Recovery-Tool erstellt:
https://www.onlinekosten.de/forum/showpost.php?p=2475138&postcount=35
(Vielen Dank @A1B2C3D4!)


Ergebnis:
Das Environment und auch der Counter kann nach wie vor per "RETR env" und "RETR count" ausgelesen werden. Hier mal das (tw. per "x" anonymisierte) Environment einer 7520 (ausgelesen per "RETR env"):
Code:
DMC                   SL1
HWRevision            247
HWSubRevision         2
ProductID             Fritz_Box_HW247
SerialNumber          L0727xxxxxxxxxx
annex                 B
autoload              yes
bootloaderVersion     1.10211
firstfreeaddress      0x8824E568
firmware_info         175.07.03
firmware_version      1und1
flashsize             nor_size=0MB sflash_size=0KB nand_size=128MB
linux_fs_start        1
maca                  98:9B:xx:xx:xx:C8
macb                  98:9B:xx:xx:xx:C9
macwlan               98:9B:xx:xx:xx:CA
macwlan2              98:9B:xx:xx:xx:CB
macdsl                98:9B:xx:xx:xx:C5
memsize               0x10000000
mtd0                  0x0,0x2C00000
mtd1                  0xB00000,0xF00000
mtd2                  0x0,0x2C0000
mtd3                  0x2C0000,0xB00000
mtd4                  0xF00000,0x1300000
mtd5                  0x1300000,0x8000000
my_ipaddress          169.254.19.1
prompt                Eva_AVM
ptest            
usb_board_mac         98:9B:xx:xx:xx:C6
usb_device_id         0x0000
usb_device_name       USB DSL Device
usb_manufacturer_name  AVM
usb_revision_id       0x0000
usb_rndis_mac         98:9B:xx:xx:xx:C7
webgui_pass           xxxxxxxxx
wlan_key              xxxxxxxxxxxxxxxxxxxx
wlan_ssid             FRITZ!Box#7520#XX


Das stammt zwar wie schon gesagt leider nicht von einem Repeater 3000 (da ist wohl bisher noch keiner der Besitzer dem nachgegangen) sondern von einer Fritzbox 7520 aber ich gehe bis jetzt einfach mal davon aus, dass sich die Qualcomm IPQ4019-Modelle mit 128MB NAND-Flash und 256MB RAM (FRITZ!Box 7520, 7530 und Repeater 3000) nicht wesentlich unterscheiden.


Laut diesem Paketmitschnitt wird vor dem Hochladen der Firmware in den RAM (nachdem per "STOR mtdnand" das neue TFFS-Image geschrieben wurde) folgende Befehle ausgeführt bzw. Variablen gesetzt:
Code:
SETENV memsize 0xeb33400
SETENV kernel_args_tmp mtdram1=0x8eb33400,0x90000000

Anschließend wird per "STOR 0x8eb33400 0x90000000" das Firmware-Image in den RAM geladen.


Ich hoffe dieser Paketmitschnitt hilft weiter, um das Tool "eva_to_memory" von @PeterPawn auch für die IPQ4019-Modelle fit zu machen.


---------


Edit:
Hier nochmal die 4 FTP-Dialoge (ohne die FTP-Daten mit Environment (2x), Counter, TFFS-Image und Image2RAM):

Code:
220 ADAM2 FTP Server ready
USER adam2
331 Password required for adam2
PASS adam2
230 User adam2 successfully logged in
SYST
215 AVM EVA Version 1.10211 0x0 0x46409
TYPE I
200 Type set to BINARY
MEDIA SDRAM
200 Media set to MEDIA_SDRAM
P@SW
227 Entering Passive Mode (169,254,19,1,12,0)
RETR env
150 Opening BINARY data connection
226 Transfer complete
USER adam2
331 Password required for adam2
PASS adam2
230 User adam2 successfully logged in
SYST
215 AVM EVA Version 1.10211 0x0 0x46409
TYPE I
200 Type set to BINARY
MEDIA SDRAM
200 Media set to MEDIA_SDRAM
P@SW
227 Entering Passive Mode (169,254,19,1,12,0)
RETR count
150 Opening BINARY data connection
226 Transfer complete
BYE
221 Thank you for using the FTP service on ADAM2
221 Goodbye.

[...]

220 ADAM2 FTP Server ready
USER adam2
331 Password required for adam2
PASS adam2
230 User adam2 successfully logged in
SYST
215 AVM EVA Version 1.10211 0x0 0x46409
TYPE I
200 Type set to BINARY
MEDIA FLSH
200 Media set to MEDIA_FLASH
P@SW
227 Entering Passive Mode (169,254,19,1,12,0)
STOR mtdnand
150 Opening BINARY data connection
226 Transfer complete
BYE
221 Thank you for using the FTP service on ADAM2
221 Goodbye.

[...]

220 ADAM2 FTP Server ready
USER adam2
331 Password required for adam2
PASS adam2
230 User adam2 successfully logged in
SYST
215 AVM EVA Version 1.10211 0x0 0x46409
TYPE I
200 Type set to BINARY
MEDIA SDRAM
200 Media set to MEDIA_SDRAM
P@SW
227 Entering Passive Mode (169,254,19,1,12,0)
RETR env
150 Opening BINARY data connection
226 Transfer complete
BYE
221 Thank you for using the FTP service on ADAM2
221 Goodbye.

[...]

220 ADAM2 FTP Server ready
USER adam2
331 Password required for adam2
PASS adam2
230 User adam2 successfully logged in
SYST
215 AVM EVA Version 1.10211 0x0 0x46409
SETENV memsize 0xeb33400
200 SETENV command successful
SETENV kernel_args_tmp mtdram1=0x8eb33400,0x90000000
200 SETENV command successful
TYPE I
200 Type set to BINARY
MEDIA SDRAM
200 Media set to MEDIA_SDRAM
P@SW
227 Entering Passive Mode (169,254,19,1,12,0)
STOR 0x8eb33400 0x90000000
150 Opening BINARY data connection
226 Transfer complete
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Daniel Lücking
Hallo,

ich habe den Mitschnitt einer Recovery auf dem 3000er schon versucht, aber bei mir war der Output nicht annähernd so ausführlich wie der zitierte Ausschnitt oben. Ich probiere es am Wochenende nochmal.

Thomas
 
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.