Erstellt vor 7 Jahren

Geschlossen vor 6 Jahren

Zuletzt geändert vor 6 Jahren

#1339 closed defect (fixed)

Support for Alice IAD 7570

Erstellt von: djtm Verantwortlicher:
Priorität: normal Meilenstein: freetz-1.2
Komponente: other Version: devel
Stichworte: Beobachter:
Product Id: 7570 Firmware Version:

Beschreibung

It would be great if the configuration could be updated to support the Alice AID 7570. It has a split mtd1 in two chunks of 8 MB each.

To support it we would need a configuration option that checks for a size of the kernel image of maximum of 7.995.392 byte. (http://www.ip-phone-forum.de/showthread.php?t=225491&p=1631601#post1631601)

This seems to be no longer possible in current SVN, the image is always over 8 MB. So some adjustments are necessary. A few months ago it was still possible to get images below 8 MB with Squash size of 512+.

Everything else (DECT, Wifi, VDSL, etc.) worked pretty fine with the Speedport override settings.

Anhänge (13)

best-config.txt (3.7 KB) - hinzugefügt von djtm vor 7 Jahren.
Freetz Config that used to work 06.11.2010
7570_IAD.patch (1.5 KB) - hinzugefügt von oliver vor 7 Jahren.
working2.log (15.8 KB) - hinzugefügt von djtm vor 7 Jahren.
Old directory sizes (most of them smaller)
new2.log (23.8 KB) - hinzugefügt von djtm vor 7 Jahren.
new directory sizes
newallsizes.txt (188.2 KB) - hinzugefügt von djtm vor 7 Jahren.
Size of all files, new image (ls -lmsS new.mod/)
oldallsizes.txt (162.7 KB) - hinzugefügt von djtm vor 7 Jahren.
Size of all files, old image (ls -lRmsS old.mod/)
.config (24.2 KB) - hinzugefügt von djtm vor 6 Jahren.
Config that works with current Svn to create an image < 8 MB, along with the patch
999-remove_7570.sh (1.9 KB) - hinzugefügt von djtm vor 6 Jahren.
patch that removes some big files from the new 7570 to make it fit (just a hack not for svn)
7570_HN.patch (5.0 KB) - hinzugefügt von oliver vor 6 Jahren.
add mtd check
pushfirmware_hn.patch (2.4 KB) - hinzugefügt von MaxMuster vor 6 Jahren.
push_firmware_with_ALICE.patch (4.8 KB) - hinzugefügt von MaxMuster vor 6 Jahren.
push_firmware_with_ALICE_2.patch (1006 Byte) - hinzugefügt von MaxMuster vor 6 Jahren.
Jetzt hoffentlich die korrekte Version (Patch gegen aktuellen Trink)
7570-alice-config.txt (24.0 KB) - hinzugefügt von mandy28 vor 6 Jahren.

Alle Anhänge herunterladen als: .zip

Änderungshistorie (57)

Geändert vor 7 Jahren durch djtm

Freetz Config that used to work 06.11.2010

Geändert vor 7 Jahren durch oliver

comment:1 Antwort: Geändert vor 7 Jahren durch oliver

Please try attached patch (adds IAD menuconfig option). Be aware that you have to select remove patches until the firmware fits.

comment:2 als Antwort auf: ↑ 1 Geändert vor 7 Jahren durch djtm

Thanks! Now it does the size check for me. But it's still not possible to create an image small enough. I've tried all reasonable patches (all except voip, dsld and wlan). I even tried using a custom build chain with newer GCC etc. I had also tried configuring the kernel myself. All without success.
I suspect the force ipv6 support, which wasn't there before. I've tried removing the forced ipv6 support for my image in Config.in. and… it doesn't help either. I always end up with at least 512256 too big. Some big new item must be included in the new (.90) verion of the 7570 image.

Zuletzt geändert vor 7 Jahren von djtm (vorher) (Diff)

comment:3 Geändert vor 7 Jahren durch djtm

Most difference seems to be in modules:
Dsld new 1280 old 1128
ubik2 new 328 old 240
wiresless 1160 1088

liblua (200k) is new.

/etc/default.Fritz_Box_7570/avme is 300k bigger, e.g. providers-049.tar (100k) is new.

I will attach the new and old sizes of all directories.

Geändert vor 7 Jahren durch djtm

Old directory sizes (most of them smaller)

Geändert vor 7 Jahren durch djtm

new directory sizes

Geändert vor 7 Jahren durch djtm

Size of all files, new image (ls -lmsS new.mod/)

Geändert vor 7 Jahren durch djtm

Size of all files, old image (ls -lRmsS old.mod/)

comment:4 Geändert vor 7 Jahren durch djtm

There seem to be a total of 300 new files+directories across the image.

comment:5 Geändert vor 7 Jahren durch djtm

Of course an awesome way to fix all this would be to support an image split in two parts, e.g. with the kernel config option of CONFIG_MTD_CONCAT.
("Support for concatenating several MTD devices into a single (virtual) one. This allows you to have -for example- a JFFS(2) file system spanning multiple physical flash chips. If unsure, say 'Y'.")

Zuletzt geändert vor 7 Jahren von djtm (vorher) (Diff)

comment:6 Geändert vor 7 Jahren durch oliver

In [7041]:

  • 7570: Add option to build firmware for IAD
    • initial version, only checks size of firmware image (use remove patches)
    • IAD has different mtd partitioning
    • refs #1339

comment:7 Geändert vor 6 Jahren durch djtm

Useful significant ways to reduce the size would be:
remove ./lib/modules/vinax_fw_adsl_A.bin (or B or or VDSL vinax_fw_vdsl.bin)
remove ./etc/htmltext_fr.db ./etc/htmltext_en.db.

I've managed to build an image now by creating a small patch! :)
Let's see if it works.

comment:8 Geändert vor 6 Jahren durch djtm

Ok, removing both adsl files nad the .dbs was not a good idea it seems… Now fresh svn doens't want to compile anymore… rollback to older revision doesn't help either. let's see if distclean helps. that'll take time to compile again… :/ - if it works at all.

comment:9 Geändert vor 6 Jahren durch oliver

Errors could be fixed if users provide logs. ;-)

