DSL Treiber in Freetz image austauschen

leibezem

Neuer User
Mitglied seit
23 Dez 2006
Beiträge
83
Punkte für Reaktionen
0
Punkte
6
Hallo,

Ich habe mit Erfolg die DSL Treiberdateien aus dem englischen AnnexA Image 14.04.26 der Fritz!Box 7050 in das deutsche 14.04.33 image integriert. Mit dem AnnexA DSL Treiber 1.35.51.10 läuft die Box viel stabiler (SNR > 15, AnnexB Firmware und "kernel_args annex=A < 10) an meinem POTS Anschluss in Österreich.

Jetzt wollte ich ein Freetz Image erstellen, und auch hier den AnnexA Treiber einbauen. Leider bleibt die Box dann aber in einer Reboot Schleife hängen. Ich habe das ganze schon mit freetz-1.0.1 und freetz-stable-1.1 versucht. Immer mit den gleichen Ergebnis.

Die DSL Dateien liegen unter /lib/modules/ubik. Ich habe den ganzen Ordner über fwmod_custom in den Ordner ./filesystem/lib/modules/ubik kopiert. Die Dateien landen auch dort, wo sie hin sollen, aber das Image funktioniert nicht.

Die Power LED blinkt ständig, und eine rote LED auf dem Mainboard ist ständig an (nur bei abgedunkeltem Raum hinter der Info LED sichtbar). Dann geht die rote LED nach ca. 30sec kurz aus, und die Box rebootet.

Wie gesagt tritt dieses Verhalten nur mit einem Freetz Image auf. Das veränderte AVM Image funktioniert mit den AnnexA Dateien einwandfrei.

Hat irgend jemand eine Idee, woran das liegen könnte?
 
leider kann ich dir zwar nicht direkt weiterhelfen, aber ich hätte eine generelle frage :

wäre dies nicht eine grundsätzliche möglichkeit neuere dsl treiber zu integrieren

- ist denn die ->modemhardware<-
gleich, ähnlich oder grundverschieden zwischen z.b.

fritz! box fon <-> ....... <-> fritz! box 7150 <-> 7170 <-> .....


wenn die dsl-treiber kompatibel wären, würde das sicher eine geniale option gerade auch für ältere boxen (aktuell leider ohne dsl einstellmöglichkeiten) werden :)
 
Hi,

ich vermute mal, dass irgendwas bei deinem Kopieren nicht so ganz korrekt läuft...
Nutze doch einfach das veränderte Image als Grundlage für freetz (indem du das in den dl bzw. dl/fw Ordner unter dem Namen der original-FW kopierst). Danach siehst du zumindest, ob wirklich freetz oder dein fwmod_custom die Ursache ist.


Jörg
 
@pixide: Zur Hardware kann ich leider nichts sagen, aber die Treiber Dateien für z.B 7050 und 7170 liegen in verschiedenen Ordnern und haben auch nicht die gleichen Namen (ubik2-dsl.bin bei der 7050 und microvoip-dsl.bin bei der 7170). Anscheinend gibt es hier doch Unterschiede.

@MaxMuster: Am Kopieren liegt es denke ich nicht. Ich habe die Dateien im Ordner "build/modified" nach dem make überprüft und die wurden korrekt kopiert. Das mit dem veränderten Image als Grundlage habe ich auch schon probiert. Ich hab dabei aber den Namen der Firmware Datei nicht verändert, sondern "Override firmware source" benutzt. Leider mit dem gleichen Ergebnis.
 
Moin,

ich vermute, ohne "Debug" kommst du da nicht weiter, du benötigtest dafür die serielle Schnittstelle der Box und ein "Anschlusskabel mit Pegelwandler" (z.B. ein No-Name Datenkabel für ein Siemens-Handy, siehe hier).
Vorher/Alternativ könntes du folgendes noch versuchen:
- Geht das "gleiche Freetz" ohne deine fwmod_custom (mit der Original-FW natürlich)
- Steht irgenwas in der debug.cfg, was hier zu Problemem führen kann (z.B. debug.cfg wird nicht beendet)
- Als nicht ganz vollwertige Alternative zu der seriellen Schnittstelle könntest du eine Kopie des Images im Emulator laufen lassen und dort die Ausgaben der Konsole sehen (siehe z.B. hier)


Jörg
 
Hallo,

Ich hab jetzt ein paar Logs auf der seriellen Schnittstelle aufgezeichnet:

Hier ein Auszug ab dem start des DSL Treibers (14.04.33freetz-1.1-stable-2977M, ubik2-dsl.bin V1.35.51.10 aus 14.04.26 Annex A)
Code:
...

attempting to load DSL Firmware '/lib/modules/ubik/ubik2-dsl.bin'
**** ANNEX: 'A'
*************************************
setting DSL Firmware to Annex A
tiatm: module license '
(C) Copyright 2003, Texas Instruments, Inc
(C) Copyright 2004, AVM
' taints kernel.
registered device TI Avalanche SAR
tiatm driver (patch_annex=0xc00513ec)
Sangam detected
[tiatm] Set StrictPriority=0
PM_STATUS2(before switch on) = 0x03
12 Volt:up korrekt 1.5 Volt: up korrekt Fuse Mode is disabled
PM_STATUS2(after switch on) = 0x03
12 Volt:up korrekt 1.5 Volt: up korrekt Fuse Mode is disabled
power up success !
#### DSP Core voltage set to 1,5 V ####
DSP binary filesize = 362094 bytes
[setup_irq]: irq 23 irqaction->handler 0xc0038208 (tn7atm_sar_irq+0x0/0x30 [tiatm] )
[setup_irq]: irq 47 irqaction->handler 0xc0038238 (tn7atm_dsl_irq+0x0/0x28 [tiatm] )
[tiatm]: Powermanagment (States => 1,3,10) supported!
Texas Instruments ATM driver: version:[4.06.04.41]
ubik2 driver (ubik2 - 0x10=0xc0064a74)
atm_dsp_register_ubik2: ubik2_ToMIPS_notify=0xc0054bfc
atm_dsp_register_ubik2: dsp mem pointer 0xa10032ee
ubik2_init_interface: init Queues Queues->FreeFromMIPS failed
ubik2: ubik2_init: ubik2_init_interface failed
insmod: cannot insert '/lib/moduCPU 0 Unable to handle kernel paging request at virtual address c0054bfc, epc == c0054bfc, ra == c00401b0
Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]:
Cpu 0
$ 0   : 00000000 1000ce00 941c0000 c00481dc
$ 4   : 00000000 00000081 00000000 c0039c7c
$ 8   : 00000006 00000000 00000001 0000010c
$12   : 0000010d 00000359 0006cf04 00000081
$16   : 943d0000 00000011 943d0000 00000000
$20   : c0050000 c0050000 94200000 00014cc1
$24   : 00000000 c0054bfc
$28   : 94cb4000 94cb77c0 94cb79a0 c00401b0
Hi    : 2932f02e
Lo    : d3044820
epc   : c0054bfc 0xc0054bfc     Tainted: P
ra    : c00401b0 dslhal_api_processMailBox+0x478/0x7a8 [tiatm]
Status: 1000ce02    KERNEL EXL
Cause : 10800008
BadVA : c0054bfc
PrId  : 00018448
Modules linked in: tiatm
Process rc.S (pid: 98, threadinfo=94cb4000, task=94da4830)
Stack : 94d9f6d4 94d9ed88 002de137 000002c5 94cb7950 00000000 00000001 94200000
        940373d8 940373d8 94cb77e8 94cb77e8 00000000 00000000 94da4830 00000000
        94200000 94200000 13c2795c 1000ce00 94200000 94200000 94200000 94200000
        94cb7820 94cb7820 00000000 94204430 0000000a 94200000 002e199c 00000020
        00008000 1000ce00 c0000000 0000000a 1000ce00 1000ce00 c0000000 0000000a
        ...
Call Trace:
 [<940373d8>] __rcu_process_callbacks+0x1b8/0x23c
 [<940373d8>] __rcu_process_callbacks+0x1b8/0x23c
 [<94029cd0>] do_softirq+0x58/0x8c
 [<9400afbc>] ll_timer_interrupt+0x40/0x4c
 [<94064818>] sync_buffer+0x0/0x5c
 [<94000f50>] mipsIRQ+0x110/0x118
 [<94064818>] sync_buffer+0x0/0x5c
 [<c0040ed0>] dslhal_support_blockWrite+0x4c/0xd0 [tiatm]
 [<9409defc>] read_data+0x51c/0x6dc
 [<c0040cf0>] dslhal_support_byteSwap32+0x0/0x8 [tiatm]
 [<c0042504>] dslhal_support_parseInterruptSource+0xc8/0xec [tiatm]
 [<c004057c>] dslhal_api_handleTrainingInterrupt+0x9c/0xb8 [tiatm]
 [<c003a548>] tn7dsl_handle_interrupt+0x64/0x2e8 [tiatm]
 [<c003a534>] tn7dsl_handle_interrupt+0x50/0x2e8 [tiatm]
 [<9409dea0>] read_data+0x4c0/0x6dc
 [<c0038250>] tn7atm_dsl_irq+0x18/0x28 [tiatm]
 [<940428ec>] handle_IRQ_event+0x64/0xd8
 [<94042a2c>] __do_IRQ+0xcc/0x150
 [<940d5fe4>] serial8250_interrupt+0xc4/0x13c
 [<940d5fe4>] serial8250_interrupt+0xc4/0x13c
 [<94001430>] ar7_hw0_irqdispatch+0xe0/0xf8
 [<940428ec>] handle_IRQ_event+0x64/0xd8
 [<94000f68>] mips_irq_check_hw_interrupt_0+0x10/0x18
 [<94042a50>] __do_IRQ+0xf0/0x150
 [<94042a2c>] __do_IRQ+0xcc/0x150
 [<940428d8>] handle_IRQ_event+0x50/0xd8
 [<94042a2c>] __do_IRQ+0xcc/0x150
 [<94001430>] ar7_hw0_irqdispatch+0xe0/0xf8
 [<94000f68>] mips_irq_check_hw_interrupt_0+0x10/0x18
 [<94029cd0>] do_softirq+0x58/0x8c
 [<94042a50>] __do_IRQ+0xf0/0x150
 [<94029bc8>] __do_softirq+0x48/0xf8
 [<94029cd0>] do_softirq+0x58/0x8c
 [<94000f68>] mips_irq_check_hw_interrupt_0+0x10/0x18
 [<9402a0f8>] tasklet_action+0x94/0xe8
 [<94029cd0>] do_softirq+0x58/0x8c
 [<941e48c0>] prom_init+0x14c/0x218
 [<94011f3c>] r4k_flush_cache_page+0xc4/0x230
 [<94049e10>] __alloc_pages+0x11c/0x448
 [<9400f908>] blast_dcache16_page+0x20/0x9c
 [<941e48c0>] prom_init+0x14c/0x218
 [<94055688>] do_wp_page+0xf0/0x568
 [<9405566c>] do_wp_page+0xd4/0x568
 [<9405449c>] pte_alloc_map+0x58/0x118
 [<941e48c0>] prom_init+0x14c/0x218
 [<941e48c0>] prom_init+0x14c/0x218
 [<94056c38>] __handle_mm_fault+0x4e0/0x59c
 [<941e48c0>] prom_init+0x14c/0x218
 [<9405494c>] copy_page_range+0x34c/0x3c8
 [<941e48f0>] prom_init+0x17c/0x218
 [<941e48c0>] prom_init+0x14c/0x218
 [<9400eb1c>] do_page_fault+0xfc/0x380
 [<94023578>] copy_process+0xe34/0x1034
 [<941e48c0>] prom_init+0x14c/0x218
 [<941e48f0>] prom_init+0x17c/0x218
 [<94023984>] do_fork+0x164/0x1f0
 [<94029bec>] __do_softirq+0x6c/0xf8
 [<94029bc8>] __do_softirq+0x48/0xf8
 [<9400f3c8>] tlb_do_page_fault_1+0x100/0x108
 [<94005e8c>] work_resched+0x8/0x40


