Pues no lo debes tener muy fundido cuando tienes acceso al bootloader original. Lo que sí parece es que tienes el resto de la flash corrupta.
Prueba con el ASL-26555 a ver su el adaptador USB-serie te está jugando alguna mala pasada y revisa las soldaduras del puerto serie del router por si pudiera haber alguna que no esté del todo bien, y en caso de duda mete más estaño. También mencionas que usaste el modo uart así que revisa a fondo esas soldaduras por si se te quedó algo en el tintero.
Voy a revisar más a fondo la documentación de Lesgar y gmtii y edito este post en caso de que haya alguna cosa interesante que te pueda ayudar y que se nos haya pasado.
De momento no está muerto, pero sí algo tocado.
Editó el post porque no podía responderse a sí mismo, pero estuvimos hablando por el IRC y sí, está completamente muerto porque no escupe nada por puerto serie.
Como comentó danitool en el IRC puede que hacer los puentes para el modo UART no sea buena idea y quizás sea mejor utilizar una resistencia.
Saludos.
En los routers Lantiq es habitual encontrar en ciertas lineas 2 resistencias, una colocada y otra sin colocar.
Estas resistencias de pullup o pulldown ponen ciertas lineas a nivel alto o nivel bajo.
El problema surge cuando algunas de estas lineas esta siendo forzada a un nivel con un puente o cortocircuito y hay un driver que intenta poner esta linea a otro nivel distinto.
Este driver puede ser de una salida GPIO del propio chip, de una memoria o de cualquier otro dispositivo y ese cortocircuito permanente de la salida puede tener consecuencias.
Recuerdo de otro modelo, del ARV7518, de 8MB de flash, que uno de los puentes de las resistencias afectaba a la ultima linea de direcciones de la memoria flash, cambiando el arranque de un bloque de 4MB a otro bloque de 4MB.
Este cambio de bloque de arranque y otras resistencias de configuracion habilitaban el modo UART.
Por este mismo motivo habia que poner un interruptor y una resistencia en vez de un puente, y deshabilitar el forzado de esta linea tras el arranque y entrada en el modo UART.
Si se usaba un puente la lectura de los 4MB superiores de la flash coincidia exactamente con los 4MB inferiores, ya que con este puente se impedia el acceso a toda la memoria flash.
Mi recomendación es que reviséis las lineas de los puentes para entrar al modo UART, por si alguna de las lineas llega hasta alguna de las patillas de la memoria flash.
Y si mis sospechas son ciertas sera una patilla de direcciones Axx.
Como se trata de una memoria de 32MB con un bus de datos de 16 bits, apostaría por la patilla A23 (pin numero 1).
http://www.mxic.co.jp/datasheet/MX29GL256E,%203V%20(VI-O),%20256Mb,%20v1.4.pdf
Saludos
espeltron
¿En el caso que comentas del ARV7518 te sacaba algo por puerto serie? Si no recuerdo mal el Danube tiene una rom integrada que es la que saca los primeros mensajes y lanza el bootloader, modo uart, etc. dependiendo de la configuración de los puentes que encuentre.
¿Podría ser un defecto después de soldar y desoldar en un componente o una soldadura que provoca que no arranque el SoC o que se quede en un estado "tonto"?
Como he dicho antes depende de lo que haya pasado y como hayan mantenido el diseño del Lantiq.
Si siguen usando un bit de direcciones para cambiar de bloque, por ejemplo la patilla A23 de la memoria flash o cualquier otra y se puentea la resistencia correspondiente a esta (a masa o a 3.3V), el pin del Lantiq correspondiente a la señal A23 que fija la direccion de memoria puede "quemarse".
No solo el pin del controlador de memoria, incluso todo el controlador de memoria flash del micro, con las consecuencias terribles que ocasiona.
Voy a desmontar el Livebox y ver que resistencias estais puenteando, a ver si con un polimetro confirmo mis sospechas.
Saludos
espeltron
Confirmo mis sospechas en un HW Version R01.
Al igual que en el modelo ARV7518, hay una resistencia que cambia el estado por defecto de direccionamiento de la memoria flash.
En aquel modelo de 8MB se cambiaba la direccion relativa a los 4MB superiores/inferiores para permitir el modo arranque por UART.
En este modelo ARV7519RW22 con una flash de 32MB siguen manteniendo el mismo modelo de conmutacion de 4MB.
La linea de señal de la resistencia R155 va a la linea A21 de la memoria flash (pin 15) y obligatoriamente tambien tiene que ir a algun pin del microprocesador Lantiq.Por defecto esta linea esta puesta con la resistencia de pullup de 4.7K y referencia R154 a un nivel de tension de 3.3V, o sea, un nivel alto.
El puentear la resistencia R155 provoca:
- Un cortocircuito a masa con un valor proximo a 0 ohmios.
- Que la direccion de arranque pase de la posicion por defecto de 4MB (0x00400000) a la posicion de 0MB (0x00000000). He supuesto que el resto de lineas de direcciones tienen un valor bajo, pero esto esta sin confirmar.
- Que todas las posiciones que se mapeen con la linea A21 a nivel alto realmente direccionen A21 a nivel bajo debido al cortocircuito.
Este puenteo a nivel bajo provoca que durante la ejecucion de los programas en el lantiq, cuando se direccionen posiciones de memoria en la que la linea A21 deba estar a nivel alto, al estar puenteada, haya un cortocircuito en el pin/driver de salida del microprocesador.
Al ser una memoria con un bus de datos de 16 bits, esto afecta a los multiplos pares de los bloques de 4MB, inutilizando los siguientes bloques:
0x000400000 .. 0x0007FFFFF
0x000C00000 .. 0x000FFFFFF
0x001400000 .. 0x0017FFFFF
0x001C00000 .. 0x001FFFFFF
En los casos de equipos "muertos" caben 2 posibilidades:
- Pines del micro Lantiq quemados.
- Borrado de los bloques de la memoria flash que contienen el arranque de la UART y demas programas.
Procedimiento correcto (similar a los comentarios que hice sobre el ARV7518 en su dia y que nadie tuvo en cuenta):
- Usar una resistencia de 1K en vez de un puente (no generaria una corriente en el driver de salida mayor a 3.3mA), tanto para R148 como para R155.
- Usar un switch doble para deshabilitar estas resistencias una vez accedido al modo UART.Para el ARV7518:
https://foro.seguridadwireless.net/openwrt/voip-en-routers-de-yacom-arv4518-y-arv7518/msg285831/#msg285831¡¡¡IMPORTANTE!!!
Cuidado con los puentes permanentes por soldadura que habilitan el boot por UART, ya que uno de ellos inutiliza los 4MB superiores de la flash (es la linea A21 de la flash).
Yo uso en lugar de puentes por soldaduras, dos resistencias de 1K, unos cablecillos y un interruptor doble.
Saludos
espeltron