comment:10 Geändert vor 6 Jahren durch djtm

No, the compile problem was not caused by freetz, sorry. That was a local system problem. But now I've got worse problems…
Something's very bad. I've just flashed with 7067M and now the box hangs and it seems I don't even get into adam anymore. Three blinks, then a steady light. It must've happened recently, because I could flash 7037M without this problem. I hope I'll be able to fix this :/

comment:11 Geändert vor 6 Jahren durch djtm

Ok. 1 day without dsl. All up and working again.
The new images don't work anymore even if they are patched to a size below 8 MB. I will attach the (very, very rough) patch and config. Let me know if you have any ideas!
Thanks

Geändert vor 6 Jahren durch djtm

Config that works with current Svn to create an image < 8 MB, along with the patch

Geändert vor 6 Jahren durch djtm

patch that removes some big files from the new 7570 to make it fit (just a hack not for svn)

comment:12 Geändert vor 6 Jahren durch djtm

Ok, I forgot to clear mtd3+4 before flashing the new image. Could that cause a non booting problem with new images? Shouldn't it hang later and in a different way then? Is there an overview anywhere of all the light signals of the box and what they mean?

comment:13 Geändert vor 6 Jahren durch Mulder

A log from the output of the seriell console during boot might be helpful to see what is going on. I don't know if there is another way to get a log of boot procedure.

comment:14 Geändert vor 6 Jahren durch djtm

Yes I'll look into that. I think oliver said he's got it working, maybe he can attach a config as well so I can test that. But probably won't happen before the weekend.

comment:15 Geändert vor 6 Jahren durch oliver

  • Meilenstein von freetz-1.3 nach freetz-1.2 geändert
  • severity von major nach normal geändert

comment:16 Geändert vor 6 Jahren durch oliver

I attached a first concept of a possible patch.

  • It's possible to flash max mtd1 if you set it to 244 * 64 KB blocks (only with flash_update.ko not over EVA!)
  • If mtd5's end address is set we set mtd1.end to the same address. In my tests this worked with switched layout too. Because it is reset by the Freetz install-7570_HN.patch.
  • On boot phase the kernel sets mtd1 to 16 MB and splits up the jffs2 like on normal (7570).

Patch needs testing.

edit: First update your box with an image < 8 MB over recover (EVA) if there is already a Freetz image in the flash. (some variables changed)