Code: (Bad address in epc)

Call Trace:
 [<94023ddc>] panic+0x34/0x198
 [<940266a0>] do_exit+0xb4/0xbb0
 [<9400ba5c>] __die_if_kernel+0x0/0x24
 [<9400ba54>] __die+0xd0/0xd8
 [<941e48f0>] prom_init+0x17c/0x218
 [<941e48c0>] prom_init+0x14c/0x218
 [<9400ec5c>] do_page_fault+0x23c/0x380
 [<9400ebd4>] do_page_fault+0x1b4/0x380
 [<c00401b0>] dslhal_api_processMailBox+0x478/0x7a8 [tiatm]
 [<c0040ed0>] dslhal_support_blockWrite+0x4c/0xd0 [tiatm]
 [<c004137c>] dslhal_support_readDspMailbox+0x124/0x18c [tiatm]
 [<9400f2c0>] tlb_do_page_fault_0+0x100/0x108
 [<c0039c7c>] shim_osCriticalExit+0x0/0x34 [tiatm]
 [<c00401b0>] dslhal_api_processMailBox+0x478/0x7a8 [tiatm]
 [<940373d8>] __rcu_process_callbacks+0x1b8/0x23c
 [<940373d8>] __rcu_process_callbacks+0x1b8/0x23c
 [<94029cd0>] do_softirq+0x58/0x8c
 [<9400afbc>] ll_timer_interrupt+0x40/0x4c
 [<94064818>] sync_buffer+0x0/0x5c
 [<94000f50>] mipsIRQ+0x110/0x118
 [<94064818>] sync_buffer+0x0/0x5c
 [<c0040ed0>] dslhal_support_blockWrite+0x4c/0xd0 [tiatm]
 [<9409defc>] read_data+0x51c/0x6dc
 [<c0040cf0>] dslhal_support_byteSwap32+0x0/0x8 [tiatm]
 [<c0042504>] dslhal_support_parseInterruptSource+0xc8/0xec [tiatm]
 [<c004057c>] dslhal_api_handleTrainingInterrupt+0x9c/0xb8 [tiatm]
 [<c003a548>] tn7dsl_handle_interrupt+0x64/0x2e8 [tiatm]
 [<c003a534>] tn7dsl_handle_interrupt+0x50/0x2e8 [tiatm]
 [<9409dea0>] read_data+0x4c0/0x6dc
 [<c0038250>] tn7atm_dsl_irq+0x18/0x28 [tiatm]
 [<940428ec>] handle_IRQ_event+0x64/0xd8
 [<94042a2c>] __do_IRQ+0xcc/0x150
 [<940d5fe4>] serial8250_interrupt+0xc4/0x13c
 [<940d5fe4>] serial8250_interrupt+0xc4/0x13c
 [<94001430>] ar7_hw0_irqdispatch+0xe0/0xf8
 [<940428ec>] handle_IRQ_event+0x64/0xd8
 [<94000f68>] mips_irq_check_hw_interrupt_0+0x10/0x18
 [<94042a50>] __do_IRQ+0xf0/0x150
 [<94042a2c>] __do_IRQ+0xcc/0x150
 [<940428d8>] handle_IRQ_event+0x50/0xd8
 [<94042a2c>] __do_IRQ+0xcc/0x150
 [<94001430>] ar7_hw0_irqdispatch+0xe0/0xf8
 [<94000f68>] mips_irq_check_hw_interrupt_0+0x10/0x18
 [<94029cd0>] do_softirq+0x58/0x8c
 [<94042a50>] __do_IRQ+0xf0/0x150
 [<94029bc8>] __do_softirq+0x48/0xf8
 [<94029cd0>] do_softirq+0x58/0x8c
 [<94000f68>] mips_irq_check_hw_interrupt_0+0x10/0x18
 [<9402a0f8>] tasklet_action+0x94/0xe8
 [<94029cd0>] do_softirq+0x58/0x8c
 [<941e48c0>] prom_init+0x14c/0x218
 [<94011f3c>] r4k_flush_cache_page+0xc4/0x230
 [<94049e10>] __alloc_pages+0x11c/0x448
 [<9400f908>] blast_dcache16_page+0x20/0x9c
 [<941e48c0>] prom_init+0x14c/0x218
 [<94055688>] do_wp_page+0xf0/0x568
 [<9405566c>] do_wp_page+0xd4/0x568
 [<9405449c>] pte_alloc_map+0x58/0x118
 [<941e48c0>] prom_init+0x14c/0x218
 [<941e48c0>] prom_init+0x14c/0x218
 [<94056c38>] __handle_mm_fault+0x4e0/0x59c
 [<941e48c0>] prom_init+0x14c/0x218
 [<9405494c>] copy_page_range+0x34c/0x3c8
 [<941e48f0>] prom_init+0x17c/0x218
 [<941e48c0>] prom_init+0x14c/0x218
 [<9400eb1c>] do_page_fault+0xfc/0x380
 [<94023578>] copy_process+0xe34/0x1034
 [<941e48c0>] prom_init+0x14c/0x218
 [<941e48f0>] prom_init+0x17c/0x218
 [<94023984>] do_fork+0x164/0x1f0
 [<94029bec>] __do_softirq+0x6c/0xf8
 [<94029bc8>] __do_softirq+0x48/0xf8


 [<9400f3c8>] tlb_do_page_fault_1+0x100/0x108
 [<94005e8c>] work_resched+0x8/0x40

Kernel panic - not syncing: Aiee, killing interrupt handler!
 <0>Rebooting in 5 seconds..

Zum Vergleich die selbe Stelle mit der modifizierten Firmware (14.04.33, ubik2-dsl.bin V1.35.51.10 aus 14.04.26 Annex A)
Code:
...

attempting to load DSL Firmware '/lib/modules/ubik/ubik2-dsl.bin'
**** ANNEX: 'A'
*************************************
setting DSL Firmware to Annex A
tiatm: module license '
(C) Copyright 2003, Texas Instruments, Inc
(C) Copyright 2004, AVM
' taints kernel.
registered device TI Avalanche SAR
tiatm driver (patch_annex=0xc00513ec)
Sangam detected
[tiatm] Set StrictPriority=0
PM_STATUS2(before switch on) = 0x03
12 Volt:up korrekt 1.5 Volt: up korrekt Fuse Mode is disabled
PM_STATUS2(after switch on) = 0x03
12 Volt:up korrekt 1.5 Volt: up korrekt Fuse Mode is disabled
power up success !
#### DSP Core voltage set to 1,5 V ####
DSP binary filesize = 362094 bytes
[setup_irq]: irq 23 irqaction->handler 0xc0038208 (tn7atm_sar_irq+0x0/0x30 [tiatm] )
[setup_irq]: irq 47 irqaction->handler 0xc0038238 (tn7atm_dsl_irq+0x0/0x28 [tiatm] )
[tiatm]: Powermanagment (States => 1,3,10) supported!
Texas Instruments ATM driver: version:[4.06.04.41]
ubik2 driver (ubik2 - 0x10=0xc0064a74)
atm_dsp_register_ubik2: ubik2_ToMIPS_notify=0xc0054bfc
atm_dsp_register_ubik2: dsp mem pointer 0xa1015748
download /lib/modules/ubik/boot-ubik2-sport.lod to /dev/ubik_boot_0 ...
boot result phase 0: ubik2_boot_phase_0_done
no boot file for boot phase 1 (continue)
no boot file for boot phase 2 (continue)
download /lib/modules/ubik/ubik2-firmware.lod to /dev/ubik_boot_last ...
ubik2_commit: no buffer to free
boot result phase 3: ubik2_boot_phase_runone
UBIK booted (Time:2013 ms Sent=112 kByte 447 Kbit/s)!
ubik2_commit: no buffer to free
driver params overwritten io_addr=0x0 irq_num=0
AVM netusb, revision 02.02.01

Initializing USB CDC/CDROM driver (starting in CDC mode)...

...

Ich habe auch noch ein Log nach dem Recovery auf 14.04.31 aufgezeichnet. Hier sind fast keine Unterschiede zu meinem AnnexA Image festzustellen:
Code:
...

