Mi fa piacere tu abbia risolto con la sostituzione. La procedura che conosco io è quella con Recovery tool di Actiontec ed è in pratica quella che già ti ho descritto. L'ho usata in decine di occasioni su modem/router miei e di amici (come potrebbe essere il tuo!

) sempre con il massimo risultato.
Io ho sempre usato firmware originali delle varie D-Link (Australia in testa) e quelli di mcmcc ma sono sicuro anche quello di Artiko vada benissimo. Lo puoi scaricare a questo link:
http://artiko.altervista.org/30xt_2_500t/300t%20302t%2030xt@500t_by_ArTiKO%20versione%20FORZA%20C.rarIn questo archivio (la cui password è "mcdonate") trovi già tutto come deve essere (complimenti Artiko, bel lavoro! A saperlo prima mi sarei risparmiato tutta la fatica della spiegazione sulla ridenominazione dei file ecc. che comunque spero possa sempre tornare utile a qualcuno)
Ora hai tutto il necessario per l'aggiornamento, devi solo impostare la scheda di rete per la sottorete 192.168.1.x quindi
ip 192.168.1.99
subnet mask 255.255.255.0
gateway 192.168.1.1
Fatto questo apri un prompt dei comandi e digita:
ftp 192.168.1.1
e inserisci come username e password adam2. Per "beccare" l'attimo giusto per connetterti fai come già ti ho detto.
A questo punto devi dare i comandi (nei comandi che ti ho già dato mi ero perso il quote senza il quale non vanno, i comandi sono case-sensitive quindi attenzione a maiuscole e minuscole):
quote SETENV mtd0,0x90090000,0x901f0000
quote SETENV mtd1,0x90010000,0x90090000
quote SETENV mtd2,0x90000000,0x90010000
quote SETENV mtd3,0x901f0000,0x90200000
quote SETENV autoload,1
quote REBOOT
Gli ultimi quattro comandi (eccetto il quote REBOOT) non sono necessari perchè mtd2 e mtd3 dovrebbero già essere correttamente definite. Se preferisci, puoi digitare:
quote GETENV mtd2 (lo stesso per mtd3 e autoload, cambia solo il nome della variabile)
per verificare che siano correttamente definite ma è sicuramente così. Magari usa "quote GETENV..." per tutte le var che ti interessano per verificare che siano correttamente definite. E' FONDAMENTALE perchè partizioni mtdx mal definite e var autoload non definita bloccheranno il modem (comunque risolvibile ma meglio evitare, no?)
In questo modo avrai mtd0 (image) di 1408Kb, mtd1 (kernel) di 512Kb, mtd2 (adam2) di 64Kb come mtd3 (conf) che sono sufficienti per contenere i file del firmware di Artiko (image di 1352Kb e kernel di 480Kb; ho ridotto gli sprechi al minimo ma di più non si può perchè le partizioni mtdx vanno create a blocchi di 64Kb).
A questo punto riconfigura la scheda di rete per lavorare nella subnet 192.168.0.x
ip 192.168.0.99
subnet mask 255.255.255.0
gateway 192.168.0.1
e potrai eseguire l'aggiornamento con recovery tool (quello che Artiko ha rinominato come D-Link reco qualcosa) come ti ho già detto.
Credo sia tutto, fammi sapere com'è andata!