Zuletzt geändert vor 6 Jahren von oliver (vorher) (Diff)

comment:17 Geändert vor 6 Jahren durch MaxMuster

Nur um sicherer zu sein schlage ich noch folgendes vor: Beim install Start und Ende von mtd5 zu ermitteln und nur wenn dessen Start gleich Ende von mtd1 ist, das Ende von mtd1 auf das Ende von mtd5 zu legen.

Ergibt zum einen eine zusätzliche Sicherheit, zum anderen mehr Flexibilität statt der hart codierten Werte…

Ach so, bin mir im Moment nicht sicher: müsste der Kernel-Patch nicht auch irgendwie optional sein?

Zuletzt geändert vor 6 Jahren von MaxMuster (vorher) (Diff)

comment:18 Geändert vor 6 Jahren durch djtm

Wow, großartig! Ich teste das am Wochenende auf meiner Box!

comment:19 Geändert vor 6 Jahren durch oliver

Ich bin mir nicht sicher, ob ich ganz verstehe was du meinst:

mtd1="$(cat /proc/sys/urlader/environment | grep mtd1)"
mtd1_start=${mtd1%,0x*}
mtd1_start=${mtd1_start#*0x}
mtd1_end=${mtd1##*,0x}

mtd5="$(cat /proc/sys/urlader/environment | grep mtd5)"
mtd5_start=${mtd5%,0x*}
mtd5_start=${mtd5_start#*0x}
mtd5_end=${mtd5##*,0x}

if [ "$mtd1_end" = "$mtd5_start ] || [ "$mtd5_end" = "$mtd1_start" ]; then
  if [ "$mtd1_start" < "$mtd5_start" ]; then
    echo mtd1 0x${mtd1_start},0x${mtd5_end} > /proc/sys/urlader/environment
  else
    echo mtd1 0x${mtd5_start},0x${mtd1_end} > /proc/sys/urlader/environment
  fi
fi

Ist das jetzt sicherer und flexibler?

comment:20 Geändert vor 6 Jahren durch MaxMuster

Ziemlich genau das meinte ich ;-). Wobei ich an das mögliche Tauschen von mtd1 und mtd5 in dem Moment nicht gedacht hatte (wurde aber von Alice beim 5130 so gemacht).

comment:21 Geändert vor 6 Jahren durch oliver

mtd1="$(cat /proc/sys/urlader/environment | grep mtd1)"
mtd1_start=${mtd1%,0x*}
mtd1_start=${mtd1_start#*0x}
mtd1_end=${mtd1##*,0x}

mtd5="$(cat /proc/sys/urlader/environment | grep mtd5)"
mtd5_start=${mtd5%,0x*}
mtd5_start=${mtd5_start#*0x}
mtd5_end=${mtd5##*,0x}

echo "mtd1: $mtd1_start - $mtd1_end"
echo "mtd5: $mtd5_start - $mtd5_end"


for i in 1 5; do
  eval mtd${i}=\"$(cat /proc/sys/urlader/environment | grep mtd${i})\"
  eval mtd${i}_start=\"\${mtd${i}%,0x*}\"
  eval mtd${i}_start=\"\${mtd${i}_start#*0x}\"
  eval mtd${i}_end=\"\${mtd${i}##*,0x}\"
  eval echo \"mtd${i}: \$mtd${i}_start - \$mtd${i}_end\"
done

Welche Variante ist "schöner"? :-)

edit: Ich sehe keinen Sinn darin die Variante dynamisch zu machen. Einzig ein Check erscheint mir sinnvoll:

  • install

    old new  
    188188urlader_size=131072 
    189189newFWver=04.90 
    190190flash_start=268435456 
     191 
     192for i in 1 5; do 
     193  eval mtd${i}=\"$(cat /proc/sys/urlader/environment | grep mtd${i})\" 
     194  eval mtd${i}_start=\"\${mtd${i}%,0x*}\" 
     195  eval mtd${i}_start=\"\${mtd${i}_start#*0x}\" 
     196  eval mtd${i}_end=\"\${mtd${i}##*,0x}\" 
     197  eval echo \"mtd${i}: \$mtd${i}_start - \$mtd${i}_end\" 
     198done 
     199 
     200[ "$mtd1_end" = "$mtd5_start ] || [ "$mtd5_end" = "$mtd1_start" ] || korrekt_version=0 
     201[ "$mtd1_start" = "90040000" ] || [ "$mtd5_start" = "90040000" ] || korrekt_version=0 
     202[ "$mtd1_end" = "90F80000" ] || [ "$mtd5_end" = "90F80000" ] || korrekt_version=0 
     203 
    191204# Versioninfo: 75.04.90 
    192205# Checkpoint:  r19715 
    193206#! /bin/sh 
Zuletzt geändert vor 6 Jahren von oliver (vorher) (Diff)

comment:22 Geändert vor 6 Jahren durch MaxMuster

Da die Größen (Kernel usw.) sowieso vorgegeben sind, ist "Dynamik" vielleicht doch etwas zu viel. Dann kann man aber die Werte auch direkt abfragen, es muss dann jeweils eine Zeile mtd1 und mtd5 mit "bekannten" Inhaltswerten geben.
Eval würd ich möglichst vermeiden (ist aber eine "Gefühlssache"), mit unserem grep wäre es als "Einzeiler" möglich:

[ 2 -eq $(grep -c -e  'mtd[1\|5][ ]*0x90040000,0x907E0000\|mtd[1\|5][ ]*0x907E0000,0x90F80000' /proc/sys/urlader/environment) ] || korrekt_version=0

(nur als Anregung, lesbarer könnte man es auch noch aufteilen ;-)):

found=$(grep  -e  '^mtd[1\|5]' /proc/sys/urlader/environment | \
	grep -c -e  '0x90040000,0x907E0000\|0x907E0000,0x90F80000')
[ 2 -eq $found ] || korrekt_version=0
Zuletzt geändert vor 6 Jahren von MaxMuster (vorher) (Diff)

Geändert vor 6 Jahren durch oliver

add mtd check

comment:23 Geändert vor 6 Jahren durch MaxMuster

Ich habe mal versucht, ein push_firmware für die HN-Boxen zu machen. Da könnten sicher noch ein paar Verbesserungen oder "Sicherungen" rein, aber vielleicht geht es ja so schon…

Ist ein Ergebnis von diff -Nur tools/push_firmware tools/push_firmware_hn

Geändert vor 6 Jahren durch MaxMuster

comment:24 Geändert vor 6 Jahren durch oliver

Sollte man diese Abfrage nicht abhängig von der HWRevision machen?

comment:25 Geändert vor 6 Jahren durch djtm

Es geht! :)
man kann allerdings 16 mb images nach meinen tests nur über bereits aufgespielte freetz images flashen. Aufspielen über das AVM interface aus einem älteren gefreetzten image ging prima. Aufspielen über das avm interface eines s2f image ging nicht.

gute Arbeit Leute! Nochmals tausend Dank! Und alles, ohne den Bootloader zu berühren! :)

ich würde sagen der 7570-HN patch kann ins svn ;)

comment:26 Geändert vor 6 Jahren durch MaxMuster

@oliver: HWRevision wäre natürlich auch sehr sinnvoll. Damit wäre es sogar noch einfacher, eine “universelle “ Version zu bauen, vermute ich…
Ich wollte hier erstmal einen Ansatz für eine “exklusive “ HN Version zeigen.

comment:27 Geändert vor 6 Jahren durch oliver

  • Zusammenfassung von Support for Alice AID 7570 nach Support for Alice IAD 7570 geändert

comment:28 Geändert vor 6 Jahren durch MaxMuster

Mal eine neue Version "für beides", die normale funktionieren sollte, und mit der Option -hn auche auf einer Alice-Box funktionieren sollte.
Besonders der "ncftp-Teil" ist nicht getestet, ob der so noch funktioniert, da wäre Input nett, ebenso wie für andere Boxen…

Geändert vor 6 Jahren durch MaxMuster

comment:29 Geändert vor 6 Jahren durch oliver

In [7123]:

  • 7570: Add option and patches to build 16 MB firmware for IAD
    • First step is to update the box with a < 8 MB image with recover
    • refs #1339

comment:30 Geändert vor 6 Jahren durch oliver

In [7124]:

  • push_firmware: Extend for 7570 HN support (by MaxMuster)

comment:31 Geändert vor 6 Jahren durch oliver

Kann hier dann zu?

comment:32 Geändert vor 6 Jahren durch oliver

  • Lösung auf fixed gesetzt
  • Status von new nach closed geändert

comment:33 Geändert vor 6 Jahren durch djtm

Jawohl! Danke!!!

comment:34 Geändert vor 6 Jahren durch oliver

@Jörg
Irgendwas stimmt da mit dem push_firmware nicht:

         Tip: switch off/on box several times, if FTP client cannot log in ...

push_firmware: Trying to flash an image to an "Alice" 7570 FritzBox.
Connection closed by foreign host.
0x90040000,0x907E0000
0x907E0000,0x90F80000
push_firmware: Error veryfing mtd values for "Alice" box. Found values:

oliver@ubuntu:~/fritzbox/freetz/trunk$

comment:35 Geändert vor 6 Jahren durch MaxMuster

Sorry, habe ich wohl die falsche Version reingestellt?!?
Kann jetzt nur draufschauen und nicht dran arbeiten. Und da sehe ich in Zeile 73:
MTD= echo "$VALUES" | sed -n '/^mtd/ s/mtd.[^0]*// p' , was sicher sein müsste:
MTD=$(echo "$VALUES" | sed -n '/^mtd/ s/mtd.[^0]*// p')

Könntest du das so mal versuchen?!?

Geändert vor 6 Jahren durch MaxMuster

Jetzt hoffentlich die korrekte Version (Patch gegen aktuellen Trink)

comment:36 Geändert vor 6 Jahren durch cuma

In [7191]:

push_firmware: fix typo in r7124, by MaxMuster (refs #1339)

comment:37 Geändert vor 6 Jahren durch mandy28

funktioniert

Zuletzt geändert vor 6 Jahren von mandy28 (vorher) (Diff)

comment:38 Geändert vor 6 Jahren durch MaxMuster

Hinweis: Wenn man nur noch die .91-Version hat (die 90-er ist ja nicht mehr auf dem Server) kann man diese in .90 umbenennen und braucht diesen Patch für den "HN-Patch":

Index: patches/cond/install-7570_HN.patch
===================================================================
--- patches/cond/install-7570_HN.patch	(revision 7196)
+++ patches/cond/install-7570_HN.patch	(working copy)
@@ -2,15 +2,15 @@
 +++ var/install	2011-06-08 11:31:55.469635296 +0200
 @@ -180,6 +180,11 @@
  urlader_size=262144
- newFWver=04.90
+ newFWver=04.91
  flash_start=268435456
 +
 +found=$(grep  -e  '^mtd[1\|5]' /proc/sys/urlader/environment | \
 +	grep -c -e  '0x90040000,0x907E0000\|0x907E0000,0x90F80000')
 +[ 2 -eq $found ] || korrekt_version=0
 +
- # Versioninfo:	75.04.90
- # Checkpoint:	r19715
+ # Versioninfo:	75.04.91
+ # Checkpoint:	r19965
  #! /bin/sh
 @@ -470,6 +475,10 @@
      echo install: ${kversion} setting files to install...

comment:39 Geändert vor 6 Jahren durch mandy28

Zuletzt geändert vor 6 Jahren von mandy28 (vorher) (Diff)

comment:40 Geändert vor 6 Jahren durch oliver

@mandy28
Geht's jetzt doch? Oder warum hast du dein Kommentar geändert? Sonst probier ich push_firmware mal aus.

Zuletzt geändert vor 6 Jahren von oliver (vorher) (Diff)

comment:41 Geändert vor 6 Jahren durch mandy28

sorry da ist was schief gelaufen beim editieren.
Mit dem push_firmware tool gabs Rebbotschleifen
Mit einem 90er image hats dann geklappt normal zu flashen
Image läuft auch , bis auf die LED s die blinken
anbei die config

Geändert vor 6 Jahren durch mandy28

comment:42 Geändert vor 6 Jahren durch oliver

In [7429]:

  • push_firmware: Fix typo in Alice function

comment:43 Geändert vor 6 Jahren durch mandy28

Fehler mit trunk 7437

    applying patch file ./patches/cond/install-7570_HN.patch
    patching file var/install
    Hunk #1 FAILED at 180.
    Hunk #2 FAILED at 470.
    2 out of 2 hunks FAILED -- saving rejects to file var/install.rej
    ----------------------------------------------------------------------
ERROR: modpatch: Error in patch-file ./patches/cond/install-7570_HN.patch
make: *** [firmware-nocompile] Fehler 2

comment:44 Geändert vor 6 Jahren durch oliver

In [7442]:

[freetz-stable-1.2]: Merge in r7400:7401, r7407:7409, r7415:7417, r7420:7422, r7425, r7429:7432, r7434, r7435, r7437 from trunk (refs #1396):

————————————————————————————————————

r7400 | oliver | 2011-07-24 11:52:20 +0200 (So, 24. Jul 2011) | 3 Zeilen

  • rc.mod: Second try to add an external mount hook for 7390 NAND (by Ralf Friedl)
    • needs a busybox patch (df -P should output only one line)
    • refs #1373

r7401 | oliver | 2011-07-24 12:27:32 +0200 (So, 24. Jul 2011) | 1 Zeile

  • rc.mod: Fix character encoding

r7407 | cuma | 2011-07-24 17:19:18 +0200 (So, 24. Jul 2011) | 6 Zeilen
opendd:

  • added to external-services
  • fix interaction with onlinechanged

(refs #1409)


r7408 | cuma | 2011-07-24 17:23:19 +0200 (So, 24. Jul 2011) | 1 Zeile
added onlinechanged to shown logfiles


r7409 | cuma | 2011-07-24 17:26:59 +0200 (So, 24. Jul 2011) | 1 Zeile
logfiles: colorization of "inetd"


r7415 | cuma | 2011-07-24 22:55:04 +0200 (So, 24. Jul 2011) | 1 Zeile
remove tr069: fix modsed (refs #1427)


r7416 | cuma | 2011-07-25 23:30:29 +0200 (Mo, 25. Jul 2011) | 1 Zeile
openntpd's reload: dont start ntpd if not running (refs #1428)


r7417 | cuma | 2011-07-26 10:04:15 +0200 (Di, 26. Jul 2011) | 1 Zeile
fix r7416 (refs #1428)


r7420 | oliver | 2011-07-28 19:50:56 +0200 (Do, 28. Jul 2011) | 1 Zeile

  • 7112 Alien patch: Remove more usb files (by abraxxl)

r7421 | oliver | 2011-07-28 19:52:56 +0200 (Do, 28. Jul 2011) | 1 Zeile

  • Rename some config symbols (by dileks)

r7422 | oliver | 2011-07-28 19:54:59 +0200 (Do, 28. Jul 2011) | 1 Zeile

  • Config.in: Select more remove patches for 7112 Alien (by abraxxl)

r7425 | er13 | 2011-07-28 21:13:02 +0200 (Do, 28. Jul 2011) | 3 Zeilen
gettext:

  • fix uninstall rule

r7429 | oliver | 2011-07-30 11:11:30 +0200 (Sa, 30. Jul 2011) | 2 Zeilen

  • push_firmware: Fix typo in Alice function

r7430 | cuma | 2011-07-30 18:30:21 +0200 (Sa, 30. Jul 2011) | 1 Zeile
dropbear: take care of ROOTONLY


r7431 | cuma | 2011-07-30 18:33:44 +0200 (Sa, 30. Jul 2011) | 1 Zeile
modlibrc: hide errormessage if no process is running (inetd-mode)


r7432 | cuma | 2011-07-31 14:25:23 +0200 (So, 31. Jul 2011) | 1 Zeile
dropbear: hide errormessage if no process is running (revert r7431)


r7434 | oliver | 2011-07-31 16:50:35 +0200 (So, 31. Jul 2011) | 3 Zeilen

  • 7113: Bump international version to 90.04.84
    • Update patches
    • refs #1396

r7435 | oliver | 2011-07-31 17:03:56 +0200 (So, 31. Jul 2011) | 4 Zeilen

  • Makfile: Add .NOTPARALLEL flag
    • Freetz has it's own setting for the number of jobs
    • The user shouldn't be able to mess up the build with "make -j x"
    • refs #1396

r7437 | oliver | 2011-07-31 22:03:23 +0200 (So, 31. Jul 2011) | 2 Zeilen

  • fwmod: Create onlinechanged directory instead of file (fixes #1430)

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.