attempting to load DSL Firmware '/lib/modules/ubik/ubik2-dsl.bin'
**** ANNEX: 'A'
*************************************
setting DSL Firmware to Annex A
tiatm: module license '
(C) Copyright 2003, Texas Instruments, Inc
(C) Copyright 2004, AVM
' taints kernel.
registered device TI Avalanche SAR
tiatm driver (patch_annex=0xc00513ec)
Sangam detected
[tiatm] Set StrictPriority=0
PM_STATUS2(before switch on) = 0x03
12 Volt:up korrekt 1.5 Volt: up korrekt Fuse Mode is disabled
PM_STATUS2(after switch on) = 0x03
12 Volt:up korrekt 1.5 Volt: up korrekt Fuse Mode is disabled
power up success !
#### DSP Core voltage set to 1,5 V ####
DSP binary filesize = 284148 bytes
[setup_irq]: irq 23 irqaction->handler 0xc0038208 (tn7atm_sar_irq+0x0/0x30 [tiatm] )
[setup_irq]: irq 47 irqaction->handler 0xc0038238 (tn7atm_dsl_irq+0x0/0x28 [tiatm] )
[tiatm]: Powermanagment (States => 1,3,10) supported!
Texas Instruments ATM driver: version:[4.06.04.41]
ubik2 driver (ubik2 - 0x10=0xc0064a74)
atm_dsp_register_ubik2: ubik2_ToMIPS_notify=0xc0054bfc
atm_dsp_register_ubik2: dsp mem pointer 0xa100c920
download /lib/modules/ubik/boot-ubik2-sport.lod to /dev/ubik_boot_0 ...
boot result phase 0: ubik2_boot_phase_0_done
no boot file for boot phase 1 (continue)
no boot file for boot phase 2 (continue)
download /lib/modules/ubik/ubik2-firmware.lod to /dev/ubik_boot_last ...
ubik2_commit: no buffer to free
boot result phase 3: ubik2_boot_phase_runone
UBIK booted (Time:1973 ms Sent=112 kByte 456 Kbit/s)!
ubik2_commit: no buffer to free
AVM netusb, revision 02.02.00

Initializing USB CDC/CDROM driver (starting in CDC mode)...

...
 
Zuletzt bearbeitet:
Und ist das die gleiche Kernel / gleiche Grundfirmware?
Was hast du denn im freetz ausgewählt?
Hast du "replace kernel" angewählt?

Poste doch bitte mal die .config und teste mal ein freetz-Image ohne deine "Kopieraktion".

Jörg
 
Ja, die Grundfirmware ist immer die gleiche (14.04.33). Das Freetz Image wurde mit freetz-stable-1.1 Revision 2977 ohne "replace kernel" erzeugt.

Ausgewählte Packages sind:
- Downloader
- Syslogd
- Openvpn (über external ausgelagert)
- Alle Remove Patches bis auf dsld, CAPI und VOIP/ISDN

Das gleiche Freetz Image ohne den kopierten AnnexA Treiber funktioniert einwandfrei.

Hier meine .config

Code:
#
# Automatically generated make config: don't edit
#
FREETZ_HAVE_DOT_CONFIG=y

#
# General --------------------------------
#
FREETZ_AVM_VERSION_04_33=y
# FREETZ_TYPE_300IP_AS_FON is not set
# FREETZ_TYPE_2170 is not set
# FREETZ_TYPE_FON is not set
# FREETZ_TYPE_FON_5010 is not set
# FREETZ_TYPE_FON_5050 is not set
# FREETZ_TYPE_FON_5140 is not set
# FREETZ_TYPE_FON_WLAN is not set
FREETZ_TYPE_FON_WLAN_7050=y
# FREETZ_TYPE_FON_WLAN_7113 is not set
# FREETZ_TYPE_FON_WLAN_7140 is not set
# FREETZ_TYPE_FON_WLAN_7141 is not set
# FREETZ_TYPE_FON_7150 is not set
# FREETZ_TYPE_FON_WLAN_7170 is not set
# FREETZ_TYPE_FON_WLAN_7240 is not set
# FREETZ_TYPE_FON_WLAN_7270 is not set
# FREETZ_TYPE_WLAN_3020 is not set
# FREETZ_TYPE_WLAN_3030 is not set
# FREETZ_TYPE_WLAN_3130 is not set
# FREETZ_TYPE_WLAN_3131 is not set
# FREETZ_TYPE_WLAN_3170 is not set
# FREETZ_TYPE_WLAN_3270 is not set
# FREETZ_TYPE_SPEEDPORT_W501V is not set
# FREETZ_TYPE_SPEEDPORT_W701V is not set
# FREETZ_TYPE_CUSTOM is not set
FREETZ_AVM_VERSION_STRING="04.33"
FREETZ_TYPE_LANG_DE=y
# FREETZ_TYPE_LANG_A_CH is not set
# FREETZ_TYPE_LANG_EN is not set
FREETZ_TYPE_LANG_STRING="de"
FREETZ_TYPE_STRING="7050"
FREETZ_INSTALL_BASE=y
FREETZ_REPLACE_BUSYBOX=y
FREETZ_REPLACE_KERNEL_AVAILABLE=y
# FREETZ_REPLACE_KERNEL is not set
FREETZ_SHOW_ADVANCED=y
FREETZ_TARGET_REF="4mb_26"
FREETZ_KERNEL_REF="4mb_26"
FREETZ_KERNEL_LAYOUT="ar7"
FREETZ_KERNEL_MTD_SIZE=59
FREETZ_HAS_PHONE=y
FREETZ_HAS_WLAN=y
FREETZ_HAS_USB_CLIENT=y
# FREETZ_HAS_USB_HOST is not set
# FREETZ_HAS_AVM_INETD is not set

#
# Mod ------------------------------------
#
FREETZ_LANG_DE=y
# FREETZ_LANG_EN is not set
FREETZ_LANG_STRING="de"

#
# Patches
#

#
# Remove Brandings
#
# FREETZ_REMOVE_BRANDING_1und1 is not set
# FREETZ_REMOVE_BRANDING_avm is not set
FREETZ_REMOVE_HELP=y
FREETZ_REMOVE_ASSISTANT=y
FREETZ_REMOVE_TR069=y
FREETZ_REMOVE_USB_MODULE=y
FREETZ_PATCH_ENUM=y
FREETZ_PATCH_SIGNED=y
FREETZ_PATCH_GETCONS=y
FREETZ_REMOVE_WEBSRV=y
FREETZ_REMOVE_UPNP=y
FREETZ_REMOVE_UPNP_LIBS=y
FREETZ_REMOVE_USERMAN=y
# FREETZ_REMOVE_DSLD is not set
# FREETZ_REMOVE_CAPIOVERTCP is not set
# FREETZ_REMOVE_VOIP_ISDN is not set

#
# Package selection
#

#
# Standard packages
#
# FREETZ_PACKAGE_BFTPD is not set
# FREETZ_PACKAGE_BIRD is not set
# FREETZ_PACKAGE_BRIDGE_UTILS is not set
# FREETZ_PACKAGE_CALLMONITOR is not set
# FREETZ_PACKAGE_CHECKMAILD is not set
# FREETZ_PACKAGE_CIFSMOUNT is not set
# FREETZ_PACKAGE_CPMACCFG is not set
# FREETZ_PACKAGE_CURL is not set
# FREETZ_PACKAGE_DECO is not set
# FREETZ_PACKAGE_DNSMASQ is not set
# FREETZ_PACKAGE_DROPBEAR is not set
# FREETZ_PACKAGE_DTMFBOX is not set
# FREETZ_PACKAGE_ESPEAK is not set
# FREETZ_PACKAGE_FUSE is not set
# FREETZ_PACKAGE_INETD is not set
# FREETZ_PACKAGE_KNOCK is not set
# FREETZ_PACKAGE_MC is not set
# FREETZ_PACKAGE_MINI_FO is not set
# FREETZ_PACKAGE_MTR is not set
# FREETZ_PACKAGE_NANO is not set
# FREETZ_PACKAGE_NETCAT is not set
# FREETZ_PACKAGE_NETSNMP is not set
# FREETZ_PACKAGE_NTFS is not set
# FREETZ_PACKAGE_OPENNTPD is not set
FREETZ_PACKAGE_OPENVPN=y
FREETZ_PACKAGE_OPENVPN_STATIC=y
FREETZ_PACKAGE_OPENVPN_WITH_LZO=y
# FREETZ_PACKAGE_OPENVPN_WITH_MGMNT is not set
FREETZ_PACKAGE_OPENVPN_ENABLE_SMALL=y
# FREETZ_PACKAGE_PINGTUNNEL is not set
# FREETZ_PACKAGE_PRIVOXY is not set
# FREETZ_PACKAGE_RCAPID is not set
# FREETZ_PACKAGE_SAMBA is not set
# FREETZ_PACKAGE_SCREEN is not set
# FREETZ_PACKAGE_STUNNEL is not set
# FREETZ_PACKAGE_TCPDUMP is not set
# FREETZ_PACKAGE_TOR is not set
# FREETZ_PACKAGE_VPNC is not set
# FREETZ_PACKAGE_VSFTPD is not set

#
# Web interface
#
# FREETZ_PACKAGE_AVM_FIREWALL is not set
FREETZ_PACKAGE_DOWNLOADER=y
# FREETZ_PACKAGE_NFSD_CGI is not set
# FREETZ_PACKAGE_RRDSTATS is not set
# FREETZ_PACKAGE_SPINDOWN_CGI is not set
FREETZ_PACKAGE_SYSLOGD_CGI=y
# FREETZ_PACKAGE_VIRTUALIP_CGI is not set
# FREETZ_PACKAGE_WOL_CGI is not set

#
# Debug helpers
#
# FREETZ_PACKAGE_LDD is not set
# FREETZ_PACKAGE_LSOF is not set
# FREETZ_PACKAGE_LTRACE is not set
# FREETZ_PACKAGE_NANO_SHELL is not set
# FREETZ_PACKAGE_PCIUTILS is not set
# FREETZ_PACKAGE_STRACE is not set
# FREETZ_PACKAGE_USBUTILS is not set

