Come promesso vi posto un rapido riassunto su come ho proceduto per la realizzazione dei firmware multi lingue 29-58.04.82 per fritz 7170:
Procedura:
Premetto che la realizzazione di questo firmware non è stata delle più semplici fino ad ora utilizzate, perché?
Perchè questo firmware non è un semplice adattamento di un altro già esistente con le sole modifiche relative alla porta fon3 e la modifica della modalità Wlan (300Mbit vs 54Mbit), ma difatto si può dire che questo è stato letteralmente "costruito ex novo" non esistendo ad oggi un corrispondente per modelli multi lingue nativi.
Quindi per poter iniziare suggerisco di leggere la più che ottima guida di loneganman su voce su ip ( http://www.vocesuip.comtutorial_fritz_box_multilingue_compreso_ltaliano_e_multi_annex-t9988.0.html ) che serve a capire i passi base della procedura.
Personalmente suggerisco di non cambiare il brand in "avme" come indicato, perché così facendo si perderebbe la compatibilità con i recovery DE, ma di creare dei symlink (collegamenti virtuali) che "ingannino" il fritz facendogli cercare il contenuto di una cartella in un'altra.
esempio puramente esplicativo con nomi di cartella inventati:
creando il symlink cartella AA=BB (per la corretta sintassi consultare google), istruiremo il fritz (che cerca il contenuto della cartella AA) a cercare sulla cartella BB.
Per poter capire meglio quali cartelle bisogna "virtualizzare" invito tutti a scaricare dal repository un qualunque file "modificato" da uno di noi e a confrontarlo con l'originale AVM.
Cosa è necessario:
1) Una enorme pazienza;
2) Tanto tempo;
3) un PC dotato di linux (preferibilmente Ubuntu a voi la scelta della versione);
4) Una installazione di freetz (applicazione per scompattare e ricompattare i firmware:
http://www.fritzbox-forum.com/freetz-f8/how-to-installare-freetz-su-linux-ubuntu-810-t42.htm )
5) Una pen drive USB (formattata in fat - fat32) da collegare al fritz ( http://www.anime80.com/wikifritz/doku.php?id=testare_modifiche_pagine_web );
6) Un programma di comparazione file tipo Kdiff3 ( http://kdiff3.sourceforge.net/ ) oppure Kompare (installabile da Ubuntu) o quello che meglio preferiate;
7) L'ultimo firmware disponibile per il modello di fritz per cui si intenda creare il firmware (io ho usato il 58.04.82 EN);
8 ) L'ultimo firmware Multi lingue ufficiale AVM per il modello più simile (in questo caso ho utilizzato FRITZ.Box_Fon_WLAN_7270_16.AnnexB.en-de-es-it-fr.54.04.81)
9) Se possibile un firmware pari versione Wlan Multi lingue (ovvero nel caso specifico ho utilizzato FRITZ.Box_Fon_WLAN_7113.AnnexA.de-en-es-it-fr.90.04.82) per comparare le differenze sull'Hardware.
10) Uno o più file di recovery AVM ( ftp://ftp.avm.de/fritz.box/fritzbox.fon_wlan_7170/x_misc/ ) per il proprio modello di fritz con tutto il necessario ( http://www.anime80.com/wikifritz/doku.php?id=recovery_avm )
Procedura:
Una volta scompattati i 3 firmware ho utilizzato come base il firmware 58.04.82 EN tranne che per la parte html, difatti quest'ultima l'ho prelevata dal FRITZ.Box_Fon_WLAN_7270_16.AnnexB.en-de-es-it-fr.54.04.81 unitamente ai relativi db linguistici.
Per poter testare in tempo reale le pagine html trapiantate ho copiato la cartella DE del 7270-81 (freetz/FRITZ.Box_Fon_WLAN_7270_16.AnnexB.en-de-es-it-fr.54.04.81.image.mod/original/filesystem/usr/www/avme/html/de) nella pen drive USB e da telnet ho provveduto ad abilitare il symlink sull usb ( http://www.anime80.com/wikifritz/doku.php?id=testare_modifiche_pagine_web ) per verificare subito che tutto funzioni.
Dopo di che ho proceduto a copiare tutte le 3 cartelle DE dei 3 firmware in un percorso comodo (ad esempio la scrivania) per poi successivamente poter fare la comparazione dei file contenuti all'interno (per questo ho usato Kdiff3).
Una volta lanciata la compararzione sono andato file per file a verificare linea per linea le differenze aggiungendo le parti mancanti (la fon3) risultanti dalla comparazione tra il 7170 e il 7270 e rimuovendo la parte non necessaria (Dect etc).
A questo punto vi chiederete a cosa serva l'html del 7113.... difatti questa non l'ho potuta usare poichè usa dei db linguistici differenti rispetto al 7270 ma è un'ottimo riferimento su come impostare la parte Wlan (essendo anche questi a 54Mbit anzichè i 300Mbit del 7270) e altri piccoli dettagli.
I file modificati li ho salvati in una 4° cartella (per non perdere i riferimenti originali) che al termine delle modifiche ho provveduto a copiare sulla pen drive USB per le verifiche "sul campo" provvedendo quindi, scorrendo il risultato direttamente sul fritz senza dover compilare ogni volta un firmware, ad apportare le dovute correzioni agli inevitabili errori sino al raggiungimento del lavoro finale. Ovviamente il tutto non è semplicissimo ma vi posso assicurare che è altamente appagante riuscire ad ottenere un firmware con questo sistema.
Per tutti coloro che siano interessati ad approfondire la procedura consiglio di scaricare il firmware che ho creato e compararlo con quello del 7270.81 unitamente a quello del 7170.82EN di modo da capire in concreto quanto descritto sopra.
Per l'adattamento alle altre versioni (ad esempio dalla 29 alla 58) è necessario effettuare anche delle altre modifiche nei file:
rc.conf (/filesystem/etc/init.d) dove si debbono modificare i dati relativi al brand, annex, versione, multi_country, multi_language....
esempi a confronto:
Versione 29.04.82
export CONFIG_PRODUKT_NAME="FRITZ!Box Fon WLAN 7170"
export CONFIG_PRODUKT="Fritz_Box_7170"
##########################################################################################
## Box spezifische Konfiguration (aus Produkt.init)
##########################################################################################
export CONFIG_ANNEX="B"
export CONFIG_INSTALL_TYPE="ar7_8MB_xilinx_4eth_3ab_isdn_nt_te_pots_wlan_usb_host_25762"
export CONFIG_VERSION="04.82"
export CONFIG_SUBVERSION="-IT-EN-FR-ES-DE-by-Annex_V_2.09b"
export CONFIG_VERSION_MAJOR="29"
export CONFIG_ROMSIZE="8"
export CONFIG_RAMSIZE="32"
export CONFIG_RELEASE="1"
##########################################################################################
## OEM spezifische Konfiguration
##########################################################################################
if [ "$OEM" = "avm" ]; then
export CONFIG_MULTI_COUNTRY="y"
export CONFIG_DSL_MULTI_ANNEX="n"
export CONFIG_MULTI_LANGUAGE="y"
export CONFIG_PROV_DEFAULT="n"
export CONFIG_AUDIO="n"
export CONFIG_TAM="y"
export CONFIG_FON_HD="n"
export CONFIG_TAM_MODE="1"
export CONFIG_MINI="n"
export CONFIG_SRTP="n"
export CONFIG_SAMBA="y"
export CONFIG_TAM_ONRAM="n"
export CONFIG_MEDIASRV="y"
export CONFIG_FAX2MAIL="y"
export CONFIG_MEDIACLI="n"
export CONFIG_AURA="y"
export CONFIG_FAXSUPPORT="y"
fi
Versione
58.04.82
export CONFIG_PRODUKT_NAME="FRITZ!Box Fon WLAN 7170
Annex A"
export CONFIG_PRODUKT="Fritz_Box_7170
_AnnexA"
##########################################################################################
## Box spezifische Konfiguration (aus Produkt.init)
##########################################################################################
export CONFIG_ANNEX="A"
export CONFIG_INSTALL_TYPE="ar7_8MB_xilinx_4eth_3ab_isdn_nt_te_pots_wlan_usb_host_25762"
export CONFIG_VERSION="04.82"
export CONFIG_SUBVERSION="-IT-EN-FR-ES-DE-by-Annex_V_2.09b"
export CONFIG_VERSION_MAJOR="58"
export CONFIG_ROMSIZE="8"
export CONFIG_RAMSIZE="32"
export CONFIG_RELEASE="1"
##########################################################################################
## OEM spezifische Konfiguration
##########################################################################################
if [ "$OEM" = "avme" ]; then
export CONFIG_MULTI_COUNTRY="y"
export CONFIG_MULTI_LANGUAGE="y"
export CONFIG_AUDIO="n"
export CONFIG_TAM="y"
export CONFIG_FON_HD="n"
export CONFIG_TAM_MODE="1"
export CONFIG_MINI="n"
export CONFIG_SRTP="n"
export CONFIG_SAMBA="y"
export CONFIG_TAM_ONRAM="n"
export CONFIG_MEDIASRV="y"
export CONFIG_FAX2MAIL="y"
export CONFIG_MEDIACLI="n"
export CONFIG_AURA="y"
export CONFIG_FAXSUPPORT="y"
fi
e nel file install (/firmware/var) che nel caso specifico consiglio di effettuare un confronto tra 2 firmware pari versione ma con brand differenti (ad esempio il 29.04.78 e 58.04.78) al fine di comprendere meglio il meccanismo di funzionamento.
Sò che molti non sarà facile capire quanto sopra descritto ma l'esperienza e numerose prove servono proprio a capire, come per me non è facile spiegare anni di pratica con poche parole.
Spero di poter esser stato di aiuto a coloro che intendo avventurasi su questa strada.
Ciao
Annex