#
# Testing
#
# FREETZ_GROUP_APACHE_PHP is not set
# FREETZ_PACKAGE_BASH is not set
# FREETZ_PACKAGE_BFUSB is not set
# FREETZ_PACKAGE_BIP is not set
# FREETZ_PACKAGE_BLUEZ_UTILS is not set
# FREETZ_PACKAGE_BR2684CTL is not set
# FREETZ_PACKAGE_CTORRENT is not set
# FREETZ_PACKAGE_DAVFS2 is not set
# FREETZ_PACKAGE_DEBOOTSTRAP is not set
# FREETZ_PACKAGE_DNS2TCP is not set
# FREETZ_PACKAGE_DTACH is not set
# FREETZ_PACKAGE_E2FSPROGS is not set
# FREETZ_PACKAGE_EMPTY is not set
FREETZ_PACKAGE_FSTYP=y
# FREETZ_PACKAGE_GNU_MAKE is not set
# FREETZ_PACKAGE_HTTPTUNNEL is not set
# FREETZ_PACKAGE_INADYN_MT is not set
# FREETZ_PACKAGE_INOTIFY_TOOLS is not set
# FREETZ_PACKAGE_IODINE is not set
# FREETZ_PACKAGE_IRSSI is not set
# FREETZ_PACKAGE_JAMVM is not set
# FREETZ_PACKAGE_LYNX is not set
# FREETZ_PACKAGE_LUA is not set
# FREETZ_PACKAGE_MADPLAY is not set
# FREETZ_PACKAGE_MATRIXTUNNEL is not set
# FREETZ_PACKAGE_MCABBER is not set
# FREETZ_PACKAGE_MICROPERL is not set
# FREETZ_PACKAGE_MODULE_INIT_TOOLS is not set
# FREETZ_PACKAGE_NAGIOS is not set
# FREETZ_PACKAGE_NFS_UTILS is not set
# FREETZ_PACKAGE_OBEXFTP is not set
# FREETZ_PACKAGE_OPENSSH is not set
# FREETZ_PACKAGE_PORTMAP is not set
# FREETZ_PACKAGE_QUAGGA is not set
# FREETZ_PACKAGE_RRDTOOL is not set
# FREETZ_PACKAGE_RUBY is not set
# FREETZ_PACKAGE_SABLEVM_SDK is not set
# FREETZ_PACKAGE_SISPMCTL is not set
# FREETZ_PACKAGE_SOCAT is not set
# FREETZ_PACKAGE_SQUID is not set
# FREETZ_PACKAGE_STREAMRIPPER is not set
# FREETZ_PACKAGE_TCP_WRAPPERS is not set
# FREETZ_PACKAGE_TINYPROXY is not set
# FREETZ_PACKAGE_TRANSMISSION is not set
# FREETZ_PACKAGE_TREE is not set
# FREETZ_PACKAGE_USBIP is not set
# FREETZ_PACKAGE_VIM is not set
# FREETZ_PACKAGE_WGET is not set
# FREETZ_PACKAGE_WOL is not set
# FREETZ_PACKAGE_WPUT is not set
# FREETZ_PACKAGE_XPDF is not set
# FREETZ_PACKAGE_XRELAYD is not set
# FREETZ_SHOW_UNSTABLE_PACKAGES is not set
FREETZ_PACKAGE_HASERL=y
FREETZ_PACKAGE_MODCGI=y

#
# Advanced options
#
# FREETZ_DL_OVERRIDE is not set
FREETZ_DL_SITE="ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7050/firmware"
FREETZ_DL_SOURCE="fritz.box_fon_wlan_7050.14.04.33.image"

#
# Freetz package download sites
#
FREETZ_MOD_DL_NUM_SITES="5"

#
# Download site #1 - default: http://freetz.3dfxatwork.de
#
FREETZ_MOD_DL_SITE_1="http://freetz.3dfxatwork.de"

#
# Download site #2 - default: http://freetz.wirsind.info
#
FREETZ_MOD_DL_SITE_2="http://freetz.wirsind.info"

#
# Download site #3 - default: http://freetz.magenbrot.net
#
FREETZ_MOD_DL_SITE_3="http://freetz.magenbrot.net"

#
# Download site #4 - default: empty (reserved for later use)
#
FREETZ_MOD_DL_SITE_4=""

#
# Download site #5 - user-defined
#
FREETZ_MOD_DL_SITE_5=""
FREETZ_VERBOSITY_LEVEL=2
FREETZ_FAVICON_NONE=y
# FREETZ_FAVICON_DSL123 is not set
# FREETZ_FAVICON_CUMA is not set
# FREETZ_FAVICON_HANSOLO is not set
FREETZ_FAVICON_STRING="none"
FREETZ_SUBVERSION_STRING=y
FREETZ_DEVELOPER_VERSION_STRING=y
# FREETZ_STATUS_STYLE is not set

#
# External
#
EXTERNAL_ENABLED=y
EXTERNAL_DOWNLOADER=y
EXTERNAL_SUBDIRS=y
# EXTERNAL_DIR1 is not set
# EXTERNAL_DIR2 is not set
EXTERNAL_DIR3=y
# EXTERNAL_CUSTOM_DIR is not set
EXTERNAL_DIRECTORY="/mod/"
EXTERNAL_OWN_FILES=""

#
# packages
#

#
# services
#
EXTERNAL_FREETZ_PACKAGE_OPENVPN=y

#
# libraries
#
# FREETZ_SQUASHFS_BLOCKSIZE_ORIG is not set
# FREETZ_SQUASHFS_BLOCKSIZE_16384 is not set
# FREETZ_SQUASHFS_BLOCKSIZE_32768 is not set
FREETZ_SQUASHFS_BLOCKSIZE_65536=y
# FREETZ_SQUASHFS_BLOCKSIZE_131072 is not set

#
# BusyBox options
#
# FREETZ_BUSYBOX_AR is not set
# FREETZ_BUSYBOX_DIFF is not set
# FREETZ_BUSYBOX_INETD is not set
# FREETZ_BUSYBOX_IP is not set
# FREETZ_BUSYBOX_PATCH is not set
# FREETZ_BUSYBOX_START_STOP_DAEMON is not set
FREETZ_BUSYBOX_WGET=y
# FREETZ_BUSYBOX_LESS is not set
# FREETZ_BUSYBOX_NICE is not set
# FREETZ_BUSYBOX_LS_COLOR is not set
# FREETZ_BUSYBOX_FASTPROC is not set
# FREETZ_BUSYBOX_KEYS is not set
# FREETZ_BUSYBOX_BRCTL is not set
# FREETZ_BUSYBOX_UDHCPD is not set
# FREETZ_BUSYBOX_SEQ is not set
# FREETZ_BUSYBOX_TAC is not set
# FREETZ_BUSYBOX_MDEV_RENAME is not set
# FREETZ_BUSYBOX_MOUNT_HELPERS is not set
# FREETZ_BUSYBOX_MOUNT_LABEL is not set
# FREETZ_BUSYBOX_VOLUMEID is not set

#
# Kernel modules
#

#
# crypto
#
# FREETZ_MODULE_aes is not set
# FREETZ_MODULE_arc4 is not set
# FREETZ_MODULE_sha1 is not set
# FREETZ_MODULE_sha256 is not set

#
# drivers
#
# FREETZ_MODULE_loop is not set
# FREETZ_MODULE_nbd is not set
# FREETZ_MODULE_cdrom is not set
# FREETZ_MODULE_capiconn is not set
# FREETZ_MODULE_nand is not set
# FREETZ_MODULE_ohio_nand is not set
# FREETZ_MODULE_dummy is not set
# FREETZ_MODULE_ppp_async is not set
# FREETZ_MODULE_ppp_deflate is not set
# FREETZ_MODULE_ppp_generic is not set
# FREETZ_MODULE_pppoe is not set
# FREETZ_MODULE_pppox is not set
# FREETZ_MODULE_ppp_mppe_mppc is not set
# FREETZ_MODULE_scsi_mod is not set
# FREETZ_MODULE_sd_mod is not set
# FREETZ_MODULE_sg is not set
# FREETZ_MODULE_sr_mod is not set
# FREETZ_MODULE_slhc is not set
# FREETZ_MODULE_usblp is not set
# FREETZ_MODULE_usb_storage is not set
# FREETZ_MODULE_usbmon is not set
# FREETZ_MODULE_usbcore is not set
# FREETZ_MODULE_usbip is not set
# FREETZ_MODULE_usbip_common_mod is not set
# FREETZ_MODULE_usbserial is not set
# FREETZ_MODULE_pl2303 is not set
# FREETZ_MODULE_ftdi_sio is not set
# FREETZ_MODULE_hci_usb is not set
# FREETZ_MODULE_bfusb is not set
# FREETZ_MODULE_firmware_class is not set
# FREETZ_MODULE_dm_mod is not set
# FREETZ_MODULE_dm_crypt is not set

#
# fs
#
# FREETZ_MODULE_cifs is not set
# FREETZ_MODULE_coda is not set
# FREETZ_MODULE_ext3 is not set
# FREETZ_MODULE_ext2 is not set
# FREETZ_MODULE_fat is not set
# FREETZ_MODULE_fuse is not set
# FREETZ_MODULE_jbd is not set
# FREETZ_MODULE_lockd is not set
# FREETZ_MODULE_mini_fo is not set
# FREETZ_MODULE_minix is not set
# FREETZ_MODULE_nfsd is not set
# FREETZ_MODULE_exportfs is not set
# FREETZ_MODULE_nfs is not set
# FREETZ_MODULE_nls_cp437 is not set
# FREETZ_MODULE_nls_cp852 is not set
# FREETZ_MODULE_nls_iso8859_15 is not set
# FREETZ_MODULE_nls_iso8859_1 is not set
# FREETZ_MODULE_nls_utf8 is not set
# FREETZ_MODULE_ntfs is not set
# FREETZ_MODULE_reiserfs is not set
# FREETZ_MODULE_smbfs is not set
# FREETZ_MODULE_udf is not set
# FREETZ_MODULE_unionfs is not set
# FREETZ_MODULE_vfat is not set
# FREETZ_MODULE_msdods is not set
# FREETZ_MODULE_jffs2 is not set
# FREETZ_MODULE_mbcache is not set

#
# lib
#
# FREETZ_MODULE_crc_ccitt is not set

#
# net
#
# FREETZ_MODULE_bluetooth is not set
# FREETZ_MODULE_l2cap is not set
# FREETZ_MODULE_bnep is not set
# FREETZ_MODULE_rfcomm is not set
# FREETZ_MODULE_sunrpc is not set

#
# Shared libraries
#
# FREETZ_STRIP_LIBRARIES is not set

#
# Libraries -------------------------------
#
# FREETZ_LIB_libatm is not set
# FREETZ_LIB_libbluetooth is not set
# FREETZ_LIB_libopenobex is not set

#
# Crypto & SSL
#

#
# GnuPG ----------------------------------
#
# FREETZ_LIB_libgpg_error is not set
# FREETZ_LIB_libgcrypt is not set

#
# SSL ------------------------------------
#
# FREETZ_LIB_libcyassl is not set
# FREETZ_LIB_libmatrixssl is not set
# FREETZ_LIB_libxyssl is not set
# FREETZ_LIB_libcrypto is not set
# FREETZ_LIB_libssl is not set

#
# Data compression
#
# FREETZ_LIB_liblzo2 is not set
# FREETZ_LIB_libz is not set

#
# Graphics & fonts
#
# FREETZ_LIB_libfreetype is not set
# FREETZ_LIB_libart_lgpl_2 is not set
# FREETZ_LIB_libjpeg is not set
# FREETZ_LIB_libpng12 is not set

#
# uClibc
#
FREETZ_LIB_ld_uClibc=y
FREETZ_LIB_libcrypt=y
FREETZ_LIB_libdl=y
FREETZ_LIB_libm=y
FREETZ_LIB_libnsl=y
FREETZ_LIB_libpthread=y
# FREETZ_LIB_libresolv is not set
FREETZ_LIB_librt=y
# FREETZ_LIB_libthread_db is not set
FREETZ_LIB_libuClibc=y
# FREETZ_LIB_libutil is not set
# FREETZ_LIB_libuClibcxx is not set
FREETZ_LIB_libgcc_s=y
# FREETZ_LIB_libglib is not set

#
# GLib2
#
# FREETZ_LIB_libglib2 is not set
# FREETZ_LIB_libgobject2 is not set
# FREETZ_LIB_libgmodule2 is not set
# FREETZ_LIB_libgthread2 is not set

#
# ncurses
#
# FREETZ_LIB_libncurses is not set

#
# terminfo database
#

#
# Select terminfo database entries to install (see help of 'Show all items')
#
# FREETZ_LIB_libterminfo is not set
# FREETZ_LIB_libform is not set
# FREETZ_LIB_libmenu is not set
# FREETZ_LIB_libpanel is not set
# FREETZ_LIB_libcapi20 is not set
# FREETZ_LIB_libcurl is not set
# FREETZ_LIB_libevent is not set
# FREETZ_LIB_libexpat is not set
# FREETZ_LIB_libid3tag is not set
# FREETZ_LIB_libltdl is not set
# FREETZ_LIB_libmad is not set
# FREETZ_LIB_libneon is not set
# FREETZ_LIB_libpcap is not set

#
# Readline
#
# FREETZ_LIB_libreadline is not set
# FREETZ_LIB_libhistory is not set
# FREETZ_LIB_libusb is not set
# FREETZ_LIB_libelf is not set
# FREETZ_LIB_libintl is not set
# FREETZ_LIB_libiconv is not set
# FREETZ_LIB_libftdi is not set
# FREETZ_LIB_libsysfs is not set
# FREETZ_LIB_libpopt is not set
# FREETZ_LIB_libdevmapper is not set

#
# Compiler options
#
FREETZ_DOWNLOAD_TOOLCHAIN=y
# FREETZ_BUILD_TOOLCHAIN is not set
FREETZ_TARGET_CROSS="mipsel-linux-uclibc-"
FREETZ_TARGET_MAKE_PATH="toolchain/target/bin"
FREETZ_TARGET_CFLAGS="-Os -pipe -march=4kc -Wa,--trap"
FREETZ_JLEVEL=2
FREETZ_KERNEL_CROSS="mipsel-unknown-linux-gnu-"
FREETZ_KERNEL_MAKE_PATH="toolchain/kernel/bin"
FREETZ_KERNEL_VERSION_2_6_13_1=y
# FREETZ_KERNEL_VERSION_2_6_19_2 is not set
FREETZ_KERNEL_VERSION="2.6.13.1"
FREETZ_TARGET_UCLIBC_VERSION_0_9_28=y
# FREETZ_TARGET_UCLIBC_VERSION_0_9_29 is not set
FREETZ_TARGET_GCC_VERSION="4.2.1"
FREETZ_TARGET_UCLIBC_VERSION="0.9.28"
FREETZ_TARGET_BINUTILS_VERSION="2.17.50.0.17"
FREETZ_TARGET_UCLIBC_REF="mod"
# FREETZ_STATIC_TOOLCHAIN is not set
FREETZ_TARGET_GXX=y
FREETZ_TARGET_CCACHE=y
# FREETZ_TARGET_NLS is not set
FREETZ_TARGET_LFS=y
FREETZ_KERNEL_GCC_VERSION="3.4.6"
FREETZ_KERNEL_BINUTILS_VERSION="2.17.50.0.17"
# FREETZ_TARGET_TOOLCHAIN is not set

#
# GNU debugger (gdb)
#
# FREETZ_PACKAGE_GDB is not set
# FREETZ_PACKAGE_GDB_SERVER is not set
# FREETZ_PACKAGE_GDB_HOST is not set

und noch die fwmod-custom
Code:
#!/bin/bash

# Custom firmware modifications

# Directories:
#  ./firmware	- untared firmware
#  ./filesystem	- unpacked filesystem squashfs
#  ./kernel	- unpacked kernel & hidden kernel squashfs

all() {
	echo "change dsl driver version to 1.35.51.10 AnnexA"
	cp -R /tmp/ubik ./filesystem/lib/modules/
}

clean() {
	dummy=0
}

case "$1" in
	""|all)
		all
		;;
	clean)
		clean
		;;
	*)
		echo "Usage: $0 {all|clean}" 1>&2
		exit 1
		;;
esac

exit 0

Ich werde es jetz noch mal mit "replace kernel" versuchen.

Edit: Mit freetz-stable-1.1 revision 2981 und "replace kernel" (Linux version 2.6.13.1-ar7 () (gcc version 3.4.6) #1 Sat Jan 10 17:21:10 CET 2009) funktionierts auch nicht. Das gleiche Image ohne die AnnexA Dateien funktioniert einwandfrei.

Edit2: Mir sind noch ein paar Unterschiede in den beiden Images aufgefallen (rot markierte Zeilen):

14.04.33freetz-stable-1.1 revision 2981
Code:
(AVM) EVA Revision: 1.203 Version: 1203
(C) Copyright 2005 AVM Date: Feb 16 2007 Time: 14:52:05 (0) 2 0-1001

[FLASH:] MACRONIX Top-Flash 4MB
[FLASH:](Eraseregion [0] 63 sectors a 64kB)
[FLASH:](Eraseregion [1] 8 sectors a 8kB)
[SYSTEM:] AR7 on 150MHz/125MHz

AVM_Ar7 >AVM decompress Kernel:
.....................done
start kernel
[ar7_pre_init] PERIPHERAL Clk = 62500000 Hz baud=102

LINUX started...
[ar7_setup]
[ar7_serial_init]
[ar7_serial_init] done
Linux version 2.6.13.1-ar7 () (gcc version 3.4.6) #1 Sat Jan 10 17:21:10 CET 2009
memsize=32 MByte
flashsize=4 MByte
&_end=0x942313a4 PFN_ALIGN(&_end)=0x94232000 CPHYSADDR(PFN_ALIGN(&_end))=0x14232000 memsize=0x2000000
CPU revision is: 00018448
[ar7_clk_init]: dsl xtal 25000000Hz lan xtal 25000000Hz
[ar7_gpio_init]
Determined physical RAM map:
 memory: 00232000 @ 14000000 (reserved)
 memory: 01dce000 @ 14232000 (usable)
&B 0x9000fff8 B->start 0x94d71000 B->length 0x1000
[reserve] memory from 0x94d71000 to 0x94d72000
On node 0 totalpages: 8192
[alloc_node_mem_map] reduce size from 2883616 Bytes to  262176 Bytes
[alloc_node_mem_map]: (org) sizeof(mem_map) = 262176 mem_map=0x94235000-0x94275020
[alloc_node_mem_map]: sizeof(mem_map) = 2883616 mem_map=0x93fb5000-0x94275020
zone=0 zone_size[j]=0x90112
realsize=8192
  DMA zone: 8192 pages, LIFO batch:3
zone=1 zone_size[j]=0x0
realsize=0
  Normal zone: 0 pages, LIFO batch:1
zone=2 zone_size[j]=0x0
realsize=0
  HighMem zone: 0 pages, LIFO batch:1
Built 1 zonelists
Kernel command line: annex=A  console=ttyS0,38400n8r
[ld_mmu_r4xx0] memcpy((void *)(CAC_BASE   + 0x100), &except_vec2_generic, 0x30)
Primary instruction cache 16kB, physically tagged, 4-way, linesize 16 bytes.
Primary data cache 16kB, 4-way, linesize 16 bytes.
Synthesized TLB refill handler (20 instructions). Base=0x94204964
TLB synthesizer field overflow (simm)
Synthesized TLB load handler fastpath (34 instructions) Base=0x94208620.
TLB synthesizer field overflow (simm)
Synthesized TLB store handler fastpath (34 instructions) Base=0x94208820.
TLB synthesizer field overflow (simm)
Synthesized TLB modify handler fastpath (33 instructions) Base=0x94208a20.
PID hash table entries: 256 (order: 8, 4096 bytes)
CPU frequency 150.00 MHz
Using 75.000 MHz high precision timer.
[setup_irq]: irq 127 irqaction->handler 0x94042a10 (no_action+0x0/0x8 )
[register_console] enable commandline console 0
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 30132k/30520k available (1577k kernel code, 324k reserved, 379k data, 116k init, 0k highmem)
totalram_pages= 7549
Calibrating delay loop... 149.91 BogoMIPS (lpj=749568)
loops_per_jiffy=749568
Mount-cache hash table entries: 512
Checking for 'wait' instruction...  available.
NET: Registered protocol family 16
Can't analyze prologue code at 94188ac8
squashfs: version 3.3 (2007/10/31) Phillip Lougher
Initializing Cryptographic API
[avm_power]Sangam 7300 or 7300A (> 2.3 but not 5.7 possible overclock) detected rev=25
[avm] configured: watchdog eventled enable direct gpio

AR7WDT: Watchdog Driver for AR7 Hardware (Version 1.0, build: Jan 10 2009 17:19:29)
Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
[uart_add_one_port]
ttyS0 at MMIO 0x0 (irq = 15) is a OHIO_UART
[uart_add_one_port] dont register console port->type = 16
port->cons = 0x941c9a30 port->cons->flags = 0x7
[uart_add_one_port] success
io scheduler noop registered
[cpmac] cpmac_if_register, dev eth0 (phy_id 0) registered
[cpmac] cpmac_if_register, dev eth1 (phy_id 1) registered
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
physmap flash device: 400000 at 10000000
phys_mapped_flash: Found 1 x16 devices at 0x0 in 16-bit bank
[genprobe_ident_chips] 4 i 0 j 0
[genprobe_ident_chips] 5 i 0 j 1
 Amd/Fujitsu Extended Query Table at 0x0040
phys_mapped_flash: Swapping erase regions for broken CFI table.
number of CFI chips: 1
RedBoot partition parsing not available
Generic platform RAM MTD, (c) 2004 Simtec Electronics
Ohio flash driver (size->0x400000 mem->0x10000000)
flash_size=0x400000
flash_mask=0x7fffff
AR7 flash memory: Found 1 x16 devices at 0x0 in 16-bit bank
[genprobe_ident_chips] 4 i 0 j 0
[genprobe_ident_chips] 5 i 0 j 1
 Amd/Fujitsu Extended Query Table at 0x0040
AR7 flash memory: Swapping erase regions for broken CFI table.
number of CFI chips: 1
[mtd]: set to default: jffs2_size = 0x20 * 64KByte (0x200000 Bytes)
[COLOR="Red"][ohio_find_hidden_filesystem]: super block found: bytes_used: 0x0/2989600[/COLOR]
[init_ohio_flash] find hidden filesystem size=0x30c700 offset=0xb3900
[mtd] configure jffs2 partition
[COLOR="Red"][mtd] fs_size=0x380000 max=0x30000 is=0x200000 max jffs2_size value 3[/COLOR]
[mtd] ERROR jffs2_size too big, reduce to max
[mtd] ohio_flash_map: name=AR7 flash memory bankwidth=2 virt=0xb0000000 phys=0x10000000 size=0x400000
Creating 7 MTD partitions on "AR7 flash memory":
0x000b3900-0x003c0000 : "filesystem"
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
mtd: partition "filesystem" doesn't start on an erase block boundary -- force read-only
0x00010000-0x003c0000 : "kernel"
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
0x00000000-0x00010000 : "bootloader"
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
0x003c0000-0x003e0000 : "tffs (1)"
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
0x003e0000-0x00400000 : "tffs (2)"
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
[COLOR="Red"]0x00390000-0x003c0000 : "jffs2"[/COLOR]
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
[COLOR="Red"]0x00010000-0x00390000 : "Kernel without jffs2"[/COLOR]
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
partition_info[0]: name=filesystem offset=b3900 size=30c700
partition_info[0]: 0xb00b3900: 0x73717368 0x5a0
partition_info[1]: name=kernel offset=10000 size=3b0000
partition_info[1]: 0xb0010000: 0xfeed1281 0xa3872
partition_info[2]: name=bootloader offset=0 size=10000
partition_info[2]: 0xb0000000: 0x40809000 0x40809800
partition_info[3]: name=tffs (1) offset=3c0000 size=20000
partition_info[3]: 0xb03c0000: 0x40001 0xfeffffff
partition_info[4]: name=tffs (2) offset=3e0000 size=20000
partition_info[4]: 0xb03e0000: 0x40001 0xfeffffff
[COLOR="Red"]partition_info[5]: name=jffs2 offset=390000 size=30000
partition_info[5]: 0xb0390000: 0xffffffff 0xffffffff
partition_info[6]: name=Kernel without jffs2 offset=10000 size=380000[/COLOR]
partition_info[6]: 0xb0010000: 0xfeed1281 0xa3872
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
TCP bic registered
mcfw: IGMPv3 fast forwarding
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 8
NET: Registered protocol family 20
802.1Q VLAN Support v1.8 Ben Greear <[email protected]>
All bugs added by David S. Miller <[email protected]>
[COLOR="Red"][setup_irq]: irq 1 irqaction->handler 0x94001590 (dummy_timer_irq+0x0/0x14 )[/COLOR]
[setup_irq]: irq 6 irqaction->handler 0x940015a4 (dummy_system_irq_2+0x0/0x1c )

...

14.04.33freetz-stable-1.1 revision 2981 (mit ausgetauschten DSL Treiber Dateien)
Code:
(AVM) EVA Revision: 1.203 Version: 1203
(C) Copyright 2005 AVM Date: Feb 16 2007 Time: 14:52:05 (0) 2 0-1001

[FLASH:] MACRONIX Top-Flash 4MB
[FLASH:](Eraseregion [0] 63 sectors a 64kB)
[FLASH:](Eraseregion [1] 8 sectors a 8kB)
[SYSTEM:] AR7 on 150MHz/125MHz

AVM_Ar7 >AVM decompress Kernel:
.....................done
start kernel
[ar7_pre_init] PERIPHERAL Clk = 62500000 Hz baud=102

LINUX started...
[ar7_setup]
[ar7_serial_init]
[ar7_serial_init] done
Linux version 2.6.13.1-ar7 () (gcc version 3.4.6) #1 Sat Jan 10 17:21:10 CET 2009
memsize=32 MByte
flashsize=4 MByte
&_end=0x942313a4 PFN_ALIGN(&_end)=0x94232000 CPHYSADDR(PFN_ALIGN(&_end))=0x14232000 memsize=0x2000000
CPU revision is: 00018448
[ar7_clk_init]: dsl xtal 25000000Hz lan xtal 25000000Hz
[ar7_gpio_init]
Determined physical RAM map:
 memory: 00232000 @ 14000000 (reserved)
 memory: 01dce000 @ 14232000 (usable)
&B 0x9000fff8 B->start 0x94d71000 B->length 0x1000
[reserve] memory from 0x94d71000 to 0x94d72000
On node 0 totalpages: 8192
[alloc_node_mem_map] reduce size from 2883616 Bytes to  262176 Bytes
[alloc_node_mem_map]: (org) sizeof(mem_map) = 262176 mem_map=0x94235000-0x94275020
[alloc_node_mem_map]: sizeof(mem_map) = 2883616 mem_map=0x93fb5000-0x94275020
zone=0 zone_size[j]=0x90112
realsize=8192
  DMA zone: 8192 pages, LIFO batch:3
zone=1 zone_size[j]=0x0
realsize=0
  Normal zone: 0 pages, LIFO batch:1
zone=2 zone_size[j]=0x0
realsize=0
  HighMem zone: 0 pages, LIFO batch:1
Built 1 zonelists
Kernel command line: annex=A  console=ttyS0,38400n8r
[ld_mmu_r4xx0] memcpy((void *)(CAC_BASE   + 0x100), &except_vec2_generic, 0x30)
Primary instruction cache 16kB, physically tagged, 4-way, linesize 16 bytes.
Primary data cache 16kB, 4-way, linesize 16 bytes.
Synthesized TLB refill handler (20 instructions). Base=0x94204964
TLB synthesizer field overflow (simm)
Synthesized TLB load handler fastpath (34 instructions) Base=0x94208620.
TLB synthesizer field overflow (simm)
Synthesized TLB store handler fastpath (34 instructions) Base=0x94208820.
TLB synthesizer field overflow (simm)
Synthesized TLB modify handler fastpath (33 instructions) Base=0x94208a20.
PID hash table entries: 256 (order: 8, 4096 bytes)
CPU frequency 150.00 MHz
Using 75.000 MHz high precision timer.
[setup_irq]: irq 127 irqaction->handler 0x94042a10 (no_action+0x0/0x8 )
[register_console] enable commandline console 0
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 30132k/30520k available (1577k kernel code, 324k reserved, 379k data, 116k init, 0k highmem)
totalram_pages= 7549
Calibrating delay loop... 149.91 BogoMIPS (lpj=749568)
loops_per_jiffy=749568
Mount-cache hash table entries: 512
Checking for 'wait' instruction...  available.
NET: Registered protocol family 16
Can't analyze prologue code at 94188ac8
squashfs: version 3.3 (2007/10/31) Phillip Lougher
Initializing Cryptographic API
[avm_power]Sangam 7300 or 7300A (> 2.3 but not 5.7 possible overclock) detected rev=25
[avm] configured: watchdog eventled enable direct gpio

AR7WDT: Watchdog Driver for AR7 Hardware (Version 1.0, build: Jan 10 2009 17:19:29)
Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
[uart_add_one_port]
ttyS0 at MMIO 0x0 (irq = 15) is a OHIO_UART
[uart_add_one_port] dont register console port->type = 16
port->cons = 0x941c9a30 port->cons->flags = 0x7
[uart_add_one_port] success
io scheduler noop registered
[cpmac] cpmac_if_register, dev eth0 (phy_id 0) registered
[cpmac] cpmac_if_register, dev eth1 (phy_id 1) registered
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
physmap flash device: 400000 at 10000000
phys_mapped_flash: Found 1 x16 devices at 0x0 in 16-bit bank
[genprobe_ident_chips] 4 i 0 j 0
[genprobe_ident_chips] 5 i 0 j 1
 Amd/Fujitsu Extended Query Table at 0x0040
phys_mapped_flash: Swapping erase regions for broken CFI table.
number of CFI chips: 1
RedBoot partition parsing not available
Generic platform RAM MTD, (c) 2004 Simtec Electronics
Ohio flash driver (size->0x400000 mem->0x10000000)
flash_size=0x400000
flash_mask=0x7fffff
AR7 flash memory: Found 1 x16 devices at 0x0 in 16-bit bank
[genprobe_ident_chips] 4 i 0 j 0
[genprobe_ident_chips] 5 i 0 j 1
 Amd/Fujitsu Extended Query Table at 0x0040
AR7 flash memory: Swapping erase regions for broken CFI table.
number of CFI chips: 1
[mtd]: set to default: jffs2_size = 0x20 * 64KByte (0x200000 Bytes)
[COLOR="Red"][ohio_find_hidden_filesystem]: super block found: bytes_used: 0x0/3026440[/COLOR]
[init_ohio_flash] find hidden filesystem size=0x30c700 offset=0xb3900
[mtd] configure jffs2 partition
[COLOR="Red"][mtd] fs_size=0x390000 max=0x20000 is=0x200000 max jffs2_size value 2[/COLOR]
[mtd] ERROR jffs2_size too big, reduce to max
[mtd] ohio_flash_map: name=AR7 flash memory bankwidth=2 virt=0xb0000000 phys=0x10000000 size=0x400000
Creating 7 MTD partitions on "AR7 flash memory":
0x000b3900-0x003c0000 : "filesystem"
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
mtd: partition "filesystem" doesn't start on an erase block boundary -- force read-only
0x00010000-0x003c0000 : "kernel"
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
0x00000000-0x00010000 : "bootloader"
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
0x003c0000-0x003e0000 : "tffs (1)"
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
0x003e0000-0x00400000 : "tffs (2)"
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
[COLOR="Red"]0x003a0000-0x003c0000 : "jffs2"[/COLOR]
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
[COLOR="Red"]0x00010000-0x003a0000 : "Kernel without jffs2"[/COLOR]
        'nor-flash'
        'Bits can be cleared (flash)'
        'Has an erase function'
partition_info[0]: name=filesystem offset=b3900 size=30c700
partition_info[0]: 0xb00b3900: 0x73717368 0x5a0
partition_info[1]: name=kernel offset=10000 size=3b0000
partition_info[1]: 0xb0010000: 0xfeed1281 0xa3872
partition_info[2]: name=bootloader offset=0 size=10000
partition_info[2]: 0xb0000000: 0x40809000 0x40809800
partition_info[3]: name=tffs (1) offset=3c0000 size=20000
partition_info[3]: 0xb03c0000: 0x40001 0xfeffffff
partition_info[4]: name=tffs (2) offset=3e0000 size=20000
partition_info[4]: 0xb03e0000: 0x40001 0xfeffffff
[COLOR="Red"]partition_info[5]: name=jffs2 offset=3a0000 size=20000
partition_info[5]: 0xb03a0000: 0xffffffff 0xffffffff
partition_info[6]: name=Kernel without jffs2 offset=10000 size=390000[/COLOR]
partition_info[6]: 0xb0010000: 0xfeed1281 0xa3872
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
TCP bic registered
mcfw: IGMPv3 fast forwarding
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 8
NET: Registered protocol family 20
802.1Q VLAN Support v1.8 Ben Greear <[email protected]>
All bugs added by David S. Miller <[email protected]>
[COLOR="Red"][setup_irq]: irqt 1 irqaction->handler 0x94001590 (dummy_timer_irq+0x0/0x14 )[/COLOR]
[setup_irq]: irq 6 irqaction->handler 0x940015a4 (dummy_system_irq_2+0x0/0x1c )

...
 
Zuletzt bearbeitet:
Habs geschafft!

Meine 7050 läuft jetzt mit 14.04.33freetz-1.1-stable und der AnnexA Firmware aus 14.04.26. Es lag anscheinend ein Timing Problem bei Laden von ubik2.ko vor. Ein simpler "sleep 1" vor dem Laden des Modules in rc.S reicht, und die Box bootet wieder (jetzt auch mit freetz).

Und so habe ich es gemacht:

-> freetz Image aus 14.04.33 erzeugen

-> ubid2-dsl.bin aus englischer AnnexA Firmware 14.04.26 extrahieren, und nach /lib/modules/ubik/ubik2-dsl.bin kopiert

-> "sleep 1" vor "ubik2_param=" (Zeilennr. 461) in /etc/init.d/rc.S eingefügt.

-> Image über ./fwmod -p -d ... noch einmal neu packen.

Das ganze funktioniert übrigens auch mit dem AnnexB DSL Treiber 1.36.02.00 aus der Beta Firmware 14.04.50-10009. Hier heißt die Treiberdatei "microvoip-dsl.bin" und muss nach "/lib/modules/microvoip-dsl.bin" kopiert werden. Dann noch den alten Treiber unter "/lib/modules/ubik/ubik2-dsl.bin" löschen und Image neu packen.

Um mal zu verdeutlichen, wozu das ganze gut sein soll, hier noch die Spektren meiner 7050 mit AnnexB (per kernel_args auf AnnexA gepatched) und mit AnnexA (ubik2-dsl.bin ausgetauscht) an einer 2MBit Leitung. Der Download SNR ist von 5 auf 27!!! gestiegen. Jetzt funktioniert die Box sogar an meinem 6MBit Anschluss (SNR immer noch bei 17).
 

Anhänge

  • Spektrum_AnnexB.jpg
    Spektrum_AnnexB.jpg
    84 KB · Aufrufe: 149
  • Spektrum_AnnexA.jpg
    Spektrum_AnnexA.jpg
    81.1 KB · Aufrufe: 143
Hallo
Na das lese ich doch mal gerne und werde mich sogleich aufmachen, eben genau dieses dir gleich zu tun. So ist denn die Frage nach Kompatibilität der Treiber im Thema gleich neben an
http://www.ip-phone-forum.de/showthread.php?t=184271
wohl auch gelöst. ;)
Wundert mich eigentlich nur, dass dies nur so wenige interessiert. Die 7050 sollte doch noch weit verbreitet sein und ist doch zum wegschmeissen zu schade.
Vielen Dank
 
Meine 7050 läuft jetzt mit 14.04.33freetz-1.1-stable und der AnnexA Firmware aus 14.04.26.
Super,

klasse, dass du nicht aufgegeben hast und vor allem, die Lösung reingestellt hast.!
(Und sorry, dass ich da zwischendrin so still war, es war bei mir etwas zu hektisch in der letzten Woche...)

Jörg
 
Wundert mich eigentlich nur, dass dies nur so wenige interessiert.

@leibezem und MaxMuster: DAS interessiert wahrscheinlich ALLE Annex-A-User, die ihre Box von B auf A umgestellt haben. Tolle Leistung von Dir, leibezem!!!!!!!!!!!!!!:groesste:

Meines Erachtens ist aber nur der DSL-(A)-Treiber nötig, um die von B auf A gepatchte Box mit ordentlichen Sync-Werten auszustatten.

Könnt Ihr eine möglichst einfache Anleitung (die auch ein Freetz-Anfänger wie ich umsetzen kann - ich verstehe zwar im Wesentlichen, was leibezem da gemacht hat, seine Beschreibung der Umsetzung klingt dafür etwas arg kompliziert für Nicht-Freetz-Experten)) dafür schreiben, wie NUR der DSL-A-Treiber (egal aus welcher Box) aus einer ursprünglichen A-FW extrahiert und in eine von B auf A umgesetzte Box "implantiert" werden kann.
 
Eine der "Schwierigkeiten" ist, dass z.B. die Modem-Firmware zwischen den Boxen und z.T sogar zwischen den verschiedenen Firmwareversionen unterschiedlich heißen...

Damit ist je nach Ausgangs- und Zielfirmware das Ganze leicht unterschiedlich. Was man sich vorstellen könnte:

Die "neue" Modem-Firmware (also die, die integriert werden soll) wird vorher von Hand ausgepackt und dann als "dsl-firmware.bin" abgespeichert. Dann wäre das Vorgehen in "fwmod_custom" (nur so aus dem Kopf, aber das Prinzip sollte klar werden...):
Code:
# die jetzige (alte) Modemfirmware finden
FW="`find ./filesystem/lib/modules -name "*.bin" | grep -e 'ar07\|dsl'`"
# die neue Firmware einfach drüberkopieren (ich hoffe/denke, dass sollte auch bei verschiedenen Namen gehen)
cp dsl-firmware.bin $FW
# per sed noch das "sleep 1" (hier in die Zeile [B]vor[/B] dem laden der Firmware [I]modprobe tiatm ...[/I] )
sed -i '/modprobe tiatm/ i sleep 1' ./filesystem/etc/init.d/rc.S

Jörg
 
Zuletzt bearbeitet:
Meines Erachtens ist aber nur der DSL-(A)-Treiber nötig, um die von B auf A gepatchte Box mit ordentlichen Sync-Werten auszustatten.

Da hast du recht. Es gibt auch schon "inoffizielle" Images, die genau das machen. Man weiß hier allerdings nicht, wass da sonst noch so alles mit eingebaut wurde.

Man kann so ein Image aber auch relativ einfach selber erzeugen. Man braucht nur ein Linux System (ich bentutze Ubuntu im VirtualPC) und Freetz, um damit AVM Images zu entpacken. Die Freetz Installation wird hier genau beschrieben, und für die Installation von Linux im VirtualPC gibt es ausführliche Anleitungen im WEB.

Wie man Images entpacken, Änderungen vornimmt, und ein neues Image erzeugt, kann man hier nachlesen.

@MaxMuster: Folgender Code aus der rc.S ist (zumindest bei der 7050) für das Auffinden der DSL Firmwaredatei zuständig.
Code:
ANNEX_FIRMWARE=/lib/modules/microvoip-dsl.bin
if [ ! -f ${ANNEX_FIRMWARE} ] ; then
 ANNEX_FIRMWARE=/lib/modules/ar0700xx.bin
fi
if [ ! -f ${ANNEX_FIRMWARE} ] ; then
 ANNEX_FIRMWARE=/lib/modules/ar0700aa.bin
fi
if [ ! -f ${ANNEX_FIRMWARE} ] ; then
 ANNEX_FIRMWARE=/lib/modules/ubik/ubik2-dsl.bin
fi
if [ ! -f ${ANNEX_FIRMWARE} ] ; then
 ANNEX_FIRMWARE=/lib/modules/dsp_ur8/ur8-dsl.bin
fi

Ich habe bereits die AnnexA Firmwares der 5010 und 7170 ausprobiert. Die Firmware Dateien werden zwar mit "modprobe tiatm firmware_load_file=..." geladen, aber leider schlägt dann "ubik2_boot" mit einem page fault fehl. Funktioniert haben bis jetzt nur Firmware Dateien, die ich aus Images für die 7050 extrahiert habe.
 
Zuletzt bearbeitet:
... genau das meinte ich, ich weiß eigentlich vorher nicht genau, wie die Ausgangs- und wie die Zieldatei heißt (sofern es etwas generisch sein soll und nicht für genau eine FW-Kombination).
Deshalb scheint mir der einzig sinnvolle Ansatz, die vorhandene Firmware zu suchen und die neue einfach drüber zu kopieren. Ob das auch funktioniert, wenn man also z.B. die "echte" /lib/modules/microvoip-dsl.bin in das Image als /lib/modules/ubik/ubik2-dsl.bin kopiert kann ich nur vermuten (ich denke aber schon).
Alternativ könnte man das etwas universeller bauen, wenn man den "Suchschritt" doppelt durchführt und zuvor die Firmware mit der gewünschten neuen Firmware komplett auspacken lassen (z.B. nach /tmp/sourcefw):

Code:
./fwmod -u -d /tmp/sourcefw fritz.box_fon_wlan_7050.annexa.en.14.04.26.image
# die jetzige (alte) Modemfirmware finden
FWold="`find ./filesystem/lib/modules -name "*.bin" | grep -e 'ar07\|dsl'`"
# die jetzige (alte) Modemfirmware finden
FWnew="`find /tmp/sourcefw/lib/modules -name "*.bin" | grep -e 'ar07\|dsl'`"
# Pfad für neue FW (das geht bestimmt noch hübscher)
FWpath="`echo "$FWnew" | sed 's%^.*lib/\(.*\)/[a-z0-9]*\.bin%\1%'`"
# alte FW löschen
rm $FWold
# ggf neuen FW-Pfad anlegen
mkdir -p ./filesystem/lib/$FWpath
# neue FW dorthin kopieren
cp $FWnew ./filesystem/lib/$FWpath
# per sed noch das "sleep 1" (hier in die Zeile vor dem laden der Firmware modprobe tiatm ... )
sed -i '/modprobe tiatm/ i sleep 1' ./filesystem/etc/init.d/rc.S
Ob ./fwmod -u aus dem fwmod_custom so geht, weiß ich nicht, sons müsste man es auslagern. Auch das Pfadanlegen ist (wie eigentlich alles ;-)) nur so aus dem Kopf und müsste verifiziert werden...

Jörg
 
Zuletzt bearbeitet:
Hallo Jörg,

Das überschreiben der original Firmwaredatei funktioniert problemlos. Der Aufruf von "modprobe tiatm firmware_load_file=..." funktioniert aus jedem Verzeichnis, und es ist auch egal, wie die Datei heißt. Dein erster Vorschlag für die fwmod_custom sollte also reichen. Nur der "sleep 1" muss nach "modprobe tiatm" eingefügt werden.

Code:
sed -i '/modprobe ubik2/ i sleep 1' ./filesystem/etc/init.d/rc.S

@imagomundi: Es gibt eine noch einfachere Methode, den AnnexA Treiber auf eine AnnexB Box zu bekommen:

7050: (Funktioniert nur, wenn noch eine Firmware <= 14.04.26 auf der Box läuft, da bei den neueren Firmwares der Bootloader verändert wurde)
Environment Variablen per telnet wie folgt ändern:
Code:
echo "firmware_version avme" > /proc/avalanche/env
echo "HWRevision 77" > /proc/avalanche/env
echo "annex A" > /proc/avalanche/env
Danach ein Recovery mit der englischen AnnexA Firmware ausführen. Das ist nötig, weil nach dem "firmware_version avme" das WebIF nicht mehr erreichbar ist (es könnte sein, dass das Recovery nicht beim ersten mal funktioniert. Nicht verzagen, einfach noch mal probieren. Ich habe 3 Anläufe gebraucht). Das WebIF ist danach natürlich englisch.

7170: hier ist es sogar noch einfacher.
Code:
echo "annex A" > /proc/sys/urlader/environment
echo "kernel_args annex=A" > /proc/sys/urlader/environment
Danach einfach die A/CH Firmware als Firmwareupdate einspielen. Das "annex A" ist nur nötig für die Prüfung des update Scripts. Da dieser Parameter bei jedem Reboot wieder verschwindet, ist das vor jedem Firmware update mit den A/CH Versionen nötig. Der Parameter "kernel_args annex=A" bleibt auch nach einem Reboot gespeichert.
 
Zuletzt bearbeitet:
@leibezem: Dein Alternativvorschlag ist bekannt. U.a. deshalb habe(n) "el_valiente" und ich den Sammelthread "HWRevisionsnummern" angelegt. Mit dieser Methode einschl. ftp-Anwendung können verschiedene Änderungen erreicht werden. Threads mit praktischen Anwendungen gibt es dazu mittlerweile ziemlich viele.
Das Interessante an dem, was Du ausfindig gemacht hast, ist aber, daß -unabhängig von der Kernel-Version, wenn ich das richtig verstanden habe- einfach "nur" der DSL-Annex-B-Treiber gegen einen Annex-A-Treiber ausgetauscht werden kann, während die übrige FW im Ergebnis unangetastet bleibt. Und das möglicherweise nicht nur innerhalb des selben Box-Modells (also z.B. 7170-B gegen Treiber aus einer 7170-A-Box austauschen).
Die Nutzer von Annex-B-Boxen, die ihre Modem-Funktion zwangsläufig auf Annex A umstellen mussten, verzeichnen ERHEBLICH schlechtere Sync-Werte als zuvor unter Annex-B. Erst recht nach Deinen Ergebnissen muß man wohl davon ausgehen, daß das nicht an der verwendeten Hardware (das von AVM verwendete Modem gehört ja schon nicht zu den besten), sondern am DSL-Treiber liegt. Wenn dem aber so ist, würde ein "einfacher" Austausch der DSL-Treiber-Datei einer B-Box nach Umstellung auf einen verwendbaren A-Treiber dieses BEDEUTSAME Problem der Annex-A-Nutzer (die häufig auch noch physisch schlechtere Leitungen zu verkraften haben) lösen. Da natürlich nicht alle A-Nutzer auch Linux-Spezialisten sind (ich bin's -leider- auch nicht), wäre es super, wenn die Spezialisten eine relativ einfache "Implantantionsmethode" entwickeln könnten - ich denke an sowas Ähnliches wie das Script von "telefonicus" zur Annex-Umstellung bzw. zum Entbranden oder ein Pseudo-Image à la "The-Construct" oder einen nicht allzu komplizierten Telnet-Befehl. Ich hoffe, ich bin dabei nicht zu naiv. Auf diesem Gebiet gibt es aber noch erhebliche Meriten zu erwerben.
 
Zuletzt bearbeitet:
Hi,

die Frage ist halt "was du willst" ;-)
Hier ging es darum, ein neues (freetz-)Image zu bauen, das bereits die neue Firmware enthält. Unter den oben gemachten Voraussetzungen (man packt die Wunschfirmware "von Hand aus" für Vorschlag 1 oder man lädt das Image mit der Wunschfirmware an eine Stelle für Vorschlag 2) sollte das mittels freetz und fwmod_custom möglich sein.

Ein Pseudoupdate kann das Ganze immer nur temporär machen (halt "Pseudo"), das wäre aber auch möglich. Du müsstest dafür ebenfalls die Modem-FW von Hand extrahieren und könntest dann daraus ein Pseudoupdate machen (also ein tar-File), was die Firmware enthält und ein paar kurze Befehle, um die alte FW zu entladen und die neue zu Laden (ich habe das für eine Eumex hier mal gemacht).

Ablauf wäre:
- Neue ModemFW auf die Box bringen (per wget, Pseudoupdate oder so)
- Alte FW entladen: rmmod tiatm
- Neue FW Laden: modprobe tiatm firmware_load_file=/tmp/ubik2-dsl.bin annex=A

Ich denke aber, die beschriebene Vorgehensweise von leibezem ist doch gut nachzuvollziehen?!?

- Die beiden Images (das Zielimage mit "B-Firmware" und Quellimage mit "A") auspacken per freetz Skript "fwmod"
- Die gewünschte "neue" Modemfirmware in das Zielimage Verzeichnis packen
- Aus dem Zielverzeichnis wieder ein Firmwareimage machen

Wenn ich mal etwas Zeit habe, könnte ich mal versuchen, das noch per Skript zu machen in der Art:

integrate_DSL.sh <dest-FW> <source-FW>

was diese Schritte (ähnlich, wie das fwmod_custom) automatisiert...

Jörg

EDIT Basierend auf "Eumex-to-Fritz" habe ich mal eine minimale Version versucht.
Entpacken, die beiden Firmwares in das Verzeichnis (Zielfirmware ist die, IN DIE eine neue Modemfirmware soll, Quellfirmware die, Zielfirmware ist die, IN DIE eine neue Modemfirmware soll, Quellfirmware die, AUS DER die neue Modemfirmware genommen wird die neue Modemfirmware genommen wird) und dann Aufrufen z.B. mit:
Code:
sudo sh replace_DSL.sh fritz.box_fon_wlan_7050.14.04.33.image fritz.box_fon_wlan_7050.annexa.en.14.04.26.image
 
Zuletzt bearbeitet:
Auf der 7270 (und vielleicht anderen Boxen mit neuerer Firmware :wippe:) läuft das übrigens nicht mehr über rc.S sondern rc.dsl.sh. Das Skript kann man auch bitten, das Modul zu entladen (rc.dsl.sh stop), allerdings scheint das von AVM niemand getestet oder jemals gefixt zu haben. Das Modul dsl_ur8 wird nicht entladen, dafür bricht trotzdem die Verbindung ab, der Webserver ist nicht mehr erreichbar und auch sonst gibt die Box nicht mehr viel her auf der Konsole (nur noch network unreachable Meldungen).
 
... Schande, habe das jetzt erst mit dem echten 7050-er Image getestet, und da das englische ein altes ist (mit hidden root ??) geht das nicht...

Ich habe einen "quick Hack" eingefügt, so dass zumindest der oben genannte Aufruf

sudo sh replace_DSL.sh fritz.box_fon_wlan_7050.14.04.33.image fritz.box_fon_wlan_7050.annexa.en.14.04.26.image

durchläuft (Allerdings wird das Image von der Größe grenzwertige 4167680 und ich habe keine Box zum Testen!!!)


Jörg

EDIT: Fehler im Skript: Bitte in "replace_DSL.sh" in der Zeile:

Code:
# ./30_replace_FW $DEST_FW.3 $SOURCE_FW.2
vorn das # löschen (und das Skript nochmal ausführen).

EDIT 2: Korrigiertes Skript (02) angehängt
 

Anhänge

  • replace_DSL_01.tgz
    340.4 KB · Aufrufe: 77
  • replace_DSL_02.tgz
    340.4 KB · Aufrufe: 47
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.